Aprendizagem Automática

1,375 views
1,265 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,375
On SlideShare
0
From Embeds
0
Number of Embeds
24
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Aprendizagem Automática

  1. 1. Aprendizagem Automática<br />Aprendizagem SupervisionadaAprendizagem Não Supervisionada<br />
  2. 2. Aula anterior<br />Redes Neuronais<br />Métodos de aceleração de Redes Neuronais<br />
  3. 3. Aprendizagem Supervisionada<br />Dado um conjunto de exemplos, será que é possível descobrir o padrão que os gera? Exemplo simples: <br />
  4. 4. Valores<br />Valores possíveis, por atributo<br />
  5. 5. Pre-processamento<br />Discretizar, quantificar, normalizar …<br />
  6. 6. Quantização Vectorial (Learning Vector Quantization)<br /><ul><li>Descobrir o padrão/exemplo mais parecido com o que queremos classificar
  7. 7. Atribuir ao novo exemplo a mesma classe
  8. 8. Problemas:
  9. 9. definir “parecido”
  10. 10. não é muito fiável quando há “ruído”
  11. 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)
  12. 12. (L)VQ: (Learning) Vector Quantization
  13. 13. Usado com sucesso na compressão de dados e classificação de documentação.</li></li></ul><li>K-NearestNeighbours (K-NN)<br />Descobrir os K padrões mais semelhantes ao que queremos classificar<br />Seleccionar uma classe de entre os padrões conhecidos (como? média? votação?)<br />Problemas: <br />novamente: definir a distância, <br />definir o modo de selecção,<br />algumas dificuldades com problemas não lineares<br />
  14. 14. Case-BasedReasoning(matéria de IA)<br />Semelhante ao K-NN, mas … <br />Não guarda todos os exemplos, antes cria “casos-padrão”:<br />Quando um padrão de entrada “está incluído” num “caso” guardado, é ignorado;<br />Quando um padrão de entrada “é semelhante” a um “caso” guardado, o caso é estendido para incluir o novo padrão;<br />Quando um padrão de entrada “não é semelhante” a nenhum “caso” guardado, é criado um novo caso;<br />Tipicamente tem valores de entrada/saída complexos (e.g. grafos);<br />Permite “combinar” valores de saída de vários exemplos de um modo complexo;<br />Implementação sempre intimamente ligada a um domínio.<br />
  15. 15. Aprendizagem Supervisionada<br />Sair = (Previsão == Limpo E Humidade == Normal) OU (Previsão == Nublado) OU (Previsão == Chuva E Vento == Fraco)<br />
  16. 16. Árvores de Decisão(DecisionTrees)<br />A cada nó está associado, durante o treino, o conjunto de exemplos que é classificado por este nó<br />Céu<br />Chuva<br />Limpo<br />Nublado<br />Vento<br />Humidade<br />Sim<br />Forte<br />Fraco<br />Normal<br />Alta<br />Sair = (Previsão == Limpo E Humidade == Normal) OU (Previsão == Nublado) OU (Previsão == Chuva E Vento == Fraco)<br />Sim<br />Não<br />Sim<br />Não<br />
  17. 17. Árvores de Decisão(DecisionTrees)<br />Céu<br />Chuva<br />Limpo<br />Nublado<br />Vento<br />Humidade<br />Vento<br />Forte<br />Fraco<br />Normal<br />Alta<br />Forte<br />Fraco<br />Sim<br />Não<br />Sim<br />Não<br />Sim<br />Não<br />
  18. 18. DecisionTrees: Quando se usam?<br />Instâncias representadas por atributos com valores discretos (ou discretizados em intervalos)<br />Pequenos conjuntos de valores possíveis para cada atributo<br />Pretende-se uma classificação das instâncias (de preferência booleana)<br />Dados podem conter erros e valores indefinidos<br />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)<br />
  19. 19. DecisionTrees: Construção<br />Qual o atributo que melhor separa as instâncias numa decisão booleana?<br />Entropia(S) = - p+ log2 (p+) - p- log2 (p-)<br />S : Conjunto de exemplos de um conceito<br />p+ : Percentagem de exemplos positivos<br />p- : Percentagem de exemplos negativos<br />
  20. 20. DecisionTrees: Construção<br />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. <br />
  21. 21. DecisionTrees: Construção<br />Entropia relativa à classificação em c partes, com base num atributo com c valores diferentes (pretende-se minimizar a entropia):<br />X : Conjunto de exemplos de um conceito (e.g. “Sair?”)<br />c: nº de valores possíveis para o conceito a<br />pi : Percentagem de exemplos em que: a = vi<br />
  22. 22. Ganho de informação<br />Ganho de informação de um atributo a em relação a um conjunto X:<br />v: valores possíveis para a<br />Xv: Subconjunto de X em que o valor de a é igual a v<br />|X|: nº de elementos de X<br />
  23. 23. Ganho de informação<br />a = Vento<br />v = {Forte, Fraco}<br />nº de instâncias de X (total) = 14 (9+, 5-)<br />nº de instâncias de X em que (Vento = Forte) = 6 (3+, 3-)<br />nº de instâncias de X em que (Vento = Fraco) = 8 (6+, 2-)<br />G(X,Vento) = 0.94 – [(8*0.811) + (6*1.0)] /14 = 0.048<br />Fraco<br />Forte<br />
  24. 24. ID3<br />ID3(Exemplos, Atributo-Alvo, Atributos)<br />Criar a raíz<br />Se p+ = 1: raíz = +<br />Se p- = 1: raíz = -<br />Se Atributos = Ø, raíz = valor mais comum do alvo em exemplos<br />A <- Atributo que melhor classifica os exemplos de acordo com o ganho de informação<br />Raíz = A<br />Para cada valor (v) possível de A:<br />Adicionar novo ramo A = v<br />Exemplosv = Conjunto de exemplos em que A=v<br />Se Exemplosv = Ø: adicionar ramo com valor mais comum do alvo em Exemplosv<br />senão ramo = ID3(Exemplosv, Atributo-Alvo, Atributos – {A})<br />
  25. 25. C4.5/C5.0<br />Semelhante ao ID3, mas …<br />Atributos contínuos: cria uma série de classes para um atributo contínuo dividindo o seu domínio em partes [Quinlan, 96] <br />Permite a utilização quando há valores em falta: não são usados no cálculo da entropia.<br />Permite que os atributos tenham custos diferentes. <br />Remoção (a posteriori) de nós que não são úteis.<br />[Quinlan, 96] J. R. Quinlan. Improved use of continuous attributes in c4.5. Journal of Artificial Intelligence Research, 4:77-90, 1996.<br />
  26. 26. Aprendizagem Competitiva *CompetitiveLearning[RumelhartandZipser 85]<br />Criar N representantes ao acaso<br />Para cada exemplo:<br />Calcular o representante mais próximo<br />“Aproximar” o representante do exemplo (só um pouco)<br />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).<br />*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).<br />
  27. 27. Aprendizagem Competitiva<br />Seja X = {x1, x2, x3, … xn} o conjunto de exemplos<br />E c1, c2, … cm (n >> m) os representantes (inicializados aleatoriamente)<br />Para cada exemplo (xi):<br />Calcular distância (1)<br />Seleccionar o centro mais próximo: ck (2)<br />Aproximar ck de xi (3)<br />Enquanto mudar (4)<br />
  28. 28. Aprendizagem Competitiva<br />(1)* distância<br />(2) mais próximo<br />(3) aproximar<br />(4) paragem<br />* Podem ser usadas outras medidas de distância (por exemplo nº de atributos diferentes)<br />
  29. 29. Mapas Topológicos, Self-Organizing Maps [Kohonen 90]<br />Semelhante à aprendizagem competitiva, mas:<br />Cada classe tem um conjunto de vizinhos,<br />Os vizinhos são alterados progressivamente menos de acordo com a distância<br />
  30. 30. Aprendizagem Não-Supervisionada<br />Como agrupar padrões e criar classes de exemplos, sem ter uma classe-objectivo?<br />
  31. 31. Mapas Topológicos<br />
  32. 32. K-Means[Loyd 57]<br />Parte de um conjunto de entrada X = {x1, x2, x3, … xn}<br />Distribui aleatoriamente N representantes, cada xi “pertence” ao conjunto associado ao representante mais próximo<br />Actualiza as posições de todos os representantes para o centro do conjunto que representam<br />Redistribui os exemplos de modo a que cada xi “pertence” ao conjunto associado ao representante mais próximo<br />Volta ao passo 3 até estabilizar os conjuntos / representantes<br />* De facto é um caso particular de um algoritmo mais geral chamado EM (ExpectationMaximization)<br />
  33. 33. Análise de componentes principais (Principal ComponentsAnalysis)<br />Encontrar o sub-espaço, de dimensão menor que maximiza a variância dos dados<br />
  34. 34. Análise de componentes principais<br />Substituição de 2 dimensões por uma combinação linear de ambas (dados a 1 dimensão)<br />
  35. 35. Análise de componentes principais<br />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)<br />... ou por métodos iterativos <br />
  36. 36. Classificação não-supervisionada<br />Dendrograma (dendro = árvore)<br />Dados<br />Distância proporcional ao número de atributos diferentes<br />6 classes<br />4 classes<br />3 classes<br />2 classes<br />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 <br />
  37. 37. Classificação por agrupamento<br />Single link: distância entre conjuntos é a menor das distâncias entre os elementos<br />Complete link: distância entre conjuntos é a maior das distâncias entre os seus elementos<br />CobWeb [Fisher 87] – Utilidade de categoria<br />
  38. 38. COBWEB [Fisher 87]<br />Conjuntos com atributos discretos<br />Para cada novo exemplo (ponto) pode:<br />Inserir numa classe existente(simula inserção em todas e calcula a utilidade);<br />Criar uma nova classe(simula a criação de uma nova classe apenas com o novo exemplo);<br />Combinar duas classes(simula a combinação das duas classes com maior utilidade para o novo exemplo);<br />Dividir uma classe(simula retirar o nó imediatamente acima do ponto de inserção do novo exemplo);<br />Baseado na Utilidade de Categoria, (aumento do número de atributos que pode ser previsto para os elementos de cada classe).<br />
  39. 39. COBWEB [Fisher 87]<br />Utilidade de Categoria<br />Cada atributo (i), todos os valores possíveis (j)<br />Todas as categorias (l)<br />Utilidade diminui com o aumento do número de classes<br />
  40. 40. Utilização<br />Aprendizagem Não Supervisionada: procura de padrões em dados sem etiquetas;<br />No Pré-processamento de dados: É (quase) sempre necessário/útil<br />Aprendizagem Competitiva: Raramente usada, mas é base de outros algoritmos;<br />Mapas Topológicos: Quando há relações entre as classes;<br />K-Means: Quando sabemos distribuições que geraram dos dados;<br />PCA: Redução da dimensão dos dados, perdendo o mínimo de informação possível;<br />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.<br />
  41. 41. (Mitchell 97) Tom Mitchell, "MachineLearning", McGrawHill, 1997, capítulos 2, 3 e 8<br />R. Duda and P. Hart. Pattern Classification and Scene Analysis. Wiley & Sons, Inc, 1973. <br />"Self-Organizing Maps and Learning Vector Quantization for Feature Sequences", P. Somervuo and T. Kohonen, Neural Processing Letters, 10(2), 1999, pp. 151-159.<br />J.R. Quinlan, Induction of Decision Trees, Machine Learning, vol. 1, no. 1, pp. 81-106, 1986. <br />Giorgio Ingargiola, Building Classification Models: ID3 and C4.5, Computer and Information Science Department, Temple University, Philadelphia.<br />Referências-base<br />35<br />AA/ML, Luís Nunes, DCTI/ISCTE<br />
  42. 42. Referências<br />Some Competitive Learning Methods, Bernd Fritzke, Systems Biophysics Institute for Neural Computation, Ruhr-Universität Bochum, April 5, 1997 <br />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.<br />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. <br />WEBSOM Publications<br />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<br />[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 <br />Jonathon Shlens, A Tutorial on Principal Component Analysis, Systems Neurobiology Laboratory, Salk Insitute for Biological Studies, 2005<br />
  43. 43. Próximas aulas<br />Semana 6 (19 a 23-Out)<br />Pesquisa bibliográfica<br />Proposta(s) de tema(s) para o TF (por mail para Luís.Nunes@iscte.pt)<br />Semana 7 (26 a 30-Out)<br />26-Out: Discussão de propostas com cada grupo (durante a aula)<br />Decisão final sobre o tema e preparação da apresentação<br />Semana 8 e 9 (aulas de 2 e 9-Nov)<br />Apresentações de propostas (máximo de 10 minutos / 10 slides), que deve incluir:<br />Definição do enquadramento e objectivo do trabalho (introdução)<br />Explicação sucinta do que já leu sobre o tema (enquadramento)<br />Explicação da abordagem ao tema (plano)<br />Enumeração, tão precisa quanto possível dos resultados esperados (objectivo)<br />Breve discussão / apreciação da proposta<br />
  44. 44. Artigos sobre o tema que escolheu para o seu Trabalho Final (ver bibliografia de AA)<br />A ler para a próxima aula<br />38<br />AA/ML, Luís Nunes, DCTI/ISCTE<br />
  45. 45. Aprendizagem Supervisionada<br />LVQ<br />K-NN<br />ID3: Entropia e ganho de informação<br />Aprendizagem Não Supervisionada<br />Aprendizagem Competitiva<br />Mapas Topológicos<br />Cobweb<br />Sumário<br />39<br />AA/ML, Luís Nunes, DCTI/ISCTE<br />
  46. 46. Termo de momento (momentum)<br />Duas vezes na mesma direcção, acelera, <br />Em direcções contrárias, trava (ou não é usado).<br />Valor típico: 0.8<br />Aceleração de ANN<br />
  47. 47. A mesma taxa de aprendizagem para todos os pesos faz com que se mova com a mesma “velocidade” em todas as direcções<br />Solução: taxas de aprendizagem diferentes para cada peso<br />Aceleração de ANN<br />
  48. 48. ALR (Adaptive Learning Rates):<br />Aceleração de ANN<br />
  49. 49. Técnica dos passos-adaptativos<br />Adaptive Learning Rates<br />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.<br />Aceleração de ANN<br />
  50. 50. Avaliação e erro<br />
  51. 51. Derivadas parciais<br />
  52. 52. Derivadas parciais<br />
  53. 53. Derivadas parciais<br />
  54. 54. Derivadas parciais<br />
  55. 55. Actualização (batch)<br />… ou, para evitar que seja um valor muito grande (overflow):<br />
  56. 56. Actualização (online)<br />

×