A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Classificadores Bayesianos

Apresentações semelhantes


Apresentação em tema: "Classificadores Bayesianos"— Transcrição da apresentação:

1 Classificadores Bayesianos
AULA 12 DATA MINING Sandra de Amo 3/25/2017 Mestrado em Ciência da Computação

2 Classificadores Bayesianos
Classificadores estatísticos Classificam um objeto numa determinada classe C baseando-se na probabilidade do objeto pertencer à classe C Vantagens Processo de classificação rápido Grande acurácia quando aplicados a grandes volumes de dados. 3/25/2017 Mestrado em Ciência da Computação

3 Classificador Bayesiano Simples
Hipótese: atributos não-classe são independentes Valor de um atributo não influencia o valor de outros atributos Exemplo: Idade, Profissão, Renda não são independentes. Um médico tem uma probabilidade maior de ter uma renda alta do que um porteiro. Gênero, Cidade, Idade são independentes Porque considerar atributos independentes ? Cálculos envolvidos no processo de classificação são simplificados 3/25/2017 Mestrado em Ciência da Computação

4 Como funciona um classificador Bayesiano simples
Classificador Eager – Constrói um modelo de classificação baseado em probabilidades condicionais Método geral D = base de treinamento – (tuplas classificadas) X = (a, b, c) : tupla não classificada X pode ser vista como um evento conjunto A = a e B = b e C = c X é classificada na classe Ci se P[Ci|X] > P[Cj|X] para todo j diferente de i P[Ci|X] = probabilidade condicional do evento Classe= Ci acontecer dado que o evento conjunto A = a e B = b e C = c acontece. 3/25/2017 Mestrado em Ciência da Computação

5 Classificação de uma tupla X
Envolve o cálculo de todas as probabilidades condicionais P[Ci|X] para todo i = 1,…,n, onde n = número de classes A probabilidade mais alta corresponde à classe em que X será classificada P[Ci|X] : Probabilidade Posterior 3/25/2017 Mestrado em Ciência da Computação

6 Como calcular as probabilidades posteriores ?
P[X ∩ C] = P[X|C] * P[C] = P[C|X] * P[X] Teorema de Bayes P[C|X] = P[X|C] * P[C] P[X] P[X] é constante (pois X está fixa) Para maximizar P[C|X] basta maximizar o numerador P[X|C] * P[C] 3/25/2017 Mestrado em Ciência da Computação

7 Como maximizar P[X|C] * P[C]
P[C] é calculada através do banco de amostras É preciso encontrar a classe C para a qual o produto P[X|C] * P[C] é máximo Como calcular P[X|C] ? P[X|C] = P[A1=x1,A2=x2, ...,An = xn |C] onde X = (x1, x2, ..., xn) 3/25/2017 Mestrado em Ciência da Computação

8 Classificador Bayesiano Naïve
Hipótese: Independência condicional dos atributos A1,...,An dado C A1, ..., An são ditos independentes dado C se P[Ai=xi | A1=x1 ,..., Ai-1 =xi-1,...,An=xn,C] = P[Ai=xi | C] para todo i ϵ {1,...,n} 3/25/2017 Mestrado em Ciência da Computação

9 Mestrado em Ciência da Computação
Corolário A1, ..., An são independentes dado C se e somente se P[A1=x1,A2=x2,... , An= xn |C] = P[A1=x1| C] * … * P[An=xn| C] Prova: Aplicando o Teorema de Bayes para P[A1=x1,A2=x2,... , An= xn,C] : P[A1=x1,A2=x2,... , An= xn,C] = P[A1=x1,A2=x2,...,An = xn |C] . P[C] P[A1=x1, A2=x2,... , An= xn,C] = P[A1=x1| A2=x2,...,An=xn, C]. P[A2=x2,...,An=xn,C] Logo: P[A1=x1,A2=x2,...,An = xn |C] . P[C] = P[A1=x1| A2=x2,...,An=xn, C]. P[A2=x2,...,An=xn,C] = P[A1=x1| A2=x2,...,An=xn, C]. P[A2=x2,...,An=xn|C]. P[C] Logo: P[A1=x1,A2=x2,... An=xn |C] = P[A1=x1| A2=x2,...,An=xn, C]. P[A2=x2, ...,An=xn|C] = P[A1=x1| C]. P[A2=x2,..., An=xn|C] (usando a condição de independência dos atributos A1, ...., An) Repetindo o processo para P[A2=x2,...,An=xn|C] e assim por diante, concluimos a prova. 3/25/2017 Mestrado em Ciência da Computação

