Plano de Aula Introdução Teorema de Bayes e Aprendizagem Conceitual Classificador Ótimo de Bayes Algoritmo de Gibbs Classificador Naïve Bayes Exemplos Resumo Aprendizagem de Máquina Aprendizagem Bayesiana Aula 4 Alessandro L. Koerich Mestrado em Informática Aplicada Pontifícia Universidade Católica do Paraná (PUCPR) Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Referências Mitchell T. Machine Learning. WCB McGraw– Hill, 1997. Capítulo 6. Theodoridis S., Koutroumbas K. Pattern Recognition. Academic Press, 1999. Capítulo 2 Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 2 Introdução Duda R., Hart P., Stork D. Pattern Classification 2ed. Willey Interscience, 2002. Capítulos 2 & 3 Aprendizagem de Máquina 3 O pensamento Bayesiano fornece uma abordagem probabilística para aprendizagem Está baseado na suposição de que as quantidades de interesse são reguladas por distribuições de probabilidade. Distribuições de probabilidade: Ver documento em anexo. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 4 Introdução Introdução Decisões ótimas podem ser tomadas com base nestas probabilidades conjuntamente com os dados observados. Os métodos Bayesianos são relevantes por dois motivos: 1. Fornecem algoritmos de aprendizagem práticos: Fornece uma solução quantitativa ponderando a evidência suportando hipóteses alternativas. Fornece a base para algoritmos de aprendizagem que manipulam probabilidades bem como outros algoritmos que não manipulam probabilidades explicitamente. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 5 Alessandro L. Koerich ([email protected]) 2. Fornecem uma estrutura conceitual útil: Cada exemplo de treinamento pode decrementar ou incrementar incrementalmente a probabilidade de uma hipótese ser correta. 2. Conhecimento a priori pode ser combinado com os dados observados para determinar a probabilidade de uma hipótese. 3. Métodos Bayesianos podem acomodar hipóteses que fazem predições probabilísticas (Ex: Este paciente tem uma chance de 93% de se recuperar) Percepção adicional dentro do Occam’s razor Norma de Ouro: menor erro possível Mestrado em Informática Aplicada Aprendizagem de Máquina Aprendizagem de Máquina 1. Fornece “norma de ouro” para avaliar outros algoritmos de aprendizagem Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada 6 Características da Aprendizagem Bayesiana Introdução Aprendizagem Naïve Bayes Aprendizagem de Redes Bayesianas Combinam conhecimento a priori com os dados observados Requerem probabilidades a priori 7 Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 8 Características da Aprendizagem Bayesiana 4. Dificuldades Práticas Novas instâncias podem ser classificadas combinando a probabilidade de múltiplas hipóteses ponderadas pelas suas probabilidades. Métodos Bayesianos requerem o conhecimento inicial de várias probabilidades. Custo computacional significativo para determinar a hipótese ótima de Bayes Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 9 Quando não conhecidas, podem ser estimadas a partir de conhecimento prévio, dados previamente disponíveis e suposições a respeito da forma da distribuição. É geralmente linear com o número de hipóteses Alessandro L. Koerich ([email protected]) Teorema de Bayes P(h|D): probabilidade de h dado D P(D): probabilidade a priori dos dados de treinamento D Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 11 10 P(h|D) é chamada de probabilidade a posteriori de h porque ela reflete nossa confiança que h se mantenha após termos observado o dado de treinamento D. P(h|D) reflete a influência do dado de treinamento D. Em contraste, a probabilidade a priori P(h) é independente de D. P(h): probabilidade a priori da hipótese h P ( D | h )P (h ) P(D) Aprendizagem de Máquina Teorema de Bayes P(D|h): probabilidade de D dado h. P (h | D ) = Mestrado em Informática Aplicada Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 12 Teorema de Bayes Geralmente queremos encontrar a hipótese mais provável h ∈ H, sendo fornecidos os dados de treinamento D. Teorema de Bayes Desprezamos o termo P(D) porque ele é uma constante independente de h. Se assumirmos que cada hipótese em H é igualmente provável a priori, i.e. Ou seja, a hipótese com o máximo a posteriori (MAP) h MAP ≡ arg max P ( h | D ) P(hi) = P(hj) ∀ hi e hj em H h∈H P ( D | h ) P (h ) P(D) h∈H = arg max P ( D | h ) P ( h ) = arg max h∈H Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 13 Então, podemos simplificar mais e escolher a hipótese de máxima probabilidade condicional (maximum likelihood = ML). Alessandro L. Koerich ([email protected]) Teorema de Bayes O termo P(D|h) é chamado de probabilidade condicional (ou likelihood) de D Sendo fornecido h, qualquer hipótese que maximiza P(D|h) é chamada de uma hipótese ML. 2. Mestrado em Informática Aplicada Aprendizagem de Máquina 15 O paciente tem câncer O paciente não tem câncer Os dados disponíveis são de um exame de laboratório com dois resultados possíveis: Alessandro L. Koerich ([email protected]) 14 Considere um problema de diagnóstico médico onde existem duas hipóteses alternativas: 1. h∈H Aprendizagem de Máquina Teorema de Bayes: Exemplo hML ≡ arg max P ( D | h ) Mestrado em Informática Aplicada ⊕: positivo \: negativo Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 16 Teorema de Bayes: Exemplo Temos o conhecimento prévio que na população inteira somente 0.008 tem esta doença. O teste retorna um resultado positivo correto somente em 98% dos casos nos quais a doença está atualmente presente. O teste retorna um resultado negativo correto somente em 97% dos casos nos quais a doença não esteja presente. Nos outros casos, o teste retorna o resultado oposto. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 17 Teorema de Bayes: Exemplo P(câncer) = P(¬câncer) = P(⊕|câncer) = P(\|câncer) = P(⊕|¬câncer) = P(\| ¬ câncer) = Alessandro L. Koerich ([email protected]) Teorema de Bayes: Exemplo Supondo que um paciente fez um teste de laboratório e o resultado deu positivo. O paciente tem câncer ou não ? Aprendizagem de Máquina 19 18 Calculando a hipótese com maior probabilidade a posteriori: Mestrado em Informática Aplicada Aprendizagem de Máquina Aplicando o Teorema de Bayes Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada P(⊕|câncer) P(câncer) = 0.98 . 0.008 = 0.0078 P(⊕|¬câncer) P(¬câncer) = 0.03 . 0.992 = 0.0298 Assim, hMAP = ¬câncer Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 20 Formulação Básica de Probabilidades Aprendizagem Conceitual Força–Bruta Qual a relação entre o teorema de Bayes e a aprendizagem de conceito? Considere: Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 21 Alessandro L. Koerich ([email protected]) Aprendizagem Conceitual Força–Bruta Podemos projetar um algoritmo de aprendizagem de conceito que fornece na saída a hipótese de máxima probabilidade a posteriori: 1. 2. Mestrado em Informática Aplicada Aprendizagem de Máquina 22 Aprendizagem Conceitual Força–Bruta Escolher P(h) como sendo uma distribuição uniforme P (h) = Para cada hipótese h em H calcular a probabilidade a posteriori: P (h | D ) = um espaço finito de hipóteses H definido sobre um espaço de instâncias X a tarefa é aprender algum conceito alvo c: X → {0,1) Assumindo que é fornecida uma seqüência de exemplos de treinamento <x1...xm> e valores alvos correspondentes <d1...dm> 1 H ∀ h∈ H Escolher P(D|h) ⎧1 se h for consistent e com D P ( D | h) = ⎨ ⎩0 caso contrário P ( D | h) P (h) P( D) Escolher a hipótese hMAP com probabilidade a posteriori mais alta: hMAP = arg max P ( h | D ) Agora podemos usar o teorema de Bayes para estimar P(h|D) para cada hipótese h dado os dados de treinamento D. h∈H Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 23 Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 24 Aprendizagem Conceitual Força–Bruta Se h for inconsistente com os dados de treinamento D, temos: P (h | D ) = 0 .P ( h ) =0 P( D) P (h | D ) = P(D) = 1 1. H VS H , D = Em resumo, o teorema Bayes implica que a probabilidade a posteriori P(h|D) para P(h) e P(D|h) assumidos seja: ⎧ 1 ⎪ P ( h | D ) = ⎨ VS H , D ⎪ 0 ⎩ Se h for consistente com D: 1 1. H Aprendizagem Conceitual Força–Bruta 1 VS H , D se h for consistent e com D caso contrário H onde VSH,D é o subconjunto de hipóteses de H que são consistentes com D (i.e Espaço Versão). . Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 25 Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 26 Aprendizagem Conceitual Aprendizagem Conceitual Força–Bruta Evolução das probabilidades a posteriori com o aumento dos dados de treinamento. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 27 Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 28 Classificador Ótimo de Bayes Até agora consideramos a questão “Qual a hipótese mais provável (i.e. hMAP) dado os exemplos de treinamento (D)?” De fato, a questão mais significativa é na verdade “Qual é a classificação mais provável de uma nova instância dado os dados de treinamento?” Classificador Ótimo de Bayes P(h1|D) = 0.4 P(h2|D) = 0.3 P(h3|D) = 0.3 A hipótese MAP (hMAP ) é ou não a classificação mais provável? Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 29 Exemplo: Dada uma nova instâncias x que é classificada da seguinte forma: h1(x) = + h2(x) = – h3(x) = – Qual será a classificação mais provável de x? Qual é a hipótese MAP? h1 Alessandro L. Koerich ([email protected]) Classificador Ótimo de Bayes Considere três hipóteses possíveis h1, h2 e h3 e suponha as seguintes probabilidades a posteriori destas hipóteses dado o conjunto de treinamento D: Mestrado em Informática Aplicada A classificação mais provável da nova instância x é obtida através da combinação das predições de todas as hipóteses ponderadas pelas suas probabilidades a posteriori. Assim, a P(vj|D) que a correta classificação para a instancia seja vj é: ∑ P (v hi ∈ H P ( v j | D ) = arg max v j ∈V Mestrado em Informática Aplicada Aprendizagem de Máquina 31 30 Classificador Ótimo de Bayes P (v j | D ) = Alessandro L. Koerich ([email protected]) Aprendizagem de Máquina Alessandro L. Koerich ([email protected]) j | hi ) P ( hi | D ) ∑ P (v hi ∈ H Mestrado em Informática Aplicada j | hi ) P ( hi | D ) Aprendizagem de Máquina 32 Classificador Ótimo de Bayes A classificação ótima para a nova instância é o valor vj para o qual P(vj|D) é máxima, i.e.: arg max v j ∈V ∑ P (v hi ∈ H j Classificador Ótimo de Bayes P(h1|D) = 0.4, P(–|h1) = 0, P(+|h1) = 1 P(h2|D) = 0.3, P(–|h2) = 1, P(+|h2) = 0 P(h3|D) = 0.3, P(–|h3) = 1, P(+|h3) = 0 | hi ) P ( hi | D ) Qualquer sistema que classifique novas instâncias de acordo com a equação acima é chamada de um classificador ótimo de Bayes. portanto Mestrado em Informática Aplicada Aprendizagem de Máquina 33 Alessandro L. Koerich ([email protected]) | D ) = 0 .6 i ∑ P (v hi ∈ H j | hi ) P ( hi | D ) = − Mestrado em Informática Aplicada Aprendizagem de Máquina 34 Algoritmo de Gibbs E[erroGibbs] ≤ 2E[erroBayesÓtimo] Fato surpreendente: Assumindo que os conceitos alvo são tirados aleatoriamente de H segundo “a priori” em H, então: E[erroGibbs] ≤ 2E[erroBayesÓtimo] Aprendizagem de Máquina i v j ∈{ + , − } Algoritmo de Gibbs: Mestrado em Informática Aplicada ∑ P (− | h )P (h arg max O classificador ótimo de Bayes fornece melhores resultados mas pode ser “dispendioso” se existirem muitas hipóteses. Alessandro L. Koerich ([email protected]) | D ) = 0 .4 e 1. Escolha uma hipótese aleatoriamente de acordo com P(h|D) 2. Use–a para classificar uma nova instância i i hi ∈H Algoritmo de Gibbs ∑ P (+ | h )P (h hi ∈H Importante: Nenhum outro classificador que utilize o mesmo espaço de hipóteses H e mesmo conhecimento a priori pode superar este método Alessandro L. Koerich ([email protected]) Exemplo: 35 Supondo que temos uma distribuição uniforme de probabilidades a priori sobre H, então: Pegue qualquer hipótese de VS, com probabilidade uniforme. Seu erro esperado não será pior do que o dobro do erro de uma classificador Bayes ótimo. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 36 Classificador Naïve Bayes Junto com árvores de decisão, redes neurais e k–NN, Naïve Bayes é um dos métodos de aprendizagem mais práticos. Quando usar ? houver disponibilidade de um conjunto de treinamento grande ou moderado. os atributos que descrevem as instâncias forem condicionalmente independentes dada a classificação. Classificador Naïve Bayes Se aplica a tarefas de aprendizagem onde cada instância x é descrita por um conjunção de valores de atributos e onde a função alvo, f(x) pode assumir qualquer valor de um conjunto V. Um conjunto de exemplos de treinamento da função alvo é fornecido a uma nova instância é apresentada, descrita pela tupla de valores de atributos <a1, a2, ..., an>. A tarefa é predizer o valor alvo (ou classificação) para esta nova instância. Aplicações bem sucedidas: Diagnósticos Classificação de documentos de textuais Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 37 Alessandro L. Koerich ([email protected]) Classificador Naïve Bayes A solução Bayesiana para classificar a nova instância consiste em atribuir o valor alvo mais provável (vMAP) dados os valores dos atributos <a1, a2, ..., an> que descrevem a instância. v j ∈V v MAP = arg max v j ∈V P ( a1 , a 2 ,..., a n ) v j ∈V Mas podemos usar o teorema de Bayes para reescrever a expressão . . . Aprendizagem de Máquina P ( a1 , a 2 ,..., a n | v j ) P ( v j ) = arg max P ( a1 , a 2 ,..., a n | v j ) P ( v j ) Mestrado em Informática Aplicada 38 v MAP = arg max P ( v j | a1 , a 2 ,..., a n ) v j ∈V Alessandro L. Koerich ([email protected]) Aprendizagem de Máquina Classificador Naïve Bayes v MAP = arg max P ( v j | a1 , a 2 ,..., a n ) Mestrado em Informática Aplicada Devemos agora estimar os dois termos da equação acima baseando-se nos dados de treinamento. 39 P(vj) é fácil de estimar . . . Porém, P(a1,a2,...,an| vj) . . . Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 40 Classificador Naïve Bayes O classificador Naïve Bayes é baseado na suposição simplificadora de que os valores dos atributos são condicionalmente independentes dado o valor alvo. Classificador Naïve Bayes Temos assim o classificador Naïve Bayes: v NB = arg max P ( v j ) ∏ P ( a i | v j ) v j ∈V i onde vNB indica o valor alvo fornecido pelo Naïve Bayes. Ou seja, a probabilidade de observar a conjunção a1, a2,..., an é somente o produto das probabilidades para os atributos individuais: P ( a1 , a 2 ,..., a n | v j ) = ∏ P ( a i | v j ) i Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 41 Alessandro L. Koerich ([email protected]) Classificador Naïve Bayes Em resumo, o algoritmo Naïve Bayes envolve As hipóteses são então utilizadas para classificar cada nova instância aplicando a equação vista anteriormente (vNB) Mestrado em Informática Aplicada Aprendizagem de Máquina 42 Classificador Naïve Bayes Naïve_Bayes_Learn (examplos) Para cada valor alvo vj P’ (vj) ³ estimar P (vj) Para cada valor de atributo ai de cada atributo a P’ (ai|vj) ³ estimar P (ai| vj) Classify_New_Instances (x) O conjunto destas estimativas corresponde as hipóteses aprendidas Alessandro L. Koerich ([email protected]) Aprendizagem de Máquina Algoritmo Naïve Bayes Aprendizagem no qual os termos P(vj) e P(ai|vj) são estimados baseado nas suas freqüências no conjunto de treinamento. Mestrado em Informática Aplicada v NB = arg max P ' ( v j )∏ P ' ( a i | v j ) v j ∈V 43 Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada ai ∈ x Aprendizagem de Máquina 44 Classificador Naïve Bayes Exemplo: Considere os 14 exemplos de treinamento de PlayTennis e uma nova instância que o Naïve Bayes deve classificar: Classificador Naïve Bayes Atributo alvo: PlayTennis (yes, no) <Outlook=sunny, Temperature=cool, Humidity=high, Wind=strong> Nossa tarefa é predizer o valor alvo (yes ou no) do conceito PlayTennis para esta nova instância. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 45 Alessandro L. Koerich ([email protected]) Classificador Naïve Bayes O valor alvo VNB será dado por: Aprendizagem de Máquina 46 Classificador Naïve Bayes Probabilidades a priori: P(PlayTennis = yes) = 9/14 = 0.64 P(PlayTennis = no) = 5/14 = 0.36 v NB = arg max P ( v j ) ∏ P ( a i | v j ) v j ∈{ yes , no } Mestrado em Informática Aplicada i = arg max P ( v j ) P (Outlook = sunny | v j ) P (Temperatur e = cool | v j ) v j ∈{ yes , no } P ( Humidity = high | v j ) P (Wind = strong | v j ) Note que ai foi instanciado utilizando os valores particulares de atributo da nova instância. Para calcular VNB são necessárias 1o probabilidades que podem ser estimadas a partir dos exemplos de treinamento. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina Probabilidades condicionais: P(Wind=strong | PlayTennis = yes) = 3/9 = 0.33 P(Wind=strong | PlayTennis = no) = 3/5 = 0.60 ... 47 Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 48 Classificador Naïve Bayes Classificador Naïve Bayes Usando estas estimativas de probabilidade e estimativas similares para os valores restantes dos atributos, calculamos vNB de acordo com a equação anterior (omitindo nome dos atributos) : Sutilezas: 1. Suposição de independência condicional é muitas vezes violada P(yes) P(sunny| yes) P(cool| yes) P(high| yes) P(strong| yes) = 0.0053 P(no) P(sunny| no) P(cool| no) P(high| no) P(strong| no) = 0.026 . . . mas, de qualquer maneira, ele funciona bem. Note que não é necessário estimar probabilidades a posteriori P’(vj|x) para ser correta. Necessita somente que P ( a1 , a 2 ,..., v j ) = ∏ P ( a i | v j ) i arg max P ' ( v j )∏ P ' ( a i | v j ) = arg max P ( v j ) P ( a1 ,..., a n | v j ) v j ∈V Então o classificador atribui o valor alvo PlayTennis = no para esta nova instância. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 49 Alessandro L. Koerich ([email protected]) i A solução típica é uma estimativa Bayesiana para P’(ai|vj) . Alessandro L. Koerich ([email protected]) n c + mp n+m Mestrado em Informática Aplicada Aprendizagem de Máquina Aprendizagem de Máquina 50 Classificador Naïve Bayes n c + mp n+m onde: n é o número de exemplos de treinamento para os quais v = vj, nc é o número de exemplos para os quais v = vj e a = ai p é a estimativa a priori para P’(ai|vj) m é o peso dado as priori (i.e. número de exemplos “virtuais”). P ' ( v j )∏ P ' ( a i | v j ) = 0 P ' ( a i | vi ) ← Mestrado em Informática Aplicada P ' ( a i | vi ) ← P ' ( ai | v j ) = 0 e ... v j ∈V Probabilidades Naïve Bayes a posteriori próximas de 0 e 1 são geralmente não realísticas Classificador Naïve Bayes Sutilezas: 2. E se nenhuma das instâncias de treinamento com valor alvo vj tiver uma atributo de valor ai? Então, i 51 Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 52 Exemplo: Classificando Texto Por que ? Aprender quais notícias são interessantes Aprender a classificar páginas WEB por assunto Naïve Bayes é um dos algoritmos mais eficientes Quais atributos devemos usar para representar documentos de texto? Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina Exemplo: Classificando Texto 53 Contexto Considere um espaço de instâncias X consistindo de todos os documentos de texto possíveis. Dados exemplos de treinamento, de alguma função alvo f(x) que pode assumir valores de um conjunto finito V. Alessandro L. Koerich ([email protected]) Exemplo: Classificando Texto A tarefa de aprendizagem é aprender, a partir dos exemplos de treinamento, a predizer o valor alvo para os documento de texto subseqüentes. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 55 Aprendizagem de Máquina 54 Exemplo: Classificando Texto Considere a função alvo como sendo documentos interessantes e não interessantes. Mestrado em Informática Aplicada Projeto do Naïve Bayes: Como representar um documento de texto arbitrário em termos de valores de atributos Decidir como estimar as probabilidades necessárias para o Naïve Bayes. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 56 Exemplo: Classificando Texto Representação de texto arbitrário Dado um documento de texto, este parágrafo, por exemplo, definimos um atributo para cada posição de palavra no documento e definimos o valor do atributo como sendo a palavra em português encontrada nesta posição. O parágrafo anterior pode ser descrito por 34 valores de atributos correspondendo as 34 posições de palavras. O valor do primeiro atributo é a palavra “Dado” e do segundo é a palavra “um” e assim por diante. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina Exemplo: Classificando Texto Dada a representação de documento de texto, podemos aplicar o Naïve Bayes. Assumimos 57 Alessandro L. Koerich ([email protected]) Exemplo: Classificando Texto Conceito alvo interessante: documento → {+, – } length ( doc ) ∏ P (a i = wk | v j ) onde P(ai = wk|vj) é a probabilidade que a palavra na posição i é wk, dado vj. P (+) P (–) P (doc|+) P (doc|–) Mais uma suposição P (ai = w k | v j ) = P (am = w k | v j ) Mestrado em Informática Aplicada Aprendizagem de Máquina 58 i =1 Um atributo por posição da palavra no documento Alessandro L. Koerich ([email protected]) Aprendizagem de Máquina Suposição da independência condicional Naïve Bayes P ( doc | v j ) = 2. Aprendendo usar exemplos de treinamento para estimar Mestrado em Informática Aplicada Exemplo: Classificando Texto 1. Representar cada documento por um vetor de palavras um conjunto de 700 documentos classificados por uma pessoa como não interessantes outros 300 classificados como interessantes 59 Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada ∀i, m Aprendizagem de Máquina 60 Exemplo: Classificando Texto Learn_Naïve_Bayes_Text (Examples, V) Exemplo: Classificando Texto Para cada valor alvo vj em V faça 1. Colecionar todas palavras, pontuação e outros tokens que ocorrem em Examples Vocabulary ← todas as palavras distintas e outros tokens que ocorrem em Examples 2. Calcular as probabilidade necessárias P (vj) e P (wk|vj) ... Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina docsj ← subconjunto de documento de Examples para o qual o valor alvo é vj P (v j ) = z Exemplo: Classificando Texto j Textj ← um documento único criado pela concatenação de todos os membros de docsj n ← número total de posições distintas de palavras em Textj Para cada palavra wk em Vocabulary z 61 docs Examples nk ← número de vezes que a palavra wk ocorre em Textj P (wk | v j ) ← Alessandro L. Koerich ([email protected]) nk + 1 n + Vocabulary Mestrado em Informática Aplicada Aprendizagem de Máquina 62 Exemplo: Classificando Texto Classify_Naïve_Bayes_Text (Doc) positions ← todas as posições das palavras em Doc que contém tokens encontrados em Vocabulary retornar vNB onde v NB = arg max P ( v j ) v j ∈V Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada ∏ P (a i |vj) i∈ positions Aprendizagem de Máquina 63 Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 64 Exemplo: Classificando Texto Dados 1000 documentos de treinamento de cada grupo, aprenda a classificar novos documentos de acordo com o newsgroup de origem. Naïve Bayes: precisão de classificação: 89% Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina Exemplo: Classificando Texto 65 Artigo de rec.sport.hockey Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Curva de Aprendizagem Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 67 Aprendizagem de Máquina 66 Resumo Métodos Bayesianos: acomodam conhecimento prévio e e dados observáveis; atribuem probabilidade a posteriori para cada hipótese candidata, baseando– se na priori e dados. Métodos Bayesianos: podem determinar a hipótese mais provável (MAP), tendo os dados. Bayes Ótimo: combina predições de todas hipóteses alternativas, ponderadas pela probabilidade a posteriori, para calcular a classificação mais provável de cada nova instância. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 68 Resumo Naïve Bayes: é chamado de naïve (simples, não sofisticado), porque assume que os valores dos atributos são condicionalmente independentes. Naïve Bayes: se a condição é encontrada, ele fornece a classificação MAP, caso contrário, pode fornecer também bons resultados. Alessandro L. Koerich ([email protected]) Mestrado em Informática Aplicada Aprendizagem de Máquina 69