unidad no. 6 - introducción al aprendizaje automático

38
INTELIGENCIA ARTIFICIAL - ICIF0021 Unidad 6 - Introducci´ on al Aprendizaje Autom´ atico Docente: Milton A. Ram´ ırez Klapp [email protected] Universidad San Sebasti´ an Facultad de Ingenier´ ıa y Tecnolog´ ıa Primer Semestre de 2011 M. Ram´ ırez K. (USS) Apunte curso IA Primer Semestre 2011 1 / 38

Upload: milton-klapp

Post on 05-Jul-2015

666 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unidad No. 6 - Introducción al Aprendizaje Automático

INTELIGENCIA ARTIFICIAL - ICIF0021Unidad 6 - Introduccion al Aprendizaje

Automatico

Docente: Milton A. Ramırez [email protected]

Universidad San SebastianFacultad de Ingenierıa y Tecnologıa

Primer Semestre de 2011

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 1 / 38

Page 2: Unidad No. 6 - Introducción al Aprendizaje Automático

Objetivos de la Unidad

Conocen las principales tecnicas del aprendizaje automatico (MachineLearning).

Profundizan en problemas de clasificacion empleando tecnicas decomputacion bio-inspiradas (redes neuronales).

Identifican los principales tipos de redes neuronales que existen.

Resuelven problemas empleando el Modelo Perceptron.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 2 / 38

Page 3: Unidad No. 6 - Introducción al Aprendizaje Automático

Contenidos

Problemas de clasificacion.

Tecnicas de computacion evolutiva: redes neuronales.

Modelos de redes neuronales: perceptron.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 3 / 38

Page 4: Unidad No. 6 - Introducción al Aprendizaje Automático

Hoy veremos

Problemas de clasificacion.

Presentacion de las redes neuronales.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 4 / 38

Page 5: Unidad No. 6 - Introducción al Aprendizaje Automático

Problema de Clasificacion

El problema de clasificacion consiste en tomar caracterısticas de unaentidad:

X y decidir a que clase pertenece.

Por ejemplo:

X forma redonda, color rojo, un pequeno tallo, apariencia frescaX ¿Que es?X Un tomateX ¿o quizas una manzana?

Un clasificador puede construirse de muchas maneras y con muchastecnicas diferentes

X pero existen conceptos comunes.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 5 / 38

Page 6: Unidad No. 6 - Introducción al Aprendizaje Automático

Problema de Clasificacion

¿Como representar las caracterısticas de una entidad a clasificar?

Color, tamano, forma, temperatura, etc.

Las caracterısticas deben ser observables o medibles por algun tipode sensor.

Los sensores entregan una representacion numerica de lo queperciben.

La mejor representacion

Son los vectores.

Tenemos entonces: un vector de caracterısticas.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 6 / 38

Page 7: Unidad No. 6 - Introducción al Aprendizaje Automático

Problema de ClasificacionVector de Caracterısticas

Un vector de caracterısticas −→x tendra la forma

−→x = [x1, . . . , xn]

donde cada celda xi representa una caracterıstica.

Por ejemplo:

X −→x =[temperatura, altura, edad, peso] = [28, 1.81, 25, 88.2]

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 7 / 38

Page 8: Unidad No. 6 - Introducción al Aprendizaje Automático

Problema de Clasificacion

Entonces

Un clasificador es una funcion:

X donde su entrada es un vector de caracterısticasX que tiene como salida un numeroX ese numero representa la clase asignadaX la decision que tome debe hacerse de acuerdo a las caracterısticas.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 8 / 38

Page 9: Unidad No. 6 - Introducción al Aprendizaje Automático

Problema de Clasificacion

El clasificador que veremos en esta unidad recibe el nombre de RedNeuronal.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 9 / 38

Page 10: Unidad No. 6 - Introducción al Aprendizaje Automático

Redes Neuronalesinspiracion biologica

El aprendizaje en los sistemas biologicos esta basado en redes muy complejas deneuronas interconectadas.

La neurona es una celula que recibe senales electromagneticas, provenientes delexterior (10%), o de otras neuronas (90%) , a traves de las sinapsis de lasdendritas.

Si la acumulacion de estımulos recibidos supera un cierto umbral, la neurona sedispara. Esto es, emite a traves del axon una senal que sera recibida por otrasneuronas, a traves de las conexiones sinapticas de las dendritas.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 10 / 38

Page 11: Unidad No. 6 - Introducción al Aprendizaje Automático

Redes Neuronalesinspiracion biologica

