Você está na página 1de 81

Capítulo 1 (Parte II)

Introdução à Aprendizagem Automática


(Machine Learning)

Aprendizagem Computacional Gladys Castillo, UA


Machine Learning
Definiçã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

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:

T – jogar as damas
P – % de partidos ganhos
E – experiência de treinar contra ele próprio

Aprendizagem Computacional Gladys Castillo, UA 2


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:
Aprendizagem Computacional Gladys Castillo, UA 3
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

Aprendizagem Computacional Gladys Castillo, UA 4


Classificador
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

Um classificador é uma função que atribui uma classe a objectos


(exemplos) descritos por um conjunto de atributos
Entrada: valores dos atributos Saída: Classe Predita
Classificador
Exemplo x x1 x2 ... xn f(x) c

Matemáticamente:
Um classificador é uma função f: X C que atribui
uma classe c C a objectos (exemplos) x = (x1, x2, ..,xn) X

Aprendizagem Computacional Gladys Castillo, UA 5


Aprendizagem Supervisada
Aprendizagem Supervisada é a tarefa de induzir um classificador capaz
de predizer com alta fiabilidade as classes de futuros exemplos
a partir de um conjunto de treino com exemplos rotulados

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

 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

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
Aprendizagem Computacional , Gladys Castillo 6
Classificação Supervisada
Fases de Aprendizagem e Classificação
Fase de Aprendizagem:
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 Saída: um classificador que aproxima
o melhor possível a função alvó
D … Xn C f: X C “oculta” nos dados
X1 Aplicar Algoritmo
(1) (1)
<x(1), c(1)> x1 x n c(1) Supervised
<x(2), c(2)> x (2)
x (2)
c(2) Learning h
1 n
Algorithm
… … …
(N ) (N )
<x(N), c(N)> x1 x n c(N)

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))
aplicar classificador
Entrada: Valores dos atributos do exemplo x(N+1) induzido Saída: a classe de x(N+1)

x(N+1) = ( x1( N 1,) x2( N 1,)… , xn( N 1)


) h C(N+1)

Aprendizagem Computacional , Gladys Castillo 7


Aprendizagem Supervisada
Esquema Geral
Um conjunto de treino com exemplos rotulados é usado para 1º. Um algoritmo
treinar o classificador. Cada exemplo representa um objecto de aprendizagem
descrito pelos seus atributos e a sua classe. é executado para
induzir um
Tid Attrib1 Attrib2 Attrib3 Class Learning classificador a
1 Yes Large 125K No
algorithm partir do
2 No Medium 100K No

3 No Small 70K No
conjunto de
treino
4 Yes Medium 120K No
Induction
5 No Large 95K Yes

6 No Medium 60K No

7 Yes Large 220K No Learn


8 No Small 85K Yes Model
9 No Medium 75K No

10 No Small 90K Yes


Model
10

Training Set
Apply
Tid Attrib1 Attrib2 Attrib3 Class Model
11 No Small 55K ?
conjunto de 12 Yes Medium 80K ?

exemplos sem 13 Yes Large 110K ? Deduction


2º. Uma vez construído o
rótulos 14 No Small 95K ?
classificador, este pode
15 No Large 67K ?
10
ser usado para
Test Set classificar futuros
Figura extraída dos acetatos de Introduction to Data Mining P. Tan, M.Steinbach, V.Kumar
exemplos

Aprendizagem Computacional , Gladys Castillo 8


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?

Aprendizagem Computacional Gladys Castillo, UA 9


Exemplo: Atribuição de Crédito Bancário
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
Tid Refund Marital Taxable
Status Income Cheat
Learn
Training
1 Yes Single 125K No
Set Classifier
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No Refund Marital Taxable
Status Income Cheat
5 No Divorced 95K Yes
Chumbaram Model
o pedido 6 No Married 60K No No Single 75K ?

7 Yes Divorced 220K No Yes Married 50K ?

8 No Single 85K Yes No Married 150K ?

9 No Married 75K No Yes Divorced 90K ?


10 No Single 90K Yes No Single 40K ?
10

No Married 80K ?
10

Figura extraída dos acetatos de Introduction to Data Mining P. Tan, M.Steinbach, V.Kumar

