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

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

2/18/2014Mestrado em Ciência da Computação1 Classificadores Bayesianos AULA 12 DATA MINING Sandra de Amo.

Apresentações semelhantes


Apresentação em tema: "2/18/2014Mestrado em Ciência da Computação1 Classificadores Bayesianos AULA 12 DATA MINING Sandra de Amo."— Transcrição da apresentação:

1 2/18/2014Mestrado em Ciência da Computação1 Classificadores Bayesianos AULA 12 DATA MINING Sandra de Amo

2 2/18/2014Mestrado em Ciência da Computação2 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 2/18/2014Mestrado em Ciência da Computação3 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: não são independentes 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. são independentes Gênero, Cidade, Idade são independentes Porque considerar atributos independentes ? Cálculos envolvidos no processo de classificação são simplificados

4 2/18/2014Mestrado em Ciência da Computação4 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.

5 2/18/2014Mestrado em Ciência da Computação5 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

6 2/18/2014Mestrado em Ciência da Computação6 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]

7 2/18/2014Mestrado em Ciência da Computação7 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)

8 2/18/2014Mestrado em Ciência da Computação8 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[A i =x i | A 1 =x 1,..., A i-1 =x i-1,...,A n =x n,C] = P[A i =x i | C] para todo i {1,...,n}

9 2/18/2014Mestrado em Ciência da Computação9 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.

10 2/18/2014Mestrado em Ciência da Computação10 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

11 2/18/2014Mestrado em Ciência da Computação11 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)) = 1 e -(x- μ) 2σ 2 2 2Π * σ

12 2/18/2014Mestrado em Ciência da Computação12 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.

13 2/18/2014Mestrado em Ciência da Computação13 Exemplo IDIDADERENDAESTUDANTECREDITOCLASSE 1 30AltaNãoBomNão 2 30AltaNãoBomNão AltaNãoBomSim 4> 40MédiaNãoBomSim 5> 40BaixaSimBomSim 6> 40BaixaSimExcelenteNão BaixaSimExcelenteSim 8 30MédiaNãoBomNão 9 30BaixaSimBomSim 10> 40MédiaSimBomSim 11 30MédiaSimExcelenteSim MédiaNãoExcelenteSim AltaSimBomSim 14> 40MédiaNãoExcelenteNão Compra-computador

14 2/18/2014Mestrado em Ciência da Computação14 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 = P[C2] = 5/14 = P[Idade 30 | Compra = Sim ] = 2/9 = P[Idade 30 | Compra = Não ] = 3/5 = 0.6 P[Renda = Média | Compra = Sim ] = 4/9 = P[Renda = Média | Compra = Não ] = 2/5 = 0.4

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

16 2/18/2014Mestrado em Ciência da Computação16 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

17 2/18/2014Mestrado em Ciência da Computação17 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 X depende de Y Tabela de Probabilidade Condicional (CPT) para cada atributo Z xy z P[Z |{X,Y}] Y é pai de X CPT (Z)

18 2/18/2014Mestrado em Ciência da Computação18 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.

19 2/18/2014Mestrado em Ciência da Computação19 Tabela CPT(Z) Z X Y Valores de X = { 1, 3} Valores de Y = {2,4} Valores de Z = {5,6} X = 1 Y = 2 X = 1 Y = 4 X = 3 Y = 2 X = 3 Y = 4 Z = Z =

20 2/18/2014Mestrado em Ciência da Computação20 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]

21 2/18/2014Mestrado em Ciência da Computação21 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 ?

22 2/18/2014Mestrado em Ciência da Computação22 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.

23 2/18/2014Mestrado em Ciência da Computação23 Exemplo HF= 1 F = 1 HF= 1 F = 0 HF= 0 F = 1 HF= 0 F = F=1F= HFF CPE D RX+ HF =história familiar E = Efisema F = fumante D = Dispnéia CP = câncer de pulmão RX+ = raio X + CPT(CP) CPT(E) CP=1CP= CPT(RX+) CPT(D) 1 0 E=1, CP=1E=1, CP=0E=0, CP=1E=0, CP= HF CPT(HF) F CPT(F)

24 2/18/2014Mestrado em Ciência da Computação24 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)

25 2/18/2014Mestrado em Ciência da Computação25 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

26 2/18/2014 Mestrado em Ciência da Computação 26 Exercício x Considere a rede bayesiana do slide 23 e os casos reais à esquerda. Pede-se a curva ROC deste classificador.

27 2/18/2014Mestrado em Ciência da Computação27 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

28 2/18/2014Mestrado em Ciência da Computação28 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, 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).A Bayesian Method for the Induction of Probabilistic Networks from Data Livro: Finn V. Jensen, Thomas D. Nielsen: Bayesian Networks and Decision Graphs. 2nd Edition. Springer, Capítulo 7: Learning the Structure of Bayesian Networks.


Carregar ppt "2/18/2014Mestrado em Ciência da Computação1 Classificadores Bayesianos AULA 12 DATA MINING Sandra de Amo."

Apresentações semelhantes


Anúncios Google