Closed domingomery closed 5 years ago
Usar el conjunto de validación para ajustar todos los parámetros de los clasificadores, es decir se entrena con el conjunto de Training de tal forma que se maximice el accuracy en el conjunto de Validación... una vez finalizado este proceso (maximizado el accuracy en el conjunto de validación) se prueba el calsificador sobre el conjunto de Testing y se reporta el accuracy (sobre el conjunto de Testing).
¡Hola!
¿Hay algún tipo de restricción en cuanto a las librerías que se pueden utilizar para implementar redes neuronales en Python? Pregunto porque si bien está scikit-learn
, existen otras donde se pueden implementar, pero no sé si dificultará el proceso de corrección dada su posible instalación.
¡Gracias!
cuales librerías serían?
On Wed, May 1, 2019 at 8:03 PM Geeermy notifications@github.com wrote:
¡Hola!
¿Hay algún tipo de restricción en cuanto a las librerías que se pueden utilizar para implementar redes neuronales en Python? Pregunto porque si bien está scikit-learn, existen otras donde se pueden implementar, pero no sé si dificultará el proceso de corrección dada su posible instalación.
¡Gracias!
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/domingomery/patrones/issues/4#issuecomment-488507203, or mute the thread https://github.com/notifications/unsubscribe-auth/AAD3BSRDJ5OXKVMAIWCYDT3PTIVUZANCNFSM4HJMJ2OA .
pytorch
y/o keras
(no la usaré, pero preguntaré también por tensorflow
por si alguien quiere usarla)
se pueden usar, pero no creo que sea necesario.
Saludos. Domingo
On Thu, May 2, 2019 at 10:51 AM Geeermy notifications@github.com wrote:
pytorch y/o keras (no la usaré, pero preguntaré también por tensorflow por si alguien quiere usarla)
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/domingomery/patrones/issues/4#issuecomment-488704156, or mute the thread https://github.com/notifications/unsubscribe-auth/AAD3BSQVYE7DLNL3Q5ZJVHLPTL5VDANCNFSM4HJMJ2OA .
Estimado profesor:
Muchas gracias Saludos cordiales
Contesto las tres preguntas:
On May 5, 2019, 11:23 PM -0400, AlfonsoIgnacioV notifications@github.com, wrote:
Estimado profesor:
- Sólo para ver si entendí bien. Entonces ¿cada uno de los experimentos deberíamos hacerlo en el set de validación modificando distintos parámetros, y luego reportar el accuracy en test sólo con los parámetros del mejor experimento (mejor accuracy en validación)?
- Pareciera ser que existe una fuente de aleatoriedad en los experimentos, porque al correrlos veces distintas, los resultados que entregan son distintos (al menos para la red neuronal). ¿Cómo debemos lidiar con ella en términos del accuracy, hay algún criterio?
- ¿Hay alguna forma mejor de aumentar los accuracies, alguna propuesta o algo (o algo que vayamos a ver en clases), o la idea es que solamente vamos probando y quedándonos con lo mejor?
Muchas gracias Saludos cordiales — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.
¡Hola!
Como en el enunciado no aparece, quería saber si es válido normalizar los datos antes de pasarlos por los clasificadores, o si solo es válido cambiar los parámetros de los clasificadores.
¡Gracias!
es válido hacer normalización... Saludos. Domingo On May 6, 2019, 7:51 PM -0400, Geeermy notifications@github.com, wrote:
¡Hola! Como en el enunciado no aparece, quería saber si es válido normalizar los datos antes de pasarlos por los clasificadores, o si solo es válido cambiar los parámetros de los clasificadores. ¡Gracias! — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.
Hola! Para la gente que usa MATLAB en WINDOWS escribí unos pasos para instalar la libreria LIBSVM (https://www.csie.ntu.edu.tw/~cjlin/libsvm/) que pide la función Bcl_libsvm, ya que la instalación puede provocar algunos problemas.
1) Instalar compilador MinGW64 (Get Add ons en matlab, Home -> Add Ons). Se puede utilizar su versión favorita de Visual C++ compatible también. 2) En "command window" correr mex -setup y luego mex -setup C++. Si tienen más de un compilador instalado elegir uno (MinGW64 ha funcionado bien) 3) Descargar ZIP de https://www.csie.ntu.edu.tw/~cjlin/libsvm. 4) Abrir make.m de carpeta "matlab" del zip de SVM descargado. 5) Correr make.m. Si presenta error cambiar instancias de CFLAGS por COMPFLAGS en el código. 6) Agregar carpeta con archivos compilados al path de matlab (Home -> set path ->add with subfolders -> libsvm-3.23->save) 7) Renombrar archivos compilados svmtrain y svmpredict por libsvmtrain y libsvmpredict (los con extensión .mexw64)
Saludos!
mil gracias!
saludos. Domingo On May 8, 2019, 11:45 PM -0400, nfurrejola notifications@github.com, wrote:
Hola! Para la gente que usa MATLAB en WINDOWS escribí unos pasos para instalar la libreria LIBSVM (https://www.csie.ntu.edu.tw/~cjlin/libsvm/) que pide la función Bcl_libsvm, ya que la instalación puede provocar algunos problemas.
- Instalar compilador MinGW64 (Get Add ons en matlab, Home -> Add Ons). Se puede utilizar su versión favorita de Visual C++ compatible también.
- En "command window" correr mex -setup y luego mex -setup C++. Si tienen más de un compilador instalado elegir uno (MinGW64 ha funcionado bien)
- Descargar ZIP de https://www.csie.ntu.edu.tw/~cjlin/libsvm.
- Abrir make.m de carpeta "matlab" del zip de SVM descargado.
- Correr make.m. Si presenta error cambiar instancias de CFLAGS por COMPFLAGS en el código.
- Agregar carpeta con archivos compilados al path de matlab (Home -> set path ->add with subfolders -> libsvm-3.23->save)
- Renombrar archivos compilados svmtrain y svmpredict por libsvmtrain y libsvmpredict (los con extensión .mexw64)
Saludos! — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.
Hola! Es posible mezclar el set de test y validación en uno, y después dividirlo en 1000 y 200 (posiblemente de manera aleatoria) para un entrenamiento? O el set de validación debe ser los originales 200 ejemplos siempre?
sí es posible… lo explicas bien en el informe
saludos. Domingo On May 9, 2019, 9:23 AM -0400, Alejandro Quiñones notifications@github.com, wrote:
Hola! Es posible mezclar el set de test y validación en uno, y después dividirlo en 1000 y 200 (posiblemente de manera aleatoria) para un entrenamiento? O el set de validación debe ser los originales 200 ejemplos siempre? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.
Usar el conjunto de validación para ajustar todos los parámetros de los clasificadores, es decir se entrena con el conjunto de Training de tal forma que se maximice el accuracy en el conjunto de Validación... una vez finalizado este proceso (maximizado el accuracy en el conjunto de validación) se prueba el calsificador sobre el conjunto de Testing y se reporta el accuracy (sobre el conjunto de Testing).
Tengo una duda con este proceso: en tareas pasadas, usábamos solo sets de training y testing, y modificábamos nuestro modelo para lograr el mejor resultado en el test. Ahora que se separa training en dos (con validation ahora), ¿qué lo hace tan diferente? ¿No nos conviene igual ver como resultó en el testing y modificar/hacer arreglos a los pesos o estaríamos haciendo trampa allí? (creo que lo mencionó en clases, pero no me quedó del todo claro)
La idea (de estimar los parámetros maximizando el accuracy en la validación y reportar el accuracy en el testing) es para comprobar que tan bien generaliza el modelo entrenado con nuevos datos. Así no hay sobre-ajuste a los datos de testing. Saludos. Domingo On May 10, 2019, 4:52 PM -0400, Mauricio Ortiz notifications@github.com, wrote:
Usar el conjunto de validación para ajustar todos los parámetros de los clasificadores, es decir se entrena con el conjunto de Training de tal forma que se maximice el accuracy en el conjunto de Validación... una vez finalizado este proceso (maximizado el accuracy en el conjunto de validación) se prueba el calsificador sobre el conjunto de Testing y se reporta el accuracy (sobre el conjunto de Testing). Tengo una duda con este proceso: en tareas pasadas, usábamos solo sets de training y testing, y modificábamos nuestro modelo para lograr el mejor resultado en el test. Ahora que se separa training en dos (con validation ahora), ¿qué lo hace tan diferente? ¿No nos conviene igual ver como resultó en el testing y modificar/hacer arreglos a los pesos o estaríamos haciendo trampa allí? (creo que lo mencionó en clases, pero no me quedó del todo claro) — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.
Una duda, ¿la función Bcl_ann(X,d,op)
de balu, crea una red usando un set de validación random dentro de X?
Saludos
[ Tarea 4]
Objetivo: Aprender a entrenar clasificadores basados en SVM y en Redes Neuronales.
En la base de datos xdata.mat se encuentra un conjunto de datos de dos características (x1 y x2) y dos clases (1 y 2). El conjunto de datos ha sido dividido en subconjuntos de entrenamiento (Xtrain,ytrain), validación (Xval,yval) y prueba (Xtest,ytest), que cuentan con 1000, 200 y 300 muestras respectivamente. Entrene y pruebe distintos clasificadores 1) SVM y 2) redes neuronales. Reporte el mejor accuracy de cada uno de ellos (A1 para SVM y A2 para redes neuronales).
EVALUACIÓN
Informe: 20% (se evalúa calidad del informe, explicaciones, redacción, ortografía)
Solución propuesta: 50% (se evalúa la calidad del método, si el diseño es robusto y rápido para el problema dado, si los experimentos diseñados y los datos empleados son adecuados, si el código es entendible, limpio, ordenado y bien comentado).
Resultados obtenidos: 30% (la nota en este item es 30% x A, donde A es (A1+A2)/2 + B, con A1 y A2 es el accuracy para SVM y redes neuronales respectivamente y B una constante calculada de tal forma que el mejor resultado en el curso obtenga A = 1.