Aprendizagem Computacional , Gladys Castillo 10


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 function
Aprender 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
Aprendizagem Computacional Gladys Castillo, UA 11
Modelos de Classificação Supervisada

 Árvores de decisão
Quinlan, 1986; Breiman y col. 1984
 Classificadores baseados em regras
Clark y Nibblet, 1989; Cohen, 1995; Holte, 1993
 Classificadores baseados em instâncias
 Classificadores k–NN
Covert & Hart, 1967; Dasarathy, 1991
 Classificadores Bayesianos
 Naïve Bayes
Duda & Hart, 1973
 Redes Bayesianas
Pearl, 1988
 Redes Neuronais
McCulloch & Pitts, 1943
 Máquinas de suporte vectorial
Cristianini & Shawe–Taylor,2000

Aprendizagem Computacional Gladys Castillo, UA 12


Árvore de decisão
raiz
Problema de Classificação:
x1, x2 - 2 variáveis preditoras
5 classes C
nó de decisão

f: x1 x2 C

 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.
folhas
 Cada percurso na arvore (da raiz à folha)
corresponde a uma regra de classificação.
IF x1 < a1 AND x2 < a3 THEN

Figura dos acetatos sobre árvores de decisão do Prof. João Gama, LIADD, Univ. Porto

Aprendizagem Computacional Gladys Castillo, UA 13


Árvore de decisão
Espaço de Atributos
Problema de Classificação:
x1, x2 - 2 variáveis preditoras
5 classes C

f: x1 x2 C

 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

Figura dos acetatos sobre árvores de decisão do Prof. João Gama, LIADD, Univ. Porto

Aprendizagem Computacional Gladys Castillo, UA 14


Árvore de Decisão
Exemplo 1: Comprar Computador?
o atributo que melhor
discrimina as
Conjunto de Treino classes
age income student credit_rating buys_computer
<=30 high no fair no Induzir
<=30 high no excellent no
31…40 high no fair yes
>40 medium no fair yes
>40 low yes fair yes
>40 low yes excellent no
31…40 low yes excellent yes age?
<=30 medium no fair no
<=30 low yes fair yes
>40 medium yes fair yes <=30 overcast
30..40 >40
<=30 medium yes excellent yes
31…40 medium no excellent yes
31…40 high yes fair yes student? yes credit ra
>40 medium no excellent no

Esta árvore
no foi induzida
yes com o excellent
algoritmo ID3 de Quinlan
no yes no
Figura dos acetatos do livro Data Mining, Concepts and Techniques, Han & Kamber

Aprendizagem Computacional Gladys Castillo, UA 15


Árvore de Decisão
Exemplo 2: Atribuição de Crédito Bancário
Conjunto de Treino
Tid Refund Marital Taxable
Status Income Cheat

1 Yes Single 125K No


2 No Married 100K No Refund
Yes No
3 No Single 70K No
4 Yes Married 120K No Aprender NO Marital State
5 No Divorced 95K Yes Married
Single, Divorced
6 No Married 60K No
7 Yes Divorced 220K No TaxInc NO
8 No Single 85K Yes < 80K > 80K

9 No Married 75K No
NO YES
10 No Single 90K Yes
10

Figura extraída dos acetatos de Introduction to Data Mining P. Tan, M.Steinbach, V.Kumar

Aprendizagem Computacional Gladys Castillo, UA 16


Árvore de Decisão
Exemplo 2: Atribuição de Crédito Bancário
Conjunto de Treino Outra árvore para representar
o mesmo problema
Tid Refund Marital Taxable
Status Income Cheat MarSt
Married Single, Divorced
1 Yes Single 125K No
2 No Married 100K No
NO Refund
3 No Single 70K No
Yes No
4 Yes Married 120K No
5 No Divorced 95K Yes NO TaxInc
< 80K > 80K
6 No Married 60K No
7 Yes Divorced 220K No
NO YES
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes Usando diferentes algoritmos podemos obter
diferentes árvores para ajustar
10

(representar) os mesmos dados


Figura extraída dos acetatos de Introduction to Data Mining P. Tan, M.Steinbach, V.Kumar

Aprendizagem Computacional Gladys Castillo, UA 17


Árvores de Decisão
Classificação de um novo exemplo
Novo exemplo
Começar pela raiz da árvore Refund Marital Taxable
Status Income Cheat

