View
216
Download
0
Category
Preview:
Citation preview
Tema 8: Introduccion al aprendizaje automatico
M. A. Gutierrez NaranjoF. J. Martın MateosJ. L. Ruiz Reina
Dpto. Ciencias de la Computacion e Inteligencia ArtificialUniversidad de Sevilla
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Contenido
Introduccion
Aprendizaje de arboles de decision
Aprendizaje de reglas
El teorema de Bayes
Clasificacion mediante modelos probabilısticos: naive Bayes
Aprendizaje basado en instancias: kNN
Clustering: k-medias
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Seccion 1
Seccion 1
Introduccion
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Aprendizaje
Definiciones de aprendizaje:
Cualquier cambio en un sistema que le permita realizar lamisma tarea de manera mas eficiente la proxima vez (H.Simon)Modificar la representacion del mundo que se esta percibiendo(R. Michalski)Realizar cambios utiles en nuestras mentes (M. Minsky)
Aprendizaje automatico: construir programas que mejoranautomaticamente con la experiencia
Ejemplos de tareas:
Construccion de bases de conocimiento a partir de laexperienciaClasificacion y diagnosticoMinerıa de datos, descubrir estructuras desconocidas engrandes grupos de datosResolucion de problemas, planificacion y accion
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Tipos de aprendizaje y paradigmas
Tipos de aprendizaje
SupervisadoNo supervisadoCon refuerzo
Paradigmas
Aprendizaje por memorizacionClasificacion (Clustering)Aprendizaje inductivoAprendizaje por analogıaDescubrimientoAlgoritmos geneticos, redes neuronales
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Ejemplo de aprendizaje
Conjunto de entrenamiento
Ejemplos: dıas en los que es recomendable (o no) jugar al tenisRepresentacion como una lista de pares atributo–valor
Ej. Cielo Temperatura Humedad Viento JugarTenisD1 Soleado Alta Alta Debil -D2 Soleado Alta Alta Fuerte -D3 Nublado Alta Alta Debil +D4 Lluvia Suave Alta Debil +. . .
Objetivo: Dado el conjunto de entrenamiento, aprender elconcepto “Dıas en los que se juega al tenis”
Se trata de aprendizaje supervisado
Problema: ¿Como expresar lo aprendido?
En este tema, veremos algoritmos para aprender arboles dedecision, reglas, modelos probabilısticos,...
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Seccion 2
Seccion 2
Aprendizaje de arboles de decision
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Arboles de decision
Ejemplos de arboles de decision
Cielo
LluviaSoleado Nublado
+Viento
Debil
+
Humedad
Alta
+− −
Normal Fuerte
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Arboles de decision
Ejemplos de arboles de decision
Color
Rojo Verde Azul
Forma
Redondo Cuadrado
Grande
Tamano
Pequeno
Grande
−
Tamano
Pequeno
+ −
+ −
+
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Arboles de decision
Arboles de decision
Nodos interiores: atributosArcos: posibles valores del nodo origenHojas: valor de clasificacion (usualmente + o −, aunque podrıaser cualquier conjunto de valores, no necesariamente binario)Representacion de una funcion objetivo
Disyuncion de reglas proposicionales:
(Cielo=Soleado ∧ Humedad=Alta → JugarTenis= −)∨ (Cielo=Soleado ∧ Humedad=Normal → JugarTenis= +)∨ (Cielo=Nublado → JugarTenis= +)∨ (Cielo=Lluvioso ∧ Viento=Fuerte → JugarTenis= −)∨ (Cielo=Lluvioso ∧ Viento=Debil → JugarTenis= +)
Capaz de representar cualquier subconjunto de instancias
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Aprendizaje de arboles de decision
Objetivo: aprender un arbol de decision consistente con losejemplos, para posteriormente clasificar ejemplos nuevos
Ejemplo de conjunto de entrenamiento:
Ej. Cielo Temperatura Humedad Viento JugarTenisD1 Soleado Alta Alta Debil -D2 Soleado Alta Alta Fuerte -D3 Nublado Alta Alta Debil +D4 Lluvia Suave Alta Debil +. . .
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Algoritmo ID3
Algoritmo ID3ID3(Ejemplos, Atributo-objetivo, Atributos)1. Si todos los Ejemplos son positivos, devolver un nodo
etiquetado con +2. Si todos los Ejemplos son negativos, devolver un nodo
etiquetado con -3. Si Atributos esta vacıo, devolver un nodo etiquetado con el valor
mas frecuente de Atributo-objetivo en Ejemplos.4. En otro caso:4.1. Sea A el atributo de Atributos que MEJOR clasifica Ejemplos4.2. Crear Arbol, con un nodo etiquetado con A.4.3. Para cada posible valor v de A, hacer:
* Anadir un arco a Arbol, etiquetado con v.
* Sea Ejemplos(v) el subconjunto de Ejemplos con valor delatributo A igual a v.
* Si Ejemplos(v) es vacıo:- Entonces colocar debajo del arco anterior un nodo etiquetado
con el valor mas frecuente de Atributo-objetivo en Ejemplos.- Si no, colocar debajo del arco anterior el subarbol
ID3(Ejemplos(v), Atributo-objetivo, Atributos-{A}).4.4 Devolver Arbol
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
¿Como saber que atributo clasifica mejor?
Entropıa de un conjunto de ejemplos D (resp. de unaclasificacion):
Ent(D) = − |P||D| · log2
|P||D| −
|N||D| · log2
|N||D|
donde P y N son, respectivamente, los subconjuntos deejemplos positivos y negativos de D
Notacion: Ent([p+, n−]), donde p = |P | y n = |N|
Intuicion:
Mide la ausencia de “homegeneidad” de la clasificacionTeorıa de la Informacion: cantidad media de informacion (enbits) necesaria para codificar la clasificacion de un ejemplo
Ejemplos:
Ent([9+, 5−]) = − 914 · log2
914 − 5
14 · log2514 = 0,94
Ent([k+, k−]) = 1 (ausencia total de homogeneidad)Ent([p+, 0−]) = Ent([0+, n−]) = 0 (homogeneidad total)
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Ganancia de informacion
Preferimos nodos con menos entropıa (arboles pequenos)
Entropıa esperada despues de usar un atributo A en el arbol:∑
v∈Valores(A)|Dv ||D| · Ent(Dv )
donde Dv es el subconjunto de ejemplos de D con valor delatributo A igual a v
Ganancia de informacion esperada despues de usar unatributo A:Ganancia(D,A) = Ent(D)−
∑
v∈Valores(A)|Dv ||D| · Ent(Dv )
En el algoritmo ID3, en cada nodo usamos el atributo conmayor ganancia de informacion (considerando los ejemploscorrespondientes al nodo)
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Algoritmo ID3 (ejemplo 1)
Conjunto de entrenamiento:
Ej. Cielo Temperatura Humedad Viento JugarTenisD1 Soleado Alta Alta Debil -D2 Soleado Alta Alta Fuerte -D3 Nublado Alta Alta Debil +D4 Lluvia Suave Alta Debil +D5 Lluvia Baja Normal Debil +D6 Lluvia Baja Normal Fuerte -D7 Nublado Baja Normal Fuerte +D8 Soleado Suave Alta Debil -D9 Soleado Baja Normal Debil +D10 Lluvia Suave Normal Debil +D11 Soleado Suave Normal Fuerte +D12 Nublado Suave Alta Fuerte +D13 Nublado Alta Normal Debil +D14 Lluvia Suave Alta Fuerte -
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Algoritmo ID3 (ejemplo 1)
Normal
Humedad
Alta
[3+, 4−] [6+, 1−]
Viento
Fuerte Debil
[6+, 2−] [3+, 3−]
TemperaturaCielo
[2+, 2−] [4+, 2−] [3+, 1−]
BajaSuaveAltaLluvia
[2+, 3−] [3+, 2−][4+, 0−]
Soleado Nublado
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Algoritmo ID3 (ejemplo 1)
Entropıa inicial: Ent([9+, 5−]) = 0,94
Seleccion del atributo para el nodo raız:
Ganancia(D,Humedad) =0,94− 7
14 · Ent([3+, 4−])− 714 · Ent([6+, 1−]) = 0,151
Ganancia(D,Viento) =0,94− 8
14 · Ent([6+, 2−])− 614 · Ent([3+, 3−]) = 0,048
Ganancia(D,Cielo) =0,94− 5
14 · Ent([2+, 3−])− 414 · Ent([4+, 0−])
− 514 · Ent([3+, 2−]) = 0,246 (mejor atributo)
Ganancia(D,Temperatura) =0,94− 4
14 · Ent([2+, 2−])− 614 · Ent([4+, 2−])
− 414 · Ent([3+, 1−]) = 0,02
El atributo seleccionado es Cielo
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Algoritmo ID3 (ejemplo 1)
Arbol parcialmente construido:
?
Cielo
Soleado Nublado Lluvia
+ ?
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Algoritmo ID3 (ejemplo 1)
Seleccion del atributo para el nodo Cielo=Soleado
DSoleado = {D1,D2,D8,D9,D11} con entropıaEnt([2+, 3−]) = 0,971
Ganancia(DSoleado,Humedad) =0,971− 3
5 · 0− 25 · 0 = 0,971 (mejor atributo)
Ganancia(DSoleado,Temperatura) =0,971− 2
5 · 0− 25 · 1− 1
5 · 0 = 0,570Ganancia(DSoleado,Viento) =0,971− 2
5 · 1− 35 · 0,918 = 0,019
El atributo seleccionado es Humedad
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Algoritmo ID3 (ejemplo 1)
Seleccion del atributo para el nodo Cielo=Lluvia:
DLluvia = {D4,D5,D6,D10,D14} con entropıaEnt([3+, 2−]) = 0,971
Ganancia(DLluvia,Humedad) =0,971− 2
5 · 1− 35 · 0,918 = 0,820
Ganancia(DLluvia,Temperatura) =0,971− 3
5 · 0,918− 25 · 1 = 0,820
Ganancia(DLluvia,Viento) =0,971− 3
5 · 0− 25 · 0 = 0,971 (mejor atributo)
El atributo seleccionado es Viento
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Algoritmo ID3 (ejemplo 1)
Arbol finalmente aprendido:
Cielo
LluviaSoleado Nublado
+Viento
Debil
+
Humedad
Alta
+− −
Normal Fuerte
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Algoritmo ID3 (ejemplo 2)
Conjunto de entrenamiento:
Ej. Color Forma Tamano ClaseO1 Rojo Cuadrado Grande +O2 Azul Cuadrado Grande +O3 Rojo Redondo Pequeno -O4 Verde Cuadrado Pequeno -O5 Rojo Redondo Grande +O6 Verde Cuadrado Grande -
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Algoritmo ID3 (ejemplo 2)
Entropıa inicial en el ejemplo de los objetos, Ent([3+, 3−]) = 1
Seleccion del atributo para el nodo raız:
Ganancia(D,Color) =1− 3
6 ·Ent([2+, 1−])− 1
6 ·Ent([1+, 0−])− 2
6 ·Ent([0+, 2−]) = 0,543
Ganancia(D,Forma) =1− 4
6 · Ent([2+, 2−])− 26 · Ent([1+, 1−]) = 0
Ganancia(D,Tamano) =1− 4
6 · Ent([3+, 1−])− 26 · Ent([0+, 2−]) = 0,459
El atributo seleccionado es Color
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Algoritmo ID3 (ejemplo 2)
Arbol parcialmente construido:
?
Color
Rojo Verde Azul
− +
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Algoritmo ID3 (ejemplo 2)
Seleccion del atributo para el nodo Color=Rojo:
DRojo = {O1,O3,O5} con entropıa Ent([2+, 1−]) = 0,914
Ganancia(DRojo,Forma) =0,914− 1
3 · Ent([1+, 0−])− 23 · Ent([1+, 1−]) = 0,247
Ganancia(DRojo,Tamano) =0,914− 2
3 · Ent([2+, 0−])− 13 · Ent([0+, 1−]) = 0,914
El atributo seleccionado es Tamano
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Algoritmo ID3 (ejemplo 2)
Arbol finalmente aprendido:
Grande
Color
Rojo Verde Azul
−Tamano
Pequeno
+
+ −
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Busqueda y sesgo inductivo
Busqueda local en un espacio de hipotesis
Espacio de todos los arboles de decisionUn unico arbol candidato en cada pasoSin retroceso (peligro de optimos locales), busqueda enescaladaDecisiones tomadas a partir de conjuntos de ejemplos
Sesgo inductivo
Se prefieren arboles mas cortos sobre los mas largosSesgo preferencial, implıcito en la busquedaPrincipio de la navaja de Occam
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Algunos cuestiones practicas a resolver en aprendizajeautomatico
Validar la hipotesis aprendida
¿Podemos cuantificar la bondad de lo aprendido respecto de laexplicacion real?
Sobreajuste
¿Se ajusta demasiado lo aprendido al conjunto deentrenamiento?
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Medida del rendimiento del aprendizaje
Conjuntos de entrenamiento y prueba (test)
Aprender con el conjunto de entrenamientoMedir el rendimiento en el conjunto de prueba:
proporcion de ejemplos bien clasificados en el conjunto deprueba
Repeticion de este proceso
Curva de aprendizajeEstratificacion: cada clase correctamente representada en elentrenamiento y en la prueba
Si no tenemos suficientes ejemplos como para apartar unconjunto de prueba: validacion cruzada
Dividir en k partes, y hace k aprendizajes, cada uno de ellostomando como prueba una de las partes y entrenamiento elresto. Finalmente hacer la media de los rendimientos.En la practica: validacion cruzada, con k = 10 y estratificacion
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Sobreajuste y ruido
Una hipotesis h ∈ H sobreajusta los ejemplos deentrenamiento si existe h′ ∈ H que se ajusta peor que h a losejemplos pero actua mejor sobre la distribucion completa deinstancias.
Ruido: ejemplos incorrectamente clasificados. Causasobreajuste
Ejemplo: supongamos que por error, se incluye el ejemplo<Azul,Redondo,Pequeno> como ejemplo negativo
El arbol aprendido en este caso serıa (sobrejustado a losdatos):
Color
Rojo Verde Azul
Grande
−Tamano
+ −
Pequeno
+
Color
Rojo Verde Azul
Forma
CuadradoGrande
−Tamano
+ − − +
RedondoPequeno
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Sobreajuste y ruido
Otras causas de sobreajuste:
Atributos que en los ejemplos presentan una aparenteregularidad pero que no son relevantes en realidadConjuntos de entrenamiento pequenos
Maneras de evitar el sobreajuste en arboles de decision:
Parar el desarrollo del arbol antes de que se ajusteperfectamente a todos los datosPodar el arbol a posteriori
Poda a posteriori, dos aproximaciones:
Transformacion a reglas, podado de las condiciones de lasreglasRealizar podas directamente en el arbolLas podas se producen siempre que reduzcan el error sobre unconjunto de prueba
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Podado de arboles
Algoritmo de poda para reducir el error1. Dividir el conjunto de ejemplos en Entrenamiento y Prueba2. Arbol=arbol obtenido por ID3 usando Entrenamiento3. Continuar=True4. Mientras Continuar:
* Medida = proporcion de ejemplos en Prueba correctamenteclasificados por Arbol
* Por cada nodo interior N de Arbol:- Podar temporalmente Arbol en el nodo N y sustituirlo por una
hoja etiquetada con la clasificacion mayoritaria en ese nodo- Medir la proporcion de ejemplos correctamente clasificados en
el conjunto de prueba.
* Sea K el nodo cuya poda produce mejor rendimiento
* Si este rendimiento es mejor que Medida, entoncesArbol = resultado de podar permanentemente Arbol en K
* Si no, Continuar=Falso5. Devolver Arbol
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Otras cuestiones practicas del algoritmo ID3
Extensiones del algoritmo:
Atributos con valores contınuosOtras medidas para seleccionar atributosOtras estimaciones de errorAtributos sin valoresAtributos con coste
Algoritmos C4.5 y C5.0 (Quinlan)
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Seccion 3
Seccion 3
Aprendizaje de reglas
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Cambiando la salida: reglas proposicionales
Reglas de clasificacion:
R1: Si Cielo=Soleado ∧ Humedad=Alta
Entonces JugarTenis= −R2: Si Astigmatismo=+ ∧ Lagrima=Normal
Entonces Lente=Rigida
Ventaja de usar el formalismo de reglas
ClaridadModularidadExpresividad: pueden representar cualquier conjunto deinstanciasMetodos generalizables a primer orden de manera naturalFormalismo usado en sistemas basados en el conocimiento
Reglas y arboles de decision
Facil traduccion de arbol a reglas, pero no a la inversa
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Aprendizaje de reglas
Objetivo: aprender un conjunto de reglas consistente con losejemplos
Una regla cubre un ejemplo si el ejemplo satisface lascondicionesLo cubre correctamente si ademas el valor del atributo en laconclusion de la regla coincide con el valor que el ejemplotoma en ese atributo
Una medida del ajuste de una regla R a un conjunto deejemplos D:
Frecuencia relativa: p/t (donde t = ejemplos cubiertos por Ren D, p = ejemplos correctamente cubiertos). Notacion:FR(R ,D)
Algoritmos de aprendizaje de reglas:
ID3 + traduccion a reglasCoberturaAlgoritmos geneticos
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Un conjunto de entrenamiento
Ej. Edad Dignostico Astigmatismo Lagrima LenteE1 Joven Miope - Reducida NingunaE2 Joven Miope - Normal BlandaE3 Joven Miope + Reducida NingunaE4 Joven Miope + Normal RıgidaE5 Joven Hipermetrope - Reducida NingunaE6 Joven Hipermetrope - Normal BlandaE7 Joven Hipermetrope + Reducida NingunaE8 Joven Hipermetrope + Normal RıgidaE9 PrePresbicia Miope - Reducida NingunaE10 PrePresbicia Miope - Normal BlandaE11 PrePresbicia Miope + Reducida NingunaE12 PrePresbicia Miope + Normal RıgidaE13 PrePresbicia Hipermetrope - Reducida NingunaE14 PrePresbicia Hipermetrope - Normal BlandaE15 PrePresbicia Hipermetrope + Reducida NingunaE16 PrePresbicia Hipermetrope + Normal Ninguna
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Un conjunto de entrenamiento
Ej. Edad Dignostico Astigmatismo Lagrima LenteE17 Presbicia Miope - Reducida NingunaE18 Presbicia Miope - Normal NingunaE19 Presbicia Miope + Reducida NingunaE20 Presbicia Miope + Normal RıgidaE21 Presbicia Hipermetrope - Reducida NingunaE22 Presbicia Hipermetrope - Normal BlandaE23 Presbicia Hipermetrope + Reducida NingunaE24 Presbicia Hipermetrope + Normal Ninguna
R2: Si Astigmatismo=+ ∧ Lagrima=Normal
Entonces Lente=Rigida
R2 cubre E4, E8, E12, E16, E20 y E24, de los cuales cubrecorrectamente E4, E8, E12 y E20
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Aprendiendo reglas que cubren ejemplos
Aprender una regla para clasificar Lente=Rigida
Si ?Entonces Lente=Rigida
Alternativas para ?, y frecuencia relativa de la regla resultante
Edad=Joven 2/8Edad=PrePresbicia 1/8Edad=Presbicia 1/8Diagnostico=Miopıa 3/12Diagnostico=Hipermetropıa 1/12Astigmatismo=− 0/12Astigmatismo=+ 4/12 *Lagrima=Reducida 0/12Lagrima=Normal 4/12 *
Regla parcialmente aprendida
Si Astigmatismo=+Entonces Lente=Rigida
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Aprendiendo reglas que cubren ejemplos
Continuamos para excluir ejemplos cubiertos incorrectamente
Si Astigmatismo=+ ∧ ?Entonces Lente=Rigida
Alternativas para ?, y frecuencia relativa de la regla resultante
Edad=Joven 2/4Edad=PrePresbicia 1/4Edad=Presbicia 1/4Diagnostico=Miopıa 3/6Diagnostico=Hipermetropıa 1/6Lagrima=Reducida 0/6Lagrima=Normal 4/6 *
Regla parcialmente aprendida
Si Astigmatismo=+ ∧ Lagrima=Normal
Entonces Lente=Rigida
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Aprendiendo reglas que cubren ejemplos
Continuamos para excluir ejemplos cubiertos incorrectamente
Si Astigmatismo=+ ∧ Lagrima=Normal ∧ ?Entonces Lente=Rigida
Alternativas para ?, y frecuencia relativa de la regla resultante
Edad=Joven 2/2 *Edad=PrePresbicia 1/2Edad=Presbicia 1/2Diagnostico=Miopıa 3/3 *Diagnostico=Hipermetropıa 1/3
Regla finalmente aprendida (no cubre incorrectamente ningunejemplo)
Si Astigmatismo=+ ∧ Lagrima=Normal ∧Diagnostico=Miopia
Entonces Lente=Rigida
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Aprendiendo reglas que cubren ejemplos
Queda un ejemplo con Lente=Rigida no cubierto por R2
Comenzamos otra vez con “Si ? Entonces Lente=Rigida”,pero ahora con D ′ = D \ {E4,E12,E20}
Reglas finalmente aprendidas para Lente=Rigida:
R1: Si Astigmatismo= + ∧ Lagrima=Normal ∧Diagnostico=Miopia
Entonces Lente=Rigida
R2: Si Edad=Joven ∧ Astigmatismo= + ∧Lagrima=Normal
Entonces Lente=Rigida
Cubren correctamente los 4 ejemplos de Lente=Rigida (y sesolapan)
Ahora se podrıa continuar para aprender reglas queclasifiquen:
Lente=Blanda
Lente=Ninguna
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Algoritmo de aprendizaje de reglas por cobertura
Algoritmo de aprendizaje por coberturaAprendizaje-por-Cobertura(D,Atributo,v)1. Hacer Reglas-aprendidas igual a vacıo2. Hacer E igual a D3. Mientras E contenga ejemplos cuyo valor de Atributo es v, hacer:3.1 Crear una regla R sin condiciones y conclusion Atributo=v3.2 Mientras que haya en E ejemplos cubiertos por R incorrectamente
o no queden atributos que usar, hacer:3.2.1 Elegir la MEJOR condicion A=w para anadir a R, donde A es
un atributo que no aparece en R y w es un valor de losposibles que puede tomar A
3.2.2 Actualizar R anadiendo la condicion A=w a R3.3 Incluir R en Reglas-aprendidas3.4 Actualizar E quitando los ejemplos cubiertos por R4. Devolver Reglas-Aprendidas
Algoritmo para aprender un conjunto de reglas (a partir de D)
Reglas para predecir situaciones en las que un Atributo dadotoma un valor v
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Control en el algoritmo de cobertura
Bucle externo:
Anade reglas (la hipotesis se generaliza)Cada regla anadida cubre algunos ejemplos correctamenteElimina en cada vuelta los ejemplos cubiertos por la reglaanadidaY se anaden reglas mientras queden ejemplos sin cubrir
Bucle interno:
Anade condiciones a la regla (la regla se especializa)Cada nueva condicion excluye ejemplos cubiertosincorrectamenteY esto se hace mientras haya ejemplos incorrectamentecubiertos
Cobertura frente a ID3
Aprende una regla cada vez, ID3 lo hace simultaneamenteID3: elecciones de atributosCobertura: elcciones de parejas atributo-valor
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Algoritmo de cobertura (propiedades)
Diferentes criterios para elegir la mejor condicion en cadavuelta del bucle interno:
Se anade la condicion que produzca la regla con mayorfrecuencia relativa (como en el ejemplo)Se anade la que produzca mayor ganancia de informacion:
p · (log2p′
t′− log2
pt)
donde p′/t ′ es la frecuencia relativa despues de anadir lacondicion y p/t es la frecuencia relativa antes de anadir lacondicion
Las reglas aprendidas por el algoritmo de cobertura se ajustanperfectamente al conjunto de entrenamiento (peligro desobreajuste)
Podado de las reglas a posterioriEliminar progresivamente condiciones hasta que no seproduzca mejoraCriterio probabilıstico para decidir la mejora
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Seccion 3
Seccion 3
El teorema de Bayes
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Formulacion de la regla de Bayes
De P(a ∧ b) = P(a|b)P(b) = P(b|a)P(a) podemos deducir lasiguiente formula, conocida como regla de Bayes
P(b|a) =P(a|b)P(b)
P(a)
Regla de Bayes para variables aleatorias:
P(Y |X ) =P(X |Y )P(Y )
P(X )
recuerdese que esta notacion representa un conjunto deecuaciones, una para cada valor especıfico de las variables
Version con normalizacion:
P(Y |X ) = α · P(X |Y )P(Y )
Generalizacion, en presencia de un conjunto e deobservaciones:
P(Y |X , e) = α · P(X |Y , e)P(Y |e)
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Ejemplo de uso de la regla de Bayes
Sabemos que la probabilidad de que un paciente de meningitistenga el cuello hinchado es 0.5 (relacion causal)
Tambien sabemos la probabilidad (incondicional) de tenermeningitis ( 1
50000) y de tener el cuello hinchado (0.05)
Estas probabilidades provienen del conocimiento y laexperiencia
La regla de Bayes nos permite diagnosticar la probabilidad detener meningitis una vez que se ha observado que el pacientetiene el cuello hinchado
P(m|h) =P(h|m)P(m)
P(h)=
0,5× 150000
0,05= 0,0002
Alternativamente, podrıamos haberlo hecho normalizandoP(M|h) = α〈P(h|m)P(m);P(h|¬m)P(¬m)〉Respecto de lo anterior, esto evita P(h) pero obliga a saberP(h|¬m)
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Relaciones causa-efecto y la regla de Bayes
Modelando probabilısticamente una relacion entre una Causay un Efecto:
La regla de Bayes nos da una manera de obtener laprobabilidad de Causa, dado que se ha observado Efecto:
P(Causa|Efecto) = α · P(Efecto|Causa)P(Efecto)
Nos permite diagnosticar en funcion de nuestro conocimientode relaciones causales y de probabilidades a priori
¿Por que calcular el diagnostico en funcion del conocimientocausal y no al reves?
Porque es mas facil y robusto disponer de probabilidadescausales que de probabilidades de diagnostico (lo que se sueleconocer es P(Efecto|Causa) y el valor que ha tomado Efecto).
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Regla de Bayes: ejemplo
Consideremos la siguiente informacion sobre el cancer demama
Un 1% de las mujeres de mas de 40 anos que se hacen unchequeo tienen cancer de mamaUn 80% de las que tienen cancer de mama se detectan conuna mamografıaEl 9.6% de las que no tienen cancer de mama, al realizarseuna mamografıa se le diagnostica cancer erroneamente
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Regla de Bayes: ejemplo
Pregunta 1: ¿cual es la probabilidad de tener cancer si lamamografıa ası lo diagnostica?
Variables aleatorias: C (tener cancer de mama) y M(mamografıa positiva)P(C |m) = αP(C ,m) = αP(m|C )P(C ) =α〈P(m|c)P(c);P(m|¬c)P(¬c)〉 = α〈0,8 · 0,01; 0,096 · 0,99〉 =α〈0,008; 0,09504〉 = 〈0,0776; 0,9223〉Luego el 7.8% de las mujeres diagnosticadas positivamentecon mamografıa tendran realmente cancer de mama
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Reglas de Bayes: ejemplo
Pregunta 2: ¿cual es la probabilidad de tener cancer si tras dosmamografıas consecutivas en ambas se diagnostica cancer?
Variables aleatorias: M1 (primera mamografıa positiva) y M2
(segunda mamografıa positiva)Obviamente, no podemos asumir independencia incondicionalentre M1 y M2
Pero es plausible asumir independencia condicional de M1 yM2 dada CPor tanto, P(C |m1,m2) = αP(C ,m1,m2) =αP(m1,m2|C )P(C ) = αP(m1|C )P(m2|C )P(C ) =α〈P(m1|c)P(m2|c)P(c);P(m2|¬c)P(m2|¬c)P(¬c)〉 =α〈0,8 · 0,8 · 0,01; 0,096 · 0,096 · 0,99〉 = 〈0,412; 0,588〉Luego aproximadamente el 41% de las mujeres doblementediagnosticadas positivamente con mamografıa tendranrealmente cancer de mama
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Seccion 6
Seccion 6
Clasificacion mediante modelos probabilısticos: naive Bayes
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Clasificadores Naive Bayes
Supongamos un conjunto de atributos A1, . . . ,An cuyosvalores determinan un valor en un conjunto finito V deposibles “clases” o “categorıas”
Tenemos un conjunto de entrenamiento D con una serie detuplas de valores concretos para los atributos, junto con suclasificacion
Queremos aprender un clasificador tal que clasifique nuevasinstancias 〈a1, . . . , an〉
Es decir, el mismo problema en el tema de aprendizaje dearboles de decision y de reglas (pero ahora lo abordaremosdesde una perspectiva probabilıstica).
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Clasificadores Naive Bayes
Podemos disenar un modelo probabilıstico para un problemade clasificacion de este tipo, tomando los atributos y laclasificacion como variables aleatorias
El valor de clasificacion asignado a una nueva instancia〈a1, . . . , an〉, notado vMAP vendra dado por
argmaxvj∈V
P(vj |a1, . . . , an)
Aplicando el teorema de Bayes podemos escribir
vMAP = argmaxvj∈V
P(a1, . . . , an|vj)P(vj)
Y ahora, simplemente estimar las probabilidades de la formulaanterior a partir del conjunto de entrenamiento
Problema: necesitarıamos una gran cantidad de datos paraestimar adecuadamente las probabilidades P(a1, . . . , an|vj)
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Clasificadores Naive Bayes
Podemos simplificar el aprendizaje suponiendo que losatributos son (mutuamente) condicionalmente independientesdado el valor de clasificacion (de ahı lo de “naive”)
La situacion se representa entonces por la red:
V
A A A1 n2
En ese caso, tomamos como valor de clasificacion:
vNB = argmaxvj∈V
P(vj)∏
i
P(ai |vj)
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Estimacion de probabilidades Naive Bayes
Para el proceso de aprendizaje, solo tenemos que estimar lasprobabilidades P(vj) (probabilidades a priori) y P(ai |vj)(probabilidades condicionadas). Son muchas menos que en elcaso general.Mediante calculo de sus frecuencias en el conjunto deentrenamiento, obtenemos estimaciones de maximaverosimilitud de esas probabilidades:
P(vj) =n(V = vj)
NP(ai |vj) =
n(Ai = ai ,V = vj)
n(V = vj)
donde N es el numero total de ejemplos, n(V = vj) es elnumero de ejemplos clasificados como vj y n(Ai = ai ,V = vj)es el numero de ejemplos clasificados como vj cuyo valor en elatributo Ai es ai .A pesar de su aparente sencillez, los clasificadores Naive Bayestienen un rendimiento comparable al de los arboles dedecision, las reglas o las redes neuronales
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Clasificador Naive Bayes: un ejemplo
Vamos a aplicar el clasificador a un ejemplo ya conocido,usado en el tema de arboles de decision:Ej. Cielo Temperatura Humedad Viento JugarTenisD1 Soleado Alta Alta Debil -D2 Soleado Alta Alta Fuerte -D3 Nublado Alta Alta Debil +D4 Lluvia Suave Alta Debil +D5 Lluvia Baja Normal Debil +D6 Lluvia Baja Normal Fuerte -D7 Nublado Baja Normal Fuerte +D8 Soleado Suave Alta Debil -D9 Soleado Baja Normal Debil +D10 Lluvia Suave Normal Debil +D11 Soleado Suave Normal Fuerte +D12 Nublado Suave Alta Fuerte +D13 Nublado Alta Normal Debil +D14 Lluvia Suave Alta Fuerte -
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Clasificador Naive Bayes: un ejemplo
Supongamos que queremos predecir si un dıa soleado, detemperatura suave, humedad alta y viento fuerte es buenopara jugar al tenisSegun el clasificador Naive Bayes:
vNB = argmaxvj∈{+,−}
P(vj)P(soleado|vj )P(suave|vj )P(alta|vj )P(fuerte|vj )
Ası que necesitamos estimar todas estas probabilidades, lo quehacemos simplemente calculando frecuencias en la tablaanterior:
p(+) = 9/14, p(−) = 5/14, p(soleado|+) = 2/9,p(soleado|−) = 3/5, p(suave|+) = 4/9, p(suave|−) = 2/5,p(alta|+) = 2/9, p(alta|−) = 4/5, p(fuerte|+) = 3/9 yp(fuerte|−) = 3/5
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Clasificador Naive Bayes: un ejemplo
Por tanto, las dos probabilidades a posteriori son:
P(+)P(soleado|+)P(suave|+)P(alta|+)P(fuerte|+) = 0,0053P(−)P(soleado|−)P(suave|−)P(alta|−)P(fuerte|−) = 0,0206
Ası que el clasificador devuelve la clasificacion con mayorprobabilidad a posteriori, en este caso la respuesta es − (no esun dıa bueno para jugar al tenis)
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Detalles tecnicos sobre las estimaciones: log-probabilidades
Tal y como estamos calculando las estimaciones, existe elriesgo de que algunas de ellas sean excesivamente bajas
Si realmente alguna de las probabilidades es baja y tenemospocos ejemplos en el conjunto de entrenamiento, lo masseguro es que la estimacion de esa probabilidad sea 0
Esto plantea dos problemas:
La inexactitud de la propia estimacionAfecta enormemente a la clasificacion que se calcule, ya que semultiplican las probabilidades estimadas y por tanto si una deellas es 0, anula a las demas
Una primera mejora tecnica, intentado evitar productos muybajos: usar logaritmos de las probabilidades.
Los productos se transforman en sumas
vNB = argmaxvj∈V
[log(P(vj )) +∑
i
log(P(ai |vj))]
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Detalles tecnicos sobre las estimaciones: suavizado
Problema en la estimaciones:Probabilidades nulas o muy bajas, por ausencia en el conjuntode entrenamiento de algunos valores de atributos en algunascategorıasSobreajuste
Idea: suponer que tenemos m ejemplos adicionales, cuyosvalores se distribuyen teoricamente a priori de alguna manera.
Estimacion suavizada de una probabilidad, a partir deobservaciones:
n′ +m · p
n +mn′ y n son, respectivamente, el numero de ejemplos favorablesy totales observadosp es una estimacion a priori de la probabilidad que se quiereestimar.m es una constante (llamada tamano de muestreo equivalente)que indica el numero de ejemplos adicionales (ficticios)
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Suavizado aditivo (o de Laplace)
Un caso particular de lo anterior se suele usar para laestimacion de las probabilidades condicionales en Naive Bayes:
P(ai |vj) =n(Ai = ai ,V = vj) + k
n(V = vj) + k |Ai |
donde k es un numero fijado y |Ai | es el numero de posiblesvalores del atributo |Ai |.
Intuitivamente: se supone que ademas de los del conjunto deentrenamiento, hay k ejemplos en la clase vj por cada posiblevalor del atributo Ai
Usualmente k = 1, pero podrıan tomarse otros valores
Eleccion de k : experimentando con los dstintos rendimientossobre un conjunto de validacion
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Seccion 7
Seccion 7
Aprendizaje basado en instancias: kNN
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Clasificacion mediante vecino mas cercano
Una tecnica alternativa a construir el modelo probabilıstico escalcular la clasificacion directamente a partir de los ejemplos(aprendizaje basado en instancias)
Idea: obtener la clasificacion de un nuevo ejemplo a apartir delas categorıas de los ejemplos mas “cercanos”.
Debemos manejar, por tanto, una nocion de “distancia” entreejemplos.En la mayorıa de los casos, los ejemplos seran elementos de Rn
y la distancia, la euclıdea.Pero se podrıa usar otra nocion de distancia
Ejemplo de aplicacion: clasificacion de documentos
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
El algoritmo k-NN
El algoritmo k-NN (de “k nearest neighbors”):
Dado un conjunto de entrenamiento (vectores numericos conuna categorıa asignada) y un ejemplo nuevoDevolver la categorıa mayoritaria en los k ejemplos delconjunto de entrenamiento mas cercanos al ejemplo que sequiere clasificar
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Distancias para k-NN
Posibles distancias usadas para definir la “cercanıa”:
Euclıdea: de(x, y) =√
∑ni=1(xi − yi )2
Manhattan: dm(x, y) =∑n
i=1 |xi − yi |Hamming: numero de componentes en las que se difiere.
La euclıdea se usa cuando cada dimension mide propiedadessimilares y la Mahattan en caso contrario; la distanciaHamming se puede usar aun cuando los vectores no seannumericos.
Normalizacion: cuando no todas las dimensiones son delmismo orden de magnitud, se normalizan las componentes(restando la media y dividiendo por la desviacion tıpica)
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Algunas observaciones sobre k-NN
Eleccion de k :
Usualmente, basandonos en algun conocimiento especıficosobre el problema de clasificacionTambien como resultado de pruebas en conjuntos maspequenos (conjuntos de validacion)Si la clasificacion es binaria, preferiblemente impar, paraintentar evitar empates (k=5, por ejemplo)
Variante en kNN: para cada clase c , sumar la similitud (con elque se quiere clasificar) de cada ejemplo de esa clase queeste entre los k mas cercanos. Devolver la clase que obtengamayor puntuacion.
Ası un ejemplo cuenta mas cuanto mas cercano este
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Seccion 8
Seccion 8
Clustering
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Clustering
Como ultima aplicacion del aprendizaje estadıstico, trataremostecnicas de agrupamiento o clustering
Se trata de dividir un conjunto de datos de entrada ensubconjuntos (clusters), de tal manera que los elementos decada subconjunto compartan cierto patron o caracterısticas apriori desconocidas
En nuestro caso, los datos seran numeros o vectores denumeros y el numero de clusters nos vendra dado
Aprendizaje no supervisado: no tenemos informacion sobreque cluster corresponde a cada dato.
Aplicaciones de clustering:
Minerıa de datosProcesamiento de imagenes digitalesBioinformatica
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Dos ejemplos
Color quantization:
Una imagen digital almacenada con 24 bits/pixel (aprox. 16millones de colores) se tiene que mostrar sobre una pantallaque solo tiene 8 bits/pixel (256 colores)¿Cual es la mejor correspondencia entre los colores de laimagen original y los colores que pueden ser mostrados en lapantalla?
Mezcla de distribuciones:
Tenemos una serie de datos con el peso de personas de unpais; no tenemos informacion sobre si el peso viene de unvaron o de una mujer, pero sabemos que la distribucion depesos es de tipo normal, y que en los hombres es distinta queen las mujeresAtendiendo a los datos, ¿podemos aprender de que dosdistribuciones de probabilidad vienen?
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Clustering basado en distancia
Idea: dado el numero k de grupos o clusters, buscar k puntoso centros representantes de cada cluster, de manera que cadadato se considera en el cluster correspondiente al centro quetiene a menor “distancia”
Como antes, la distancia serıa especıfica de cada problema:
Expresara la medida de similitudLa distancia mas usada es la euclıdea
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Un algoritmo clasico: k-medias
Entrada: un numero k de clusters, un conjunto de datos{xi}
Ni=1 y una funcion de distancia
Salida: un conjunto de k centros m1, . . . ,mk
k-medias(k,datos,distancia)1. Inicializar m i (i=1,...,k) (aleatoriamente o con algun
criterio heurıstico)2. REPETIR (hasta que los m i no cambien):
2.1 PARA j=1,...,N, HACER:Calcular el cluster correspondiente a x j, escogiendo,de entre todos los m i, el m h tal quedistancia(x j,m h) sea mınima
2.2 PARA i=1,...,k HACER:Asignar a m i la media aritmetica de los datosasignados al cluster i-esimo
3. Devolver m 1,...,m n
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Idea grafica intuitiva en el algoritmo de k-medias
■■■
■
■ ■
Iteracion 1
Iteracion 3
Iteracion 0
Iteracion 2
■
■
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Ejemplo en el algoritmo k-medias
Datos sobre pesos de la poblacion: 51, 43, 62, 64, 45, 42, 46,45, 45, 62, 47, 52, 64, 51, 65, 48, 49, 46, 64, 51, 52, 62, 49,48, 62, 43, 40, 48, 64, 51, 63, 43, 65, 66, 65, 46, 39, 62, 64,52, 63, 64, 48, 64, 48, 51, 48, 64, 42, 48, 41
El algoritmo, aplicado con k = 2 y distancia euclıdea,encuentra dos centros m1 = 63,63 y m2 = 46,81 en tresiteraciones
19 datos pertenecen al primer cluster y 32 al segundo cluster
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Diversas cuestiones sobre el algoritmo k-medias
Busqueda local:
Puede verse como un algoritmo de busqueda local, en el que setrata de encontrar los centros mi que optimizanΣjΣibijd(xj ,mi )
2, donde bij vale 1 si xj tiene a mi como elcentro mas cercano, 0 en otro casoComo todo algoritmo de busqueda local, no tiene garantizadoencontrar el optimo global
Inicializacion: aleatoria o con alguna tecnica heurıstica (porejemplo, partir los datos aleatoriamente en k clusters yempezar con los centros de esos clusters)
En la practica, los centros con los que se inicie el algoritmotienen un gran impacto en la calidad de los resultados que seobtengan
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Otro ejemplo en el algoritmo k-medias
El archivo iris.arff del sistema WEKA contiene 150 datossobre longitudes y anchura de sepalo y petalo de plantas delgenero iris, clasificadas en tres tipos (setosa, versicolor yvirgınica)
Ejemplo de instancia de iris.arff:5.1,3.5,1.4,0.2,Iris-setosa
Podemos aplicar k-medias, con k = 3 y distancia euclıdea,ignorando el ultimo atributo (como si no se conociera):
En 6 iteraciones se estabilizaDe los tres clusters obtenidos, el primero incluye justamente alas 50 instancias que originalmente estaban clasificadas comoiris setosaEl segundo cluster incluye a 47 versicolor y a 3 virgınicasEl tercero incluye 14 versicolor y 36 virgınicasNo ha sido capaz de discriminar correctamente entre versicolory virgınica
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Bibliografıa
Mitchell, T.M. Machine Learning (McGraw-Hill, 1997)
Caps. 3,6,8 y 10
Russell, S. y Norvig, P. Artificial Intelligence (A ModernApproach) (3rd edition) (Prentice Hall, 2010)
Seccs. 18.1, 18.2, 18.3, 20.1 y 20.2
Russell, S. y Norvig, P. Inteligencia Artificial (Un enfoquemoderno) (segunda edicion en espanol) (Pearson Education,2004)
Seccs. 18.1, 18.2, 18.3, 18.8, 20.1, 20.2 y 20.4
Witten, I.H. y Frank, E. Data mining (Second edition)(Morgan Kaufmann Publishers, 2005)
Cap. 3, 4, 5 y 6.
Inteligencia Artificial 2013–2014 Tema 8: Introduccion al aprendizaje automatico
Recommended