Aprendizagem Automática

40
Aprendizagem Automática Aprendizagem Supervisionada Aprendizagem Não Supervisionada

Transcript of Aprendizagem Automática

Page 1: Aprendizagem Automática

Aprendizagem Automática

Aprendizagem SupervisionadaAprendizagem Não Supervisionada

Page 2: Aprendizagem Automática

Aula anterior

Redes NeuronaisMétodos de aceleração de Redes

Neuronais

Page 3: Aprendizagem Automática

Aprendizagem Supervisionada

Dado um conjunto de exemplos, será que é possível descobrir o padrão que os gera? Exemplo simples:

Exemplo Céu Temp. Humid Vento Mar Prev Sair?

1 Limpo Calor Normal Forte Quente Estável Sim

2 Limpo Calor Alta Forte Quente Estável Sim

3 Nublado Frio Alta Forte Quente Instável Não

4 Limpo Calor Alta Forte Frio Instável Sim

5 Chuva Frio Alta Forte Quente Instável ?

Page 4: Aprendizagem Automática

Valores

Valores possíveis, por atributo

Céu Temp Húmid. Vento Mar Prev

Limpo Calor Normal Forte Quente Estável

Nublado Frio Alta Fraco Frio Instável

Chuva

Page 5: Aprendizagem Automática

Pre-processamento

Discretizar, quantificar, normalizar …

Exemplo Céu Temp. Humid Vento Mar Prev Sair?

1 Limpo / 1 Calor / 1

Normal / 0 ? 0.5

Forte / 1 Quente / 1

Estável / 1

Sim / 1

2 Limpo / 1 Calor / 1

Alta / 1 Forte / 1 Quente / 1

Estável / 1

Sim / 1

3 Nublado / 0.5 ? 2

Frio / 0 Alta / 1 Forte / 1 Quente / 1

Instável / 0

Não / 0

4 Limpo / 1 Calor / 1

Alta / 1 Forte / 1 Frio / 0 Instável / 0

Sim / 1

5 Chuva / 0 Frio / 0 Alta / 1 Forte / 1 Quente / 1

Instável / 0

?

Page 6: Aprendizagem Automática

Quantização Vectorial (Learning Vector Quantization)

Descobrir o padrão/exemplo mais parecido com o que queremos classificar

Atribuir ao novo exemplo a mesma classe Problemas:

definir “parecido” não é muito fiável quando há “ruído”

... Usar representantes/protótipos (1 por classe)(semelhante à Aprendizagem Competitiva, ... mas o representante é aproximado se a classificação é correcta e afastado caso contrário)

(L)VQ: (Learning) Vector Quantization Usado com sucesso na compressão de dados e

classificação de documentação.

Page 7: Aprendizagem Automática

K-Nearest Neighbours (K-NN)

Descobrir os K padrões mais semelhantes ao que queremos classificar

Seleccionar uma classe de entre os padrões conhecidos (como? média? votação?)

Problemas: novamente: definir a distância, definir o modo de selecção, algumas dificuldades com problemas

não lineares

Page 8: Aprendizagem Automática

Case-Based Reasoning (matéria de IA)

Semelhante ao K-NN, mas … Não guarda todos os exemplos, antes cria “casos-

padrão”: Quando um padrão de entrada “está incluído” num “caso”

guardado, é ignorado; Quando um padrão de entrada “é semelhante” a um “caso”

guardado, o caso é estendido para incluir o novo padrão; Quando um padrão de entrada “não é semelhante” a nenhum

“caso” guardado, é criado um novo caso; Tipicamente tem valores de entrada/saída

complexos (e.g. grafos); Permite “combinar” valores de saída de vários

exemplos de um modo complexo; Implementação sempre intimamente ligada a um

domínio.

Page 9: Aprendizagem Automática

Aprendizagem Supervisionada

Exemplo Céu Temp. Humid Vento Mar Prev Sair?

1 Limpo Calor Normal Forte Quente Estável Sim

2 Limpo Calor Normal Forte Quente Estável Sim

3 Nublado Frio Alta Forte Quente Instável Sim

4 Limpo Calor Alta Forte Frio Instável Não

5 Chuva Frio Alta Forte Quente Instável Não

6 Chuva Frio Alta Fraco Quente Instável Sim

Sair = (Previsão == Limpo E Humidade == Normal) OU (Previsão == Nublado) OU (Previsão == Chuva E Vento == Fraco)

Page 10: Aprendizagem Automática

Árvores de Decisão(Decision Trees)

Céu

HumidadeVento

Limpo Nublado Chuva