No Married 80K ?
Refund 10

Yes No

NO MarSt

Single Married Atribuir se


Divorced Cheat = “No”
(engano, fraude)
TaxInc NO
< 80K > 80K

NO YES

Figura extraída dos acetatos de Introduction to Data Mining P. Tan, M.Steinbach, V.Kumar

Aprendizagem Computacional Gladys Castillo, UA 18


Á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

Aprendizagem Computacional Gladys Castillo, UA 19


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

Aprendizagem Computacional Gladys Castillo, UA 20


Exemplo de Conjunto de Regras
Name Blood Type Give Birth Can Fly Live in Water Class
human warm yes no no mammals
python cold no no no reptiles
salmon cold no no yes fishes
whale warm yes no yes mammals
frog cold no no sometimes amphibians
komodo cold no no no reptiles
bat warm yes yes no mammals
pigeon warm no yes no birds
cat warm yes no no mammals
leopard shark cold yes no yes fishes
turtle cold no no sometimes reptiles
penguin warm no no sometimes birds
porcupine warm yes no no mammals
eel cold no no yes fishes
salamander cold no no sometimes amphibians
gila monster cold no no no reptiles
platypus warm no no no mammals
owl warm no yes no birds
dolphin warm yes no yes mammals
eagle warm no yes no birds

R1: (Give Birth = no) (Can Fly = yes) Birds


R2: (Give Birth = no) (Live in Water = yes) Fishes
R3: (Give Birth = yes) (Blood Type = warm) Mammals
R4: (Give Birth = no) (Can Fly = no) Reptiles
R5: (Live in Water = sometimes) Amphibians
Aprendizagem Computacional Gladys Castillo, UA 21
Classificação com Conjunto de Regras
Uma regra r cobre um exemplo x
se os seus atributos satisfazem a condição da regra
R1: (Give Birth = no) (Can Fly = yes) Birds
R2: (Give Birth = no) (Live in Water = yes) Fishes
R3: (Give Birth = yes) (Blood Type = warm) Mammals
R4: (Give Birth = no) (Can Fly = no) Reptiles
R5: (Live in Water = sometimes) Amphibians

Name Blood Type Give Birth Can Fly Live in Water Class
hawk warm no yes no ?
grizzly bear warm yes no no ?

A regra R1 cobre a hawk (falcão) => Bird


A regra R3 cobre the grizzly bear (urso pardo) => Mammal

Aprendizagem Computacional Gladys Castillo, UA 22


Classificadores baseados em Regras
Caracterí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

Aprendizagem Computacional Gladys Castillo, UA 23


Classificador baseado em Regras
Fase de Classificação

R1: (Give Birth = no) (Can Fly = yes) Birds


Name Blood R2:
Type(Give Birth = no) (Live
Give Birth Can in
FlyWater = in
Live yes)
WaterFishes Class
lemur warm R3: (Give Birth yes= yes) (Blood
no Type = warm)
no Mammals ?
turtle cold R4: (Give Birth
no= no) (CannoFly = no) Reptiles
sometimes ?
dogfish shark cold yes = sometimes)
R5: (Live in Water no yes
Amphibians ?
• 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)

Aprendizagem Computacional Gladys Castillo, UA 24


Classificadores baseados em Regras
Aprendizagem

 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

Aprendizagem Computacional Gladys Castillo, UA 25


Regras de uma Árvore de Decisão
Classification Rules
Refund
(Refund=Yes) ==> No
Yes No
(Refund=No, Marital Status={Single,Divorced},
NO Marita l Taxable Income<80K) ==> No
{Single, Status
{Married} (Refund=No, Marital Status={Single,Divorced},
Divorced} Taxable Income>80K) ==> Yes

Taxable NO (Refund=No, Marital Status={Married}) ==> No


Income
< 80K > 80K

NO YES
As regras são mutuamente exclusivas e exaustivas
Um conjunto de regras contem tanta informação
quanto a árvore

Aprendizagem Computacional Gladys Castillo, UA 26


Classificadores baseados
em instâncias (Lazy Classifiers)
 Não construi um modelo dos
Conjunto
Set de Treino
of Stored Cases dados, por isso é chamado
preguiçoso
Atr1 ……... AtrN Class
 Usa apenas o conjunto de
