520 likes | 646 Views
Classificadores Bayesianos Introduction to Data Mining (Cap. 5.3) Tan, Steinbach, Kumar. Irineu Júnior Pinheiro dos Santos Mirela Ferreira César Roberto Ribeiro Castro Menezes. Sumário. Introdução Teorema de Bayes Teorema de Bayes na Classificação Classificador Naive Bayes
E N D
Classificadores BayesianosIntroduction to Data Mining (Cap. 5.3) Tan, Steinbach, Kumar Irineu Júnior Pinheiro dos Santos Mirela Ferreira César Roberto Ribeiro Castro Menezes
Sumário • Introdução • Teorema de Bayes • Teorema de Bayes na Classificação • Classificador Naive Bayes • M-Estimate das Probabilidades Condicionais
Introdução - Conceitos • Classificadores Bayesianos são classificadores estatísticos que tem a função de classificar um objeto numa determinada classe, baseando-se na probabilidade deste objeto pertencer a esta classe. • Em muitas aplicações, a relação entre o conjunto de atributos e a variável classe são não-determinísticos.
Introdução - Exemplo • Predizer quando uma pessoa tem doença no coração considerando os fatores alimentação saudável e freqüência que pratica exercícios.
Doença no coração? Alimentação Saudável e Exercícios Introdução - Exemplo Outros Fatores podem ocasionar a doença: fumo, colesterol elevado e hereditariedade. Relação não determinística
Teorema de Bayes • Fornece o cálculo das probabilidades de que uma determinada amostra de dados pertença a cada uma das classes possíveis, predizendo para a amostra, a classe mais provável. • Considerando X e Y variáveis aleatórias, uma probabilidade condicional P(Y|X) refere-se a probabilidade de Y assumir um valor determinado, observando-se o valor assumido por X.
Teorema de Bayes na Classificação Exemplo: Classificar os seguintes valores: X = (Idade <= 30, Renda = Media, Estudante = sim, Crédito = bom) Y = Compra_Computador?
Teorema de Bayes na Classificação Exemplo: P(Y=sim) e P(Y=não) P(Y=sim) = 9/14 = 0,643 P(Y=não) = 5/14 = 0,357 = 1-P(Y=sim)
Teorema de Bayes na Classificação X = (Idade <= 30, Renda = Media, Estudante = sim, Crédito = bom) Probabilidades: P[Idade <= 30 | Y = sim] = 2/9 = 0,222 P[Idade <= 30 | Y = não] = 3/5 = 0,6
Teorema de Bayes na Classificação X = (Idade <= 30, Renda = Media, Estudante = sim, Crédito = bom) Probabilidades: P[Renda = Media | Y = sim] = 4/9 = 0,444 P[Renda = Media | Y = não] = 2/5 = 0,4
Teorema de Bayes na Classificação X = (Idade <= 30, Renda = Media, Estudante = sim, Crédito = bom) Probabilidades: P[Estudante = sim | Y = sim] = 6/9 = 0,667 P[Estudante = sim | Y = não] =1/5 = 0,2
Teorema de Bayes na Classificação X = (Idade <= 30, Renda = Media, Estudante = sim, Crédito = bom) Probabilidades: P[Credito = bom | Y = sim] = 6/9 = 0,667 P[Credito = bom | Y = não] = 2/5 = 0,4
Teorema de Bayes na Classificação • Calculamos isoladamente o valor da probabilidade condicional de cada atributo, mas para que eles sejam calculado de forma interseccionada, temos: P[x1, x2,... xd | C] = P(x1| C) * P(x2| C) * … * P(xd| C) • Com isso, é possível chegar a uma forma mais geral do Teorema de Bayes:
Teorema de Bayes na Classificação Temos: P(X|Y=sim) = 0,222 * 0,444 * 0,667 * 0,667 = 0,044 P(X|Y=não) = 0,6 * 0,4 * 0,2 * 0,4 = 0,019 Pela lei da probabilidade total: P(X) = P(X|Y=sim)*P(Y=sim) + P(X|Y=não)*P(Y=não) P(X) = 0,044*0,643 + 0,019*0,357 = 0,028 + 0,007 = 0,035 P(X|Y=sim) * P(Y=sim) / P(X) = 0,044 * 0,643 = 0,028 / 0,035 = 0,8 P(X|Y=não) * P(Y=não) / P(X) = 0,019 * 0,357 = 0,007 / 0,035 = 0,2 • Ou seja, P(X|Y=sim) > P(X|Y=não) • O classificador Bayesiano prediz que a tupla X é classificada na classe Compra-Computador = sim
Classificador Naive Bayes • Um classificador Naive Bayes estima a probabilidade de classe condicional P(X|Y). • Pré-considerações: • Assume-se que os atributos são condicionalmente independentes (Naive Bayes ingênuo ou simples); • As probabilidades condicionais são estimadas para os atributos de acordo com a sua classificação: • Categórico; • Contínuo.
Atributos Condicionalmente Independentes • São atributos que apresentam independência estatística entre si: • Dois eventos são estatisticamente independentes se a probabilidade da ocorrência de um evento não é afetada pela ocorrência do outro evento. Exemplo: • Tamanho do braço x Habilidades de Leitura • Considerando a Idade, a dependência não ocorre.
Atributos Categóricos • É aquele atributo para o qual é possível estabelecer um conjunto de valores finito. • Exemplo: • Sexo: {Masculino, Feminino} • Cor da Pele: {Branca, Marrom, Amarela, Preta}
Atributos Categóricos • Para uso no algoritmo Naive Bayes: • Estima-se a fração das instâncias de treinamento de acordo com cada valor da classe. Exemplo: • P(Casa Própria=Sim|Não)
Atributos Categóricos Exemplo: • P(Casa Própria=Sim|Não) = 2/3
Atributos Contínuos • São considerados contínuos os atributos que possuem muitos ou infinitos valores possíveis • Exemplo: • Idade: • Peso:
Atributos Contínuos • Existem duas formas de estimar a probabilidade de classe condicional para atributos contínuos: • Discretização dos atributos; • Distribuição Gaussiana.
Atributos Contínuos • Discretização de atributos contínuos: • Os atributos contínuos são divididos em intervalos discretos, que substituem os valores desses atributos. • Esta abordagem transforma os atributos contínuos em atributos ordinais. • A transformação dos atributos contínuos em atributos discretos permite que sejam tratados como atributos categóricos.
Atributos Contínuos • Distribuição Gaussiana: • Assume uma certa forma de distribuição de probabilidade para variáveis contínuas, e estima os parâmetros da distribuição usando os dados de treinamento. • Caracterizada por dois parâmetros: • Média (µ) • Variância (σ2) da amostra
Atributos Contínuos • Para cada valor de classe y, a probabilidade da classe condicional para o atributo X é:
Classificador Naive Bayes • Exemplo: • Dado o seguinte conjunto de treinamento: Atributos Categóricos Atributos Contínuos Classe
Classificador Naive Bayes • Cálculo dos atributos categóricos: P(Casa Própria=Sim|Não) = 3/7
Classificador Naive Bayes • Cálculo dos atributos categóricos: P(Casa Própria=Sim|Não) = 3/7 P(Casa Própria=Não|Não) = 4/7
Classificador Naive Bayes • Cálculo dos atributos categóricos: P(Casa Própria=Sim|Não) = 3/7 P(Casa Própria=Não|Não) = 4/7 P(Casa Própria=Sim|Sim) = 0
Classificador Naive Bayes • Cálculo dos atributos categóricos: P(Casa Própria=Sim|Não) = 3/7 P(Casa Própria=Não|Não) = 4/7 P(Casa Própria=Sim|Sim) = 0 P(Casa Própria=Não|Sim) = 1
Classificador Naive Bayes • Cálculo dos atributos categóricos: P(Casa Própria=Sim|Não) = 3/7 P(Casa Própria=Não|Não) = 4/7 P(Casa Própria=Sim|Sim) = 0 P(Casa Própria=Não|Sim) = 1 P(Estado Civil=Solteiro|Não) = 2/7 P(Estado Civil=Divorciado|Não) = 1/7 P(Estado Civil=Casado|Não) = 4/7 P(Estado Civil=Solteiro|Sim) = 2/3 P(Estado Civil=Divorciado|Sim) = 1/3 P(Estado Civil=Casado|Sim) = 0
Classificador Naive Bayes • Cálculo dos atributos contínuos: • Para a classe Não Média: µ = (125 + 100 + 70 + 120 + 60 + 220 + 75) / 7 = 110 Variância: σ2 = (125-110)2 + (100-110)2 + (70-110)2 + (120-110)2 + (60-110)2 + (220-110)2 + (75-110)2 / 6 = 2975
Classificador Naive Bayes • Cálculo dos atributos contínuos: • Para a classe Sim Média: µ = (95 + 85 + 90) / 3 = 90 Variância: σ2 = (95-90)2 + (85-90)2 + (90-90)2 / 2 = 25
Classificador Naive Bayes • Resultado dos cálculos básicos: P(Casa Própria=Sim|Não) = 3/7 P(Casa Própria=Não|Não) = 4/7 P(Casa Própria=Sim|Sim) = 0 P(Casa Própria=Não|Sim) = 1 P(Estado Civil=Solteiro|Não) = 2/7 P(Estado Civil=Divorciado|Não) = 1/7 P(Estado Civil=Casado|Não) = 4/7 P(Estado Civil=Solteiro|Sim) = 2/3 P(Estado Civil=Divorciado|Sim) = 1/3 P(Estado Civil=Casado|Sim) = 0 Para o cálculo da Renda Anual: Classe Não: Média: 110 Variância: 2975 Classe Sim: Média: 90 Variância: 25
Classificador Naive Bayes • Dado o conjunto de treinamento anterior, qual a classe do seguinte registro de teste: X = (Casa Própria=Não, Estado Civil=Casado, Renda Anual=120K) • Avaliar qual a maior probabilidade entre as probabilidades posteriores: • P(Inadimplente=Não|X) e P(Inadimplente=Sim|X)
Classificador Naive Bayes • Para calcular as probabilidades posteriores P(Não|X) e P(Sim|X) necessitamos: • Calcular as classes condicionais P(X|No) e P(X|Yes) • P(X|Não) • P(Casa Própria=Não|Não) * P(Estado Civil=Casado|Não) * P(Renda Anual=120K|Não) • 4/7 * 4/7 * 0,0072 • 0,0024 • P(X|Sim) • P(Casa Própria=Não|Sim) * P(Estado Civil=Casado|Sim) * P(Renda Anual=120K|Sim) • 1 * 0 * 1,2x10-9 • 0 Distribuição Gaussiana
Classificador Naive Bayes • Juntando os termos: • P(Não|X) • α * P(Não) * P(X|Não) • α * 7/10 * 0,0024 • 0,0016α • Onde α = 1/P(X) → Termo constante! • Como a probabilidade condicional de P(X|Sim) é zero: • P(Sim|X) = 0 • Logo, P(Não|X) > P(Sim|X) • O registro X é classificado como Não
M-Estimate das Probabilidades Condicionais • Problema: se a probabilidade da classe condicional de um dos atributos é zero, a probabilidade posterior para a classe inteira, quando avaliado esse atributo, também será. • Pois Lembre-se: • P[x1, x2,... ,xk | C] = P(x1| C) * P(x2| C) * … * P(xk| C) • Quando essa condição existe para atributos das duas classes, o algoritmo não é capaz de classificar o registro.
M-Estimate das Probabilidades Condicionais • Exemplo, imagine que o conjunto de treinamento fosse assim: • E agora queremos saber P(X | C) sendo • X = (Casa Própria = Sim, Estado Civil = Divorciado, Renda = 120k)
M-Estimate das Probabilidades Condicionais • P(Não) = 6/9 = 0.666
M-Estimate das Probabilidades Condicionais • P(Não) = 6/9 = 0.666 • P(Sim) = 3/9 = 0.333
M-Estimate das Probabilidades Condicionais P(Não) = 6/9 = 0.666 P(Sim) = 3/9 = 0.333 P(Casa Própria = Sim | Não) = 2/6 = 0.33
M-Estimate das Probabilidades Condicionais P(Não) = 6/9 = 0.666 P(Sim) = 3/9 = 0.333 P(Casa Própria = Sim | Não) = 2/6 = 0.33 P(Estado Civil = Divorciado | Não) = 0
M-Estimate das Probabilidades Condicionais P(Não) = 6/9 = 0.666 P(Sim) = 3/9 = 0.333 P(Casa Própria = Sim | Não) = 2/6 = 0.33 P(Estado Civil = Divorciado | Não) = 0 P(Renda Anual = 120k | Não) = 0,0072 Média (µ) = 91,66k Variância (σ2) = 732,76
M-Estimate das Probabilidades Condicionais P(Não) = 6/9 = 0.666 P(Sim) = 3/9 = 0.333 P(Casa Própria = Sim | Não) = 2/6 = 0.33 P(Estado Civil = Divorciado | Não) = 0 P(Renda Anual = 120 | Não) = 0,0072 P(Casa Própria = Sim | Yes) = 0/3 = 0
M-Estimate das Probabilidades Condicionais P(Não) = 6/9 = 0.666 P(Sim) = 3/9 = 0.333 P(Casa Própria = Sim | Não) = 2/6 = 0.33 P(Estado Civil = Divorciado | Não) = 0 P(Renda Anual = 120 | Não) = 0,0072 P(Casa Própria = Sim | Sim) = 0/3 = 0 P(Estado Civil = Divorciado | Sim) = 0.333
M-Estimate das Probabilidades Condicionais P(Não) = 6/9 = 0.666 P(Sim) = 3/9 = 0.333 P(Casa Própria = Sim | Não) = 2/6 = 0.33 P(Estado Civil = Divorciado | Não) = 0 P(Renda Anual = 120 | Não) = 0,0072 P(Casa Própria = Sim | Sim) = 0/3 = 0 P(Estado Civil = Divorciado | Sim) = 0.333 P(Renda Anual = 120 | Sim) = 1,2 * 10-9
M-Estimate das Probabilidades Condicionais • Aplicando a fórmula de Bayes: • P(C = Não | X) = α * 0.666 * (0.333 * 0 * 0,0072) • P(C = Sim | X) = α * 0.333 * ( 0 * 0.333 * 1,2 * 10-9) • P(C = Não | X) = 0 • P(C = Sim | X) = 0 • Ou seja, o algoritmo não foi capaz de predizer a probabilidade neste caso
M-Estimate das Probabilidades Condicionais • É possível contornar o problema utilizando a abordagem M-Estimate para o cálculo das probabilidades condicionais
M-Estimate das Probabilidades Condicionais • Onde: • n é o número total de instâncias da classe y • ncé o número de exemplos de treinamento da classe y com o valor x • m é um parâmetro conhecido como o tamanho de amostra equivalente • m é dito valor de compensação • p é um parâmetro especificado pelo usuário • + ou – a proporção da classe no treinamento • Utilizando m = 3 e p = 2/3 (para a classe “Não”), é possível calcular a probabilidade condicional que anteriormente era zero: • P(Estado Civil=Divorciado|Não) = (0 + 3*2/3)/(6+3) = 2/9
M-Estimate das Probabilidades Condicionais • Assumindo p=1/3 para classe “Sim” e p=2/3 para a classe “Não”, as classes condicionais dos demais atributos são calculadas: • P(Casa própria=Sim|Não) = (2 + 3*2/3)/(6 + 3) = 4/9 = 0.444 • P(Estado Civil = Divorciado | Não) = 2/9 = 0.222 (calculado na lâmina anterior) • P(Renda Anual = 120k | Não) = 0,0072 • P(C = Não | X) = α * 0.666 * (0.444 * 0.222 * 0,0072) • = 0,004α • P(Casa própria=Sim|Sim) = (0 + 3*1/3)/(3 + 3) = 1/6 = 0,166 • P(Estado Civil = Divorciado | Sim) = (1 + 3 * 1/3) / (3 + 3) = 2/6 = 0,333 • P(Renda Anual = 120k | Sim) = 1,2 * 10-9 • P(C = Sim | X) = α * 0.333 * ( 0,166 * 0.333 * 1,2 * 10-9) • = 0,022 * 10-9α • Portanto, o algoritmo de Naive Bayes prediz que para o conjunto de atributos X utilizado, a classe deverá ser NÃO