Normal AltaForte Fraco

Sim

SimNãoSim Não

Sair = (Previsão == Limpo E Humidade == Normal) OU (Previsão == Nublado) OU (Previsão == Chuva E Vento == Fraco)

A cada nó está associado, durante o treino, o conjunto de exemplos que é classificado por este nó

Page 11: Aprendizagem Automática

Decision Trees: Construção

Qual o atributo que melhor separa as instâncias numa decisão booleana?

Entropia(S) = - p+ log2 (p+) - p- log2 (p-)

S : Conjunto de exemplos de um conceito

p+ : Percentagem de exemplos positivos

p- : Percentagem de exemplos negativos

Page 12: Aprendizagem Automática

Decision Trees: Construção

Quanto mais equilibrado o conjunto (p+ = p-), maior a entropia, i.e. menor a probabilidade de prever de que classe é um exemplo tirado ao acaso.

Entropia

0

0,2

0,4

0,6

0,8

1

1,2

0,001 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 0,999

Percentagem +

Page 13: Aprendizagem Automática

Decision Trees: Construção

Entropia relativa à classificação em c partes, com base num atributo com c valores diferentes (pretende-se minimizar a entropia):

X : Conjunto de exemplos de um conceito (e.g. “Sair?”)

c: nº de valores possíveis para o conceito api : Percentagem de exemplos em que: a =

vi

c

iii ppXEntropia