A
treino para classificar os
B novos exemplos
B Unseen Case
Novo exemplo
C
Atr1 ……... AtrN
A
C
B

Aprendizagem Computacional Gladys Castillo, UA 27


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

Aprendizagem Computacional Gladys Castillo, UA 28


k-Vizinhos mais Próximos

X
X X
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

Aprendizagem Computacional Gladys Castillo, UA 29


k-Vizinhos mais Próximos
Requer:
Se k=4, para este exemplo
identificamos os 4 vizinhos 1. Conjunto de treino
mais próximos e atribuímos a 2. Métrica de distância
classe daUnknown
maioria que é “+”
record
usualmente distância Euclidiana
3. Valor de k
o número de vizinhos mais próximos

Para classificar um novo exemplo:

1. 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”

Aprendizagem Computacional , Gladys Castillo 30


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) :

Como determinar P(cj | x) ? Usando o Teorema de Bayes


posterior prior x likelihood 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
P(x) pode ser ignorado
porque é o mesmo para
todas as classes
Maximum a
posteriori
classification

Aprendizagem Computacional Gladys Castillo, UA 31


Duda and Hart (1973); Langley (1992)

Classificador Naïve Bayes (NB)


Bayesian
Classification
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: Naïve Bayes - assume uma “very naïve” suposição:


Todos os atributos são condicionalmente independentes dado a classe
Podemos descompô-lo num produto
de n termos, um por cada atributo

NB
classification

Aprendizagem Computacional Gladys Castillo, UA 32


Classificando um exemplo com NB
x =(age<=30 , income =medium, student=yes, credit_rating=fair)

Conjunto de Treino

1. Estimar as probabilidade apriori P(cj) de cada classe age income studentcredit_rating


buys_compu
P(buys_computer = “yes”) = 9/14 = 0.643 <=30 high no fair no
<=30 high no excellent no
P(buys_computer = “no”) = 5/14 = 0.357 31…40 high no fair yes
>40 medium no fair yes
2. Estimar as condicionais P(xi|cj) para cada atributo >40 low yes fair yes
P(age = “<=30” | buys_computer = “yes”) = 2/9 = 0.222 >40 low yes excellent no
31…40 low yes excellent yes
P(age = “<= 30” | buys_computer = “no”) = 3/5 = 0.6
<=30 medium no fair no
P(income = “medium” | buys_computer = “yes”) = 4/9 = 0.444 <=30 low yes fair yes
P(income = “medium” | buys_computer = “no”) = 2/5 = 0.4 >40 medium yes fair yes
P(student = “yes” | buys_computer = “yes”) = 6/9 = 0.667 <=30 medium yes excellent yes
P(student = “yes” | buys_computer = “no”) = 1/5 = 0.2 31…40 medium no excellent yes
P(credit_rating = “fair” | buys_computer = “yes”) = 6/9 = 0.667 31…40 high yes fair yes
P(credit_rating = “fair” | buys_computer = “no”) = 2/5 = 0.4 >40 medium no excellent no

3. Calcular P(x|cj) para cada classe x pertence à


P(x|buys_computer = “yes”) = 0.222 x 0.444 x 0.667 x 0.667 = 0.044 classe
P(x|buys_computer = “no”) = 0.6 x 0.4 x 0.2 x 0.4 = 0.019 “buys_PC=yes”

máximo
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
Exemplo do livro Data Mining: Concepts and Techniques, Han & Kamber
Aprendizagem Computacional Gladys Castillo, UA 33
artificial problem from the UCI repository.

The Balance-scale Problem


The dataset was generated to model psychological experimental results
 Each example has 4 numerical attributes:
 the left weight (Left_W)

 the left distance (Left_D)


Left_D Right_D
 the right weight (Right_W)

 right distance (Right_D)

 Each example is classified into 3 classes:


the balance-scale: Right_W
 tip to the right (Right) Left_W
 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 left
 If LD x LW < RD x RW tip to the right
 If LD x LW = RD x RW it is balanced

Aprendizagem Computacional Gladys Castillo, UA 34


Fase de Aprendizagem do NB Classes Counters

Exemplo: Problema da balança Left Balanced Right Total

260 45 260 565

Como consideramos NB para atributos discretos discretizar: Contingency Tables


