Lesson 1: Introduction to Machine Learning

81
Aprendizagem Computacional Gladys Castillo, UA Capítulo 1 (Parte II) Introdução à Aprendizagem Automática (Machine Learning)

description

The objective of this lesson is to introduce the area of Machine Learning and the nature of the different predictive and descriptive models that can be used to model knowledge from databases. More information (references, video-conferences, etc) can be found in the course page: https://sites.google.com/site/gladyscjaprendizagem/program/introduction

Transcript of Lesson 1: Introduction to Machine Learning

Page 1: Lesson 1: Introduction to Machine Learning

Aprendizagem Computacional Gladys Castillo, UA

Capítulo 1 (Parte II)

Introdução à Aprendizagem Automática

(Machine Learning)

Page 2: Lesson 1: Introduction to 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:

Page 3: Lesson 1: Introduction to Machine Learning

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:

Page 4: Lesson 1: Introduction to Machine Learning

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

Page 5: Lesson 1: Introduction to Machine Learning

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:

Page 6: Lesson 1: Introduction to Machine Learning

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

Page 7: Lesson 1: Introduction to Machine Learning

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) = ( , , , )

Page 8: Lesson 1: Introduction to Machine Learning

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

Page 9: Lesson 1: Introduction to Machine Learning

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?

Page 10: Lesson 1: Introduction to Machine Learning

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

Page 11: Lesson 1: Introduction to Machine Learning

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

Page 12: Lesson 1: Introduction to Machine Learning

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

Page 13: Lesson 1: Introduction to Machine Learning

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

Page 14: Lesson 1: Introduction to Machine Learning

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

Page 15: Lesson 1: Introduction to Machine Learning

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

Page 16: Lesson 1: Introduction to Machine Learning

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

Page 17: Lesson 1: Introduction to Machine Learning

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

Page 18: Lesson 1: Introduction to Machine Learning

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

Page 19: Lesson 1: Introduction to Machine Learning

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

Page 20: Lesson 1: Introduction to Machine Learning

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

Page 21: Lesson 1: Introduction to Machine Learning

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

Page 22: Lesson 1: Introduction to Machine Learning

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

Page 23: Lesson 1: Introduction to Machine Learning

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

Page 24: Lesson 1: Introduction to Machine Learning

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

Page 25: Lesson 1: Introduction to Machine Learning

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

Page 26: Lesson 1: Introduction to Machine Learning

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

Page 27: Lesson 1: Introduction to Machine Learning

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

Page 28: Lesson 1: Introduction to Machine Learning

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

Page 29: Lesson 1: Introduction to Machine Learning

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

Page 30: Lesson 1: Introduction to Machine Learning

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 é “+”

Page 31: Lesson 1: Introduction to Machine Learning

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

Page 32: Lesson 1: Introduction to Machine Learning

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

Page 33: Lesson 1: Introduction to Machine Learning

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

Page 34: Lesson 1: Introduction to Machine Learning

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

Page 35: Lesson 1: Introduction to Machine Learning

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>

Page 36: Lesson 1: Introduction to Machine Learning

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

Page 37: Lesson 1: Introduction to Machine Learning

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 :

Page 38: Lesson 1: Introduction to Machine Learning

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

Page 39: Lesson 1: Introduction to Machine Learning

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

Page 40: Lesson 1: Introduction to Machine Learning

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

Page 41: Lesson 1: Introduction to Machine Learning

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

Page 42: Lesson 1: Introduction to Machine Learning

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

Page 43: Lesson 1: Introduction to Machine Learning

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 .

Page 44: Lesson 1: Introduction to Machine Learning

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

Page 45: Lesson 1: Introduction to Machine Learning

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

Page 46: Lesson 1: Introduction to Machine Learning

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

Page 47: Lesson 1: Introduction to Machine Learning

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

Page 48: Lesson 1: Introduction to Machine Learning

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

Page 49: Lesson 1: Introduction to Machine Learning

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

Page 50: Lesson 1: Introduction to Machine Learning

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

Page 51: Lesson 1: Introduction to Machine Learning

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

Page 52: Lesson 1: Introduction to Machine Learning

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)

Page 53: Lesson 1: Introduction to Machine Learning

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

Page 54: Lesson 1: Introduction to Machine Learning

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

Page 55: Lesson 1: Introduction to Machine Learning

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

Page 56: Lesson 1: Introduction to Machine Learning

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)

Page 57: Lesson 1: Introduction to Machine Learning

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)

Page 58: Lesson 1: Introduction to Machine Learning

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

Page 59: Lesson 1: Introduction to Machine Learning

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

Page 60: Lesson 1: Introduction to Machine Learning

60Aprendizagem Computacional Gladys

Castillo, UA

PerceptronFronteira de Decisão Linear

O perceptron é usado para conjunto

de treinos linearmente separáveis

Page 61: Lesson 1: Introduction to Machine Learning

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

Page 62: Lesson 1: Introduction to Machine Learning

62Aprendizagem Computacional Gladys

Castillo, UA

Funções de Activaçãopara RNAs multicamadas

Page 63: Lesson 1: Introduction to Machine Learning

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

Page 64: Lesson 1: Introduction to Machine Learning

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

Page 65: Lesson 1: Introduction to Machine Learning

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

Page 66: Lesson 1: Introduction to Machine Learning

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

Page 67: Lesson 1: Introduction to Machine Learning

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

Page 68: Lesson 1: Introduction to Machine Learning

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)

Page 69: Lesson 1: Introduction to Machine Learning

Aprendizagem Computacional Gladys Castillo, UA

Modelos Descritivos

Page 70: Lesson 1: Introduction to Machine Learning

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

Page 71: Lesson 1: Introduction to Machine Learning

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

Page 72: Lesson 1: Introduction to Machine Learning

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

Page 73: Lesson 1: Introduction to Machine Learning

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

Page 74: Lesson 1: Introduction to Machine Learning

74Aprendizagem Computacional Gladys

Castillo, UA

Geração do Conjunto de Itens Frequentes

usando o Algoritmo Apriori

Page 75: Lesson 1: Introduction to Machine Learning

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

Page 76: Lesson 1: Introduction to Machine Learning

76Aprendizagem Computacional Gladys

Castillo, UA

Noção de cluster pode ser ambígua

Quantos clusters?

Four Clusters Two Clusters

Six Clusters

Page 77: Lesson 1: Introduction to Machine Learning

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

Page 78: Lesson 1: Introduction to Machine Learning

78Aprendizagem Computacional Gladys

Castillo, UA

Clustering Particional

Original Points A Partitional Clustering

Page 79: Lesson 1: Introduction to Machine Learning

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

Page 80: Lesson 1: Introduction to Machine Learning

80Aprendizagem Computacional Gladys

Castillo, UA

Algoritmos de Aprendizagem

K-means e variantes

Clustering Hierárquico

Clustering baseado em densidade

Page 81: Lesson 1: Introduction to Machine Learning

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