10 Mestrado em Ciência da Computação
Cálculos Cada P[Ai=xi | C ] é calculada da seguinte maneira Se Ai é atributo categórico P[Ai=xi | C ] = P[Ai=xi,C ] / P[C] = núm. de tuplas classificadas em C com Ai = xi Total de tuplas classificadas em C 3/25/2017 Mestrado em Ciência da Computação

11 Mestrado em Ciência da Computação
Cálculos Se Ai é atributo contínuo (não categórico) P[Ai=xi | C ] = g(Ai= xi, μ(C) , σ(C)) Onde g = função de distribuição de Gauss μ(C) = média σ(C) = desvio padrão g(A= x, μ(C) , σ(C)) = e -(x- μ) 2 √2Π * σ 3/25/2017 Mestrado em Ciência da Computação

12 Mestrado em Ciência da Computação
Resumo Input: um banco de tuplas classificadas Uma tupla X a ser classificada Output: P[C1|X], P[C2|X], ..., P[Cn|X], onde C1,...,Cn são todos os valores do atributo classe C A tupla X é classificada na classe Ci para a qual o número P[Ci|X] é o maior. 3/25/2017 Mestrado em Ciência da Computação

13 Mestrado em Ciência da Computação
Exemplo Compra-computador ID IDADE RENDA ESTUDANTE CREDITO CLASSE 1 ≤ 30 Alta Não Bom 2 3 Sim 4 > 40 Média 5 Baixa 6 Excelente 7 8 9 10 11 12 13 14 3/25/2017 Mestrado em Ciência da Computação

14 Mestrado em Ciência da Computação
Exemplo C1= sim, C2 = não Tupla desconhecida X = (≤ 30, Média,Sim,Bom) Precisamos maximizar P[X|Ci] * P[Ci] para i =1,2 P[C1] = 9/14 = 0.643 P[C2] = 5/14 = 0.357 P[Idade ≤ 30 | Compra = Sim ] = 2/9 = 0.222 P[Idade ≤ 30 | Compra = Não ] = 3/5 = 0.6 P[Renda = Média | Compra = Sim ] = 4/9 = 0.444 P[Renda = Média | Compra = Não ] = 2/5 = 0.4 3/25/2017 Mestrado em Ciência da Computação

15 Mestrado em Ciência da Computação
Exemplo P[Est = sim | Compra = Sim ] = 6/9 = 0.667 P[Est = sim | Compra = Não ] = 1/5 = 0.2 P[Crédito = bom| Compra = Sim ] = 6/9 = 0.667 P[Crédito = bom | Compra = Não ] = 2/5 = 0.4 P[X|C1] = 0.222*0.444*0.667*0.667 = 0.044 P[X|C2] = 0.6*0.4*0.2*0.4 = 0.019 P[X|C1]*P[C1] = 0.044*0.643 = 0.028 P[X|C2]*P[C2] = 0.019*0.357 = 0.007 Tupla X classificada na classe C1 (compra computador = sim) 3/25/2017 Mestrado em Ciência da Computação

16 Redes Bayesianas de Crença (Belief Bayesian Networks)
Utilizadas quando a probabilidade de um atributo assumir um valor depende da probabilidade de valores para os outros atributos. Não há independência entre os atributos 3/25/2017 Mestrado em Ciência da Computação

17 O que é uma rede bayesiana de crença ?
Um grafo dirigido acíclico Cada vértice representa um atributo Arestas ligando os vértices representam as dependências entre os atributos. y x Y é pai de X X depende de Y Tabela de Probabilidade Condicional (CPT) para cada atributo Z x y z P[Z |{X,Y}] CPT (Z) 3/25/2017 Mestrado em Ciência da Computação

18 Mestrado em Ciência da Computação
Tabela CPT (Z) Linhas : possíveis valores do atributo Z Colunas : combinações possíveis de valores dos pais de Z Na posição (i,j) da tabela temos a probabilidade condicional de Z ter o valor da linha i e seus pais terem os valores especificados na coluna j. 3/25/2017 Mestrado em Ciência da Computação

19 Mestrado em Ciência da Computação
Tabela CPT(Z) Valores de X = { 1, 3} Valores de Y = {2,4} Valores de Z = {5,6} X Y X = 1 Y = 2 Y = 4 X = 3 Z = 5 0.5 0.3 0.2 0.1 Z = 6 0.7 0.8 0.9 Z 3/25/2017 Mestrado em Ciência da Computação

20 Como classificar usando uma Rede Bayesiana de Crença
Input: Uma Rede Bayesiana de Crença Um atributo da rede selecionado como sendo o atributo classe (pode haver diversos atributos-classe na rede) Uma tupla X a ser classificada. Output: P[C1|X], P[C2|X], ..., P[Cn|X] 3/25/2017 Mestrado em Ciência da Computação