cada valor de atributo é mapeado a um dos 5 intervalos Attribute:
Attribute: Left_W
Left_W

Class I1 I2 I3 I4 I5
Conjunto de Treino : 565 exemplos Fase de
Left 14 42 61 71 72

Balance-
Balance-Scale DataSet Balanced 10 8 8 10 9

Right 86 66 49 34 25
Left_W
Left_W Left_D
Left_D Right_W
Right_W Right_D
Right_D Class
Aprendizagem
Attribute:
Attribute: Left_D
Left_D
1 5 4 2 Right
Class I1 I2 I3 I4 I5
2 5 3 2 Left Left 16 38 59 70 77

3 4 6 2 Balanced Balanced 8 10 9 10 8

Right 90 57 49 37 27
... ... ... ... ...
Attribute:
Attribute: Right_W
Right_W

Class I1 I2 I3 I4 I5
Para aprender um classificador NB o primeiro que devemos fazer é Left 87 63 49 33 28

preencher a partir de uma única passagem pelo conjunto de treino: Balanced 8 10 10 9 8

• uma tabela com os contadores das classes Right 16 37 58 70 79

• uma tabela de contingência por cada atributo Attribute:


Attribute: Right_D
Right_D

Class I1 I2 I3 I4 I5
contêm um contador para cada combinação
Left 91 65 44 35 25
<valor de atributo, classe>
Balanced 8 10 8 10 9

Right 17 37 57 67 82

Aprendizagem Computacional Gladys Castillo, UA 35


Fase de Classificação do NB
Exemplo: Problema da balança

Uma vez construído o classificador, como classificar um novo exemplo?

A tabela com os contadores das


Left_W
Left_W Left_D
Left_D Right_W
Right_W Right_D
Right_D Class
classes e as tabelas de
contingência são usadas para
1 5 4 2 Right
? calcular as probabilidades
necessárias
Determinar P(cj | x) para cada classe:

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 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.586978 Classe = Right
max
Aprendizagem Computacional Gladys Castillo, UA 36
Pearl (1988, 2000); Jensen (1996); Lauritzen (1996)

Redes Bayesianas
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:


Graph Probability
theory theory

Qualitative part Quantitative part


the set of parameters
the structure S - a Directed S
 conditional probability
Acyclic Graph (DAG) distributions (CPDs)
 nodes – random variables  If variables are discrete
 arcs - direct dependence CPDs are conditional
between variables probability tables (CPTs)

Markov
condition : each node is independent of its non descendants given its parents in S

P ( X 1 ,..., X n ) P ( X i | Pa i )
i
Aprendizagem Computacional , Gladys Castillo 37
Example: Alarm Network (Pearl)
Bayesian Network
X = { B - Burglary, E- Earthquake, A - Alarm, J - JohnCalls, M – MaryCalls }
The Bayesian Network has two components:
 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}

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
Aprendizagem Computacional , Gladys Castillo 38
Example: Alarm Network (Pearl)
Factored Joint Probability Distribution

X = {B (Burglary), (E) Earthquake, (A) Alarm, (J) JohnCalls, (M) MaryCalls}

P(B, E, A, J, M) = P(B) P(E) P(A|B, E) P(J|A) P(M|A)

Aprendizagem Computacional Gladys Castillo, UA 39


Redes Bayesianas
Um 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

P(HeartBurn=“yes”|
Dieta=“Healthy”) = 0.2

acidez

tensão dor no peito

Aprendizagem Computacional Gladys Castillo, UA 40


Classificadores de Redes Bayesianas
Como classificador Bayesiano a classe c atribuída a um exemplo
x é aquela que maximiza a probabilidade a posteriori

c =hBNC (x) = arg max P(cj | x , S) j=1…m


Probabilidade também proporcional à probabilidade conjunta
condicionada à
estrutura S da rede P ( c j | x, S ) P (c j , x | S )
Bayesiana

 Restricted approach:
contains the NB structure
A Tree Augmented NB (TAN)

A BN Augmented NB (BAN)
 Unrestricted approach:
the class node is treated A General BN (GBN)
structure
as an ordinary node

Aprendizagem Computacional Gladys Castillo, UA 41


Learning Bayesian Networks
Let X = {X1,X2, ...,Xn} be a set of random variables for a domain under study

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