1

)log()(

Page 14: Aprendizagem Automática

Ganho de informação

Ganho de informação de um atributo a em relação a um conjunto X:

v: valores possíveis para aXv: Subconjunto de X em que o valor

de a é igual a v|X|: nº de elementos de X

v

vv

X

XEntropiaXXEntropiaaXG

)()(),(

Page 15: Aprendizagem Automática

ID3

ID3(Exemplos, Atributo-Alvo, Atributos) Criar a raíz

▪ Se p+ = 1: raíz = +▪ Se p- = 1: raíz = -▪ Se Atributos = Ø, raíz = valor mais comum do alvo em exemplos

A <- Atributo que melhor classifica os exemplos de acordo com o ganho de informação

Raíz = A Para cada valor (v) possível de A:

▪ Adicionar novo ramo A = v▪ Exemplosv = Conjunto de exemplos em que A=v

▪ Se Exemplosv = Ø: adicionar ramo com valor mais comum do alvo em Exemplosv▪ senão ramo = ID3(Exemplosv, Atributo-Alvo, Atributos – {A})

Page 16: Aprendizagem Automática

C4.5/C5.0

Semelhante ao ID3, mas … Atributos contínuos: cria uma série de classes

para um atributo contínuo dividindo o seu domínio em partes [Quinlan, 96]

Permite a utilização quando há valores em falta: não são usados no cálculo da entropia.

Permite que os atributos tenham custos diferentes.

Remoção (a posteriori) de nós que não são úteis.

[Quinlan, 96] J. R. Quinlan. Improved use of continuous attributes in c4.5. Journal of Artificial Intelligence Research, 4:77-90, 1996.

Page 17: Aprendizagem Automática

Aprendizagem Competitiva *Competitive Learning [Rumelhart and Zipser 85]

Criar N representantes ao acaso Para cada exemplo: Calcular o representante mais próximo “Aproximar” o representante do exemplo

(só um pouco) Enquanto os representantes “mudarem

muito de posição” do início para o fim da “época”, voltar ao ponto 2 (ou número fixo de épocas).

*Termo usado para designar um sub-grupo dos algoritmos de aprendizagem não-supervisionada, este em particular é uma versão iterativa do algoritmo de Lloyd (também conhecido como K-Means, um dos mais comuns nesta área).

Page 18: Aprendizagem Automática

Aprendizagem Competitiva

Seja X = {x1, x2, x3, … xn} o conjunto de exemplos

E c1, c2, … cm (n >> m) os representantes (inicializados aleatoriamente)

Para cada exemplo (xi): Calcular distância (1) Seleccionar o centro mais próximo: ck

(2) Aproximar ck de xi (3)

Enquanto mudar (4)

Page 19: Aprendizagem Automática

Aprendizagem Competitiva

(1)* distância

(2) mais próximo

(3) aproximar

(4) paragem

ikk xcc )1(

2)(),( j

ejijei cxcxd

c

),(minarg eie

cxdk

i

ki cxn

c )(1

)( kikk cxcc

* Podem ser usadas outras medidas de distância (por exemplo nº de atributos diferentes)

Page 20: Aprendizagem Automática

Mapas Topológicos, Self-Organizing Maps [Kohonen 90]

Semelhante à aprendizagem competitiva, mas:

Cada classe tem um conjunto de vizinhos,

Os vizinhos são alterados progressivamente menos de acordo com a distância

Page 21: Aprendizagem Automática

Mapas Topológicos

))(( ,,, nvinvnv cxncc

)1()(,0, nncc kv kc

1,vc

1,vc

1,vc

1,vc

ix

2,vc

2,vc

2,vc

2,vc

2,vc

2,vc

2,vc

2,vc

Page 22: Aprendizagem Automática

Classificação não-supervisionada

Imagens: Dendrogram. (2008, August 19). In Wikipedia, The Free Encyclopedia. Retrieved 12:30, September 16, 2008, from http://en.wikipedia.org/w/index.php?title=Dendrogram&oldid=232979561

Dendrograma (dendro = árvore)

3 classes

4 classes

2 classes

6 classes

DadosDistância proporcional ao número de atributos diferentes

Page 23: Aprendizagem Automática

Classificação por agrupamento

Single link: distância entre conjuntos é a menor das distâncias entre os elementos

Complete link: distância entre conjuntos é a maior das distâncias entre os seus elementos

CobWeb [Fisher 87] – Utilidade de categoria

Page 24: Aprendizagem Automática

Utilização

Aprendizagem Não Supervisionada: procura de padrões em dados sem etiquetas;

No Pré-processamento de dados: É (quase) sempre necessário/útil

Aprendizagem Competitiva: Raramente usada, mas é base de outros algoritmos;

Mapas Topológicos: Quando há relações entre as classes;

K-Means: Quando sabemos distribuições que geraram dos dados;

PCA: Redução da dimensão dos dados, perdendo o mínimo de informação possível;

Conceptual Clustering (CobWeb e outros): Quando o conceito a gerar e as relações entre aglomerados são fundamentais na análise e a semelhança entre padrões obedece a regras complexas.

Page 25: Aprendizagem Automática

(Mitchell 97) Tom Mitchell, "Machine Learning", McGraw Hill, 1997, capítulos 2, 3 e 8

R. Duda and P. Hart. Pattern Classification and Scene Analysis. Wiley & Sons, Inc, 1973.

"Self-Organizing Maps and Learning Vector Quantization for Feature Sequences", P. Somervuo and T. Kohonen, Neural Processing Letters, 10(2), 1999, pp. 151-159.

J.R. Quinlan, Induction of Decision Trees, Machine Learning, vol. 1, no. 1, pp. 81-106, 1986.

Giorgio Ingargiola, Building Classification Models: ID3 and C4.5, Computer and Information Science Department, Temple University, Philadelphia.

Referências-base

35AA/ML, Luís Nunes, DCTI/ISCTE

Page 26: Aprendizagem Automática

Referências

Some Competitive Learning Methods, Bernd Fritzke, Systems Biophysics Institute for Neural Computation, Ruhr-Universität Bochum, April 5, 1997

Hinton, G. E. and Salakhutdinov, R. R Reducing the dimensionality of data with neural networks. Science, Vol. 313. no. 5786, pp. 504 - 507, 28 July 2006.

S. Lloyd, Last square quantization in PCM’s. Bell Telephone Laboratories Paper (1957). Published in journal much later: S. P. Lloyd. Least squares quantization in PCM. Special issue on quantization, IEEE Trans. Inform. Theory, 28:129–137, 1982.

WEBSOM Publications Bilmes, J. A Gentle Tutorial on the EM Algorithm and its Application to Para

meter Estimation for Gaussian Mixture and Hidden Markov Models. Technical Report, University of Berkeley, ICSI-TR-97-021, 1997. http://citeseer.ist.psu.edu/bilmes98gentle.ht

[Rumelhart and Zipser 86] Feature discovery by competitive learning, in Mit Press Computational Models Of Cognition And Perception Series, Parallel distributed processing: explorations in the microstructure of cognition, vol. 1: foundations, pp.151 – 193, (1986), ISBN:0-262-68053-X Authors D. E. Rumelhart D. Zipser, Pub. MIT Press   Cambridge, MA, USA

Jonathon Shlens, A Tutorial on Principal Component Analysis, Systems Neurobiology Laboratory, Salk Insitute for Biological Studies, 2005

Page 27: Aprendizagem Automática

Próximas aulas

Semana 6 (19 a 23-Out) Pesquisa bibliográfica Proposta(s) de tema(s) para o TF

(por mail para Luí[email protected]) Semana 7 (26 a 30-Out)

26-Out: Discussão de propostas com cada grupo (durante a aula)

Decisão final sobre o tema e preparação da apresentação Semana 8 e 9 (aulas de 2 e 9-Nov)

Apresentações de propostas (máximo de 10 minutos / 10 slides), que deve incluir:1. Definição do enquadramento e objectivo do trabalho (introdução)2. Explicação sucinta do que já leu sobre o tema (enquadramento)3. Explicação da abordagem ao tema (plano)4. Enumeração, tão precisa quanto possível dos resultados esperados

(objectivo)5. Breve discussão / apreciação da proposta

Page 28: Aprendizagem Automática

Artigos sobre o tema que escolheu para o seu Trabalho Final (ver bibliografia de AA)

A ler para a próxima aula

38AA/ML, Luís Nunes, DCTI/ISCTE

Page 29: Aprendizagem Automática

Aprendizagem Supervisionada LVQ K-NN ID3: Entropia e ganho de informação

Aprendizagem Não Supervisionada Aprendizagem Competitiva Mapas Topológicos Cobweb

Sumário

39AA/ML, Luís Nunes, DCTI/ISCTE

Page 30: Aprendizagem Automática

Termo de momento (momentum) Duas vezes na mesma direcção, acelera, Em direcções contrárias, trava (ou não é

usado). Valor típico: 0.8

Aceleração de ANN

)( ,1,,,1 ijtijtijtijt wwww

x

ijijt xw ,

Page 31: Aprendizagem Automática

A mesma taxa de aprendizagem para todos os pesos faz com que se mova com a mesma “velocidade” em todas as direcções

Solução: taxas de aprendizagem diferentes para cada peso

Aceleração de ANN

Page 32: Aprendizagem Automática

ALR (Adaptive Learning Rates):

Aceleração de ANN

x

ijijt xw , ijtijtijt www ,,,1

x

ijijt xw , ijtijtijtijt www ,,,,1

Ec

wwd

wwu

ijt

ijtijtijt

ijtijtijt

ijt

,

0,

0,

,

,,,

,,,

,

5.01

8.01

2.11

c

d

u

Page 33: Aprendizagem Automática

Técnica dos passos-adaptativosAdaptive Learning Rates

F. M. Silva and L. B. Almeida, "Acceleration Techniques for the Backpropagation Algorithm", in L. B. Almeida and C. J. Wellekens (eds.), Neural Networks, Springer-Verlag, 1990.

Aceleração de ANN

Page 34: Aprendizagem Automática

Avaliação e erro

ixi

ijijj wxbs )tanh( jj so

ijw jkwknw

j

jkjkk wobs )tanh( kk so

k

knknn wobs)tanh( nn so

2)()(

nnn dooE

Page 35: Aprendizagem Automática

Derivadas parciais

ix

ijw jkwknw

k

nkknn wobs )tanh( nn so

2)()(

nnn dooE

knnnnkn wodowE )(2

knnnnnkn wssdowE ))tanh(1()(2 2

knnnkn osdowE ))tanh(1)((2 2

))tanh(1)((2 2nnnnnnnn sdosooEsE

knkn ow

Page 36: Aprendizagem Automática

Derivadas parciais

ix

ijw jkwknw

jknn

nn

jknnnnjk wswssdowE ))tanh(1()(2 2

jkkkn

knnjkkn

knnjk wsswwowwE ))tanh(1( 2

knkn owE

n

jknnnjk wodowE )(2

jkjkn

knnjk ooswwE ))tanh(1( 2

jkjk ow n

kknnkkkkk swsooEsE ))tanh(1( 2

Page 37: Aprendizagem Automática

Derivadas parciais

ix

ijw jkwknwijn

nnij wswE

ijkn k

knnij wowwE

n

jknnnij wodowE )(2

n

kknnk sw ))tanh(1( 2

ijkn k

kknnij wsswwE ))tanh(1( 2

ijkk n

kknnij wsswwE ))tanh(1( 2

Page 38: Aprendizagem Automática

Derivadas parciais

ijij xw

ijijjkk

kij xxswwE ))tanh(1( 2

k

jjkkjjjjj swsooEsE ))tanh(1( 2

ijjjjkk

kij wsswwE ))tanh(1( 2

Page 39: Aprendizagem Automática

Actualização (batch)

x

ijij xw

x

jjb

ijijij www

jjj bbb

… ou, para evitar que seja um valor muito grande (overflow):

x

ijij xw ijijij www

ijw

Page 40: Aprendizagem Automática

Actualização (online)

ijij xw

jjb

ijijij www

jjj bbb