21 Cálculo das probabilidades P[C|X]
Teorema de Bayes P[C|X] = P[X|C] * P[C] P[X] P[X] é constante (pois X está fixa) Para maximizar P[C|X] basta maximizar o numerador P[X|C] * P[C] Como calcular P[X|C] quando existe dependência entre os atributos da tupla X ? 3/25/2017 Mestrado em Ciência da Computação

22 Mestrado em Ciência da Computação
Cálculos P[X|C=Ci] * P[C=Ci] = P[X ∩ (C=Ci)] = P[A1=x1 | pais(A1) ] * P[A2=x2 | pais(A2) ] * ... * P[An = xn | pais(An) ]* P[C=Ci | pais(C) ] Prova (Exercicio em aula) Cada probabilidade conditional P[Ai=xi | pais(Ai) ] é fornecida na CPT(Ai), presente no grafo da rede bayesiana de input. 3/25/2017 Mestrado em Ciência da Computação

23 Mestrado em Ciência da Computação
Exemplo CPT(HF) CPT(CP) HF F HF 1 0.05 0.95 HF= 1 F = 1 F = 0 HF= 0 1 0.8 0.5 0.7 0.1 0.2 0.3 0.9 CPT(F) CP E CPT(E) CPT(RX+) F 1 0.35 0.65 F=1 F= 0 1 0.03 0.2 0.97 0.8 CP=1 CP=0 1 0.9 0.02 0.1 0.98 RX+ D CPT(D) HF =história familiar E = Efisema F = fumante D = Dispnéia CP = câncer de pulmão RX+ = raio X + E=1, CP=1 E=1, CP=0 E=0, CP=1 E=0, CP=0 0.99 0.2 0.3 0.01 1 0.01 0.8 0.7 0.99 3/25/2017 Mestrado em Ciência da Computação

24 Mestrado em Ciência da Computação
Cálculos X = (HF=1, F=1, E = 0, RX+ = 1, D=0) P[X|CP=i] * P[CP=i] = P[HF=1] * P[F=1] * P[E=0 | F=1] * P[RX=1 |CP=i]* P[D=0 |CP=i, E=0] * P[CP=i | HF = 1, F=1). Para maximizar P[X|CP=i] * P[CP=i] basta maximizar P[RX=1 |CP=i]* P[D=0 |CP=i, E=0] * P[CP=i | HF = 1, F=1) 3/25/2017 Mestrado em Ciência da Computação

25 Problema de Classificação
Input: Um conjunto de amostras classificadas Output: Uma rede bayesiana de crença é preciso descobrir : a topologia da rede e as tabelas de probabilidade CPT Classificador = Rede Bayesiana 3/25/2017 Mestrado em Ciência da Computação

26 Mestrado em Ciência da Computação
Exercício x Considere a rede bayesiana do slide 23 e os casos reais à esquerda. Pede-se a curva ROC deste classificador. HF F E D RX+ CP 1 3/25/2017 Mestrado em Ciência da Computação

27 Treinamento de uma Rede Bayesiana
Se a topologia da rede é conhecida e dispõe-se de um banco de dados de amostras, então o treinamento consiste em computar as tabelas CPT(Z) para cada atributo Z. Como descobrir a topologia da rede ? Especialistas no domínio: especificam as dependências e as probabilidades condicionais. Métodos automáticos: algoritmos extraem (aprendem) uma rede de crença a partir de um banco de dados de amostras. Técnicas de aprendizagem da topologia da rede: Algoritmo K2 (um dos pioneiros) Algoritmos genéticos, MDL, etc 3/25/2017 Mestrado em Ciência da Computação

28 Mestrado em Ciência da Computação
Referências Uma introdução D. Heckerman. Bayesian Networks for Knowledge Discovery. In U. M. Fayyad, G. Piatetsky-Shapiro, P. Smyth, R. Uthurusamy Editors. Advances in Knowledge Discovery and Data Mining, pages MIT Press, 1996. Treinamento de Rede de Crença G. F. Cooper, E. Herskovits. A Bayesian Method for the Induction of Probabilistic Networks from Data. Machine Learning, 9, (1992). Livro: Finn V. Jensen, Thomas D. Nielsen: Bayesian Networks and Decision Graphs. 2nd Edition. Springer, 2007. Capítulo 7: Learning the Structure of Bayesian Networks. 3/25/2017 Mestrado em Ciência da Computação


Carregar ppt "Classificadores Bayesianos"

Apresentações semelhantes


Anúncios Google