Represents
Data

Learning • P(X1,X2,X3,X4,X5)
Algorithm
• Independence
Statements
• Causality
Prior information

Aprendizagem Computacional Gladys Castillo, UA 42


Learning Bayesian Networks
How many Learning Problems?
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.

Known Structure Unknown Structure


Complete Data Statistical Discrete optimization
parametric over structures
estimation (discrete search)
(closed-form eq.)

Incomplete Data Parametric Combined


optimization (Structural EM, mixture
(EM, gradient models…)
descent...)

© 1998, Nir Friedman, U.C. Berkeley, and Moises Goldszmidt, SRI International. All rights reserved.

Aprendizagem Computacional Gladys Castillo, UA 43


Classificadores Lineares
Se 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

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

Figura extraídas dos acetatos de Luis Oliveira, Classificadores Lineares

Aprendizagem Computacional Gladys Castillo, UA 44


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

linearmente linearmente
separável não separável

Figura extraídas dos acetatos de Aluizio F. R. Araújo, Máquinas de Vectores Suporte

Aprendizagem Computacional Gladys Castillo, UA 45


IRIS Data (Fisher, 1936)
Problema clásico de classificação das flores iris.
 3 classes
 setosa
 versicolor
 virginica
 4 atributos
 comprimento da pétala
 largura da pétala
 comprimento da sépala
 largura da sépala

O conjunto de dados contêm 50 exemplos por cada classe


On-line no UCI Machine Learning Repository
http://www.ics.uci.edu/~mlearn/MLRepository.html
Aprendizagem Computacional Gladys Castillo, UA 46
Classificadores Lineares e Não Lineares
Iris Data (Fisher, 1936)
Figure from Norbert Jankowski and Krzysztof Grabczewski x setosa
Discriminante Linear Árvore de Decisão O virginica
+ versicolor

setosa

Gaussian mixture Kernel method (SVM)


Aprendizagem Computacional Gladys Castillo, UA 47
Fronteira de Decisão Linear
A fronteira de decisão linear está definida pelos
hiperplanos que separam as classes
0.5
x2
0.4

0.3

0.2

0.1
X3 0
x3
-0.1

-0.2

-0.3

-0.4

-0.5
-0.5
0 -0.5
0
x1 0.5 0.5
X2 Learning”, Isabelle Guyon
Figuras extraídas de “Introduction to Machine
xX11
Aprendizagem Computacional Gladys Castillo, UA 48
Fronteiras de Decisão Não Linear
Funções não lineares separam as classes

x2
0.5

x3Hs.7780 0

-0.5
0.5
0.5
0
0

x 2
Hs.234680 -0.5 -0.5
Hs.128749
x1 x1
Figuras extraídas de “Introduction to Machine Learning”, Isabelle Guyon

Aprendizagem Computacional , Gladys Castillo 49


Fit / Robustness Tradeoff
O que será melhor: a fronteira linear ou não linear?

x2 x2

x1 x1
Figuras extraídas de “Introduction to Machine Learning”, Isabelle Guyon 15
Aprendizagem Computacional Gladys Castillo, UA 50
Classificadores Lineares
Hiperplano de Classificação: g(x) = w x+b=0 fronteira de
decisão linear
onde:
 w - vector de pesos determina a orientação do hiperplano
 b – desvio (bias)

1 se w x b 0
Classificador Linear Binário : yˆ f ( x)
1 se w x b 0

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”

Figura extraídas dos acetatos de Luis Oliveira, Classificadores Lineares

Aprendizagem Computacional Gladys Castillo, UA 51


Classificadores Lineares
Soluções possíveis
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)
B2
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)

Aprendizagem Computacional Gladys Castillo, UA 52


Classificadores Lineares

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

Figura extraída dos acetatos de Introduction to Data Mining P. Tan, M.Steinbach, V.Kumar

Aprendizagem Computacional Gladys Castillo, UA 53


Redes Neuronais Artificiais (RNAs)
Outro nome: modelos conexionistas

Modelo distribuído de computação paralela


com alto nível de granularidade

 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.

Aprendizagem Computacional Gladys Castillo, UA 54


Redes Neuronais Artificiais (RNAs)
 As RNAs contêm tem 3 tipos de camadas
