Lesson 1: Introduction to Machine Learning
-
Upload
gladys-castillo -
Category
Education
-
view
2.291 -
download
6
description
Transcript of Lesson 1: Introduction to Machine Learning
Aprendizagem Computacional Gladys Castillo, UA
Capítulo 1 (Parte II)
Introdução à Aprendizagem Automática
(Machine Learning)
2Aprendizagem Computacional Gladys
Castillo, UA
Machine LearningDefinição Formal Tom Mitchell, Machine Learning (1997)
A machine learns with respect to a particular task T, a performance metric P and experience E if the system
reliably improves its performance P at task T following experience E
T – jogar as damas
P – % de partidos ganhos
E – experiência de treinar contra ele próprio
Uma tarefa de aprendizagem é sempre definida por :
uma tarefa T com respeito a uma medida de
desempenho P baseado na experiência E
Um exemplo:
3Aprendizagem Computacional Gladys
Castillo, UA
Desenho de um Sistema de Aprendizagem
De onde aprender? Escolher experiência (conjunto de treino) exemplos de experiências acumuladas (aprendizagem off-line) vs. exemplos
que vão chegando ao sistema e são usados para actualizar o modelo (aprendizagem on-line)
exemplos com rótulos ou sem rótulos (aprendizagem supervisada vs. não supervisada)
dispomos de suficiente experiência e estas representam uniformemente todas as instâncias possíveis do problema?
O quê aprender? uma função objectivo ou alvo (f.o.)A f.o. representa o tipo de conhecimento que devemos aprender da experiência
Ex: email classificação: devemos aprender um classificador capaz de distribuir futuros emails pelos folders
Como representar o conhecimento (i.e. a função alvo)?Existem diferentes modelos que representam uma mesma f.o.
Ex: podemos escolher entre diferentes modelos para representar um classificador árvores de decisão, redes neuronais, conjunto de regras, etc.
Que algoritmo implementar para aproximar a f.o.?Uma vez escolhido o modelo devemos escolher um algoritmo de aprendizagem
Ex: para aprender uma árvore de decisão podemos escolher entre vários algoritmos de aprendizagens. O C4.5. é o mais popular:
4Aprendizagem Computacional Gladys
Castillo, UA
Sistema para Aprender a Jogar Damas
Podem ler sobre este exemplo clássico no Cap 1 do livro de T. Mitchell, Machine
Learning (1997) e nos acetatos do prof. J.Oncina da Universidad de Alicante
5Aprendizagem Computacional Gladys
Castillo, UA
Suponhamos que para um universo de objectos é definido:
um conjunto de variáveis X1, X2, …, Xn, chamadas atributos que descrevem estes objectos
uma variável C chamada classe cujos valores c1,…, cm representam categorias ou classes que possam ser atribuídas a estes objectos
Classificador
Um classificador é uma função que atribui uma classe a objectos (exemplos) descritos por um conjunto de atributos
Classificadorf(x)x1 x2 xn... c
Entrada: valores dos atributos Saída: Classe Predita
Um classificador é uma função f: X C que atribui uma classe c C a objectos (exemplos) x = (x1, x2, ..,xn) X
Exemplo x
Matemáticamente:
6Aprendizagem Computacional , Gladys Castillo
Aprendizagem Supervisada
Tarefa T – aprender um classificador que possa ser usado para predizer as classes de futuros exemplos
Performance P – taxa de acerto (% de exemplos correctamente classificados)
Experiencia E – conjunto de treino com exemplos rotulados
Aprendizagem Supervisada é a tarefa de induzir um classificador capaz de predizer com alta fiabilidade as classes
de futuros exemplosa partir de um conjunto de treino com exemplos rotulados
A palavra “supervisada” (do inglês supervised) refere-se a que os objectos usados para a tarefa de aprendizagem foram classificados previamente por um supervisor
Conjunto de Treino: conjunto de exemplos previamente classificados
D ={<x(1), c(1)>, <x(2), c(2)>, …. <x(N), c(N)>}, cada tuple <x, c> está composto por um exemplo x = (x1, x2, …., xn)
(valores dos atributos de um objecto) e a sua classe c C
7Aprendizagem Computacional , Gladys Castillo
Classificação Supervisada Fases de Aprendizagem e Classificação
Supervised Learning Algorithm
h
h C(N+1)
Entrada: Valores dos atributos do exemplo x(N+1)Saída: a classe de
x(N+1)
Fase de Classificação: a classe atribuída ao novo exemplo x(N+1) é c(N+1) =h (x(N+1)) f(x(N+1))
Dado: um conjunto de treino D com N exemplos previamente classificados
Induzir: um classificador h : X C capaz de predizer o melhor possível a classe de futuros exemplos
Fase de Aprendizagem:
c(N)<x(N), c(N)>
………
c(2)<x(2), c(2)>
c(1)<x(1), c(1)>
CCXXnn……XX11DD
c(N)<x(N), c(N)>
………
c(2)<x(2), c(2)>
c(1)<x(1), c(1)>
CCXXnn……XX11DD)1(
1x )1(nx
)2(1x )2(
nx
)(1
Nx )( Nnx
)1(1
Nx )1(2
Nx )1( Nnx…
Saída: um classificador que aproxima
o melhor possível a função alvó f: X C “oculta” nos dadosAplicar
Algoritmo
aplicar classificador induzido
x(N+1) = ( , , , )
8Aprendizagem Computacional , Gladys Castillo
Apply
Model
Induction
Deduction
Learn
Model
Model
Tid Attrib1 Attrib2 Attrib3 Class
1 Yes Large 125K No
2 No Medium 100K No
3 No Small 70K No
4 Yes Medium 120K No
5 No Large 95K Yes
6 No Medium 60K No
7 Yes Large 220K No
8 No Small 85K Yes
9 No Medium 75K No
10 No Small 90K Yes 10
Tid Attrib1 Attrib2 Attrib3 Class
11 No Small 55K ?
12 Yes Medium 80K ?
13 Yes Large 110K ?
14 No Small 95K ?
15 No Large 67K ? 10
Test Set
Learningalgorithm
Training Set
Aprendizagem SupervisadaEsquema Geral
1º. Um algoritmo de
aprendizagem é executado para induzir
um classificador a
partir do conjunto de
treino
Figura extraída dos acetatos de Introduction to Data Mining P. Tan, M.Steinbach,
V.Kumar
2º. Uma vez construído o
classificador, este pode ser usado para
classificar futuros exemplos
Um conjunto de treino com exemplos rotulados é usado para treinar o classificador. Cada exemplo representa um objecto descrito pelos seus atributos e a sua classe.
conjunto de exemplos sem
rótulos
9Aprendizagem Computacional Gladys
Castillo, UA
Aprendizagem de Conceito
Classificação binária: duas classes : Yes/No, 0/1, Sim/Não, etc. exemplos positivos: exemplos rotulados com “Yes” exemplos negativos: exemplos rotulados com “No”
Usado em sistemas de apoio à decisão (SAD)Exemplo: Jogar Tenis?
10Aprendizagem Computacional , Gladys Castillo
Exemplo: Atribuição de Crédito Bancário
Tid Refund MaritalStatus
TaxableIncome Cheat
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes10
Refund MaritalStatus
TaxableIncome Cheat
No Single 75K ?
Yes Married 50K ?
No Married 150K ?
Yes Divorced 90K ?
No Single 40K ?
No Married 80K ?10
Training Set
Model
Learn Classifier
O conjunto de dados de treino está composto por dados sobre pedidos de créditos bancários que contêm informações sobre as pessoas envolvidas
(os atributos) conjuntamente com a decisão tomada pelo banco de atribuir ou não o crédito (a classe). Uma vez aprendido o classificador,
este pode ser usado como sistema de decisão para decidir se atribuir ou não um crédito a um novo cliente
Chumbaram o pedido
Figura extraída dos acetatos de Introduction to Data Mining P. Tan, M.Steinbach,
V.Kumar
11Aprendizagem Computacional Gladys
Castillo, UA
Sistema de Aprendizagem Supervisada
De onde vamos aprender? Conjunto de treino de exemplos rotulados <x, c>:
x – exemplo descrito pelos valores dos seus atributos, c – classe Usar esquema de aprendizagem off-line:
fase de treino para aprender, fase de teste para avaliação, se todo OK – implementar
O quê aprender? função objectivo (f.o.) target functionAprender um classificador, ou seja, uma função f: X C que atribui uma classe a um exemplo dado
Como vamos a representar a função alvo? Vamos estudar diferentes modelos preditivos para representar um classificador
Árvores de decisão Classificadores baseado em regras Classificadores baseado em instâncias (kNN e outros) Classificadores Bayesianos (Naive Bayes, Redes Bayesianas, TAN, BAN, etc.) Redes Neuronais (perceptron, multi-camadas) Máquinas de Suporte Vectorial
Que algoritmo de aprendizagem vamos usar para aproximar a função alvo? Por cada modelo de classificação vamos estudar os algoritmos de aprendizagem mais relevantes
12Aprendizagem Computacional Gladys
Castillo, UA
Modelos de Classificação Supervisada
Árvores de decisãoQuinlan, 1986; Breiman y col. 1984
Classificadores baseados em regrasClark y Nibblet, 1989; Cohen, 1995; Holte, 1993
Classificadores baseados em instâncias Classificadores k–NN
Covert & Hart, 1967; Dasarathy, 1991 Classificadores Bayesianos
Naïve BayesDuda & Hart, 1973
Redes BayesianasPearl, 1988
Redes NeuronaisMcCulloch & Pitts, 1943
Máquinas de suporte vectorialCristianini & Shawe–Taylor,2000
13Aprendizagem Computacional Gladys
Castillo, UA
Árvore de decisão raiz
regranó de
decisão
folhas
Cada nó de decisão contem um teste num atributo
Cada ramo descendente corresponde a um possível valor deste atributo.
Cada folha está associada a uma classe. Cada percurso na arvore (da raiz à folha)
corresponde a uma regra de classificação.IF x1 < a1 AND x2 < a3 THEN
Problema de
Classificação:
x1, x2 - 2 variáveis
preditoras
5 classes C
f: x1 x2 C
Figura dos acetatos sobre árvores de decisão do Prof. João Gama, LIADD, Univ. Porto
14Aprendizagem Computacional Gladys
Castillo, UA
Árvore de decisãoEspaço de Atributos
No espaço definido pelos atributos: cada folha corresponde a uma região:
um hiper-rectângulo a intersecção dos hiper-rectângulos = vazía a união dos hiper-rectângulos = espaço
completo
Problema de
Classificação:
x1, x2 - 2 variáveis
preditoras
5 classes C
f: x1 x2 C
Figura dos acetatos sobre árvores de decisão do Prof. João Gama, LIADD, Univ. Porto
15Aprendizagem Computacional Gladys
Castillo, UA
age income student credit_rating buys_computer<=30 high no fair no<=30 high no excellent no31…40 high no fair yes>40 medium no fair yes>40 low yes fair yes>40 low yes excellent no31…40 low yes excellent yes<=30 medium no fair no<=30 low yes fair yes>40 medium yes fair yes<=30 medium yes excellent yes31…40 medium no excellent yes31…40 high yes fair yes>40 medium no excellent no
Esta árvore foi induzida com o algoritmo ID3 de Quinlan
age?
overcast
student? credit rating?
no yes fairexcellent
<=30 >40
no noyes yes
yes
30..40
Figura dos acetatos do livro Data Mining, Concepts and Techniques, Han & Kamber
Induzir
Árvore de Decisão Exemplo 1: Comprar Computador?
Conjunto de Treino
o atributo que melhor discrimina as classes
16Aprendizagem Computacional Gladys
Castillo, UA
Árvore de Decisão Exemplo 2: Atribuição de Crédito Bancário
Tid Refund MaritalStatus
TaxableIncome Cheat
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes10
Refund
Marital State
TaxInc
YESNO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Aprender
Conjunto de Treino
Figura extraída dos acetatos de Introduction to Data Mining P. Tan, M.Steinbach,
V.Kumar
17Aprendizagem Computacional Gladys
Castillo, UA
Árvore de Decisão Exemplo 2: Atribuição de Crédito Bancário
Tid Refund MaritalStatus
TaxableIncome Cheat
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes10
MarSt
Refund
TaxInc
YESNO
NO
NO
Yes No
Married Single, Divorced
< 80K
> 80K
Usando diferentes algoritmos podemos obter diferentes árvores para ajustar
(representar) os mesmos dados
Conjunto de Treino Outra árvore para representar o mesmo problema
Figura extraída dos acetatos de Introduction to Data Mining P. Tan, M.Steinbach,
V.Kumar
18Aprendizagem Computacional Gladys
Castillo, UA
Árvores de DecisãoClassificação de um novo exemplo
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
Married Single Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Novo exemploComeçar pela raiz da árvore
No
Married Atribuir se Cheat = “No” (engano, fraude)
Figura extraída dos acetatos de Introduction to Data Mining P. Tan, M.Steinbach,
V.Kumar
19Aprendizagem Computacional Gladys
Castillo, UA
Árvores de Decisão Algoritmos de Aprendizagem
Hunt’s Algorithm (um dos primeiros)
CART ID3 C4.5 (o mais popular algoritmo em ML)
SLIQ, SPRINT
20Aprendizagem Computacional Gladys
Castillo, UA
Classificadores baseados em Regras Classificador = conjunto de regras
if … then …
Regra: (Condição) y onde
condição = conjunção de atributos y é a classe
LHS: antecedente da regra ou condição RHS: consequente da regra Exemplos de regras:
(Tipo de sangue=quente) (pôr ovos=sim) Aves (Ingressos < 500) (Solteiro) NoAtribuirCredito
21Aprendizagem Computacional Gladys
Castillo, UA
Exemplo de Conjunto de Regras
R1: (Give Birth = no) (Can Fly = yes) BirdsR2: (Give Birth = no) (Live in Water = yes)
FishesR3: (Give Birth = yes) (Blood Type = warm)
MammalsR4: (Give Birth = no) (Can Fly = no) ReptilesR5: (Live in Water = sometimes) Amphibians
Name Blood Type Give Birth Can Fly Live in Water Classhuman warm yes no no mammalspython cold no no no reptilessalmon cold no no yes fisheswhale warm yes no yes mammalsfrog cold no no sometimes amphibianskomodo cold no no no reptilesbat warm yes yes no mammalspigeon warm no yes no birdscat warm yes no no mammalsleopard shark cold yes no yes fishesturtle cold no no sometimes reptilespenguin warm no no sometimes birdsporcupine warm yes no no mammalseel cold no no yes fishessalamander cold no no sometimes amphibiansgila monster cold no no no reptilesplatypus warm no no no mammalsowl warm no yes no birdsdolphin warm yes no yes mammalseagle warm no yes no birds
22Aprendizagem Computacional Gladys
Castillo, UA
Classificação com Conjunto de Regras
R1: (Give Birth = no) (Can Fly = yes) BirdsR2: (Give Birth = no) (Live in Water = yes) FishesR3: (Give Birth = yes) (Blood Type = warm) MammalsR4: (Give Birth = no) (Can Fly = no) ReptilesR5: (Live in Water = sometimes) Amphibians
A regra R1 cobre a hawk (falcão) => BirdA regra R3 cobre the grizzly bear (urso pardo) =>
Mammal
Name Blood Type Give Birth Can Fly Live in Water Classhawk warm no yes no ?grizzly bear warm yes no no ?
Uma regra r cobre um exemplo x se os seus atributos satisfazem a condição da
regra
23Aprendizagem Computacional Gladys
Castillo, UA
Classificadores baseados em RegrasCaracterísticas
Regras mutuamente exclusivas: Um classificador contém regras mutuamente
exclusivas
se as regras são independentes entre si
Cada exemplo é coberto no máximo por uma regra
Regras exaustivas Classificador tem cobertura exaustiva se ele leva em
conta toda possível combinação dos valores dos
atributos
Cada registro é coberto por pelo menos uma regra
24Aprendizagem Computacional Gladys
Castillo, UA
Classificador baseado em RegrasFase de Classificação
• lemur acciona a regra R3, por isso é classificado como mamífero
• turtle acciona as regras R4 and R5 conflito!se lista de regras ordenada por prioridade (decision list), então atribui-se a classe da regra com mais prioridade reptil
• dogfish shark não acciona nenhuma das regras o classificador não tem uma cobertura exaustiva (cada exemplo deve ser coberto pelo menos por uma regra)
Name Blood Type Give Birth Can Fly Live in Water Classlemur warm yes no no ?turtle cold no no sometimes ?dogfish shark cold yes no yes ?
R1: (Give Birth = no) (Can Fly = yes) BirdsR2: (Give Birth = no) (Live in Water = yes) FishesR3: (Give Birth = yes) (Blood Type = warm) MammalsR4: (Give Birth = no) (Can Fly = no) ReptilesR5: (Live in Water = sometimes) Amphibians
25Aprendizagem Computacional Gladys
Castillo, UA
Classificadores baseados em RegrasAprendizagem
Métodos Directos Extraem as regras directamente dos dados:
RIPPER, CN2, Holte’s 1R
Métodos Indirectos Extraem as regras de outros modelos de
classificação (ex: árvores de decisão, redes neuronais, etc.)
mais popular: C4.5rules
26Aprendizagem Computacional Gladys
Castillo, UA
Regras de uma Árvore de Decisão
YESYESNONO
NONO
NONO
Yes No
{Married}{Single,
Divorced}
< 80K > 80K
Taxable Income
Marital Status
Refund
Classification Rules
(Refund=Yes) ==> No
(Refund=No, Marital Status={Single,Divorced},Taxable Income<80K) ==> No
(Refund=No, Marital Status={Single,Divorced},Taxable Income>80K) ==> Yes
(Refund=No, Marital Status={Married}) ==> No
As regras são mutuamente exclusivas e exaustivas
Um conjunto de regras contem tanta informação quanto a árvore
27Aprendizagem Computacional Gladys
Castillo, UA
Classificadores baseadosem instâncias (Lazy Classifiers)
Atr1 ……... AtrN
Unseen Case
Não construi um modelo dos dados, por isso é chamado preguiçoso
Usa apenas o conjunto de treino para classificar os novos exemplos
Atr1 ……... AtrN ClassA
B
B
C
A
C
B
Set of Stored Cases
Novo exemplo
Conjunto de Treino
28Aprendizagem Computacional Gladys
Castillo, UA
Classificadores baseados em instâncias
Exemplos: Rote-learner
Memoriza todos os exemplos do conjunto de treino e realiza a classificação de um novo exemplo somente se os atributos deste correspondem exactamente a um dos exemplos do conjunto de treino
k-vizinhos mais próximos (k-nearest neighbor)
Usa os k exemplos “mais próximos” (vizinhos mais próximos) para realizar a classificação de um novo exemplo
29Aprendizagem Computacional Gladys
Castillo, UA
k-Vizinhos mais Próximos
X X X
(a) 1-nearest neighbor (b) 2-nearest neighbor (c) 3-nearest neighbor
Os k-vizinhos mais próximos são os k pontos do conjunto de treino que estão a menor distância do novo exemplo x
X X X
30Aprendizagem Computacional , Gladys Castillo
k-Vizinhos mais Próximos
Requer:1. Conjunto de treino 2. Métrica de distância
usualmente distância Euclidiana3. Valor de k
o número de vizinhos mais próximos
Para classificar um novo exemplo:
4. Calcular a distância entre o novo exemplo e cada um dos exemplos do conjunto de treino
2. Identificar os k vizinhos mais próximos
3. A classe do novo exemplo pode ser atribuída pelo “voto da maioria”
Unknown record
Se k=4, para este exemplo identificamos os 4 vizinhos
mais próximos e atribuímos a classe da
maioria que é “+”
31Aprendizagem Computacional Gladys
Castillo, UA
Classificadores Bayesianos
Os resultados da classificação são expresados através de uma distribuição de probabilidades en vez de usar f: X C usamos f :
X P(C| X) se input: exemplo x=(x1,x2, …xn) X output: P(cj| x) para cada classe,
ou seja a probabilidade que o exemplo x pertença a cada uma das classes
A classe c* atribuída a um exemplo x é aquela que maximiza P(cj|
x) :
posterior prior x likelihood
Como determinar P(cj | x) ? Usando o Teorema de Bayes
P(x) pode ser ignorado porque é o mesmo para
todas as classesMaximum a posteriori
classification
Principio de inferência Bayesiana: combinando a distribuição a priori com a função verosimilitude dos dados podemos
derivar a distribuição a posteriori
32Aprendizagem Computacional Gladys
Castillo, UA
Naïve Bayes - assume uma “very naïve”
suposição:
Classificador Naïve Bayes (NB)
Todos os atributos são condicionalmente independentes dado a classe
Duda and Hart (1973); Langley (1992)
NB classificatio
n
BayesianClassification
Como determinar P(x| cj ) ?
Se o espaço de atributos é de dimensão elevada (muitos atributos, muitos valores para cada atributo) é computacionalmente muito difícil (muitas combinações a
ter em conta)Solução:
Podemos descompô-lo num produto de n termos, um por
cada atributo
33Aprendizagem Computacional Gladys
Castillo, UA
1. Estimar as probabilidade apriori P(cj) de cada classe P(buys_computer = “yes”) = 9/14 = 0.643
P(buys_computer = “no”) = 5/14 = 0.357
2. Estimar as condicionais P(xi|cj) para cada atributo
P(age = “<=30” | buys_computer = “yes”) = 2/9 = 0.222 P(age = “<= 30” | buys_computer = “no”) = 3/5 = 0.6 P(income = “medium” | buys_computer = “yes”) = 4/9 = 0.444 P(income = “medium” | buys_computer = “no”) = 2/5 = 0.4 P(student = “yes” | buys_computer = “yes”) = 6/9 = 0.667 P(student = “yes” | buys_computer = “no”) = 1/5 = 0.2 P(credit_rating = “fair” | buys_computer = “yes”) = 6/9 = 0.667 P(credit_rating = “fair” | buys_computer = “no”) = 2/5 = 0.4
3. Calcular P(x|cj) para cada classe P(x|buys_computer = “yes”) = 0.222 x 0.444 x 0.667 x 0.667 = 0.044 P(x|buys_computer = “no”) = 0.6 x 0.4 x 0.2 x 0.4 = 0.019
4. Usar Teorema de Bayes para calcular P(cj |x) para cada classe P(buys_computer = “yes” |x) = P(x|buys_computer = “yes”) * P(buys_computer = “yes” )= 0.028 P(buys_computer= “no” |x) = P(x|buys_computer = “no”) * P(buys_computer = “no”) = 0.007
Classificando um exemplo com NB
age income studentcredit_ratingbuys_computer<=30 high no fair no<=30 high no excellent no31…40 high no fair yes>40 medium no fair yes>40 low yes fair yes>40 low yes excellent no31…40 low yes excellent yes<=30 medium no fair no<=30 low yes fair yes>40 medium yes fair yes<=30 medium yes excellent yes31…40 medium no excellent yes31…40 high yes fair yes>40 medium no excellent no
Conjunto de Treino
x =(age<=30 , income =medium, student=yes, credit_rating=fair)
x pertence à classe
“buys_PC=yes”
máximo
Exemplo do livro Data Mining: Concepts and Techniques, Han & Kamber
34Aprendizagem Computacional Gladys
Castillo, UA
The Balance-scale Problem
Each example has 4 numerical attributes: the left weight (Left_W) the left distance (Left_D) the right weight (Right_W) right distance (Right_D)
The dataset was generated to model psychological experimental results
Left_W
Each example is classified into 3 classes: the balance-scale:
tip to the right (Right)tip to the left (Left)is balanced (Balanced)
3 target rules (a função alvó):If LD x LW > RD x RW tip to the leftIf LD x LW < RD x RW tip to the rightIf LD x LW = RD x RW it is balanced
artificial problem from the UCI repository.
Right_W
Left_D Right_D
35Aprendizagem Computacional Gladys
Castillo, UA
Balanced2643
...
2
1
LeftLeft_W_W
BalanceBalance--Scale DataSetScale DataSet
............
Left235
Right245
ClassClassRightRight_D_DRightRight_W_WLeftLeft_D_D
Balanced2643
...
2
1
LeftLeft_W_W
BalanceBalance--Scale DataSetScale DataSet
............
Left235
Right245
ClassClassRightRight_D_DRightRight_W_WLeftLeft_D_D
Fase de Aprendizagem do NB Exemplo: Problema da balança
Fase de
Aprendizagem
Contingency Tables
AttributeAttribute: : LeftLeft_ W_ W
2534496686RightRight
9108810BalancedBalanced
7271614214LeftLeft
I5I5I4I4I3I3I2I2I1I1ClassClass
AttributeAttribute: : LeftLeft_ W_ W
2534496686RightRight
9108810BalancedBalanced
7271614214LeftLeft
I5I5I4I4I3I3I2I2I1I1ClassClass
AttributeAttribute: : LeftLeft_ D_ D
2737495790RightRight
8109108BalancedBalanced
7770593816LeftLeft
I5I5I4I4I3I3I2I2I1I1ClassClass
AttributeAttribute: : LeftLeft_ D_ D
2737495790RightRight
8109108BalancedBalanced
7770593816LeftLeft
I5I5I4I4I3I3I2I2I1I1ClassClass
AttributeAttribute: : RightRight_ W_ W
7970583716RightRight
8910108BalancedBalanced
2833496387LeftLeft
I5I5I4I4I3I3I2I2I1I1ClassClass
AttributeAttribute: : RightRight_ W_ W
7970583716RightRight
8910108BalancedBalanced
2833496387LeftLeft
I5I5I4I4I3I3I2I2I1I1ClassClass
AttributeAttribute: : RightRight_ D_ D
8267573717RightRight
9108108BalancedBalanced
2535446591LeftLeft
I5I5I4I4I3I3I2I2I1I1ClassClass
AttributeAttribute: : RightRight_ D_ D
8267573717RightRight
9108108BalancedBalanced
2535446591LeftLeft
I5I5I4I4I3I3I2I2I1I1ClassClass
260
LeftLeft
Classes Classes CountersCounters
56526045
TotalTotalRightRightBalancedBalanced
260
LeftLeft
Classes Classes CountersCounters
56526045
TotalTotalRightRightBalancedBalanced
Conjunto de Treino : 565 exemplos
Como consideramos NB para atributos discretos discretizar: cada valor de atributo é mapeado a um dos 5
intervalos
Para aprender um classificador NB o primeiro que devemos fazer é preencher a partir de uma única passagem pelo conjunto de treino:
• uma tabela com os contadores das classes• uma tabela de contingência por cada atributo contêm um contador para cada combinação
<valor de atributo, classe>
36Aprendizagem Computacional Gladys
Castillo, UA
Fase de Classificação do NB Exemplo: Problema da balança
Determinar P(cj | x) para cada classe:
Uma vez construído o classificador, como classificar um novo exemplo?
1
LeftLeft_W_W
Right245
ClassClassRightRight_D_DRightRight_W_WLeftLeft_D_D
1
LeftLeft_W_W
Right245
ClassClassRightRight_D_DRightRight_W_WLeftLeft_D_D
A classe para este exemplo é aquela que maximiza a probabilidade a posteriori
P(Left|x) P(Balanced|x)
P(Right|x)
0.277796 0.135227 0.586978Classe = Right
P(cj |x) = P(cj ) x P(Left_W=1 | cj) x P(Left_D=5 | cj )
x P(Right_W=4 | cj ) x P(Right_W=4 | cj ),
cj {Left, Balanced, Right}
A tabela com os contadores das classes e as tabelas de
contingência são usadas para calcular as
probabilidades necessárias?
max
37Aprendizagem Computacional , Gladys Castillo
Redes Bayesianas
i
iin PaXPXXP )|(),...,( 1
the structure S - a Directed Acyclic Graph (DAG)
nodes – random variables arcs - direct dependence
between variables
Bayesian Networks (BNs) graphically represent the joint probability distribution of a set X of random variables in a problem domain
A BN=(S, S) consist in two
components:
the set of parameters S conditional probability
distributions (CPDs) If variables are discrete
CPDs are conditional probability tables (CPTs)
Qualitative part Quantitative part
each node is independent of its non descendants given its parents in S
Pearl (1988, 2000); Jensen (1996); Lauritzen (1996)
Probability theory
Graph theory
Markov condition :
38Aprendizagem Computacional , Gladys Castillo
the structure – a Directed Acyclic Graph
the parameters – a set of conditional probability tables (CPTs) pa(B) = { }, pa(E) = { }, pa(A) = {B, E}, pa(J) = {A}, pa(M)
= {A}
X = { B - Burglary, E- Earthquake, A - Alarm, J - JohnCalls, M – MaryCalls }The Bayesian Network has two components:
Example: Alarm Network (Pearl)Bayesian Network
P(B) P(E) P(A | B, E) P(J | A) P( M | A}
Model size reduced from 31 to
1+1+4+2+2=10
39Aprendizagem Computacional Gladys
Castillo, UA
P(B, E, A, J, M) = P(B) P(E) P(A|B, E) P(J|A) P(M|A)
X = {B (Burglary), (E) Earthquake, (A) Alarm, (J) JohnCalls, (M) MaryCalls}
Example: Alarm Network (Pearl)Factored Joint Probability Distribution
40Aprendizagem Computacional Gladys
Castillo, UA
Redes BayesianasUm exemplo com variáveis binárias
P(HeartDisease=“No”|Exercise=“no”, Diet =“Healthy”) = 1 - P(HeartDisease=“Yes”|Exercise=“no”, Diet =“Healthy”) =1- 0.55 = 0.45
acidez
tensão
P(HeartBurn=“yes”|Dieta=“Healthy”) =
0.2
dor no peito
41Aprendizagem Computacional Gladys
Castillo, UA
Classificadores de Redes Bayesianas
)|,( ),|( ScPScP jj xx
c =hBNC (x) = arg max P(cj | x , S) j=1…m
Como classificador Bayesiano a classe c atribuída a um exemplo x é aquela que maximiza a
probabilidade a posteriori
Restricted approach:
contains the NB structure
Unrestricted approach:
the class node is treated as an ordinary node
A Tree Augmented NB (TAN)
A BN Augmented NB (BAN)
A General BN (GBN) structure
Probabilidade também
condicionada à estrutura S da rede
Bayesiana
proporcional à probabilidade conjunta
42Aprendizagem Computacional Gladys
Castillo, UA
Given: a training dataset D ={x(1), x(2),…,x(N)} of i.i.d examples of
X some prior information (background knowledge)
a BN or fragment of it, prior probabilities, etc. Induce: a Bayesian Network BN=(S, S) that best
matches D
Learning Bayesian NetworksLet X = {X1,X2, ...,Xn} be a set of random variables for a domain under study
Represents
• P(X1,X2,X3,X4,X5)
• Independence Statements
• CausalityPrior information
Dat
a LearningAlgorithm
0
1
1
X3
1
0
1
X4
...
001
110
X1 X2 X5
0 1 00
1
1
X3
1
0
1
X4
...
001
110
X1 X2 X5
0 1 0
43Aprendizagem Computacional Gladys
Castillo, UA
Learning Bayesian NetworksHow many Learning Problems?
Known Structure Unknown Structure
Complete Data Statisticalparametricestimation
(closed-form eq.)
Discrete optimizationover structures(discrete search)
Incomplete Data Parametricoptimization(EM, gradient
descent...)
Combined(Structural EM, mixture
models…)
We can distinguish a variety of learning problems, depending on whether the structure is known or unknown, the data is complete
or incomplete, and there are hidden variables or not.
© 1998, Nir Friedman, U.C. Berkeley, and Moises Goldszmidt, SRI International. All rights reserved .
44Aprendizagem Computacional Gladys
Castillo, UA
Classificadores LinearesSe os exemplos do conjunto de treino são linearmente
separáveis podemos aprender uma função discriminante linear e logo usa-la para classificar os futuros exemplos
Figura extraídas dos acetatos de Luis Oliveira, Classificadores
Lineares
x1, x2 - 2 variáveis preditoras
C = {class1, class2} – 2 classes
f: x1 x2 C
Para um novo exemplo x:
se g(x) > 0 f(x) = class1
se g(x) < 0 f(x) = class2
45Aprendizagem Computacional Gladys
Castillo, UA
Separabilidade entre Classes
Um conjunto de treino é chamado linearmente separável se existe pelo menos um hiperplano capaz de separar os exemplos de
diferentes classes
Figura extraídas dos acetatos de Aluizio F. R. Araújo, Máquinas de Vectores Suporte
linearmenteseparável
linearmentenão separável
46Aprendizagem Computacional Gladys
Castillo, UA
IRIS Data (Fisher, 1936)
3 classes setosa versicolor virginica
4 atributos comprimento da pétala largura da pétala comprimento da sépala largura da sépala
Problema clásico de classificação das flores iris.
On-line no UCI Machine Learning Repository http://www.ics.uci.edu/~mlearn/MLRepository.html
O conjunto de dados contêm 50 exemplos por cada classe
47Aprendizagem Computacional Gladys
Castillo, UA
Classificadores Lineares e Não LinearesIris Data (Fisher, 1936)
Discriminante Linear Árvore de Decisão
Gaussian mixture Kernel method (SVM)
setosa
x setosaO virginica+ versicolor
Figure from Norbert Jankowski and Krzysztof Grabczewski
48Aprendizagem Computacional Gladys
Castillo, UA
Fronteira de Decisão Linear
-0.50
0.5-0.5
00.5
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
X1X2
X3
x1x
2
x3
A fronteira de decisão linear está definida pelos hiperplanos que separam as classes
x1
x2
A fronteira de decisão linear está definida pelos hiperplanos que separam as classes
Figuras extraídas de “Introduction to Machine Learning”, Isabelle Guyon
49Aprendizagem Computacional , Gladys Castillo
Fronteiras de Decisão Não Linear
x1
x2
-0.5
0
0.5
-0.5
0
0.5-0.5
0
0.5
Hs.128749Hs.234680
Hs.
7780
x1
x2
x3
Funções não lineares separam as classes
Figuras extraídas de “Introduction to Machine Learning”, Isabelle Guyon
50Aprendizagem Computacional Gladys
Castillo, UA
x1
x2
Fit / Robustness Tradeoff
x1
x2
15
O que será melhor: a fronteira linear ou não linear?
Figuras extraídas de “Introduction to Machine Learning”, Isabelle Guyon
51Aprendizagem Computacional Gladys
Castillo, UA
Classificadores Lineares
onde: w - vector de pesos determina a orientação do hiperplano b – desvio (bias)
Tarefa de Aprendizagem (ideia básica)A partir do conjunto de treino com
exemplos rotulados estimar os parâmetros w e b por forma a obter a melhor fronteira de decisão segundo um critério que define
o que significa “melhor”
Hiperplano de Classificação: g(x) = w x + b = 0 fronteira de decisão linear
0bx wse 1
0b wse1)(ˆ
xxfyClassificador Linear
Binário :
Figura extraídas dos acetatos de Luis Oliveira, Classificadores
Lineares
52Aprendizagem Computacional Gladys
Castillo, UA
Classificadores LinearesSoluções possíveis
B2
Podem existir vários hiperplanos
separando as classes correctamente,
contudo existe pelo menos um melhor
que os demais.
Qual é o melhor? Cómo definir
melhor?
O critério para definir o melhor
(óptimo) varia segundo o modelo de
classificação: Exemplos de
classificadores lineares:
Discriminante linear (Fisher)
Perceptron (redes neuronais)
Classificador de Margem
Maximal (máquinas de suporte
vectorial)
53Aprendizagem Computacional Gladys
Castillo, UA
Este exemplo mostra um classificador
linear de margem maximal (SVM)
“aprendido” deste conjunto de treino
usando o método dos multiplicadores
de Lagrange.
A partir dos dados foram estimados os
parâmetros w1, w2 e b do hiperplano
Classificadores Lineares
Figura extraída dos acetatos de Introduction to Data Mining P. Tan, M.Steinbach,
V.Kumar
54Aprendizagem Computacional Gladys
Castillo, UA
Redes Neuronais Artificiais (RNAs)
Outro nome: modelos conexionistas
As RNAs são inspiradas no funcionamento do cérebro humano
Compostas dum elevado número de neurónios altamente inter-ligados trabalhando em paralelo na resolução de problemas
O conhecimento adquirido através da aprendizagem é armazenado nas ligações.
Modelo distribuído de computação paralela com alto nível de granularidade
55Aprendizagem Computacional Gladys
Castillo, UA
nós de entrad
a
nós de saída
nós ocultos
Redes Neuronais Artificiais (RNAs)
As RNAs contêm tem 3 tipos de camadas (layers):
input layer: informação que entra no neurónio
hidden layer: camadas intermédias, podem ser várias
output layer: informação que sai
Modelos mais populares: Perceptron:
modelo mais simples, não usa hidden layers
Multi-layer Feed-Forward:
os nós de uma camada estão ligados apenas aos nós da seguinte camada
modelo com 3 camadas
56Aprendizagem Computacional Gladys
Castillo, UA
Modelo de um Neurónio Artificial
)sign(yn
0ikii xw
Neurónio = processador de informação
recebe e envia impulso a milhares de neurónios
dendritos: canais de entrada corpo celular: órgão de
cômputo (soma ponderada, função não linear)
axónio: canal de saídadistribuição a outros neurónios
Potencial pos-sináptico: h (w, x) = w . x = j wj xj
O factor bias t é usualmente subtraído ao potencial pos-sináptico
função de activação para obter y: y = f (w. x – t)
x1
x2
xn
-1
w1
w2
wn
t
axon
limiar (threshold)
Entr
adas dendritas
função de activação
f( ) y
sinapsis(pesos)
saída
somatóriapesada
x1
x2
xn
-1
w1
w2
wn
t
axon
limiar (threshold)
Entr
adas dendritas
função de activação
f( ) y
sinapsis(pesos)
saída
somatóriapesada
y = f(w x – t) = f(j wj xj – t)
57Aprendizagem Computacional Gladys
Castillo, UA
Perceptron
função de activação: a função sinal
X1
X2
X3
Y
Black box
w1
t
Outputnode
Inputnodes
w2
w3
otherwise1
0 t . if1)(
xwtxwsigny
iii
Um perceptron é um classificador linear binário, ou seja, uma função
f: X Y que mapea um vector binário x a um valor binário y
O modelo mais simples das RNAs concebido em 1957 no Cornell Aeronautical Laboratory por Frank Rosenblatt.
Modelo simples de um neurónio artificial
Modelo geral com vários outputs onde cada
output é modelado com o modelo do neurónio
simples)
58Aprendizagem Computacional Gladys
Castillo, UA
RNAs - Modelo Caixa Preta (Black-Box)
x 1 x 2 x 3 y1 0 0 01 0 1 11 1 0 11 1 1 10 0 1 00 1 0 00 1 1 10 0 0 0
x 1
x 2
x 3
y
Black box
Output
Input
X1
X2
X3
Y
Black box
w1
t
Outputnode
Inputnodes
w2
w3
Conjunto de Treino
Aprender um Perceptron dos dados
significa aprender os pesos que melhor ajustem o
modelo oculto nos dados
59Aprendizagem Computacional Gladys
Castillo, UA
Perceptron Modelação de uma função booleana
)4.03.03.03.0(ˆ 321 xxxsignyo valor de y é true se pelo menos 2 inputs são true
Função alvo: (target function) Modelação com Perceptron
A aprendizagem do perceptron sempre tem sucesso em tempo finito para um conjunto de treino finito e separável de exemplos
de treino
60Aprendizagem Computacional Gladys
Castillo, UA
PerceptronFronteira de Decisão Linear
O perceptron é usado para conjunto
de treinos linearmente separáveis
61Aprendizagem Computacional Gladys
Castillo, UA
RNAs multi-camadas Feed-Forward
Activationfunction
g(Si )Si Oi
I1
I2
I3
wi1
wi2
wi3
Oi
Neuron iInput Output
threshold, t
InputLayer
HiddenLayer
OutputLayer
x1 x2 x3 x4 x5
yAprender RNAs significa aprender os pesos dos dados. O algoritmo mais popular: back-propagation
Podem existir várias camadas
ocultas
62Aprendizagem Computacional Gladys
Castillo, UA
Funções de Activaçãopara RNAs multicamadas
63Aprendizagem Computacional Gladys
Castillo, UA
Problema de Classificação XOR
Não existe uma fronteira linear que possa separar estas duas classes. (como o Perceptron pode construir apenas um hiperplano,
não podemos usa-lo para modelar este problema)
XOR(x1, x2) = true se e só se um dos inputs é true(note que true = 1, false = -1)
OU exclusivo
64Aprendizagem Computacional Gladys
Castillo, UA
Os exemplos podem ser classificados usando 2 hiperplanos que dividem o espaço dos atributos (input space) em suas
respectivas classes
RNA de Duas Camadas Problema XOR (ou exclusivo)
2 nós de entrada, 2 ocultos e um de saída
65Aprendizagem Computacional Gladys
Castillo, UA
Máquina de Suporte Vectorial Casos Linearmente SeparáveisClassificador de margem maximal: o hiperplano de
classificação w x + b = 0 é aquele com maior margem de separação
0bx wse 1
0b wse1)(ˆ
xxfyClassificador Linear
Binário :
1 : e 1: 21 bHbH xwxw
2
2),cos(
2)(
2121
21
dw
xxwxxw
xxw
A margem da fronteira de decisão d está definida pela distância entre os
hiperplanos
Suponhamos: x1 H1 e x2 H2 Substituindo nas equações e
subtraindo:
w
2d
66Aprendizagem Computacional Gladys
Castillo, UA
MSV Linear Hiperplano de Margem Maximal
Os exemplos nas margens designam-se vectores de suporte
Margem pequeno Margem grande
O hiperplano com maior margem de separação tem melhor capacidade de generalização pois diminui a
possibilidade de erro
d
d
67Aprendizagem Computacional Gladys
Castillo, UA
Aprendizagem de MSV Linear
2
|||| 2w
estas restrições podem ser sumarizadas numa forma mais compacta
minimizar
Dado um conjunto de treino D = {<xi , yi> i=1, ..., N } estimar os valores para w e b por forma a obter o hiperplano de margem maximal, ou seja:
1 se 1,b
1 se 1,b
ii
ii
y
y
xw
xw
Podemos, por exemplo resolvê-lo com o
método dos multiplicadores de
Lagrange
2||||
2 d
wmaximizar
sujeito as seguintes restrições para cada exemplo de treino <xi, yi>
, ...N,iy ii 21 1,b)( xw
Obtendo assim o seguinte problema de optimização não linear (quadrática)
2
|||| 2wminimizar
s.a., ...N,iy ii 21 1,b)( xw
f.o. quadrática
restrições lineares nos parâmetros
w
68Aprendizagem Computacional Gladys
Castillo, UA
Máquinas de Suporte VectorialCasos Linearmente não Separáveis
podemos usar uma MSV linear chamada soft margin classifier quando existerem poucos pontos que fiquem do lado errado de uma fronteira linear de decisão
(introduzindo variáveis de folgas ao problema de optimização anterior)
Para obter uma fronteira de decisão não linear devemos usar uma MSV
não linear
(ideia: mapear o espaço de atributos a um espaço de maior dimensão onde pode ser construída uma
fronteira de decisão linear usando uma função kernel)
Aprendizagem Computacional Gladys Castillo, UA
Modelos Descritivos
70Aprendizagem Computacional Gladys
Castillo, UA
Regras de AssociaçãoDado um conjunto de transacções,
encontrar regras que prevejam a ocorrência de um item
baseado nas ocorrências de outros itens na transacção
71Aprendizagem Computacional Gladys
Castillo, UA
Regra de Associação
Beer}Diaper,Milk{
4.052
|T|)BeerDiaper,,Milk(
s
67.032
)Diaper,Milk()BeerDiaper,Milk,(
c
conjunto de itens (itemset): colecção de um ou mais itensk-itemset = itemset com k items
contagem de suporte (): frequência de ocorrência de um conjunto de itens
suporte (s): fracção das transacções que contêm X e Y
confiança (c): mede quão frequentemente itens em X e Y aparecem em transacções que contém X
conjunto de itens frequentes: se suporte é maior ou igual a um limite minsup
TID Items
1 Bread, Milk
2 Bread, Diaper, Beer, Eggs
3 Milk, Diaper, Beer, Coke
4 Bread, Milk, Diaper, Beer
5 Bread, Milk, Diaper, Coke
Uma expressão de implicação da forma X Y
onde X e Y são conjunto de itens
72Aprendizagem Computacional Gladys
Castillo, UA
Regras de AssociaçãoExemplos
{Milk,Diaper} {Beer} (s=0.4, c=0.67){Milk,Beer} {Diaper} (s=0.4, c=1.0){Diaper,Beer} {Milk} (s=0.4, c=0.67){Beer} {Milk,Diaper} (s=0.4, c=0.67) {Diaper} {Milk,Beer} (s=0.4, c=0.5) {Milk} {Diaper,Beer} (s=0.4, c=0.5)
TID Items
1 Bread, Milk
2 Bread, Diaper, Beer, Eggs
3 Milk, Diaper, Beer, Coke
4 Bread, Milk, Diaper, Beer
5 Bread, Milk, Diaper, Coke
73Aprendizagem Computacional Gladys
Castillo, UA
Aprendizagem de Regras de Associação
Dado um conjunto de transacções T, o objectivo é encontrar todas as regras que tenham:
suporte ≥ minsup (threshold)
confiança ≥ minconf (threshold)
Abordagem em dois passos: Geração de Conjuntos de Itens Frequentes com suporte
minsup Gerar regras com alta confiança a partir de cada conjunto de
itens frequente
Algoritmo mais popular: algoritmo Apriori (Agrawal & Srikant, 1994)
Princípio Apriori: se um conjunto de itens é frequente, então
todos os seus subconjuntos também devem ser frequentes
74Aprendizagem Computacional Gladys
Castillo, UA
Geração do Conjunto de Itens Frequentes
usando o Algoritmo Apriori
75Aprendizagem Computacional Gladys
Castillo, UA
Análise de Clusters
As distancias extra-cluster
são maximizadas
As distancias intra-cluster
são minimizadas
Aprendizagem não supervisada: dados N exemplos descritos pelos seus atributos o objectivo é obter grupos (clusters) de exemplos com una alta variabilidade entre eles e uma alta
similaridade dentro de cada um
76Aprendizagem Computacional Gladys
Castillo, UA
Noção de cluster pode ser ambígua
Quantos clusters?
Four Clusters Two Clusters
Six Clusters
77Aprendizagem Computacional Gladys
Castillo, UA
Tipos de Clusterings
Clustering Particional Divide os objetos em subconjuntos sem
sobreposição (grupos) tal que cada objeto de dados está em exactamente um subconjunto
Clustering Hierárquico Um conjunto de grupos aninhados
organizado como uma árvore hierárquica
78Aprendizagem Computacional Gladys
Castillo, UA
Clustering Particional
Original Points A Partitional Clustering
79Aprendizagem Computacional , Gladys Castillo
Clustering Hierárquico
p4p1
p3
p2
p4 p1
p3
p2
p4p1 p2 p3
p4p1 p2 p3
Traditional Hierarchical Clustering
Non-traditional Hierarchical Clustering Non-traditional Dendrogram
Traditional Dendrogram
80Aprendizagem Computacional Gladys
Castillo, UA
Algoritmos de Aprendizagem
K-means e variantes
Clustering Hierárquico
Clustering baseado em densidade
81Aprendizagem Computacional , Gladys Castillo
References Capítulo 1 do livro de Tom Mitchell, Machine Learning , McGrau Hill (1997) Tom M. Mitchell, The Discipline of Machine Learning, (2006)
on-line em: http://www.cs.cmu.edu/~tom/pubs/MachineLearning.pdf
Capítulos 4 e 5 do livro Introduction to Data Mining P. Tan, M.Steinbach, V.Kumar Alguns dos acetatos e figuras aquí usadas foram adaptadas dos acetatos disponíveis on-line no site do livro e da sua versão portuguesa “brasileira” (tradução de Júlio Cesar Nievola)
Capítulo 6 do livro Data Mining - Concepts and Techniques, J. Han. Morgan Kaufmann (2000)
Videoconferencia “Introduction to Machine Learning”, Isabelle Guyon, on-line em: videolectures.net
Acetatos “Aprendizaje Computacional e Extracção de Informação”, IntroduccionJosé Oncina, Universidad de Alicante on-line: http://www.dlsi.ua.es/asignaturas/aprendizaje/Datos/1-f.pdf
Acetatos “Machine Learning”, Pier Luca Lanzi, Politêcnico di Milano on-line: webspace.elet.polimi.it/lanzi/wp-content/mldm/02MachineLearning.pdf
Acetatos da disciplina “Métodos Matemáticos en Ciencias de la Computación”, I.Inza et al. Universidad del Pais Vasco
Acetatos “Árvores de decisão”, João Gama, Univ. Porto on-line: www.liaad.up.pt/~jgama/Aulas_ECD/arv.pdf
Acetatos “Classificadores Lineares” de Luis OliveiraOn-line: www.ppgia.pucpr.br/~soares/cursos/recpad2/public/classificadoreslineares.pdf