1) O documento descreve vários métodos de aprendizagem automática, incluindo aprendizagem supervisionada como K-NN, árvores de decisão e aprendizagem não supervisionada como aprendizagem competitiva e mapas topológicos.
2) Nos métodos de aprendizagem supervisionada, ID3 usa entropia e ganho de informação para construir árvores de decisão, enquanto K-NN atribui novas instâncias à classe dos vizinhos mais próximos.
3) Nos métodos não supervisionados, a aprendizagem
11. ... Usar representantes/protótipos (1 por classe)(semelhante à Aprendizagem Competitiva, ... mas o representante é aproximado se a classificação é correcta e afastado caso contrário)
14. Case-BasedReasoning(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.
15. Aprendizagem Supervisionada Sair = (Previsão == Limpo E Humidade == Normal) OU (Previsão == Nublado) OU (Previsão == Chuva E Vento == Fraco)
16. Árvores de Decisão(DecisionTrees) A cada nó está associado, durante o treino, o conjunto de exemplos que é classificado por este nó Céu Chuva Limpo Nublado Vento Humidade Sim Forte Fraco Normal Alta Sair = (Previsão == Limpo E Humidade == Normal) OU (Previsão == Nublado) OU (Previsão == Chuva E Vento == Fraco) Sim Não Sim Não
17. Árvores de Decisão(DecisionTrees) Céu Chuva Limpo Nublado Vento Humidade Vento Forte Fraco Normal Alta Forte Fraco Sim Não Sim Não Sim Não
18. DecisionTrees: Quando se usam? Instâncias representadas por atributos com valores discretos (ou discretizados em intervalos) Pequenos conjuntos de valores possíveis para cada atributo Pretende-se uma classificação das instâncias (de preferência booleana) Dados podem conter erros e valores indefinidos Solução pode ser representada por uma expressão booleana ou uma classificação, e.g.: (Previsão = Limpo E Humidade = Normal) OU (Previsão = nublado) OU (Previsão = Chuva E Vento = Fraco)
19. DecisionTrees: 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
20. DecisionTrees: 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.
21. DecisionTrees: 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 a pi : Percentagem de exemplos em que: a = vi
22. Ganho de informação Ganho de informação de um atributo a em relação a um conjunto X: v: valores possíveis para a Xv: Subconjunto de X em que o valor de a é igual a v |X|: nº de elementos de X
23. Ganho de informação a = Vento v = {Forte, Fraco} nº de instâncias de X (total) = 14 (9+, 5-) nº de instâncias de X em que (Vento = Forte) = 6 (3+, 3-) nº de instâncias de X em que (Vento = Fraco) = 8 (6+, 2-) G(X,Vento) = 0.94 – [(8*0.811) + (6*1.0)] /14 = 0.048 Fraco Forte
24. 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})
25. 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.
26. Aprendizagem Competitiva *CompetitiveLearning[RumelhartandZipser 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).
27. 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)
28. Aprendizagem Competitiva (1)* distância (2) mais próximo (3) aproximar (4) paragem * Podem ser usadas outras medidas de distância (por exemplo nº de atributos diferentes)
29. 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
32. K-Means[Loyd 57] Parte de um conjunto de entrada X = {x1, x2, x3, … xn} Distribui aleatoriamente N representantes, cada xi “pertence” ao conjunto associado ao representante mais próximo Actualiza as posições de todos os representantes para o centro do conjunto que representam Redistribui os exemplos de modo a que cada xi “pertence” ao conjunto associado ao representante mais próximo Volta ao passo 3 até estabilizar os conjuntos / representantes * De facto é um caso particular de um algoritmo mais geral chamado EM (ExpectationMaximization)
33. Análise de componentes principais (Principal ComponentsAnalysis) Encontrar o sub-espaço, de dimensão menor que maximiza a variância dos dados
34. Análise de componentes principais Substituição de 2 dimensões por uma combinação linear de ambas (dados a 1 dimensão)
35. Análise de componentes principais Calculando a os valores próprios da matriz de covariância e seleccionando a base com os maiores valores próprios associados (para conjuntos grandes: demorado e sujeito a problemas de arredondamentos) ... ou por métodos iterativos
36. Classificação não-supervisionada Dendrograma (dendro = árvore) Dados Distância proporcional ao número de atributos diferentes 6 classes 4 classes 3 classes 2 classes 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
37. 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
38. COBWEB [Fisher 87] Conjuntos com atributos discretos Para cada novo exemplo (ponto) pode: Inserir numa classe existente(simula inserção em todas e calcula a utilidade); Criar uma nova classe(simula a criação de uma nova classe apenas com o novo exemplo); Combinar duas classes(simula a combinação das duas classes com maior utilidade para o novo exemplo); Dividir uma classe(simula retirar o nó imediatamente acima do ponto de inserção do novo exemplo); Baseado na Utilidade de Categoria, (aumento do número de atributos que pode ser previsto para os elementos de cada classe).
39. COBWEB [Fisher 87] Utilidade de Categoria Cada atributo (i), todos os valores possíveis (j) Todas as categorias (l) Utilidade diminui com o aumento do número de classes
40. 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.
41. (Mitchell 97) Tom Mitchell, "MachineLearning", McGrawHill, 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 35 AA/ML, Luís Nunes, DCTI/ISCTE
42. 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 Parameter 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. RumelhartD. Zipser, Pub. MIT Press Cambridge, MA, USA Jonathon Shlens, A Tutorial on Principal Component Analysis, Systems Neurobiology Laboratory, Salk Insitute for Biological Studies, 2005
43. Próximas aulas Semana 6 (19 a 23-Out) Pesquisa bibliográfica Proposta(s) de tema(s) para o TF (por mail para Luís.Nunes@iscte.pt) 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: Definição do enquadramento e objectivo do trabalho (introdução) Explicação sucinta do que já leu sobre o tema (enquadramento) Explicação da abordagem ao tema (plano) Enumeração, tão precisa quanto possível dos resultados esperados (objectivo) Breve discussão / apreciação da proposta
44. Artigos sobre o tema que escolheu para o seu Trabalho Final (ver bibliografia de AA) A ler para a próxima aula 38 AA/ML, Luís Nunes, DCTI/ISCTE
45. Aprendizagem Supervisionada LVQ K-NN ID3: Entropia e ganho de informação Aprendizagem Não Supervisionada Aprendizagem Competitiva Mapas Topológicos Cobweb Sumário 39 AA/ML, Luís Nunes, DCTI/ISCTE
46. 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
47. 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
49. Técnica dos passos-adaptativos Adaptive 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