Title: Aprendizaje Automatizado
1Aprendizaje Automatizado
- Redes Neuronales Artificiales
2Introducción
- Otra forma de emular características propias de
los humanos memorizar y asociar hechos. - Se aprende de la experiencia.
- El cerebro humano es el ejemplo más perfecto de
sistema capaz de adquirir conocimiento. - Se modela artificialmente ese sistema.
3Definición
- Una red neuronal es "un nuevo sistema para el
tratamiento de la información, cuya unidad básica
de procesamiento está inspirada en la célula
fundamental del sistema nervioso humano la
neurona". - Las neuronas son un componente relativamente
simple pero conectadas de a miles forman un
poderoso sistema.
4Descripción
- Unidades de procesamiento que intercambian datos
o información. - Se utilizan para reconocer patrones, incluyendo
imágenes, manuscritos, tendencias financieras,
etc. - Tienen la capacidad de aprender y mejorar su
funcionamiento.
5Fundamentos - El modelo biológico
- El cerebro humano contiene más de cien mil
millones de neuronas. - La clave para el procesamiento de la información
son las conecciones entre ellas llamadas
sinápsis.
6Estructura biológica
- Las dendritas son la vía de entrada de las
señales que se combinan en el cuerpo de la
neurona. - El axón es el camino de salida de la señal
generada por la neurona. - En las terminaciones de las sinápsis se
encuentran unas vesículas que contienen unas
sustancias químicas llamadas neurotransmisores,
que propagan señales electroquímicas de una
neurona a otra. - La neurona es estimulada por sus entradas y
cuando alcanza cierto umbral, se dispara o activa
pasando una señal hacia el axón.
7Estructura artificial
- La función de activación puede ser una simple
función escalón
8Elementos de una red neuronal
- Se interconectan neuronas en tres tipos de capas
- De entrada reciben estímulos externos.
- Oculta elementos internos de procesamiento (se
pueden estructurar en varias capas). - De salida reciben la información procesada y
retornan la respuesta del sistema al exterior.
9Elementos de una red neuronal
10Elementos de una red neuronal
- Las neuronas están conectadas por canales
unidireccionales con peso. - El peso wij está asociado al canal que conecta la
neurona j con la neurona i. - La entrada total de la neurona j es netj
Swijyi. - La salida de la neurona j es yj f(netj).
11Funciones de activación
- ?i representa un desplazamiento o umbral de
activación (sesgo o bias). - Se puede pensar ?i como el peso w0i que conecta
una neurona imaginaria x0 con a0(t) 1.
12Función de activación escalón
13Funciones de activación identidad y lineal-mixta
14Función de activación sigmoidal
15Regla de aprendizaje
- Biológicamente se acepta que la información
memorizada en el cerebro se relaciona con los
valores sinápticos de las conexiones. - En las RNA se considera que el conocimiento se
encuentra representado en los pesos de las
conexiones. - El proceso de aprendizaje se basa en cambios en
estos pesos.
16Formas de conexión entre neuronas
- Las salidas de las neuronas se convierten en
entradas de otras neuronas. - Cuando ninguna salida de las neuronas es entrada
de neuronas del mismo nivel o de niveles
precedentes, la red se describe como propagación
hacia adelante (feedforward). - En caso contrario la red se describe como
propagación hacia atrás (feedback).
17Características de las RNA
- Topología.
- Número de capas.
- Número de neuronas por capa.
- Tipo de conexiones. Normalmente, todas las
neuronas de una capa reciben señales de la capa
anterior (más cercana a la entrada) y envían su
salida a las neuronas de la capa posterior (más
cercana a la salida de la red). - Tipo de aprendizaje.
18Redes feedforward.
- Las más conocidas son
- Perceptrón
- Adaline
- Madaline
- Backpropagation
- Son útiles en aplicaciones de reconocimiento o
clasificación de patrones.
19Mecanismo de Aprendizaje
- Los cambios en el proceso de aprendizaje se
reducen a destrucción, modificación y creación de
conexiones entre las neuronas. - La creación de una conexión implica que el peso
de la misma pasa a tener un valor distinto de
cero. - Una conexión se destruye cuando su valor pasa a
ser cero.
20Redes con aprendizaje supervisado
- El tipo de aprendizaje puede ser supervisado o no
supervisado. - El proceso de aprendizaje supervisado se realiza
mediante el control de un agente externo
(supervisor) que determina la respuesta que
debería generar la red a partir de una entrada
determinada. - En el caso de no coincidir se modifican los pesos
con el fin de aproximarse al valor deseado.
21Aprendizaje por corrección del error. Algoritmo
- Paso 1 Asignar valores aleatorios a los pesos de
la red. - Paso 2 Mientras no se alcance un nivel deseado
de predicción - Tomar un dato de entrenamiento x y obtener una
salida y. - Si y no es el valor deseado para x entonces
actualizar los pesos.
22Regla de aprendizaje delta o MEC
- Los algoritmos actualizan los pesos mediante
- La variación entre los distintos métodos está en
la forma de calcular ?w.
- Se define una medida de error para cada patrón de
entrenamiento p
23Regla de aprendizaje delta o MEC
- Se deben encontrar los wi que minimicen el error
cuadrático
- Para esta regla de aprendizaje,
- La idea es definir un vector gradiente
24Regla de aprendizaje delta o MEC
- Se debe encontrar la dirección en la que este
vector hace menor al error E. - Algunas fórmulas útiles (función lineal)
- Las redes Adaline y Madaline utilizan esta regla
de aprendizaje.
25Regla delta generalizada
- La regla delta se puede aplicar a una capa de
neuronas. - Se puede generalizar a más capas.
- La idea central es que los errores de las
unidades ocultas se propagan hacia atrás. - Se aplica en la red Backpropagation.
26Neural Network Toolbox
- gtgt load house_dataset
- La red backpropagation más comunmente utilizada
posee una capa oculta con 20 neuronas. - gtgt newff(houseInputs, houseTargets, 20)
- La cantidad de neuronas de entrada tanto como la
de salida quedan determinadas por las
características del dataset. - gtgt net train(net, houseInput, houseTargets)
27Neural Network Toolbox
28Neural Network Toolbox
- El dataset es dividido aleatoriamente en tres
conjuntos - 60 de los datos se utilizan para entrenamiento.
- 20 de los datos se utilizan para validación.
- 20 de los datos se utilizan para test.
- El entrenamiento continúa mientras se reduce el
error de validación. - Esta es una técnica muy utilizada para evitar el
sobreentrenamiento.
29Neural Network Toolbox
- Una vez entrenada la red, se la puede utilizar
- gtgt y sim(net, p)
- Para un conjunto de nuevos datos se espera un
error similar al calculado para el conjunto de
test. - Se puede mejorar la precisión de una red.
30Neural Network Toolbox
- Se puede inicializar nuevamente la red para
volver a entrenar - gtgt net.IW1, 1(12, 12)
- -0.5815 0.2696
- -0.2799 -0.4926
- gtgt net init(net)
- gtgt net.IW1, 1(12, 12)
- -0.0047 0.2063
- 0.4592 -0.4419
31Neural Network Toolbox
- Una segunda estrategia es cambiar el número de
capas y neuronas internas. - Se puede agregar como cuarto argumento un arreglo
con los nombres de las funciones transferencia a
usar en cada capa. - Por último, usar datos adicionales generalmente
mejora el aprendizaje.