(layers): modelo com 3 camadas
 input layer: informação que entra no neurónio
 hidden layer: camadas intermédias, podem ser
várias
 output layer: informação que sai nós de
nós de
entrada
saída
 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 nós
ocultos

Aprendizagem Computacional Gladys Castillo, UA 55


Modelo de um Neurónio Artificial
 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
sinapsis
(soma ponderada, função não linear)
(pesos)
somató
 axónio: canal de saídan x1
w1 pesad
distribuição a outros
y sign(neurónios
i 0
wi xi k)

x2 w2
 Potencial pos-sináptico:

Entradas
dendritas
h (w, x) = w . x = j wj xj
 O factor bias t é usualmente subtraído wn
ao potencial pos-sináptico
xn
 função de activação para obter y: y = f(w x – t) = f( j wj xj – t)
-1
y = f (w. x – t)

Aprendizagem Computacional Gladys Castillo, UA 56


O modelo mais simples das RNAs concebido em 1957 no Cornell

Perceptron
Aeronautical Laboratory por Frank Rosenblatt.

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
Modelo simples de um Modelo geral com vários
neurónio artificial outputs onde cada output
Input
é modelado com o modelo
nodes Black box do neurónio simples)
Output
X1 w1 node
w2
X2  Y
w3
X3 t

função de activação: a função sinal


1 if w. x t 0
y sign( wi xi t )
i 1 otherwise

Aprendizagem Computacional Gladys Castillo, UA 57


RNAs - Modelo Caixa Preta (Black-Box)
Conjunto de Treino
x1 x2 x3 y Input Black box
1 0 0 0
1 0 1 1 x1
1 1 0 1 Output
1 1 1 1
0 0 1 0
x2 y
0 1 0 0
0 1 1 1 x3
0 0 0 0
Input
nodes Black box
Aprender um Perceptron Output
dos dados significa X1 w1 node
aprender os pesos que
melhor ajustem o modelo w2
oculto nos dados X2  Y
w3
X3 t

Aprendizagem Computacional Gladys Castillo, UA 58


Perceptron
Modelação de uma função booleana
Função alvo: (target function) Modelação com Perceptron
o valor de y é true se pelo menos 2 inputs são true yˆ sign(0.3x1 0.3x2 0.3x3 0.4)

A aprendizagem do perceptron sempre tem sucesso em tempo finito para


um conjunto de treino finito e separável de exemplos de treino
Aprendizagem Computacional Gladys Castillo, UA 59
Perceptron
Fronteira de Decisão Linear

O perceptron é usado
para conjunto de
treinos linearmente
separáveis

Aprendizagem Computacional Gladys Castillo, UA 60


RNAs multi-camadas Feed-Forward
x1 x2 x3 x4 x5

Input Neuron i Output


Input
I1 wi1
Layer
wi2 Activation
I2
wi3
Si function Oi Oi
g(Si )
I3
Hidden
Layer threshold, t

Podem existir
várias camadas
Output
ocultas
Layer

Aprender
y RNAs significa aprender os pesos dos dados.
O algoritmo mais popular: back-propagation
Aprendizagem Computacional Gladys Castillo, UA 61
Funções de Activação
para RNAs multicamadas

Aprendizagem Computacional Gladys Castillo, UA 62


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)

OU exclusivo
XOR(x1, x2) = true se e só se um dos
inputs é true
(note que true = 1, false = -1)

Aprendizagem Computacional Gladys Castillo, UA 63


RNA de Duas Camadas
Problema XOR (ou exclusivo)
Os exemplos podem ser classificados usando 2 hiperplanos que dividem o
espaço dos atributos (input space) em suas respectivas classes

2 nós de entrada, 2 ocultos e um de saída

Aprendizagem Computacional Gladys Castillo, UA 64


Máquina de Suporte Vectorial
Casos Linearmente Separáveis
Classificador de margem maximal: o hiperplano de classificação
w x + b = 0 é aquele com maior margem de separação

1 se w x b 0
Classificador Linear Binário : yˆ f ( x)
1 se w x b 0
A margem da fronteira de decisão d está
definida pela distância entre os hiperplanos

H1 : w x b 1 e H 2 : w x b 1
Suponhamos: x1 H1 e x2 H2
Substituindo nas equações e subtraindo:

