Lesson 1: Introduction to Machine Learning

3,104 views

Published on

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

Published in: Education, Technology
2 Comments
6 Likes
Statistics
Notes
No Downloads
Views
Total views
3,104
On SlideShare
0
From Embeds
0
Number of Embeds
370
Actions
Shares
0
Downloads
154
Comments
2
Likes
6
Embeds 0
No embeds

No notes for slide

Lesson 1: Introduction to Machine Learning

  1. 1. Capítulo 1 (Parte II)<br />Introdução à Aprendizagem Automática(Machine Learning)<br />
  2. 2. Aprendizagem Computacional Gladys Castillo, UA<br />Machine LearningDefinição Formal<br /> Tom Mitchell, Machine Learning  (1997)<br />A machine learnswith respect to a particular taskT,a performance metricP and experienceE if the system reliably improves its performanceP at task Tfollowing experienceE<br />Uma tarefa de aprendizagem é sempre definida por :<br /><ul><li> uma tarefa T
  3. 3. com respeito a uma medida de desempenho P
  4. 4. baseado na experiência E </li></ul>Um exemplo:<br />T – jogar as damas<br />P – % de partidos ganhos<br />E – experiência de treinar contra ele próprio <br />
  5. 5. Aprendizagem Computacional Gladys Castillo, UA<br />Desenho de um Sistema de Aprendizagem<br />De onde aprender? Escolher experiência (conjunto de treino)<br />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)<br />exemplos com rótulos ou sem rótulos (aprendizagem supervisada vs. não supervisada)<br />dispomos de suficiente experiência e estas representam uniformemente todas as instâncias possíveis do problema? <br />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<br />Ex: email classificação: devemos aprender um classificador capaz de distribuir futuros emails pelos folders<br />Como representar o conhecimento (i.e. a função alvo)?Existem diferentes modelos que representam uma mesma f.o. <br />Ex: podemos escolher entre diferentes modelos para representar um classificador árvores de decisão, redes neuronais, conjunto de regras, etc. <br />Que algoritmo implementar para aproximar a f.o.?Uma vez escolhido o modelo devemos escolher um algoritmo de aprendizagem<br />Ex: para aprender uma árvore de decisão podemos escolher entre vários algoritmos de aprendizagens. O C4.5. é o mais popular: <br />
  6. 6. Aprendizagem Computacional Gladys Castillo, UA<br />Sistema para Aprender a Jogar Damas<br />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<br />
  7. 7. Aprendizagem Computacional Gladys Castillo, UA<br />...<br />xn<br />x1<br />x2<br />Saída: Classe Predita<br />Entrada: valores dos atributos<br />Classificadorf(x)<br />c<br />Classificador<br />Suponhamos que para um universo de objectos é definido:<br /><ul><li>um conjunto de variáveis X1, X2, …, Xn, chamadas atributos que descrevem estes objectos
  8. 8. uma variável Cchamada classe cujos valores c1,…, cm representam categorias ou classes que possam ser atribuídas a estes objectos</li></ul>Um classificador é uma função que atribui uma classe a objectos (exemplos) descritos por um conjunto de atributos<br />Exemplo x<br />Matemáticamente:<br />Um classificador é uma função f: XC que atribui uma classe c  Ca objectos (exemplos) x = (x1, x2, ..,xn)X<br />
  9. 9. Aprendizagem Computacional , Gladys Castillo<br />Aprendizagem Supervisada<br />Aprendizagem Supervisada é a tarefa de induzir um classificador capaz de predizer com alta fiabilidade as classes de futuros exemplos<br />a partir de um conjunto de treino com exemplos rotulados <br />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<br /><ul><li>Tarefa T – aprender um classificador que possa ser usado para predizer as classes de futuros exemplos
  10. 10. Performance P – taxa de acerto (% de exemplos correctamente classificados)
  11. 11. Experiencia E – conjunto de treino com exemplos rotulados</li></ul>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<br />
  12. 12. Aprendizagem Computacional , Gladys Castillo<br />…<br />Classificação Supervisada Fases de Aprendizagem e Classificação<br />Fase de Aprendizagem: <br />Dado:um conjunto de treinoDcomNexemplos previamente classificados Induzir: um classificador h: X Ccapaz de predizer o melhor possível a classe de futuros exemplos<br />Saída: um classificador que aproxima o melhor possível a função alvóf: X C “oculta” nos dados<br />Aplicar Algoritmo <br />h<br />Supervised Learning <br />Algorithm<br />Fase de Classificação:a classe atribuída ao novoexemplox(N+1) é c(N+1)=h (x(N+1))  f(x(N+1))<br />aplicar classificador induzido<br />Entrada: Valores dos atributos do exemplox(N+1)<br />Saída: a classe de x(N+1)<br />x(N+1) = ( , , , )<br />h<br />C(N+1)<br />
  13. 13. Aprendizagem Computacional , Gladys Castillo<br />Figura extraída dos acetatos de Introduction to Data Mining  P. Tan, M.Steinbach, V.Kumar <br />Aprendizagem SupervisadaEsquema Geral<br />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. <br />1º. Um algoritmo de aprendizagem é executado para induzir um classificador a partir do conjunto de treino <br />conjunto de exemplos sem rótulos<br />2º. Uma vez construído o classificador, este pode ser usado para classificar futuros exemplos<br />
  14. 14. Aprendizagem Computacional Gladys Castillo, UA<br />Aprendizagem de Conceito <br /><ul><li>Classificação binária:
  15. 15. duas classes : Yes/No, 0/1, Sim/Não, etc.
  16. 16. exemplos positivos: exemplos rotulados com “Yes”
  17. 17. exemplos negativos: exemplos rotulados com “No”
  18. 18. Usado em sistemas de apoio à decisão (SAD)Exemplo: Jogar Tenis?</li></li></ul><li>Aprendizagem Computacional , Gladys Castillo<br />Model<br />Figura extraída dos acetatos de Introduction to Data Mining  P. Tan, M.Steinbach, V.Kumar <br />Exemplo: Atribuição de Crédito Bancário<br />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<br />Learn <br />Classifier<br />Training <br />Set<br />Chumbaram o pedido<br />
  19. 19. Aprendizagem Computacional Gladys Castillo, UA<br />Sistema de Aprendizagem Supervisada<br />De onde vamos aprender? <br />Conjunto de treino de exemplos rotulados <x, c>: x – exemplo descrito pelos valores dos seus atributos, c – classe<br />Usar esquema de aprendizagem off-line: fase de treino para aprender, fase de teste para avaliação, se todo OK – implementar<br />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<br />Como vamos a representar a função alvo? Vamos estudar diferentes modelos preditivos para representar um classificador<br />Árvores de decisão<br />Classificadores baseado em regras<br />Classificadores baseado em instâncias (kNN e outros)<br />Classificadores Bayesianos (Naive Bayes, Redes Bayesianas, TAN, BAN, etc.)<br />Redes Neuronais (perceptron, multi-camadas)<br />Máquinas de Suporte Vectorial <br />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<br />
  20. 20. Aprendizagem Computacional Gladys Castillo, UA<br />Modelos de Classificação Supervisada<br />Árvores de decisãoQuinlan, 1986; Breiman y col. 1984<br />Classificadores baseados em regrasClark y Nibblet, 1989; Cohen, 1995; Holte, 1993<br />Classificadores baseados em instâncias<br />Classificadores k–NNCovert & Hart, 1967; Dasarathy, 1991<br />Classificadores Bayesianos<br />Naïve BayesDuda & Hart, 1973<br />Redes BayesianasPearl, 1988<br />Redes NeuronaisMcCulloch & Pitts, 1943<br />Máquinas de suporte vectorialCristianini & Shawe–Taylor,2000<br />
  21. 21. Aprendizagem Computacional Gladys Castillo, UA<br />Problema de Classificação: x1, x2 - 2 variáveis preditoras5 classes  C<br /> f: x1x2 C<br />Figura dos acetatos sobre árvores de decisão do Prof. João Gama, LIADD, Univ. Porto<br />Árvore de decisão <br />raiz<br />regra<br />nó de decisão<br />Cada nó de decisão contem um teste num atributo<br />Cada ramo descendente corresponde a um possível valor deste atributo.<br />Cada folha está associada a uma classe.<br />Cada percurso na arvore (da raiz à folha) corresponde a uma regra de classificação.<br />folhas<br />IFx1 < a1ANDx2 < a3THEN<br />
  22. 22. Aprendizagem Computacional Gladys Castillo, UA<br />Problema de Classificação: x1, x2 - 2 variáveis preditoras5 classes  C<br /> f: x1x2 C<br />Figura dos acetatos sobre árvores de decisão do Prof. João Gama, LIADD, Univ. Porto<br />Árvore de decisãoEspaço de Atributos<br />No espaço definido pelos atributos:<br />cada folha corresponde a uma região: um hiper-rectângulo<br />a intersecção dos hiper-rectângulos = vazía <br />a união dos hiper-rectângulos = espaço completo<br />
  23. 23. Aprendizagem Computacional Gladys Castillo, UA<br />Figura dos acetatos do livro Data Mining, Concepts and Techniques,   Han & Kamber<br />Árvore de Decisão Exemplo 1: Comprar Computador?<br />o atributo que melhor discrimina as classes<br />Conjunto de Treino<br />Induzir<br />Esta árvore foi induzida com o algoritmo ID3 de Quinlan<br />
  24. 24. Aprendizagem Computacional Gladys Castillo, UA<br />Figura extraída dos acetatos de Introduction to Data Mining  P. Tan, M.Steinbach, V.Kumar <br />Árvore de Decisão Exemplo 2: Atribuição de Crédito Bancário<br />Conjunto de Treino<br />Refund<br />Yes<br />No<br />Aprender<br />Marital State<br />NO<br />Married<br />Single, Divorced<br />TaxInc<br />NO<br />< 80K<br />> 80K<br />YES<br />NO<br />
  25. 25. Aprendizagem Computacional Gladys Castillo, UA<br />NO<br />Figura extraída dos acetatos de Introduction to Data Mining  P. Tan, M.Steinbach, V.Kumar <br />Árvore de Decisão Exemplo 2: Atribuição de Crédito Bancário<br />Conjunto de Treino<br />Outra árvore para representar o mesmo problema <br />MarSt<br />Single, Divorced <br />Married<br />Refund<br />NO<br />No<br />Yes<br />TaxInc<br />> 80K<br />< 80K<br />YES<br />NO<br />Usando diferentes algoritmos podemos obter diferentes árvores para ajustar (representar) os mesmos dados<br />
  26. 26. Aprendizagem Computacional Gladys Castillo, UA<br />Refund<br />No<br />Yes<br />No<br />MarSt<br />NO<br />Married<br />Single Divorced<br />TaxInc<br />NO<br />Married <br />< 80K<br />> 80K<br />YES<br />NO<br />Figura extraída dos acetatos de Introduction to Data Mining  P. Tan, M.Steinbach, V.Kumar <br />Árvores de DecisãoClassificação de um novo exemplo<br />Novo exemplo<br />Começar pela raiz da árvore<br />Atribuir se Cheat = “No”(engano, fraude)<br />
  27. 27. Aprendizagem Computacional Gladys Castillo, UA<br />Árvores de DecisãoAlgoritmos de Aprendizagem<br />Hunt’s Algorithm (um dos primeiros)<br />CART<br />ID3<br />C4.5 (o mais popular algoritmo em ML)<br />SLIQ, SPRINT<br />
  28. 28. Aprendizagem Computacional Gladys Castillo, UA<br />Classificadores baseados em Regras<br />Classificador = conjunto de regrasif … then …<br />Regra:(Condição)  y<br />onde <br /> condição = conjunção de atributos <br /> y é a classe<br />LHS: antecedente da regra ou condição<br />RHS: consequente da regra<br />Exemplos de regras:<br />(Tipo de sangue=quente) (pôr ovos=sim)  Aves<br /> (Ingressos < 500)  (Solteiro)  NoAtribuirCredito<br />
  29. 29. Aprendizagem Computacional Gladys Castillo, UA<br />Exemplo de Conjunto de Regras<br />R1: (Give Birth = no)  (Can Fly = yes)  Birds<br />R2: (Give Birth = no)  (Live in Water = yes)  Fishes<br />R3: (Give Birth = yes)  (Blood Type = warm)  Mammals<br />R4: (Give Birth = no)  (Can Fly = no)  Reptiles<br />R5: (Live in Water = sometimes)  Amphibians<br />
  30. 30. Aprendizagem Computacional Gladys Castillo, UA<br />Classificação com Conjunto de Regras<br />Uma regra r cobre um exemplox se os seus atributos satisfazem a condição da regra<br />R1: (Give Birth = no)  (Can Fly = yes)  Birds<br />R2: (Give Birth = no)  (Live in Water = yes)  Fishes<br />R3: (Give Birth = yes)  (Blood Type = warm)  Mammals<br />R4: (Give Birth = no)  (Can Fly = no)  Reptiles<br />R5: (Live in Water = sometimes)  Amphibians <br />A regra R1 cobre a hawk (falcão)=> Bird<br />A regra R3 cobre the grizzly bear (urso pardo)=> Mammal<br />
  31. 31. Aprendizagem Computacional Gladys Castillo, UA<br />Classificadores baseados em RegrasCaracterísticas<br />Regras mutuamente exclusivas:<br />Um classificador contém regras mutuamente exclusivas se as regras são independentes entre si<br />Cada exemplo é coberto no máximo por uma regra<br /> Regras exaustivas<br />Classificador tem cobertura exaustiva se ele leva em conta toda possível combinação dos valores dos atributos<br />Cada registro é coberto por pelo menos uma regra<br />
  32. 32. Aprendizagem Computacional Gladys Castillo, UA<br />Classificador baseado em RegrasFase de Classificação<br /><ul><li>lemur acciona a regra R3, por isso é classificado como mamífero
  33. 33. 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
  34. 34. 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)</li></li></ul><li>Aprendizagem Computacional Gladys Castillo, UA<br />Classificadores baseados em RegrasAprendizagem<br />Métodos Directos <br /> Extraem as regras directamente dos dados:RIPPER, CN2, Holte’s 1R<br />Métodos Indirectos<br />Extraem as regras de outros modelos de classificação (ex: árvores de decisão, redes neuronais, etc.)<br />mais popular: C4.5rules<br />
  35. 35. Aprendizagem Computacional Gladys Castillo, UA<br />Regras de uma Árvore de Decisão <br />As regras são mutuamente exclusivas e exaustivas<br />Um conjunto de regras contem tanta informação quanto a árvore<br />
  36. 36. Aprendizagem Computacional Gladys Castillo, UA<br />Classificadores baseadosem instâncias (Lazy Classifiers)<br /><ul><li>Não construi um modelo dos dados, por isso é chamado preguiçoso
  37. 37. Usa apenas o conjunto de treino para classificar os novos exemplos</li></ul>Conjunto de Treino<br />Novo exemplo<br />
  38. 38. Aprendizagem Computacional Gladys Castillo, UA<br />Classificadores baseados em instâncias<br />Exemplos:<br />Rote-learner<br />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<br />k-vizinhos mais próximos (k-nearest neighbor)<br />Usa os k exemplos “mais próximos” (vizinhos mais próximos) para realizar a classificação de um novo exemplo <br />
  39. 39. Aprendizagem Computacional Gladys Castillo, UA<br />k-Vizinhos mais Próximos<br />X<br />X<br />X<br />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<br />
  40. 40. Aprendizagem Computacional , Gladys Castillo<br />k-Vizinhos mais Próximos<br />Requer:<br /> Conjunto de treino <br /> Métrica de distância usualmente distância Euclidiana<br /> Valor de ko número de vizinhos mais próximos<br />Para classificar um novo exemplo:<br /> Calcular a distância entre o novo exemplo e cada um dos exemplos do conjunto de treino <br /> Identificar os k vizinhos mais próximos<br /> A classe do novo exemplo pode ser atribuída pelo “voto da maioria”<br />Se k=4, para este exemplo identificamos os 4 vizinhos mais próximos e atribuímos a classe da maioria que é “+”<br />
  41. 41. Aprendizagem Computacional Gladys Castillo, UA<br />Classificadores Bayesianos<br />Os resultados da classificação são expresados através de uma distribuição de probabilidades  en vez de usar f: XCusamos 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 classesA classe c* atribuída a um exemplo x é aquela que maximiza P(cj| x) :<br />Como determinar P(cj | x) ? Usando o Teorema de Bayes<br />posteriorprior x likelihood<br />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<br />P(x) pode ser ignorado porque é o mesmo para todas as classes<br />Maximum a posteriori classification<br />
  42. 42. Aprendizagem Computacional Gladys Castillo, UA<br />Duda and Hart (1973); Langley (1992)<br />Classificador Naïve Bayes (NB) <br />Bayesian<br />Classification<br />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)<br />Naïve Bayes - assume uma “very naïve” suposição:<br />Solução: <br />Todos os atributos são condicionalmente independentes dado a classe<br />Podemos descompô-lo num produto de n termos, um por cada atributo<br />NB classification<br />
  43. 43. Aprendizagem Computacional Gladys Castillo, UA<br />Classificando um exemplo com NB<br />x =(age<=30 , income =medium, student=yes, credit_rating=fair)<br />Conjunto de Treino<br />1. Estimar as probabilidade apriori P(cj) de cada classe P(buys_computer = “yes”) = 9/14 = 0.643<br /> P(buys_computer = “no”) = 5/14 = 0.357<br />2. Estimar as condicionais P(xi|cj) para cada atributo <br />P(age = “<=30” | buys_computer = “yes”) = 2/9 = 0.222<br /> P(age = “<= 30” | buys_computer = “no”) = 3/5 = 0.6<br /> P(income = “medium” | buys_computer = “yes”) = 4/9 = 0.444<br /> P(income = “medium” | buys_computer = “no”) = 2/5 = 0.4<br /> P(student = “yes” | buys_computer = “yes”) = 6/9 = 0.667<br /> P(student = “yes” | buys_computer = “no”) = 1/5 = 0.2<br /> P(credit_rating = “fair” | buys_computer = “yes”) = 6/9 = 0.667<br /> P(credit_rating = “fair” | buys_computer = “no”) = 2/5 = 0.4<br />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<br /> P(x|buys_computer = “no”) = 0.6 x 0.4 x 0.2 x 0.4 = 0.019<br />4. Usar Teorema de Bayes para calcular P(cj |x) para cada classeP(buys_computer = “yes” |x) = P(x|buys_computer = “yes”) * P(buys_computer = “yes” )= 0.028<br />P(buys_computer= “no” |x) = P(x|buys_computer = “no”) * P(buys_computer = “no”) = 0.007<br />x pertence à classe “buys_PC=yes”<br />máximo<br />Exemplo do livro Data Mining: Concepts and Techniques, Han & Kamber<br />
  44. 44. Aprendizagem Computacional Gladys Castillo, UA<br />artificial problem from the UCI repository. <br />The Balance-scale Problem<br />The dataset was generated to model psychological experimental results<br />Each example has 4 numerical attributes: <br />the left weight (Left_W)<br />the left distance (Left_D)<br />the right weight (Right_W)<br />right distance (Right_D)<br />Right_D<br />Left_D<br /><ul><li>Each example is classified into 3 classes: the balance-scale:
  45. 45. tip to the right (Right)
  46. 46. tip to the left (Left)
  47. 47. is balanced (Balanced)
  48. 48. 3 target rules (a função alvó):
  49. 49. If LD x LW > RD x RW  tip to the left
  50. 50. If LD x LW < RD x RW  tip to the right
  51. 51. If LD x LW = RD x RW  it is balanced</li></ul>Right_W<br />Left_W<br />
  52. 52. Aprendizagem Computacional Gladys Castillo, UA<br />Contingency Tables<br />Fase de Aprendizagem do NBExemplo: Problema da balança<br />Como consideramos NB para atributos discretos discretizar: cada valor de atributo é mapeado a um dos 5 intervalos<br />Fase de<br />Conjunto de Treino : 565 exemplos<br />Aprendizagem<br />Para aprender um classificador NB o primeiro que devemos fazer é preencher a partir de uma única passagem pelo conjunto de treino:<br /><ul><li>uma tabela com os contadores das classes
  53. 53. uma tabela de contingência por cada atributo</li></ul>contêm um contador para cada combinação <valor de atributo, classe><br />
  54. 54. Aprendizagem Computacional Gladys Castillo, UA<br />Fase de Classificação do NBExemplo: Problema da balança<br />Uma vez construído o classificador, como classificar um novo exemplo?<br />A tabela com os contadores das classes e as tabelas de contingência são usadas para calcular as probabilidades necessárias<br />?<br />DeterminarP(cj | x) para cada classe:<br />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}<br />A classe para este exemplo é aquela que maximiza a probabilidade a posteriori<br />Classe= Right<br />max<br />
  55. 55. Aprendizagem Computacional , Gladys Castillo<br />Pearl (1988, 2000); Jensen (1996); Lauritzen (1996)<br />Redes Bayesianas<br />Bayesian Networks (BNs) graphically represent the joint probability distribution of a set X of random variables in a problem domain <br />A BN=(S, S) consist in two components: <br />Probability theory<br />Graph theory<br />Quantitative part<br />Qualitative part<br />the set of parameters S <br /><ul><li>conditional probability distributions (CPDs)
  56. 56. If variables are discrete CPDs are conditional probability tables (CPTs)</li></ul>the structure S - a Directed Acyclic Graph (DAG) <br /><ul><li>nodes – random variables
  57. 57. arcs - direct dependence between variables</li></ul>Markov condition :<br /> each node is independent of its non descendants given its parentsin S<br />
  58. 58. Aprendizagem Computacional , Gladys Castillo<br />Example: Alarm Network (Pearl)Bayesian Network<br />X = { B - Burglary, E- Earthquake, A - Alarm, J - JohnCalls, M – MaryCalls }<br />The Bayesian Network has two components: <br />the structure – a Directed Acyclic Graph<br />the parameters – a set of conditional probability tables (CPTs)<br /> pa(B) = { }, pa(E) = { }, pa(A) = {B, E}, pa(J) = {A}, pa(M) = {A}<br />P(B) P(E) P(A | B, E) P(J | A) P( M | A}<br />Model size reduced from 31 to 1+1+4+2+2=10<br />
  59. 59. Aprendizagem Computacional Gladys Castillo, UA<br />Example: Alarm Network (Pearl)Factored Joint Probability Distribution<br />X = {B (Burglary), (E) Earthquake, (A) Alarm, (J) JohnCalls, (M) MaryCalls}<br />P(B, E, A, J, M) = P(B) P(E) P(A|B, E) P(J|A) P(M|A)<br />
  60. 60. Aprendizagem Computacional Gladys Castillo, UA<br />Redes BayesianasUm exemplo com variáveis binárias<br />P(HeartDisease=“No”|Exercise=“no”, Diet =“Healthy”) = 1 - P(HeartDisease=“Yes”|Exercise=“no”, Diet =“Healthy”) =1- 0.55 = 0.45<br />P(HeartBurn=“yes”|Dieta=“Healthy”) = 0.2<br />acidez<br />tensão<br />dor no peito<br />
  61. 61. Aprendizagem Computacional Gladys Castillo, UA<br />Classificadores de Redes Bayesianas<br />Como classificador Bayesiano a classe catribuída a um exemplo x é aquela que maximiza a probabilidade a posteriori<br />c =hBNC(x) =arg max P(cj |x , S)<br />j=1…m<br />Probabilidade também condicionada à estrutura S da rede Bayesiana<br />proporcional à probabilidade conjunta<br /><ul><li>Restricted approach:</li></ul> contains the NB structure<br /><ul><li>Unrestricted approach:</li></ul> the class node is treated as an ordinary node<br />A Tree Augmented NB (TAN)<br />A BN Augmented NB (BAN)<br />A General BN (GBN) structure<br />
  62. 62. Aprendizagem Computacional Gladys Castillo, UA<br />Learning Bayesian Networks<br />Let X = {X1,X2, ...,Xn}be a set of random variables for a domain under study<br />Given:<br /><ul><li>a training dataset D={x(1), x(2),…,x(N)} of i.i.d examplesof X
  63. 63. some prior information  (background knowledge)a BN or fragment of it, prior probabilities, etc.Induce: a Bayesian Network BN=(S, S) that best matchesD</li></ul>Represents<br /><ul><li> P(X1,X2,X3,X4,X5)
  64. 64. Independence Statements
  65. 65. Causality</li></ul>LearningAlgorithm<br />Data<br />Prior information<br />
  66. 66. Aprendizagem Computacional Gladys Castillo, UA<br />Learning Bayesian NetworksHow many Learning Problems?<br />We can distinguish a variety of learning problems, depending on whether the structure is knownorunknown, the data is completeorincomplete, and there are hidden variablesor not.<br />©1998, Nir Friedman, U.C. Berkeley, and Moises Goldszmidt, SRI International. All rights reserved.<br />
  67. 67. Aprendizagem Computacional Gladys Castillo, UA<br />Classificadores Lineares<br />Se 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<br />x1, x2 - 2 variáveis preditorasC = {class1, class2} – 2 classesf:x1x2 C<br />Para um novo exemplo x:<br />se g(x) > 0  f(x) = class1se g(x) < 0  f(x) = class2<br />Figura extraídas dos acetatos de Luis Oliveira, Classificadores Lineares<br />
  68. 68. Aprendizagem Computacional Gladys Castillo, UA<br />Separabilidade entre Classes<br />Um conjunto de treino é chamado linearmente separável se existe pelo menos um hiperplano capaz de separar os exemplos de diferentes classes<br />linearmentenão separável<br />linearmenteseparável<br />Figura extraídas dos acetatos de Aluizio F. R. Araújo, Máquinas de Vectores Suporte<br />
  69. 69. IRIS Data (Fisher, 1936)<br />Problema clásico de classificação das flores iris.<br />3 classes<br />setosa<br />versicolor<br />virginica<br />4 atributos<br />comprimento da pétala<br />largura da pétala<br />comprimento da sépala<br />largura da sépala<br />O conjunto de dados contêm 50 exemplos por cada classe<br />On-line no UCI Machine Learning Repository http://www.ics.uci.edu/~mlearn/MLRepository.html<br />Aprendizagem Computacional Gladys Castillo, UA<br />
  70. 70. Aprendizagem Computacional Gladys Castillo, UA<br />Classificadores Lineares e Não LinearesIris Data (Fisher, 1936)<br />Figure from Norbert Jankowski and Krzysztof Grabczewski<br />x setosaO virginica+ versicolor <br />Árvore de Decisão<br />Discriminante Linear<br />setosa<br />Gaussian mixture<br />Kernel method (SVM)<br />
  71. 71. Aprendizagem Computacional Gladys Castillo, UA<br />x3<br />x2<br />x1<br />Fronteira de Decisão Linear<br />A fronteira de decisão linear está definida pelos hiperplanos que separam as classes<br />A fronteira de decisão linear está definida pelos hiperplanos que separam as classes<br />x2<br />x1<br />Figuras extraídas de “Introduction to Machine Learning”, Isabelle Guyon<br />
  72. 72. Aprendizagem Computacional , Gladys Castillo<br />x2<br />x3<br />x2<br />x1<br />x1<br />Fronteiras de Decisão Não Linear<br />Funções não lineares separam as classes<br />Figuras extraídas de “Introduction to Machine Learning”, Isabelle Guyon<br />
  73. 73. Aprendizagem Computacional Gladys Castillo, UA<br />x2<br />x1<br />Fit / Robustness Tradeoff<br />O que será melhor: a fronteira linear ou não linear?<br />x2<br />x1<br />Figuras extraídas de “Introduction to Machine Learning”, Isabelle Guyon<br />15<br />
  74. 74. Aprendizagem Computacional Gladys Castillo, UA<br />Classificadores Lineares<br />fronteira de decisão linear<br />Hiperplano de Classificação: <br />g(x) = w  x + b = 0<br />onde:<br /><ul><li>w - vector de pesos  determina a orientação do hiperplano
  75. 75. b – desvio (bias)</li></ul>Classificador Linear Binário :<br />Tarefa de Aprendizagem (ideia básica)<br />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”<br />Figura extraídas dos acetatos de Luis Oliveira, Classificadores Lineares<br />
  76. 76. Aprendizagem Computacional Gladys Castillo, UA<br />Classificadores LinearesSoluções possíveis<br />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:<br /><ul><li> Discriminante linear (Fisher)
  77. 77. Perceptron (redes neuronais)
  78. 78. Classificador de Margem Maximal (máquinas de suporte vectorial)</li></li></ul><li>Aprendizagem Computacional Gladys Castillo, UA<br />Figura extraída dos acetatos de Introduction to Data Mining  P. Tan, M.Steinbach, V.Kumar <br />Classificadores Lineares<br />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<br />
  79. 79. Aprendizagem Computacional Gladys Castillo, UA<br />Redes Neuronais Artificiais (RNAs)<br />Outro nome: modelos conexionistas<br />Modelo distribuído de computação paralelacom alto nível de granularidade<br /><ul><li>As RNAs são inspiradas no funcionamento do cérebro humano
  80. 80. Compostas dum elevado número de neurónios altamente inter-ligados trabalhando em paralelo na resolução de problemas
  81. 81. O conhecimento adquirido através da aprendizagem é armazenado nas ligações.</li></li></ul><li>Aprendizagem Computacional Gladys Castillo, UA<br />nós de entrada<br />nós de saída<br />nós ocultos <br />Redes Neuronais Artificiais (RNAs)<br />As RNAs contêm tem 3 tipos de camadas (layers):<br />input layer: informação que entra no neurónio<br />hidden layer: camadas intermédias, podem ser várias <br />output layer: informação que sai<br />Modelos mais populares:<br />Perceptron: modelo mais simples, não usa hidden layers<br />Multi-layer Feed-Forward: os nós de uma camada estão ligados apenas aos nós da seguinte camada<br />modelo com 3 camadas <br />
  82. 82. Aprendizagem Computacional Gladys Castillo, UA<br />Modelo de um Neurónio Artificial<br /><ul><li>Neurónio = processador de informaçãorecebe e envia impulso a milhares de neurónios
  83. 83. dendritos: canais de entrada
  84. 84. corpo celular: órgão de cômputo (soma ponderada, função não linear)
  85. 85. axónio: canal de saídadistribuição a outros neurónios
  86. 86. Potencial pos-sináptico:h (w, x) = w . x = jwj xj
  87. 87. O factor bias t é usualmente subtraído ao potencial pos-sináptico
  88. 88. função de activação para obter y:y = f (w. x – t)</li></ul>y = f(wx – t) = f(jwjxj – t)<br />
  89. 89. Aprendizagem Computacional Gladys Castillo, UA<br />Perceptron<br />O modelo mais simples das RNAs concebido em 1957 no Cornell Aeronautical Laboratory por Frank Rosenblatt.<br />Um perceptron é um classificador linear binário, ou seja, uma funçãof: X  Y que mapea um vector binário x a um valor binário y<br />Modelo simples de um neurónio artificial<br />Modelo geral com vários outputs onde cada output é modelado com o modelo do neurónio simples)<br />função de activação: a função sinal<br />
  90. 90. Aprendizagem Computacional Gladys Castillo, UA<br />Black box<br />x<br />x<br />x<br />y<br />Input<br />1<br />2<br />3<br />1<br />0<br />0<br />0<br />x<br />1<br />0<br />1<br />1<br />1<br />Output<br />1<br />1<br />0<br />1<br />1<br />1<br />1<br />1<br />x<br />y<br />2<br />0<br />0<br />1<br />0<br />0<br />1<br />0<br />0<br />x<br />0<br />1<br />1<br />1<br />3<br />0<br />0<br />0<br />0<br />RNAs - Modelo Caixa Preta (Black-Box)<br />Conjunto de Treino<br />Aprender um Perceptron dos dados significa aprender os pesos que melhor ajustem o modelo oculto nos dados<br />
  91. 91. Aprendizagem Computacional Gladys Castillo, UA<br />Perceptron Modelação de uma função booleana<br />Modelação com Perceptron<br />Função alvo: (target function)<br />o valor de y é true se pelo menos 2 inputs são true<br />A aprendizagem do perceptron sempre tem sucesso em tempo finito para um conjunto de treino finito e separável de exemplos de treino<br />
  92. 92. Aprendizagem Computacional Gladys Castillo, UA<br />PerceptronFronteira de Decisão Linear<br />O perceptron é usado para conjunto de treinos linearmente separáveis<br />
  93. 93. Aprendizagem Computacional Gladys Castillo, UA<br />RNAs multi-camadas Feed-Forward<br />Podem existir várias camadas ocultas<br />Aprender RNAs significa aprender os pesos dos dados. O algoritmo mais popular: back-propagation <br />
  94. 94. Aprendizagem Computacional Gladys Castillo, UA<br />Funções de Activaçãopara RNAs multicamadas<br />
  95. 95. Aprendizagem Computacional Gladys Castillo, UA<br />Problema de Classificação XOR<br />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) <br />OU exclusivo<br />XOR(x1, x2) = true se e só se um dos inputs é true(note que true = 1, false = -1)<br />
  96. 96. Aprendizagem Computacional Gladys Castillo, UA<br />RNA de Duas Camadas Problema XOR (ou exclusivo)<br />Os exemplos podem ser classificados usando 2 hiperplanos que dividem o espaço dos atributos (input space) em suas respectivas classes<br />2 nós de entrada, 2 ocultos e um de saída<br />
  97. 97. Aprendizagem Computacional Gladys Castillo, UA<br />Máquina de Suporte Vectorial Casos Linearmente Separáveis<br />Classificador de margem maximal: o hiperplano de classificação w  x +b= 0 é aquele com maior margem de separação<br />Classificador Linear Binário :<br />A margem da fronteira de decisãod está definida pela distância entre os hiperplanos<br />Suponhamos: x1 H1 e x2  H2Substituindo nas equações e subtraindo: <br />
  98. 98. Aprendizagem Computacional Gladys Castillo, UA<br />Margem pequeno<br />Margem grande<br />MSV Linear Hiperplano de Margem Maximal<br />O hiperplano com maior margem de separação tem melhor capacidade de generalização pois diminui a possibilidade de erro<br />d<br />d<br />Os exemplos nas margens designam-se vectores de suporte<br />
  99. 99. Aprendizagem Computacional Gladys Castillo, UA<br />Aprendizagem de MSV Linear<br />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: <br />maximizar<br />minimizar<br />sujeito as seguintes restrições para cada exemplo de treino <xi, yi> <br />estas restrições podem ser sumarizadas numa forma mais compacta<br />Obtendo assim o seguinte problema de optimização não linear (quadrática)<br />minimizar<br />f.o. quadrática<br />Podemos, por exemplo resolvê-lo com o método dos multiplicadores de Lagrange<br />w<br />s.a.<br />restrições lineares nos parâmetros<br />
  100. 100. Aprendizagem Computacional Gladys Castillo, UA<br />Máquinas de Suporte VectorialCasos Linearmente não Separáveis<br />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)<br />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)<br />
  101. 101. Modelos Descritivos<br />
  102. 102. Aprendizagem Computacional Gladys Castillo, UA<br />Regras de Associação<br />Dado 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<br />
  103. 103. Aprendizagem Computacional Gladys Castillo, UA<br />Regra de Associação<br />Uma expressão de implicação da forma X  Y onde X e Y são conjunto de itens<br /><ul><li>conjunto de itens (itemset): colecção de um ou mais itensk-itemset = itemset com k items
  104. 104. contagem de suporte (): frequência de ocorrência de um conjunto de itens
  105. 105. suporte (s): fracção das transacções que contêm X e Y
  106. 106. confiança (c): mede quão frequentemente itens em X e Y aparecem em transacções que contém X
  107. 107. conjunto de itens frequentes: se suporte é maior ou igual a um limite minsup</li></li></ul><li>Aprendizagem Computacional Gladys Castillo, UA<br />Regras de AssociaçãoExemplos<br />{Milk,Diaper}  {Beer} (s=0.4, c=0.67){Milk,Beer}  {Diaper} (s=0.4, c=1.0)<br />{Diaper,Beer}  {Milk} (s=0.4, c=0.67)<br />{Beer}  {Milk,Diaper} (s=0.4, c=0.67) {Diaper}  {Milk,Beer} (s=0.4, c=0.5) <br />{Milk}  {Diaper,Beer} (s=0.4, c=0.5)<br />
  108. 108. Aprendizagem Computacional Gladys Castillo, UA<br />Aprendizagem de Regras de Associação<br />Dado um conjunto de transacçõesT, o objectivo é encontrar todas as regras que tenham:suporte ≥ minsup (threshold)<br /> confiança ≥ minconf (threshold)<br />Abordagem em dois passos:<br />Geração de Conjuntos de Itens Frequentes com suporte minsup <br />Gerar regras com alta confiança a partir de cada conjunto de itens frequente<br />Algoritmo mais popular: algoritmo Apriori (Agrawal & Srikant, 1994)<br />Princípio Apriori: se um conjunto de itens é frequente, então todos os seus subconjuntos também devem ser frequentes<br />
  109. 109. Aprendizagem Computacional Gladys Castillo, UA<br />Geração do Conjunto de Itens Frequentesusando o Algoritmo Apriori<br />
  110. 110. Aprendizagem Computacional Gladys Castillo, UA<br />As distancias extra-cluster são maximizadas<br />As distancias intra-cluster são minimizadas<br />Análise de Clusters<br />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<br />
  111. 111. Aprendizagem Computacional Gladys Castillo, UA<br />Quantos clusters?<br />Six Clusters<br />Four Clusters<br />Two Clusters<br />Noção de cluster pode ser ambígua<br />
  112. 112. Aprendizagem Computacional Gladys Castillo, UA<br />Tipos de Clusterings<br />Clustering Particional<br />Divide os objetos em subconjuntos sem sobreposição (grupos) tal que cada objeto de dados está em exactamente um subconjunto<br />Clustering Hierárquico<br />Um conjunto de grupos aninhados organizado como uma árvore hierárquica<br />
  113. 113. Aprendizagem Computacional Gladys Castillo, UA<br />A Partitional Clustering<br />Clustering Particional<br />Original Points<br />
  114. 114. Aprendizagem Computacional , Gladys Castillo<br />Clustering Hierárquico<br />Traditional Hierarchical Clustering<br />Traditional Dendrogram<br />Non-traditional Hierarchical Clustering<br />Non-traditional Dendrogram<br />
  115. 115. Aprendizagem Computacional Gladys Castillo, UA<br />Algoritmos de Aprendizagem<br />K-means e variantes<br />Clustering Hierárquico<br />Clustering baseado em densidade<br />
  116. 116. Aprendizagem Computacional , Gladys Castillo<br />References<br />Capítulo 1 do livro de Tom Mitchell, Machine Learning , McGrau Hill (1997)<br />Tom M. Mitchell, The Discipline of Machine Learning, (2006)on-line em: http://www.cs.cmu.edu/~tom/pubs/MachineLearning.pdf<br />Capítulos 4 e 5 do livro Introduction to Data Mining  P. Tan, M.Steinbach, V.Kumar <br />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)<br />Capítulo 6 do livro Data Mining - Concepts and Techniques,J. Han.  Morgan Kaufmann (2000)<br />Videoconferencia “Introduction to Machine Learning”, Isabelle Guyon, on-line em: videolectures.net<br />Acetatos “Aprendizaje Computacional e Extracção de Informação”, IntroduccionJosé Oncina, Universidad de Alicanteon-line: http://www.dlsi.ua.es/asignaturas/aprendizaje/Datos/1-f.pdf<br />Acetatos “Machine Learning”, Pier Luca Lanzi, Politêcnico di Milanoon-line: webspace.elet.polimi.it/lanzi/wp-content/mldm/02MachineLearning.pdf<br />Acetatos da disciplina “Métodos Matemáticos en  Ciencias de la  Computación”, I.Inza et al. Universidad del Pais Vasco<br />Acetatos “Árvores de decisão”, João Gama, Univ. Portoon-line: www.liaad.up.pt/~jgama/Aulas_ECD/arv.pdf<br />Acetatos “Classificadores Lineares” de Luis Oliveira<br />On-line: www.ppgia.pucpr.br/~soares/cursos/recpad2/public/classificadoreslineares.pdf<br />

×