El area de conexion sinaptica puede potenciar o debilitar la senalrecibida. Las conexiones sinapticas son dinamicas:

X con el desarrollo y el aprendizaje algunas conexiones se potencian yotras se debilitan.

El cerebro humano es una red de neuronas interconectadas:

X se calculan que posee alrededor de 1011 y que cada una tiene enpromedio 104 conexiones con otras neuronas.

Inspiradas en estos procesos biologicos surgen las redes neuronalesartificiales como un modelo formal computacional.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 11 / 38

Page 12: Unidad No. 6 - Introducción al Aprendizaje Automático

Ejemplos de aplicaciones practicas

Clasificacion.

Reconocimiento de patrones.

Optimizacion.

Prediccion metereologica.

Interpretacion de datos sensoriales del mundo real

X reconocimiento de vozX vision artificial, reconocimiento de imagenes

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 12 / 38

Page 13: Unidad No. 6 - Introducción al Aprendizaje Automático

Redes Neuronales

Generalidades

Una red neuronal es un modelo matematico que tiene estructura degrafo dirigido cuyos nodos pasaran a llamarse en este contextoneuronas artificiales.

La capa de entrada contiene cada uno de los valores numericos delvector de caracterısticas que se quiere clasificar.

La capa de salida puede ser:

X una sola neurona de salida que entregue el numero de clase de laentrada

X una serie de neuronas de salida, cada una representando una claseposible.

Se ha demostrado a lo largo del tiempo que los mejores resultados seobtienen con este ultimo esquema.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 13 / 38

Page 14: Unidad No. 6 - Introducción al Aprendizaje Automático

Funcionamiento de una red neuronal

Cada nodo o unidad o neurona artificial se conecta con otros nodos atraves de arcos dirigidos, lo que viene a simular la conexion axon →dendritas

Cada arco ai → aj sirve para propagar la salida de la unidad ai paraalimentar la entrada de aj .

Las entradas y salidas son numeros.

Cada arco ai → aj tiene asociado un peso numerico wij quedetermina la fuerza y el signo de la conexion, simulando la sinapsis.

a ai j

wij

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 14 / 38

Page 15: Unidad No. 6 - Introducción al Aprendizaje Automático

Funcionamiento de una red neuronal

Cada unidad calcula su salida en funcion de las entradas que recibe.

La salida de cada unidad sirve, a su vez, como una entrada para otraunidad o unidades:

X como veremos, los calculos que hay que hacer son bastante simples.

La red recibe una serie de senales externas a traves del vector decaracterısticas, que son captadas por las neuronas que conforman la(capa de entrada) y devuelve al exterior la salida de algunas de susneuronas, llamadas neuronas de capa de salida.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 15 / 38

Page 16: Unidad No. 6 - Introducción al Aprendizaje Automático

Calculo realizado por cada unidad

La salida de cada unidad ai se calcula como:

ai = g

n∑j=0

wjiaj

en donde:

g es una funcion de activacion.

la suman∑

j=0wjiaj se hace sobre todas las neuronas ai que envıan su

salida a la unidad aj :

X la excepcion es el caso j = 0, que considera a0 = −1 como unaentrada ficticia con un peso w0i denominado umbral.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 16 / 38

Page 17: Unidad No. 6 - Introducción al Aprendizaje Automático

Calculo realizado por cada unidad

De manera intuitiva, el umbral wi0 de cada unidad se interpreta comouna cantidad que debe superar la suma de las senales de entrada querecibe la unidad, para que se active.

La funcion de activacion g tiene el rol de normalizar la salida cuandoel umbral de entrada se supera:

X esto hace que la red no tenga un comportamiento tan lineal.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 17 / 38

Page 18: Unidad No. 6 - Introducción al Aprendizaje Automático

Calculo realizado por cada unidad

Funciones de activacion mas usadas

1 Funcion signo: sgn(x) =

1 si x > 0

−1 si x ≤ 0

2 Funcion umbral: µr(x) =

1 si x > r

0 si x ≤ r, r ∈ R

3 Funcion sigmoide: σ(x) =1

1 + e−x

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 18 / 38

Page 19: Unidad No. 6 - Introducción al Aprendizaje Automático

Redes neuronales hacia adelante

Cuando el grafo que representa a la red no tiene ciclos, la red sedenomina hacia adelante, que son las que veremos en esta unidad.

Las unidades o neuronas en una red hacia adelante suelenestructurarse en capas, de tal manera que cada capa recibe susentradas de la capa inmediatamente anterior:

X tenemos entonces capa de entrada, capas ocultas y capa de salidaX las que conforman una red multicapa.