w (x1 x 2 ) 2
w x1 x 2 cos(w , x1 x 2 ) 2
2
w d 2 d
w

Aprendizagem Computacional Gladys Castillo, UA 65


MSV Linear
Hiperplano de Margem Maximal
O hiperplano com maior margem de separação tem melhor
capacidade de generalização pois diminui a possibilidade de erro

Margem pequeno Margem grande


Os exemplos nas margens designam-se vectores de suporte
Aprendizagem Computacional Gladys Castillo, UA 66
Aprendizagem de MSV Linear
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:
2 || w || 2
maximizar d minimizar
|| w || 2 2
sujeito as seguintes restrições para cada exemplo de treino <xi, yi>
w xi b 1, se yi 1 yi ( w x i b) 1, i 1,2, ...N
w xi b 1, se yi 1 estas restrições podem ser sumarizadas
numa forma mais compacta
Obtendo assim o seguinte problema de optimização não linear (quadrática)

minimizar || w || 2 f.o. quadrática


w Podemos, por exemplo
s.a. 2 resolvê-lo com o método
dos multiplicadores de
yi ( w x i b) 1, i 1,2, ...N Lagrange
restrições lineares nos parâmetros

Aprendizagem Computacional Gladys Castillo, UA 67


Máquinas de Suporte Vectorial
Casos Linearmente não Separáveis

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)

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)

Aprendizagem Computacional Gladys Castillo, UA 68


Modelos Descritivos

Aprendizagem Computacional Gladys Castillo, UA


Regras de Associação
Dado 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

Aprendizagem Computacional Gladys Castillo, UA 70


Regra de Associação
Uma expressão de implicação da forma X Y
onde X e Y são conjunto de itens
TID Items
 conjunto de itens (itemset):
1 Bread, Milk
colecção de um ou mais itens
k-itemset = itemset com k items 2 Bread, Diaper, Beer, Eggs
3 Milk, Diaper, Beer, Coke
 contagem de suporte ( ): frequência de
ocorrência de um conjunto de itens 4 Bread, Milk, Diaper, Beer
5 Bread, Milk, Diaper, Coke
 suporte (s): fracção das transacções que
contêm X e Y {Milk , Diaper} Beer
 confiança (c): mede quão
frequentemente itens em X e Y (Milk, Diaper, Beer) 2
aparecem em transacções que contém X s 0.4
|T| 5
 conjunto de itens frequentes: se
suporte é maior ou igual a um limite
(Milk, Diaper, Beer) 2
c 0.67
minsup (Milk, Diaper ) 3

Aprendizagem Computacional Gladys Castillo, UA 71


Regras de Associação
Exemplos

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

{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)

Aprendizagem Computacional Gladys Castillo, UA 72


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

Aprendizagem Computacional Gladys Castillo, UA 73


Geração do Conjunto de Itens Frequentes
usando o Algoritmo Apriori

Aprendizagem Computacional Gladys Castillo, UA 74


Análise de Clusters
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

As distancias
As distancias extra-cluster são
intra-cluster são maximizadas
minimizadas

Aprendizagem Computacional Gladys Castillo, UA 75


Noção de cluster pode ser ambígua

Quantos clusters? Six Clusters

Two Clusters Four Clusters

Aprendizagem Computacional Gladys Castillo, UA 76


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

Aprendizagem Computacional Gladys Castillo, UA 77


Clustering Particional

Original Points A Partitional Clustering

Aprendizagem Computacional Gladys Castillo, UA 78


Clustering Hierárquico
p1
p3 p4
p2
p1 p2 p3 p4
Traditional Hierarchical Clustering Traditional Dendrogram

p1
p3 p4
p2
p1 p2 p3 p4
Non-traditional Hierarchical Clustering Non-traditional Dendrogram

Aprendizagem Computacional , Gladys Castillo 79


Algoritmos de Aprendizagem
 K-means e variantes

 Clustering Hierárquico

 Clustering baseado em densidade

Aprendizagem Computacional Gladys Castillo, UA 80


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”, Introduccion


José 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 Oliveira
On-line: www.ppgia.pucpr.br/~soares/cursos/recpad2/public/classificadoreslineares.pdf
Aprendizagem Computacional , Gladys Castillo 81