Aprendizagem Supervisionada I

3,871 views

Published on

  • Be the first to comment

Aprendizagem Supervisionada I

  1. 1. AprendizagemAutomática<br />Mestrado em Engenharia Informática<br />
  2. 2. Sumário<br />Aprendizagem Supervisionada<br />18-10-2010<br />Aprendizagem Automática / Machine Learning<br />2<br />
  3. 3. Tipos de Aprendizagem (revisão)<br />Procura<br />Dado um espaço de soluções, procurar a melhor (ou uma aceitável)<br />Aprendizagem por Reforço<br />Interagir com um ambiente e descobrir qual a melhor acção para cada estado<br />Aprendizagem Não supervisionada<br />Dados vários padrões descobrir semelhanças entre eles, agrupá-los<br />Reduzir número de atributos considerados<br />Aprendizagem Supervisionada<br />Sabendo o que se passou no passado, prever o que se segue<br />Induzir uma regra dados exemplos <br />18-10-2010<br />Aprendizagem Automática / Machine Learning<br />3<br />
  4. 4. 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 />definir a distância, <br />definir o modo de selecção,<br />algumas dificuldades com problemas não lineares<br />
  5. 5. Quantização Vectorial (Learning Vector Quantization)<br />Problema: Dada uma imagem representada com 16 milhões de cores, quais as melhores 256 cores a usar para perder o mínimo de qualidade?<br />Treino supervisionado para encontrar a melhor "capacidade de reconstrução de um conjunto específico de imagens"<br /> Semelhante a online K-Means, ... mas o representante é aproximado se a classificação é correcta e afastado caso contrário)<br />Problemas:<br /><ul><li>Definição de “semelhança”
  6. 6. não é muito fiável quando há “ruído”</li></ul>Usado com sucesso na compressão de dados e classificação de documentação.<br />18-10-2010<br />Aprendizagem Automática / Machine Learning<br />5<br />
  7. 7. Aprendizagem Supervisionada<br />Existe (no treino) o resultado esperado para cada exemplo<br />Ex: Dado um conjunto de letras escritas à mão que foram identificadas por uma pessoa, criar um modelo para identificação de letras escritas à mão<br />Erro de classificação <br />Quantas letras falhou no conjunto?<br />Erro médio<br />As letras escolhidas por engano eram "parecidas" com as desejadas?<br />18-10-2010<br />Aprendizagem Automática / Machine Learning<br />6<br />
  8. 8. ClassificaçãoConjunto positivo (geral)<br /> 1 < x<br />18-10-2010<br />Aprendizagem Automática / Machine Learning<br />7<br />-<br />-<br />+<br />+<br />-<br />-<br />+<br />-<br />+<br />-<br />+<br />+<br />-<br />+<br />-<br />
  9. 9. Conjunto positivo (específico)<br /> 1 < x < 2 && 0 < y < 2<br />18-10-2010<br />Aprendizagem Automática / Machine Learning<br />8<br />-<br />-<br />+<br />+<br />-<br />-<br />+<br />-<br />+<br />-<br />+<br />+<br />-<br />+<br />-<br />
  10. 10. Conjunto negativo<br />0 < x < 1 && 0 < y < 2<br />18-10-2010<br />Aprendizagem Automática / Machine Learning<br />9<br />-<br />-<br />+<br />+<br />-<br />-<br />+<br />-<br />+<br />-<br />+<br />+<br />-<br />+<br />-<br />
  11. 11. Conjunto positivo<br />1 < x < 2 && 1 < y < 2 – mais específica<br />0.8 < x < 2.3 && 0.6 < y < 2.1 – mais geral<br />18-10-2010<br />Aprendizagem Automática / Machine Learning<br />10<br />-<br />-<br />+<br />-<br />+<br />-<br />+<br />+<br />-<br />+<br />+<br />+<br />-<br />-<br />-<br />
  12. 12. Ruído?<br />Pode ser apenas um erro … ou não<br />18-10-2010<br />Aprendizagem Automática / Machine Learning<br />11<br />-<br />-<br />+<br />+<br />-<br />-<br />+<br />-<br />+<br />+<br />+<br />+<br />-<br />-<br />-<br />
  13. 13. Generalização e overfitting<br />Forma geral, … <br />mas com erro<br />Forma sem erro, …<br />mas muito específica<br />18-10-2010<br />Aprendizagem Automática / Machine Learning<br />12<br />-<br />-<br />-<br />-<br />+<br />+<br />+<br />-<br />-<br />+<br />-<br />-<br />+<br />-<br />+<br />-<br />+<br />+<br />+<br />+<br />+<br />+<br />+<br />+<br />-<br />-<br />-<br />-<br />-<br />-<br />
  14. 14. Aprendizagem Supervisionada<br />Dado um conjunto de exemplos, será que é possível descobrir o padrão que os gera? Exemplo simples: <br />
  15. 15. Valores<br />Valores possíveis, por atributo<br />
  16. 16. Pre-processamento<br />Discretizar, quantificar, normalizar …<br />
  17. 17. 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 />
  18. 18. Aprendizagem Supervisionada<br />Sair = (Previsão == Limpo E Humidade == Normal) OU (Previsão == Nublado) OU (Previsão == Chuva E Vento == Fraco)<br />Solução representável por uma condição lógica<br />
  19. 19. Á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 />
  20. 20. Á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 />
  21. 21. DecisionTrees: Quando se usam?<br />Instâncias representadas por atributos com valores discretos<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 />
  22. 22. 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 />
  23. 23. 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 />
  24. 24. 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 />
  25. 25. 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 />
  26. 26. 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 />
  27. 27. 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 />
  28. 28. 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 />
  29. 29. (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 />28<br />AA/ML, Luís Nunes, DCTI/ISCTE<br />
  30. 30. Referências<br />Some CompetitiveLearningMethods, BerndFritzke, SystemsBiophysicsInstitute for Neural Computation, Ruhr-UniversitätBochum, 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, LastsquarequantizationinPCM’s. BellTelephoneLaboratoriesPaper (1957). Publishedinjournalmuchlater: S. P. Lloyd. Leastsquaresquantizationin PCM. Specialissueonquantization, 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 />
  31. 31. Sumário<br />Aprendizagem Supervisionada<br />18-10-2010<br />Aprendizagem Automática / Machine Learning<br />30<br />

×