Sie sind auf Seite 1von 5

Redes Neuronales

Aprendizaje supervisado

AR

1. Introducción
1.1. Aprendizaje supervisado
El aprendizaje supervisado es un tipo de
algoritmo de machine learning que utiliza un
conjunto de datos conocidos, llamado conjunto de
entrenamiento, para realizar predicciones sobre un
conjunto de datos desconocidos. El conjunto de
datos de entrenamiento incluye datos de entrada
y valores de respuesta y a partir de ellos, el
algoritmo genera un modelo para predecir valores
de respuesta para nuevos datos. [1]

1.2. Redes neuronales multicapa


Una red neuronal multicapa puede implementar
un mapeo entre datos de entrada y valores Figura 1. Red neuronal multicapa con una capa oculta
de respuesta de arbitraria complejidad. El
entrenamiento de la red se realiza presentándole a
la misma datos de entrenamiento repetidas veces. 2. Problema 1: Diagnóstico de cáncer
De forma general, una red multicapa realiza un de mamas
mapeo entre un vector de datos de entrada z y un
vector de valores de respuesta o a través de una Se presenta el problema de producir un
operación altamente no lineal N de la forma: diagnóstico de ćancer de mamas a partir de la
o = N [z] (1) información de 10 caraterı́sticas provenientes de
imagenes digitalizadas de muestras de células.
En particular, para una red neuronal con una única Para entrenar la red se cuenta con un conjunto
capa oculta, el mapeo puede representarse como: de datos de muestras de células de 410 pacientes
junto con el diagnóstico final, benigno o maligno.
o = Γ[W Γ[V z]] (2)
donde Γ es un operador diagonal no lineal 2.1. Propuesta de solución
con idénticas funciones de activación en los
elementos diagonales y las matrices de pesos V Se propuso una red neuronal con una única
y W se ajustan mediante el algoritmo de Error capa oculta como clasificador.
back-propagation para minimizar el error entre d, El programa recibe como parámetros el nombre
el vector de valores esperados, y o: del archivo de datos (en formato csv), las columnas
e = ||d − o||2 (3) que corresponden a la salida esperada (entiende
que el resto son los datos de entrada), los
Las funciones de activación pueden ser unipolares porcentajes de datos de entrenamiento, validación
o bipolares, es decir, tener imagenes entre 0 y 1 o y testing, la cantidad de épocas, el factor de
entre -1 y 1 respectivamente.[2] aprendizaje eta, el factor de momentum alfa, el
error máximo antes del corte y el tamaño del lote de cada red y se promediaron los errores de
de procesamiento. testing de las mismas. La figura 3 muestra el error
promedio obtenido en el barrido. Se observa que
2.2. Preprocesado de los datos
La red espera que todos los datos de entrada
tengan valores comparables. Para ello, se deben
estandarizar los datos previamente a pasarlos al
programa. Por otro lado, si se utiliza una función
de activación monopolar, los valores de respuesta
deben estar correctamente codificados. En este
caso, se tradujo el diagnóstico en ”0.05”para
maligno y en ”0.95”para benigno.

2.3. Estructura de la red neuronal


Para elegir una estructura y un factor de
Figura 3. Errores de testing promedio para una red
aprendizaje óptimos se realizó inicialmente un
neuronal con una capa oculta
barrido grueso de 10000 épocas para 3 neuronas,
7 neuronas y 13 neuronas en la capa oculta y
los mejores resultados se obtienen para un eta de
η de 0.005, 0.01 y 0.1. Se fijó el valor de α =
2 0.009 y 13 neuronas. Se decidió utilizar entonces
3 η. La figura 2 muestra los valores del error de una red neuronal con 13 neuronas en la capa
training y validación obtenidos en éstos barridos.
oculta, η = 0,009 y α = 0,006.
Se observa que para pocas neurona, la red no
tiene la capacidad de separar correctamente las
categorı́as, y que para η = 0,1 el aprendizaje no 2.4. Resultados y conclusiones
es lo suficientemente suave. Luego, se realizó un
De las 410 muestras del conjunto de datos
original se tomaron 300 para entrenamiento, 50
para validación y 60 para testing. La figura 4
muestra la evolución de los errores de training y
validación para la red neuronal elegida. Se observa
que a partir de aproximadamente la época 3300,
la red comienza a padecer de overfitting, ya que
disminuye el error de training pero aumenta el de
validación. Por lo tanto, es conveniente utilizar la
red para esa época como red final. Utilizando esta
red, se obtuvo finalmente un error de testing de
0.06.
La red neuronal propuesta presentó entonces una
performance aceptable en las pruebas realizadas,
pudiendo resolver el problema de diagnosticar con
precisión el tipo de cancer de mamas.
Figura 2. Errores de training para una red neuronal con
una capa oculta 3. Problema 2: Eficiencia energética
barrido más fino, utilizando entre 7 y 16 neuronas En este caso se propone, dadas ciertas
en la capa oculta y con factores de aprendizaje caracteristicas de un edificio, poder aproximar
entre 0.005 y 0.05. Se realizaron 10 iteraciones la carga energética para poder calefaccionar y
10 neuronas y 15 neuronas en la capa oculta y
η de 0.0001, 0.0005 y 0.00001. Se fijó el valor
de α = 32 η, como se muestra en las figuras 5,
6 y 7. Se observa que para pocas neuronas la
red tiene la capacidad de aproximar, aunque esta
aproximacion es mejor si aumentamos las mismas.
Ademas η = 0,005 parece un buen candidato para
factor de aprendizaje. Una vez sabido esto, se

