Aprendizaje
Aprendizaje Automatizado Automatizado
Clasificadores
Clasificadoresy construccióny construcciónde conceptosde conceptos usando
usandoaprendizajeaprendizajeautomatizadoautomatizado Aprendizaje
Aprendizajecon Version Spacescon Version Spaces
2 2
Clasificador
Clasificador (Classifier) (Classifier)
•
• BrindanBrindanmodelosmodelosparaparacapturarcapturarla la formaciónformaciónde de conceptos
conceptos..
•• ManeraManeratípicatípicade de formarformarconceptosconceptos Partir
Partirde un de un conjuntoconjunto(base de (base de datosdatos) de ) de entrenamientoentrenamiento (training set).
(training set).
Aplicar
Aplicaralgúnalgúnalgoritmoalgoritmode de aprendizajeaprendizajeautomatizadoautomatizado para
paraobtenerobtenermodelomodelo Verificar
Verificarel comportamientoel comportamientodel del modelomodeloobtenidoobtenidoa a partirpartir de
de datosdatosde de pruebaprueba(test set)(test set)
3 3
Atributos
Atributos. . Clases. Clases . Conceptos Conceptos
•• Los datosLos datosde de entrenamientoentrenamientose suelense suelendefinirdefinira a partirpartirde un de un conjunto
conjuntode de tuplastuplas, , identificandoidentificandoatributosatributos..
…
…
…
…....
…
…....
…
…..
…
…..
Duras Duras normal
normal nono
hipermétr hipermétr ope mediana ope mediana
Blandas Blandas normal
normal sísí
miope miope mediana mediana
Nada Nada reducida reducida no
no miope miope mediana mediana
Blandas Blandas normal
normal no
no miope miope joven
joven
Nada Nada reducida reducida no
no miope miope joven
joven
Lentes Lentes recetados recetados Lágrimas?
Lágrimas?
Astigmat Astigmat?? Diagnóst
Diagnóst.. Edad
Edad
4 4
…
…
…
…....
…
…....
…
…..
…
…..
Duras Duras normal normal no
no hipermétr hipermétr opeope mediana mediana
Blandas Blandas normal
normal sí
sí miope miope mediana mediana
Nada Nada reducida reducida no
no miope miope mediana mediana
Blandas Blandas normal
normal nono
miope miope joven
joven
NadaNada reducida reducida nono
miope miope joven
joven
Lentes Lentes recetados recetados Lágrimas?
Lágrimas?
Astigmat Astigmat
?? Diagnóst Diagnóst.. Edad
Edad Training Training
setset
??
??
ninguna ninguna sí
sí miope miope mediana mediana
??
??
normal normal no
no miope miope joven
joven Casos
Casos nuevos nuevos (por (por clasificar) clasificar)
Clase Clase
5 5
……
……....
……....
……..
……..
Duras Duras normal normal no no hipermétr hipermétr ope mediana ope mediana
Blandas Blandas normal normal sí sí miope miope mediana mediana
Nada Nada reducida reducida no no miope miope mediana mediana
Blandas Blandas normal normal nono miope miope joven joven
Nada Nada reducida reducida no no miope miope joven joven
Lentes Lentes recetados recetados Lágrimas?
Lágrimas?
Astigmat Astigmat?? Diagnóst Diagnóst..
Edad Edad
Training Training
setset
Clase Clase
Técnica de Técnica de aprendizaje automatizado aprendizaje automatizado
Modelo Modelo (Clasificador) (Clasificador) Define el concepto
Define el concepto CLASE usando los CLASE usando los atributos de los atributos de los datos de datos de entrenamiento entrenamiento Hay diversas Hay diversas técnicas, técnicas, caracterizadas caracterizadas por algoritmos por algoritmos
6 6
Modelo para Modelo para el concepto CLASE el concepto CLASE (Clasificador) (Clasificador) Define el concepto
Define el concepto CLASE usando los CLASE usando los atributos atributos
??
??
ninguna ninguna sí
sí miope miope mediana mediana
????
normal normal nono
miope miope joven joven Casos
Casos nuevos nuevos (por (por clasificar) clasificar)
Duras Duras ninguna ninguna sí
sí miope miope mediana mediana
Blandas Blandas normal normal no
no miope miope joven joven Casos
Casos nuevos nuevos clasificados clasificados
Aquí se Aquí se define el define el concepto de concepto de Lente de Lente de Contacto a Contacto a recetar recetar
7 7
Datos de lentes de contacto
8 8
Dos descripciones estructurales:
Dos descripciones estructurales:
reglas y árbol de decisión reglas y árbol de decisión
9 9
Datos disponibles
Learning Set (Training Set)
Test Set (HoldOut Set)
Técnica de aprendizaje
Clasificador inducido
Podemos medir exactitud usando como referencia el test set
? (atributos y clases (atributos y clases son conocidas) son conocidas)
10 10
Acercamientos
Acercamientosno simbólicosno simbólicos Acercamientos
Acercamientossimbólicos:simbólicos: version spaces version spaces árboles
árbolesde de decisióndecisión programación programaciónen lógicaen lógica inductiva
inductiva Etc. … Etc. …
Introducción Introducción: :
•• MuchosMuchosacercamientosacercamientosa ML:a ML:
Version Spaces Version Spaces
Una
Unatécnicatécnicade “de “concept learning”concept learning”basadabasada en la
en la refinaciónrefinaciónde de modelosmodelosdel mundodel mundo..
Version Spaces Version Spaces
TomTomMitchellMitchell (Carnegie(CarnegieMellonMellonUniversityUniversity, USA), USA)
Desarrolló
Desarrolló VersionVersionSpacesSpacescomo como parte de su Tesis de doctorado parte de su Tesis de doctorado
Autor de uno de los libros Autor de uno de los libros más difundidos sobre más difundidos sobre aprendizaje automatizado aprendizaje automatizado
13 13
Aprendizaje
Aprendizaje de de conceptos conceptos
•
• Ej:Ej:
un estudianteun estudiantetienetienelaslassiguientessiguientesobservacionesobservacionesen en relación
relacióna a unaunareacciónreacciónalérgicaalérgicadespuésdespuésde comer en de comer en distintas
distintascantinas universitariascantinas universitarias:: Lugar
Lugar ComidaComida DíaDía CostoCosto Reacc.Reacc. Almada
Almada desayunodesayuno ViernesViernes baratobarato SíSí Demarco
Demarco almuerzoalmuerzo ViernesViernes carocaro NoNo Almada
Almada almuerzoalmuerzo SábadoSábado baratobarato SíSí Sedes
Sedes desayunodesayuno DomingoDomingo baratobarato NoNo Almada
Almada desayunodesayuno DomingoDomingo carocaro NoNo ++ - - ++ -- - - Concepto
Conceptoa aprendera aprender: ¿¿: ¿¿bajobajoquequecircunstanciascircunstancias tengo
tengounaunareacciónreacciónalérgicaalérgicadespuesdespuesde comer??de comer??
14 14
En general En general
•• ExisteExisteun cjtoun cjto. de . de todostodoslos eventoslos eventosposiblesposibles:: Ejemplo
Ejemplo:: Cantina
Cantina ComidaComida DíaDía CostoCosto 3 X 3 X 7 X 2 = 126 3 X 3 X 7 X 2 = 126
Reacción
Reacción:: Cantina X ComidaXCantina X ComidaXDíaDíaX CostoX Costo ----> > BoolBool
•• ExisteExisteunaunafc. fc. booleanabooleanadefinidadefinida((implícitamenteimplícitamente) a ) a partir
partirde de esteestecjtocjto.. Ejemplo Ejemplo::
Encontrar
Encontrarunaunaidea “idea “inductivainductiva” del ” del conceptoconcepto que
quecubracubratodostodoslos ejemploslos ejemplos!!
•
• TenemosTenemosel valor de el valor de estaestafunciónfunciónsolo parasolo para ALGUNOS
ALGUNOS ejemplosejemplos, no , no todostodos..
15 15
Gráficamente Gráficamente: :
Cjto. de Cjto. de todostodoslos los eventos
eventosposiblesposibles
•• ••
••
•
•
••
••
••
••
••
••
•
•
•
• ••
•
•
•
•
•
•
•• ••
••
•
•
•
•
•
•
••
•
•
•
•
•
• •• ••
•• ••
•
•
•
•
•
• •• Dados los Dados los ejemplosejemplos::
+ + +
+ + +
+
+ - - - - - - - -
EncontrarEncontrarun un conceptoconceptoquequecubracubratodostodoslos los ejemplosejemplos positivos
positivosy ningunoy ningunode los negativosde los negativos
16 16
No No- -determinismo determinismo
•• ¡Hay ¡Hay muchasmuchasformasformasde de resolverresolveresto!esto!
CjtoCjto. de . de todostodoslos los eventos
eventosposiblesposibles
•• ••
••
•
•
••
••
••
••
••
••
•
•
•
• ••
•
•
•
•
•
•
•• ••
••
•
•
•
•
•
•
••
•
•
•
•
•
• •• ••
•• ••
•
•
•
•
•
• ••
+ + + + + +
+
+ - - - - - - - -
•• CómoCómoelegirelegir...?...?
17 17
Una Una elección elección obvia, obvia , pero pero mala: mala:
•
• El conceptoEl conceptolo lo definimosdefinimoscomocomo:: Almada
AlmadaandanddesayunodesayunoandandViernesViernesandandbaratobarato OROR
Almada
AlmadaandandalmuerzoalmuerzoandandSábadoSábadoandandbaratobarato Pero
PeroestoestoNO generalizaNO generalizaningúnningúnejemplo!!ejemplo!!
Cantina
Cantina ComidaComida DíaDía CostoCosto Reacc.Reacc. Almada
Almada desayunodesayuno ViernesViernes baratobarato SíSí Demarco
Demarco almuerzoalmuerzo ViernesViernes carocaro NoNo Almada
Almada almuerzoalmuerzo SábadoSábado baratobarato SíSí Sedes
Sedes desayunodesayuno DomingoDomingo baratobarato NoNo Almada
Almada desayunodesayuno DomingoDomingo carocaro NoNo - - - -- - ++ ++
18 18
Gráficamente Gráficamente: :
•• PeroPero…los …los únicosúnicosejemplosejemplospositivospositivosson….¡los son….¡los positivospositivos!! Cjto
Cjto. de . de todostodoslos los eventos
eventosposiblesposibles
•• ••
••
••
•
•
•
•
•
•
•
•
•
•
•
•
••
•
• ••
••
••
••
•
• ••
•
•
••
••
•
•
•
•
••
••
•• •• ••
•
• ••
••
••
•• ••
+ + +
+ + +
+ + - - - -
-
-
-
-
19 19
Igualmente
Igualmente malo malo sería: sería :
•
• El conceptoEl conceptoesestodotodoEXCEPTOEXCEPTO:: Demarco
Demarco andandalmuerzoalmuerzoandandViernesViernesand and carocaro AND
AND Sedes
SedesandanddesayunodesayunoandandDomingo Domingo andandbaratobarato AND
AND Almada
Almadaandanddesayunodesayuno and and Domingo Domingo andandcarocaro Cantina
Cantina ComidaComida DiaDia CostoCosto Reacc.Reacc. Almada
Almada desayunodesayuno ViernesViernes baratobarato SíSí Demarco
Demarco almuerzoalmuerzo ViernesViernes carocaro NoNo Almada
Almada almuerzoalmuerzo SábadoSábado baratobarato SíSí Sedes
Sedes desayunodesayuno DomingoDomingo baratobarato NoNo Almada
Almada desayunodesayuno DomingoDomingo carocaro NoNo ++ - - ++ -- - -
20 20
Gráficamente Gráficamente: :
•
• TodoTodo(excepto(exceptolos los ejemplosejemplosnegativos) negativos) esespositivo:positivo: CjtoCjto. de . de todostodoslos los eventos
eventosposiblesposibles
•
• ••
•
• ••
•
•
••
•
•
•
•
•
•
•
•
••
•• ••
•
•
••
••
•
• ••
•
•
•
•
•
•
••
•
•
•
•
••
•• •• ••
•
• ••
••
••
•
• ••
+ + +
+ + +
+ + - - - -
- - - -
21 21
Solución Solución: : fijar
fijar un un lenguaje lenguaje de hipótesis de hipótesis: :
•• IntroduciremosIntroduciremosun un lenguajelenguajefijofijoparaparadescripcióndescripciónde de conceptos
conceptos..
=
=espacioespaciode hipótde hipót..
•• El conceptoEl conceptosólosólopuedepuedeidentificarseidentificarsecomocomounaunade de las
lashipótesishipótesisen en esteestelenguajelenguaje evita
evitael el problemaproblemade tenerde tenerconclusionesconclusiones‘‘inútilesinútiles’ ’ fuerza
fuerzaalgunaalgunageneralización/induccióngeneralización/inducciónparaparacubrircubrir más
másquequesólosólolos ejemploslos ejemplosdados. dados.
22 22
hipótesis
hipótesismásmásgeneral: general: [ ?, ?, ?, ?][ ?, ?, ?, ?]
Reacción
Reacción - - Ejemplo: Ejemplo :
Cantina
Cantina ComidaComida DíaDía CostoCosto ReaccReacc.. Almada
Almada desayunodesayuno ViernesViernes baratobarato SíSí Demarco
Demarco almuerzoalmuerzo ViernesViernes carocaro NoNo Almada
Almada AlmuerzoAlmuerzo SábadoSábado baratobarato SíSí Sedes
Sedes desayunodesayuno DomingoDomingo baratobarato NoNo Almada
Almada desayunodesayuno DomingoDomingo carocaro NoNo
++ - -+ +- -- -
•• CadaCadahipótesishipótesisesesunauna44--tupla:tupla:
maximam
maximam.’ .’ específicaespecífica: : ejej.: .: [ [ SedesSedes, , almuerzoalmuerzo, , lunes,baratolunes,barato]] combinaciones
combinacionesde ? y valoresde ? y valoresson válidasson válidas: : ejej.:.:
[ Demarco, ?, ?, [ Demarco, ?, ?, carocaro]] o o bienbien [ ?, almuerzo[ ?, almuerzo, ?, ?], ?, ?]
•• UnaUnahipótesishipótesismásmás: : ⊥⊥ (bottom = no hay (bottom = no hay ejemplosejemplos))
23 23
Las
Las Hipótesis Hipótesis se se asocian asocian a a cjtos
cjtos. de . de eventos eventos posibles posibles
••
••
••
•
• •
• ••
Eventos Eventos
•
• •• •• x2
x2 •• ••
••
••
•• x1 x1
x1 = x1 =
<
< AlmadaAlmada, , almuerzoalmuerzo, , luneslunes, , carocaro>>
x2 =x2 =
<
< SedesSedes, , almuerzoalmuerzo, , domingodomingo, , baratobarato>>
h1
h1 = [?, = [?, almualmu.., .., luneslunes, ?], ?]
h2
h2 = [?, = [?, almualmu., ?, ., ?, baratobarato]] h3
h3 = [?, = [?, almualmu., ?, ?]., ?, ?]
General General
Específico Específico
••
••
••
•
• •
••• ••
••
••
•• ••
••
••
•
•
••
•• Hipótesis Hipótesis h2 h2 h3 h3 h1 h1
24 24
Poder
Poder expresivo expresivo de este de este lenguaje
lenguaje de de hipótesis hipótesis
•
• ConjuncionesConjuncionesde de propiedadespropiedadesindividualesindividuales, , explícitasexplícitas
•• EjemplosEjemplos::
[?, [?, almualmu., ., LunesLunes, ?], ?]: Comida = almu: Comida = almu. . ∧∧ddííaa= = LunesLunes [?,
[?, almualmu, ?, , ?, baratobarato]]: Comida = almu: Comida = almu∧∧CostoCosto= barato= barato [?,
[?, almualmu, ?, ?], ?, ?]: Comida = almu: Comida = almu..
•• AdemAdemáássaaññadimosadimos2 hip2 hipóótesistesisespecialesespeciales:: [ ?, ?, ?, ?]
[ ?, ?, ?, ?]::todotodo
⊥
⊥: nada: nada
25 25
Se Se permiten permiten también también otros otros lenguajes
lenguajes de hipótesis de hipótesis... ...
•• Ejemplo:Ejemplo:identificaridentificarel color de el color de unaunasecuenciasecuenciadada dada de
de objetosobjetoscoloreadoscoloreados.. Ejemplos:
rojo rojo : : ++ violeta violeta: -: - azul azul : : ++
cualq_color cualq_color mono_color
mono_color poli_colorpoli_color rojo
rojo azulazul verdeverde naranjanaranja violetavioleta
⊥
⊥
•• Un lenguajeUn lenguajede de hipótesishipótesisútilútil
26 26
Importante
Importante en lenguajes en lenguajes de de hipótesis
hipótesis
•• Deben Deben tenertenerun ordenun ordenespecíficoespecífico<<--> general.> general.
•
• En En correspondenciacorrespondenciacon la inclusióncon la inclusiónde de cjtoscjtos. de los . de los eventos
eventosquequeson son cubiertoscubiertos..
27 27
Definición
Definición de “Concept Learning” de “Concept Learning”
•• Dado:Dado:
Un
Un cjtocjto. . XXde de eventoseventosposiblesposibles:: Ej
Ej.: .: EventoEvento--comida: <comida: <Cantina,ComidaCantina,Comida, , DiaDia, , CostoCosto>>
Una
Una“target function” (“target function” (desconocidadesconocida))c:c:X X --> {> {--, +}, +}
EjEj.: .: ReaccReacc.: .: EventoEvento--comida comida --> { > { --, +}, +}
Un lenguajeUn lenguajede de hipótesishipótesisH H
EjEj.: .: conjuncionesconjunciones: [ ?, : [ ?, almualmu., ., luneslunes, ?], ?]
Un cjtoUn cjto. de . de ejemplosejemplosde de entrenamientoentrenamientoDD, con , con susuvalor valor bajo
bajocc
EjEj.: (<.: (<AlmadaAlmada, , desayuno,viernes,baratodesayuno,viernes,barato>,+) , …>,+) , …
•• Encontrar:Encontrar: Una
Unahipótesishipótesish enh enH H taltalquequeparaparatodotodoxxen en DD:: xxesescubiertocubiertoporporh h ⇔⇔ c(c(xx) = + ) = +
28 28
La La hipótesis hipótesis de de aprendizaje
aprendizaje inductivo inductivo
SiSiunaunahipótesishipótesisse se aproximaaproximabienbiena la “target function”a la “target function”
con un
con un nronro. . suficientementesuficientementegrandegrandede de ejemplosejemplos ent
ent..la hipótesisla hipótesistambiéntambiénse se aproximaráaproximarábienbiena la “target a la “target function”
function” paraparaotrosotrosejemplosejemplosno no observadosobservados
29 29
Find Find- -S: S:
Un
Un algoritmo algoritmo naïve naïve
Inicializar Inicializar: : h := h := ⊥⊥
ParaParacadacadaejemploejemplode de entrenamentrenam. . positivopositivoxxen en DDHacerHacer:: SiSihhnonocubrecubrex:x:
Reemplazar
Reemplazarhh porporunaunageneralizacgeneralizac. minimal. minimal de
de hhquequecubracubraxx Retornar
Retornarhh
30 30
Inicialm
Inicialm.:.: h = ⊥h = ⊥
Ejemplo Ejemplo: :
Ejemplo
Ejemplo1:1: h = h = [[Almada,desayuno,viernes,baratoAlmada,desayuno,viernes,barato]]
•
•
generalizac
generalizac. . minimalesminimales
= = eventoseventosindividualesindividuales Ejemplo
Ejemplo2:2: h = h = [[AlmadaAlmada, , ??, , ??,,baratobarato]]
•
• Generalizac. =Generalizac. = reemplazar reemplazaralgoalgoporpor?? no hay
no hay másmásejemejem. . positivospositivos: : retornarretornarhh
Cantina
Cantina ComidaComida DíaDía CostoCosto ReaccReacc.. Almada
Almada desayunodesayuno ViernesViernes baratobarato SíSí Demarco
Demarco almuerzoalmuerzo ViernesViernes carocaro NoNo Almada
Almada almuerzoalmuerzo SabadoSabado baratobarato SíSí Sedes
Sedes desayunodesayuno DomingoDomingo baratobarato NoNo Almada
Almada desayunodesayuno DomingoDomingo carocaro NoNo
+ +- -+ +- -- -
31 31
Propiedades
Propiedades de Find- de Find -S S
Beto
Beto JuanJuan AlexAlex
Hacker
Hacker CientíficoCientífico FutbolistaFutbolista
⊥⊥ HH
•• No-No-deterministadeterminista:: Dependiendo
Dependiendode H, de H, puedepuedehaberhabervariasvarias generalizaciones
generalizacionesmínimasmínimas: :
BetoBetopuedepuedegeneralizarsegeneralizarse mínimamentemínimamenteen 2 formasen 2 formasparapara incluir
incluirun nuevoun nuevoejemploejemplo(Juan).(Juan).
32 32
Propiedades
Propiedades de Find de Find- -S (2) S (2)
•• PuedePuedeasumirasumirlaslashipótesishipótesisincorrectasincorrectas(con (con respecto
respectoa los a los ejemplosejemplosnegativosnegativos):):
D :D : BetoBeto Alex AlexJuan Juan
++ -- + +
BetoBeto JuanJuan AlexAlex Hacker
Hacker CientíficoCientífico FutbolistaFutbolista
⊥⊥ H
H
Solución
Soluciónequivocadaequivocada
33 33
Propiedades
Propiedades de Find- de Find -S (3) S (3)
•
• No puedeNo puededetectardetectarinconsistenciainconsistenciaen los en los datosdatosde de entrenamiento
entrenamiento:: D : D : BetoBeto
Juan Juan Beto Beto
+ ++ +- -
D :D : BetoBeto Alex Alex JuanJuan
++ -- +
+ JuanJuan AlexAlex Científico Científico
⊥⊥ H
H Beto Beto
•
• Ni la incapacidadNi la incapacidaddel lenguajedel lenguajeH paraH paraaprenderaprenderel el concepto
concepto::
34 34
Lo Lo bueno bueno de Find de Find- -S: S:
•
• No No tienetienequequerecordarrecordarejemplosejemplosprevios! previos!
Si
Si hhyayacubríacubríalos los primerosprimeros20 20 ejemplosejemplos, , ent
ent. . h’h’tambiéntambiénlo lo haráhará
h h
••
•
•
•
•
•
• ••••
•
•
XX HH
Si el
Si el hhprevioprevioyayacubríacubríatodostodoslos ejemploslos ejemplosprevios, previos, entonces
entoncesunaunageneralizacióngeneralizaciónminimal minimal h’h’tambiéntambiénlo harálo hará!!
•
•h’h’
••
•
•
•
•
35 35
Dual Find Dual Find- -S: S:
Inicializar
Inicializar: : h := h := [ ?, ?, .., ?][ ?, ?, .., ?]
Para
Paracadacadaejemploejemplode de entrenamientoentrenamientonegativonegativoxxen en DDHacer:Hacer: Si
Sihhcubrecubrexx:: Reemplazar
Reemplazarhhporporunaunaespecializacióespecializaciónnminimalminimal de
de hhquequenonocubracubraxx Retornar
Retornarhh
36 36
Ejemplo
Ejemplo Reacción: Reacción :
Cantina
Cantina ComidaComida DíaDía CostoCosto ReacciónReacción Almada
Almada desayunodesayuno ViernesViernes baratobarato SíSí Demarco
Demarco almuerzoalmuerzo ViernesViernes carocaro NoNo Almada
Almada almuerzoalmuerzo SábadoSábado baratobarato SíSí Sedes
Sedes desayunodesayuno DomingoDomingo baratobarato NoNo Almada
Almada desayunodesayuno DomingoDomingo carocaro NoNo
+ +- -+ +- -- - Inicialm
Inicialm:: h = [ ?, ?, ?, ?]h = [ ?, ?, ?, ?]
Ejemplo
Ejemplo1:1: ••
h= [ ?,
h= [ ?, desayunodesayuno, ?, ?], ?, ?]
Ejemplo
Ejemplo2:2: ••
h= [
h= [ AlmadaAlmada, , desayunodesayuno, ?, ?], ?, ?]
Ejemplo
Ejemplo3:3: ••
h= [
h= [ AlmadaAlmada, , desayunodesayuno, ?, , ?, baratobarato]]
37 37
•• RealizarRealizarambos, Find-ambos, Find-S y Dual FindS y Dual Find--S: S:
Find
Find--S S paraparalos ejemploslos ejemplospositivospositivos Dual Find
Dual Find--S S paraparalos los ejemplosejemplosnegativosnegativos
Version Spaces: la idea:
Version Spaces: la idea:
•
• PERO:PERO:
NO
NOseleccionarseleccionar1 generalización1 generalizaciónminimal o minimal o especialización
especializaciónen cadaen cadapasopaso,, sino
sinomantenermantenerla la trazatrazade de TODASTODASlaslas generalizaciones
generalizacioneso especializacioneso especializacionesminimalesminimales
38 38
Version spaces:
Version spaces:
inicialización inicialización
•• Los “version spaces” GLos “version spaces” Gy Sy Sse se inicializaninicializansólosólocomocomo laslashipótesishipótesismásmásgrandesgrandesy y másmáspequeñaspequeñas, , respectivamente
respectivamente..
G = { [ ?, ?, …, ?] } G = { [ ?, ?, …, ?] }
S = { S = {⊥⊥}}
39 39
Ejemplos
Ejemplos negativos: negativos :
•
• ReemplazarReemplazarla la hipótesishipótesistop top porporTODAS TODAS laslas especializaciones
especializacionesminimalesminimalesquequeNO cubrenNO cubrenel el ejemplo
ejemplonegativonegativo Invariante
Invariante: solo : solo laslashipótesishipótesismásmásespecíficasespecíficasquequelaslas quequeestánestánen Gen Gson aúnson aúnposiblesposibles::
ellas
ellasno cubrenno cubrenel el ejemploejemplonegativonegativo S = { S = {⊥⊥}} G = { [ ?, ?, …, ?] } G = { [ ?, ?, …, ?] } G = {h1, h2, …, G = {h1, h2, …, hnhn}}
40 40
Ejemplos
Ejemplos positivos positivos: :
•
• ReemplazarReemplazarla hipótesisla hipótesisbottom porbottom porTODAS TODAS laslas generalizaciones
generalizacionesminimalesminimalesquequeCUBREN al ejemploCUBREN al ejemplo positivo
positivo.. Invariante
Invariante: : sólosólolaslashipótesishipótesismásmásgeneralesgeneralesquequelaslas quequeestánestánen Sen Sson son aúnaúnposibles:posibles:
ellas
ellascubrencubrenel el ejemploejemplopositivopositivo G = {h1, h2, …, G = {h1, h2, …, hnhn}}
S = { S = {⊥⊥}} S = {
S = {h1h1’’, h2, h2’’, , ……,,hmhm’’}}
41 41
Luego
Luego: : ejemplos ejemplos negativos negativos
•• ReemplazarReemplazartodatodahipótesishipótesisen G en G quequecubracubraal al próximopróximo ejemplo
ejemplonegativonegativoporporTODAS TODAS laslasespecializacionesespecializaciones minimales
minimalesquequeNO cubrenNO cubrenel el ejemploejemplonegativonegativo Invariante
Invariante: : sólosólolaslashipótesishipótesismásmásespecíficasespecíficasquequelaslas que
queestánestánen Gen Gaúnaúnson son posiblesposibles:: ellas
ellasno cubrenno cubrenel el ejemploejemplonegativonegativo S = {
S = {h1h1’’, h2, h2’’, , ……,,hmhm’’}} G = {h1, h2, …, G = {h1, h2, …, hnhn}} G = {h1, h21, h22, …, G = {h1, h21, h22, …, hnhn}}
42 42
Luego
Luego: : ejemplos ejemplos positivos positivos
•• ReemplazarReemplazartodastodaslaslashipotesishipotesisen en SSquequeno cubrenno cubren el
el próximopróximoejemploejemplopositivopositivoporporTODAS TODAS laslas generalizaciones
generalizacionesminimalesminimalesquequeSI lo cubrenSI lo cubren.. Invariante
Invariante: : sólosólolaslashipótesishipótesismásmásgeneralesgeneralesquequelaslasqueque están
estánen Sen Sson aúnson aúnposibles:posibles: ellas
ellascubrencubrenel el ejemploejemplo positivopositivo G = {h1, h21, h22, …, G = {h1, h21, h22, …, hnhn}}
S = {
S = {h1h1’’, h2, h2’’, , ……,,hmhm’’}} S = {
S = {h11h11’’, h12, h12’’, h13, h13’’, h2, h2’’, , ……,,hmhm’’}}
43 43
Optimización
Optimización: : negativa negativa: :
•
• Solo considerarSolo considerarespecializacionesespecializacionesde de elementoselementosen en GG quequeson son aúnaúnmásmásgeneralesgeneralesquequealgunaalgunahipótesishipótesis específica
específica(en (en SS))
G = {h1, h21, …, G = {h1, h21, …, hnhn}}
S = {
S = {h1h1’’, h2, h2’’, , ……,,hmhm’’}}
……son son másmásgeneralesgeneralesqueque...
44 44
Optimización
Optimización: : positiva positiva: :
•
• Solo Solo considerarconsiderargeneralizacionesgeneralizacionesde de elementoselementosen en SS quequeson aúnson aúnmásmásespecíficosespecíficosquequealgunaalgunahipótesishipótesis general (en
general (en GG))
G = {h1, h21, h22, …, G = {h1, h21, h22, …, hnhn}}
S = {
S = {h13h13’’, h2, h2’’, , ……,,hmhm’’}}
……son son másmásespecificosespecificosqueque...
45 45
Poda: Poda : ejemplos ejemplos negativos negativos
•• El nuevoEl nuevoejemploejemplonegativonegativopuedepuedeusarseusarseparaparapodarpodar todas
todaslaslasS-S-hipotesishipotesisquequecubrencubrenal al ejemploejemplo negativo
negativo..
G = {h1, h21, …, G = {h1, h21, …, hnhn}}
S = {
S = {h1h1’’, h3, h3’’, , ……,,hmhm’’}} Cubre
Cubreel últimoel últimoejemploejemplonegativo!negativo!
46 46
Poda: Poda : ejemplos ejemplos positivos positivos
•
• El El nuevonuevoejemploejemplopositivopositivopuedepuedetambientambienser usadoser usado paraparapodarpodartodastodaslaslasGG--hipotesishipotesisquequeno cubrenno cubrenal al ejemplo
ejemplopositivopositivo
G = {h1, h21, …, G = {h1, h21, …, hnhn}}
S = {
S = {h1h1’’, h3, h3’’, , ……,,hmhm’’}} NO
NO cubrecubreel el últimoúltimoejemploejemplopositivopositivo
47 47
Eliminar
Eliminar hipótesis hipótesis redundantes redundantes
•• Si unaSi unahipótesishipótesisde Gde Gesesmásmásespecíficaespecíficaquequeotraotra hipótesis
hipótesisde de GG: la : la eliminamoseliminamos!!
G = {h1, h21, …, G = {h1, h21, …, hnhn}}
S = {
S = {h1h1’’, h3, h3’’, , ……,,hmhm’’}} Más
Másespecificaespecifica quequeotraotrahipótesishipótesisgeneralgeneral
Razón
Razón::Ola de Ola de choquechoque: : todotodoporporencimaencimade de GGno no esespermitido. permitido. Los Los elementoselementosmásmásgeneralesgeneralesde Gde Gdefinendefinenla la fronterafronterarealreal
Obviam
Obviam. . tambiéntambiénparaparaSS!!
48 48
Convergencia Convergencia: :
•
• A la largaA la larga, , sisiGGy Sy SPUDIERAN PUDIERAN tenertenerun un elementoelemento común
común: : Version Spaces Version Spaces converge a converge a unaunasoluciónsolución..
•
• Los Los demásdemásejemplosejemplosnecesitannecesitanser ser verificadosverificadoscon con respecto
respectoa la a la soluciónsolución..
G = {h1, h21, h22, …, G = {h1, h21, h22, …, hnhn}}
S = {
S = {h13h13’’, h2, h2’’, , ……,,hmhm’’}}
49 49
Ejemplo
Ejemplo: : reacción reacción alérgica alérgica
•
• Inicialización:Inicialización:
[ ?, ?, ?, ?]
[ ?, ?, ?, ?]
Más Másgeneral general
⊥
⊥ MásMás
especifico especifico
50 50
Almada
Almada, , desayuno desayuno, , Viernes Viernes, , barato barato: + : +
•
• EjemploEjemplopositivo: positivo: generalizacióngeneralizaciónmínimamínimadede⊥⊥
[ ?, ?, ?, ?]
[ ?, ?, ?, ?]
⊥
⊥ [
[AlmadaAlmada, , desayunodesayuno, , viernesviernes, , baratobarato]]
51 51
Demarco,
Demarco, almuerzo almuerzo, , viernes viernes, , caro caro: : - -
•
• EjemploEjemplonegativo: negativo: especializacespecializac. minimal de . minimal de [ ?, ?, ?, ?][ ?, ?, ?, ?]
•• 15 15 especializacionesespecializacionesposibles!! posibles!!
[[AlmadaAlmada, ?, ?, ?], ?, ?, ?]
[
[DemarcoDemarco, ?, ?, ?] , ?, ?, ?]
[
[SedesSedes, ?, ?, ?], ?, ?, ?]
[?,
[?, desayunodesayuno, ?, ?], ?, ?]
[?,
[?, almualmu.., ?, ?], ?, ?]
[?, [?, cenacena, ?, ?], ?, ?]
[?, ?, [?, ?, LunesLunes, ?], ?]
[?, ?,
[?, ?, MartesMartes, ?], ?]
[?, ?,
[?, ?, MiercolesMiercoles, ?], ?]
[?, ?, [?, ?, JuevesJueves, ?], ?]
[?, ?,
[?, ?, ViernesViernes, ?], ?]
[?, ?,
[?, ?, SabadoSabado, ?], ?]
[?, ?,
[?, ?, DomingoDomingo, ?], ?]
[?, ?, ?, [?, ?, ?, baratobarato]] [?, ?, ?, [?, ?, ?, carocaro]]
Conicide
Conicidecon el ejemplocon el ejemplonegativonegativo XX
X X
XX
XX no
no generalizageneralizael el modelomodeloespecificoespecifico
Modelo
Modeloespecífico:específico: [
[AlmadaAlmada, , desayuno,viernes,baratodesayuno,viernes,barato]] X
X X XX XX X X XX X X XX X
restan restan!!
52 52
Resultado
Resultado tras tras ejemplo ejemplo 2: 2:
[ ?, ?, ?, ?]
[ ?, ?, ?, ?]
⊥
⊥ [
[AlmadaAlmada, , desayunodesayuno, , ViernesViernes, , baratobarato]] [
[AlmadaAlmada, ?, ?, ?], ?, ?, ?][?, [?, desayunodesayuno, ?, ?], ?, ?] [?, ?, ?, [?, ?, ?, baratobarato]]
53 53
Almada
Almada, , almu almu., ., Sábado Sábado, , barato barato: + : +
•• EjemploEjemplopositivopositivo: : mínimamínimageneralizac. de generalizac. de [Almada[Almada, , desayuno,Viernes
desayuno,Viernes, , baratobarato]]
[
[AlmadaAlmada, , desaydesay., ., viernes,baratoviernes,barato]] [
[AlmadaAlmada, ?, ?, ?], ?, ?, ?][?, desayuno[?, desayuno, ?, ?], ?, ?] [?, ?, ?,[?, ?, ?,baratobarato]]
[Almada[Almada, ? , ? , , ? , ? , baratobarato]] no
no concuerdaconcuerdacon el con el nuevonuevoejemploejemplo
54 54
Sedes
Sedes, , desayuno desayuno, Domingo, , Domingo, barato barato: : - -
•
• EjemploEjemplonegativo: negativo: especespec. minimal de los . minimal de los modelosmodelos generales
generales::
[
[AlmadaAlmada, ?, ?, ?], ?, ?, ?] [?, ?, ?, barato[?, ?, ?, barato]]
[
[AlmadaAlmada, ? , ? , , ? , ? , baratobarato]]
[Almada[Almada, ?, ?, , ?, ?, baratobarato]] La La únicaúnicaespecializaciónespecialización
que
quese introduce esse introduce es podada
podada, , puespuesesesmásmás específica específicaquequeotraotra hipótesis
hipótesismásmásgeneralgeneral
55 55
Almada
Almada, , desayuno,Domingo desayuno,Domingo, , caro caro: : - -
•• EjemplosEjemplosnegativos: negativos: especespec. . mínimamínimade de [[AlmadaAlmada, ?, ?, ?], ?, ?, ?]
[
[AlmadaAlmada, ?, ?, ?], ?, ?, ?]
[
[AlmadaAlmada, ? , ? , , ? , ? , baratobarato]] [[AlmadaAlmada, ?, ?, , ?, ?, baratobarato]]
Igual
Igualhipótesishipótesis!!!!!!
La comida
La comida baratabaratade de AlmadaAlmada produce la
produce la alergiaalergia!!
56 56
Version Space
Version Space - - Algoritmo Algoritmo: :
Inicialmente
Inicialmente: : G := {la G := {la hipótesishipótesisquequecubrecubretodo}todo} S := {
S := {⊥⊥}} Para
Para cadacadanuevonuevoejemploejemplopositivopositivo:: Generalizar
Generalizartodastodaslaslashiphipóótesistesisen Sen S quequeááununno no cubrencubren el ejemploel ejemplo, , peroperoasegurarasegurarlo siguientelo siguiente::
-
-SóSólolo introducirintroducircambioscambiosminimalesminimalesen en laslashiphipóótesistesis -
-CadaCadanuevanuevahipóhipótt. . especespecííficaficaesesunaunaespecializacionespecializaciondede alguna
algunahiphipóótesistesisgeneralgeneral
--NingunaNingunanuevanuevahipothipot. . especespecííficaficaesesunaunageneralizacgeneralizac.. de
de algunalgunotraotrahipothipot. . especespecííficafica Podar
Podar todatodahipóhipótesistesisen Gen Gquequeno no cubracubrael el ejemploejemplo
57 57
Version Space
Version Space - - Algoritmo Algoritmo (2) (2)
. .. .. .Para
Para cadacadanuevonuevoejemejem. . negativonegativo:: Especializar
Especializartodatodahipothipot. en . en GGquequecubracubrael ejemploel ejemplo, , pero
peroasegurarasegurarlo sgtelo sgte:: -
-Solo Solo introducirintroducircambioscambiosminimalesminimalesen en hipotesishipotesis -
-CadaCadanuevanuevahipothipot. general . general esesunaunageneralizaciongeneralizaciondede alguna
algunahipot. hipot. especespecííficafica..
--NingunaNingunanuevanuevahipot. general hipot. general esesunaunaespecializac.deespecializac.de alguna
algunaotraotrahipothipot. general. general Podar
Podar todatodahipothipoten en SSquequecubracubrael el ejemploejemplo Hasta
Hastaquequeno hay no hay mmáássejemplos:ejemplos: reportarreportarSSy y GG O
O bienbienSSo o bienbienGGse vacse vacííanan: : reportarreportarfallafalla
58 58
Propiedades
Propiedades de VS: de VS:
•
• SimetríaSimetría:: ejemplos
ejemplospositivospositivosy y negativosnegativosse se tratantratande de maneramanera completamente
completamentedualdual..
•
• No No necesitanecesitarecordarrecordarejemplosejemplospreviosprevios..
•• RuidoRuido:: VS
VS no no puedepuedemanejarmanejarbienbienel ruidoel ruido!! Si se
Si se dadaun un ejemploejemplopositivopositivocomocomonegativonegativo, , entonces
entonces. VS . VS eliminaeliminala la hipótesishipótesisdeseadadeseadadel del Version Space G !
Version Space G !
59 59
Terminaci Terminació ón n: :
•
• Si terminaSi terminaporqueporque“no hay “no hay másmásejemplos”:ejemplos”:
[Almada[Almada, ?, ?, ?], ?, ?, ?] [?, ?, [?, ?, LunesLunes,?],?]
[Almada[Almada, ?,, ?,Lunes,baratoLunes,barato]] [
[AlmadaAlmada, ?, ?, , ?, ?, baratobarato]] [[AlmadaAlmada, ?,, ?,LunesLunes, ?], ?] [?, ?,Lunes,barato[?, ?,Lunes,barato]]
Entonces
Entoncestodastodasestasestashipótesishipótesis, y , y todastodaslaslashipótesishipótesisintermediasintermedias son
son descripcionesdescripcionesaúnaúncorrectascorrectas, , quequecubrencubrenlos los datosdatosdadosdados VS no
VS no hacehaceeleccioneseleccionesinnecesariasinnecesarias!! Ejemplo
Ejemplo(espacios(espaciosde de terminaciónterminación):):
60 60
Terminación Terminación (2): (2):
•• Si Si terminaterminaporqueporqueSSo Go Gson son vacíosvacíos:: Entonces
Entonces::
Los Los datosdatosde de pruebapruebason inconsistentesson inconsistentes((ruidoruido?)?) El
El conceptoconceptometa no puedemeta no puedeser ser representadorepresentadoen el en el lenguaje
lenguajede hipótesisde hipótesisH.H.
[
[AlmadaAlmada, , desayunodesayuno, ?,, ?,baratobarato] ] ∨∨[Almada[Almada, , almualmu, ?,, ?,baratobarato]]
<
<AlmadaAlmada, , cenacena, , domingodomingo, , baratobarato> >
- -
<
<AlmadaAlmada, , desayunodesayuno, , domingodomingo, , baratobarato> > ++
<
<AlmadaAlmada, , almualmu., ., domingodomingo, , baratobarato> > ++
•
• EjemploEjemplo::
el el conceptoconceptometa esmeta es:: dados
dados ejemplosejemploscomo: como:
estoestono no puedepuedeser aprendidoser aprendidoen en nuestronuestrolenguajelenguajeH.H.
61 61
VersionSpaces
VersionSpaces en Prolog en Prolog
Existe una implementación del algoritmo
Existe una implementación del algoritmo VersionSpacesVersionSpacesen en lenguaje SWI
lenguaje SWI PrologProlog(“AI (“AI techniquestechniquesin in PrologProlog”, ”, Y.ShohamY.Shoham). ).
Relaciones entre conceptos: se definen con un predicado Relaciones entre conceptos: se definen con un predicado dgeneralizes(X,Y
dgeneralizes(X,Y)) Ejemplos:
Ejemplos:
dgeneralize(cjto
dgeneralize(cjto_2_36_214,pares). _2_36_214,pares).
dgeneralize(nro
dgeneralize(nro_150, pares)._150, pares).
dgeneralize(nro
dgeneralize(nro_150, _150, enteros_menores_queenteros_menores_que_200)._200).
dgeneralize(primos_impares,primos dgeneralize(primos_impares,primos).).
dgeneralize(primos_impares,impares dgeneralize(primos_impares,impares).).
nro nro_150_150 pares
pares enteros_menoresenteros_menores _que
_que_200_200
primos_impares primos_impares primos
primos imparesimpares Cjto
Cjto_2_36_214_2_36_214
62 62
VersionSpaces
VersionSpaces en Prolog en Prolog
Idea:
Idea:
Luego pueden hacerse consultas como la siguiente:
Luego pueden hacerse consultas como la siguiente:
version_space
version_space([+([+setset_2_36_214, +primes, _2_36_214, +primes, --oddsodds], ], U,LU,L)) En U se obtiene el
En U se obtiene el UpperBoundUpperBound, y en L el , y en L el LowerBoundLowerBound..
63 63