Todo esto configura una arquitectura de red neuronal.

Otras arquitecturas que existen se llaman recurrentes, caracterizadasporque las unidades de salida retroalimentan a las de entrada.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 19 / 38

Page 20: Unidad No. 6 - Introducción al Aprendizaje Automático

Redes neuronales hacia adelante

Ejemplo de una neurona de salida

12.5

27

1.71

62.5

19

2 (clase 2: manzana)

capa de entrada capa de salida

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 20 / 38

Page 21: Unidad No. 6 - Introducción al Aprendizaje Automático

Redes neuronales hacia adelante

Ejemplo de una serie de neuronas de salida

12.5

27

1.71

62.5

19

1 (clase 1: plátano)

0 (clase 0: tomate)

2 (clase 2: manzana)

capa de entrada capa de salidacapa oculta

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 21 / 38

Page 22: Unidad No. 6 - Introducción al Aprendizaje Automático

Redes Neuronales como clasificadores

Una red neuronal hacia adelante con n ∈ N unidades en la capa deentrada y m ∈ N en la capa de salida, no es mas que una funcion deRn en Rm.

Por lo tanto, podemos verla como una clasificador de conjuntos enRn:X Si la clasificacion es de tipo booleana (verdadero o falso; sı o no, etc),

entonces:

hacemos m = 1;si trabajamos con funcion de activacion signo o umbral, considerar queel 1 corresponda a un SI y un 0 a un NO;si se usa sigmoide, considerar como un SI aquellos valores sean igualeso superiores a 0.5 y como NO aquellos inferiores.

X Para clasificadores con m > 1 posibles valores, cada unidad de salidacorresponde con un valor de clasificacion.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 22 / 38

Page 23: Unidad No. 6 - Introducción al Aprendizaje Automático

Redes Neuronales y Aprendizaje

Cuando hablamos de aprendizaje o entrenamiento de redesneuronales estamos hablando de encontrar los pesos de lasconexiones entre unidades, de manera que la red se comporte de unadeterminada manera, descrita por un conjunto de entrenamiento.

Especıficamente, para redes neuronales hacia adelante, lo habitual eshacer esta tarea de aprendizaje supervisado:

X dado un conjunto de entrenamiento de tamano k ∈ N:

D = {(−→xd,−→yd) : −→xd ∈ Rn,−→yd ∈ Rm, d = 1, . . . , k}

X y una red neuronal de la que solo conocemos su estructura: capas ynumero de neuronas por capa.

X La gran tarea consiste en hallar un conjunto de pesos wij de talmanera que la funcion de Rn en Rm se ajuste lo mejor posible a losejemplos del conjunto de entrenamiento dados por los valores de −→yd.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 23 / 38

Page 24: Unidad No. 6 - Introducción al Aprendizaje Automático

¿Que vimos la clase pasada?

Introduccion a los problemas de clasificacion: componentesprincipales.

Como un clasificador se puede ver como un agente que interactua consu medio.

Presentacion de las redes neuronales.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 24 / 38

Page 25: Unidad No. 6 - Introducción al Aprendizaje Automático

Hoy veremos

Perceptron: modelo de red neuronal mas simple que hay.

Separabilidad lineal.

Entrenamiento de un perceptron.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 25 / 38

Page 26: Unidad No. 6 - Introducción al Aprendizaje Automático

Perceptron

Es el modelo mas basico de red neuronal.

Posee una capa de entrada y una de salida.

Un perceptron con funcion de activacion umbral µr es capaz de representar lasfunciones booleanas basicas.

Funciona bien cuando las muestras son linealmente separables, de lo cualhablaremos en breves instantes mas.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 26 / 38

Page 27: Unidad No. 6 - Introducción al Aprendizaje Automático

Perceptron

Un perceptron con n unidades de entrada y un vector de pesosw = (w0, . . . , wn) y una funcion de activacion umbral o bipolar,clasifica como positivos a aquellos −→x ∈ Rn tales que

n∑i=0

wixi > 0, x0 = −1

La ecuacionn∑

i=0

wixi = 0 representa un hiperplano en Rn.

Una funcion booleana solo podra ser representada por un perceptronumbral µr si existe un hiperplano que separa los elementos con valor1 de los elementos con valor 0.

Toda funcion que graficamente corresponda a este hiperplano en Rn

la definiremos como funcion linealmente separable.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 27 / 38

Page 28: Unidad No. 6 - Introducción al Aprendizaje Automático

PerceptronSeparabilidad Lineal

Estudiemos si la funcion booleana ∧ es o no linealmente separable