Figura 4. Errores de training y validación para una red


neuronal con una capa oculta de 13 neuronas, η = 0,009
y α = 0,006

refrigerar dicho inmueble. Para esto se utilizó un


set de 500 datos, los cuales proporcionaban 8
caracteristicas de los mismos y la carga energetica
demandada en dichos casos.

3.1. Propuesta de solución y preprocesado Figura 5. Errores de training con una capa oculta de 3
de los datos neuronas

Nuevamente se propuso una red neuronal con


una única capa oculta. El programa recibe los
mismos parametros que el problema anterior.
En cuanto al preprocesado los datos de cada
caracteristica fueron estandarizados restandole la
media muestral y dividiendola por su desvio
estandar logrando de esta manera poder
adimensionarlos. Distinto fue el trato para los
outputs, ya que debian estar entre 0 y 1 como
consecuencia del uso de la sigmoide unipolar, por
lo que se normalizaron restándole a cada carga
energética el mı́nimo de dicha columna para luego
dividirla por la diferencia entre el máximo y el
mı́nimo de dicha columna, garantizando de esta
manera que los outputs se encuentren dentro del
rango correcto.
Figura 6. Errores de training con una capa oculta de 10
3.2. Estructura de la red neuronal neuronas

Para elegir una estructura y un factor de realizó un barrido más fino, utilizando entre 5 y
aprendizaje óptimos se realizó inicialmente un 15 neuronas en la capa oculta y con factores de
barrido grueso de 10000 épocas para 3 neuronas, aprendizaje entre 0.0001 y 0.0005. Se realizaron
Figura 9. Errores de testing promedio en el segundo
barrido para una capa oculta

Figura 7. Errores de training con una capa oculta de 15


neuronas 3.3. Resultados y conclusiones
De las 500 muestras del conjunto de datos
original se tomaron 300 para entrenamiento, 100
10 iteraciones de cada red y se promediaron los para validación y 100 para testing. Luego se corrio
errores de testing de las mismas. La figura 8 dicha red y se grafico el error de validacion y
muestra el error promedio obtenido en el barrido, el error de training, en donde se observa que la
donde se ve que la mejor performance se logra con cantidad de epocas dadas podria ser insuficiente,
12 neuronas y valor η = 0,0005. De igual manera 10000 para ser explicitos, pues la red no padece
se propuso un nuevo barrido fino entre 16 y 20 de overfitting a partir de una epoca dada. Fue asi
neuronas para ver si se podia bajar el valor del que se procedio a correr la misma red con un
error promedio, cuyos resultados se pueden ver en orden de magnitud mas en la cantidad de epocas,
la figura 9.En el mismo se puede ver que el error obteniendo los mismos resultados. Las figura 10
mejora un poco si se entrena la red con el mismo muestra lo dicho anteriormente. Cabe mencionar
η pero con 18 neuronas. Se termino optando por que el alfa utilizado para momentum todo este
esta ultima. tiempo fue α = 23 η. Debido a que la red entrenada
con 10000 epocas posee un error tolerable y es
mucho mas rapida obtenerla, computacionalmente
hablando, se opto por esta última arrojando un
error de testing de 0.01.

4. Conclusiones
Se logró programar y entrenar una red neuronal
para resolver dos problemas complejos de alta
dimensionalidad. Para encontrar una estructura
de aprendizaje óptima se realizaron barridos en
los parámetros de la red (cantidad de neuronas
en la capa oculta y factor de aprendizaje η),
Figura 8. Errores de testing promedio para una red obteniéndose los mejores resultados para 13
neuronal con una capa oculta neuronas en la capa oculta, η = 0,009 y α =
0,006 en el problema del diagnóstico de cancer de
mamas, y de 18 neuronas, η = 0,0005 y α = 0,0003
de 0.01 en cada caso respectivamente.
Para ámbos problemas se optó por realizar
entrenamientos por lotes de 10 elementos,
fundamentalmente para minimizar el tiempo
computacional requerido para realizar los barridos.
A futuro, se podrı́an realizar los mismos estudios
utilizando el método en linea (un elemento por
vez) y barrer en otro rango de parámetros para
comparar los resultados obtenidos. Además, se
podrı́a utilizar un método de validación cruzada
para el entrenamiento de la red obteniendo una red
final de pesos promediados.

Figura 10. Errores de training y validacion con η = 0,005 Referencias


y α = 0,0033.

1. MathWorks (2018). Supervised learning.


para el de eficiencia energética. 2. Zurada, J. M. (1992). Introduction to artificial neural
Los errores de testing obtenidos fueron de 0.06 y systems. West Publishing Company.

Das könnte Ihnen auch gefallen