∧ esta definida para todo (x1, x2) ∈ {0, 1} × {0, 1} de la siguientemanera:

∧(x1, x2) =

1 si (x1, x2) = (1, 1)

0 en otro caso

Para eso, hay que graficar sus valores en el plano cartesiano enfuncion de los valores que tomen x1 y x2, y ver si podemos trazar unalınea recta que separe completamente los puntos que originan unvalor cero para la funcion de los que dan uno.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 28 / 38

Page 29: Unidad No. 6 - Introducción al Aprendizaje Automático

PerceptronSeparabilidad Lineal

0

1

1

AND vale 1

AND vale 0

X1

X2

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 29 / 38

Page 30: Unidad No. 6 - Introducción al Aprendizaje Automático

PerceptronSeparabilidad Lineal

0

1

1 X1

X2

Es facil observar que ∧ es linealmente separable.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 30 / 38

Page 31: Unidad No. 6 - Introducción al Aprendizaje Automático

PerceptronSeparabilidad Lineal

Averiguar si la funcion booleana ⊕ es o no linealmente separable

⊕ esta definida para todo (x1, x2) ∈ {0, 1} × {0, 1} de la siguientemanera:

⊕(x1, x2) =

0 si x1 = x2

1 si x1 6= x2

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 31 / 38

Page 32: Unidad No. 6 - Introducción al Aprendizaje Automático

PerceptronFunciones Linealmente Separables

A pesar de todas sus limitaciones expresivas, las funciones linealmenteseparables tienen la ventaja de poder contar con un algoritmo deentrenamiento simple para perceptrones con funcion umbralµr, r ∈ R.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 32 / 38

Page 33: Unidad No. 6 - Introducción al Aprendizaje Automático

PerceptronAlgoritmo de Entrenamiento del Perceptron (umbral)

Entrada: D = {(−→xd, y) : −→xd ∈ Rn, y ∈ {0, 1}, d = 1, |D|}:conjunto de entrenamientoη: factor de aprendizajeµr: funcion de activacion umbral

Salida: −→w = (w0, . . . , wn): vector de pesos1: inicializar aleatoriamente −→w ← (w0, . . . , wn)2: mientras no haya que seguir ajustando los pesos hacer3: para cada (−→xd, y) ∈ D hacer

4: o← µr

(n∑

i=0

wixi

){x0 = −1}

5: para cada peso wi hacer6: wi ← wi + η(y − o)xi {actualizacion de pesos}7: fin para8: fin para9: fin mientras

10: retornar −→w

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 33 / 38

Page 34: Unidad No. 6 - Introducción al Aprendizaje Automático

Comentarios sobre el algoritmo de entrenamiento

η es una constante positiva que varıa por lo general en ]0, 1]:

X se emplea para medir la tasa de aprendizaje de la redX y por lo tanto, para moderar la actualizacion de los pesos

El valor de o representa el resultado que genera la red a traves de suneurona de salida.

El valor de y corresponde al valor esperado que entregue la red.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 34 / 38

Page 35: Unidad No. 6 - Introducción al Aprendizaje Automático

Comentarios sobre el algoritmo de entrenamiento

Teorema de Minsky y Papert [1969]

El algoritmo de entrenamiento de perceptron converge en un numerofinito de iteraciones a un vector de pesos −→w que clasifica correctamentetodos los ejemplos de entrenamiento, siempre que estos sean linealmenteseparables y η suficientemente pequeno.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 35 / 38

Page 36: Unidad No. 6 - Introducción al Aprendizaje Automático

Ejemplo de entrenamiento

Considere la funcion booleana ∨ definida para todo(x1, x2) ∈ {0, 1} × {0, 1} de la siguiente manera:

∨(x1, x2) =

0 si (x1, x2) = (0, 0)

1 en otro caso

Demuestre que ∨ es linealmente separable.

Considere los siguientes parametros de entrada:

X conjunto de entrenamiento D: tabla de verdad del operador ∨X η = 0.5, µ0.5

X vector inicial de pesos −→w = (0, 0.1, 0.3).

Construya la tabla de traza del algoritmo de entrenamiento de la redneuronal e indique cual es el vector de pesos −→w que debiera generar.

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 36 / 38

Page 37: Unidad No. 6 - Introducción al Aprendizaje Automático

La solucion. . .

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 37 / 38

Page 38: Unidad No. 6 - Introducción al Aprendizaje Automático

Fin de la Unidad 6

M. Ramırez K. (USS) Apunte curso IA Primer Semestre 2011 38 / 38