320 likes | 449 Vues
INE 5644 – Mineração de Dados Aula 5 – Classificação (Parte 3). Professor: José Leomar Todesco. Abordagem Estatística. Classificadores Bayesianos Naive Bayes. P( B|A ) = P(A B) / P(A) (probabilidade condicional) P( B|A ) = P( A|B ) . P(B) / P(A) (regra de Bayes)
E N D
INE 5644 – Mineração de DadosAula 5 – Classificação (Parte 3) Professor: José Leomar Todesco
Classificadores Bayesianos Naive Bayes P(B|A) = P(A B) / P(A) (probabilidade condicional) P(B|A) = P(A|B) . P(B) / P(A) (regra de Bayes) P(B|A) = P(A B) / P(A)(1) P(A|B) = P(A B) / P(B) (2) P(A B) = P(A|B) . P(B)(3) Substituindo (3) em (1) chegamos a regra de Bayes
Probabilidade Condicional:Definição e Propriedades • P(B|A), para A fixo, satisfaz os axiomas de Kolmogorov • Se A = , então P(B|A) = P(B) • A probabilidade condicional define-se em função da probabilidade não condicional, logo o cálculo da primeira decorre do conhecimento da segunda
Teorema da Multiplicação de Probabilidades Esse resultado permite calcular a probabilidade de ocorrência simultânea de vários eventos a partir das probabilidades condicionais.
Probabilidade de um Evento Considere os eventos B1,...,Bk formando uma partição de W, isto é, das probabilidades condicionais. * Intuitivamente, qualquer que seja o resultado de um experimento, um e somente um desses eventos Bi acontecerá.Graficamente,
Partição de um Espaço Amostral A Sempre vale a decomposição
Partição de um Espaço Amostral mas os eventos são mutuamente excludentes. Assim, podemos calcular a probabilidade de A de forma aditiva onde cada uma dessas interseções é dada por: E dessa maneira temos o seguinte
Teorema da Probabilidade Total A utilidade desse resultado reside em que, muitas vezes, é difícil calcular a probabilidade do evento A em forma direta, mas pode-se conhecer a probabilidade dele acontecer dado que ocorreram outros eventos Bi que formam uma partição do espaço amostral.
Teorema de Bayes Permite calcular a probabilidade da “causa” Bi ter acontecido, dado que a “conseqüência A tenha sido observada.
Classificadores Bayesianos Naive Bayes Sejam A1, ..., Ak atributos, [a1, ..., ak] uma tupla do banco de dados, e C uma classe a ser prevista. A previsão ótima é uma classe de valor c tal que: P(C = c | A1 = a1 ... Ak = ak) é máxima.
Classificadores Bayesianos Naive Bayes Transformando através da regra de Bayes, que estabelece: = P(A1 = a1 ... Ak = ak | C = c) * P(C = c) / P(A1 = a1 ... Ak = ak) Considerando independência entre os atributos: = P(A1 = a1|C = c) *... P(Ak = ak| C = c) * P(C = c) / P(A1 = a1 *...P(Ak = ak)
Exemplo: Naive Bayes Qual será a decisão, se o dia estiver com sol, temperatura fria, umidade alta e vento forte ? P(Jogar = S / Aspecto = Sol Temperatura = Fria Umidade = Alta Vento = Forte) = ? P(Jogar = N / Aspecto = Sol Temperatura = Fria Umidade = Alta Vento = Forte) = ?
Exemplo: Naive Bayes P(Jogar = S / Aspecto = Sol Temperatura = Fria Umidade = Alta Vento = Forte) = ? P( Sol/S) * P( Fria/S) * P(Alta/S) * P(Forte/S) * P(S) / P( Sol) * P( Fria) * P(Alta)* P(Forte) =
Exemplo: Naive Bayes P(Jogar = S) = 9/14; P(Jogar = N) = 5/14; P(Aspecto = Sol / Jogar = S) = 2/9; P(Aspecto = Sol / Jogar = N) = 3/5; P(Temperatura = Fria / Jogar = S) = 3/9; P(Temperatura = Fria / Jogar = N) = 1/5; P(Umidade = Alta / Jogar = S) = 3/9; P(Umidade = Alta / Jogar = N) = 4/5; P(Vento = Forte / Jogar = S) = 3/9; P(Vento = Forte / Jogar = N) = 3/5;
Exemplo: Naive Bayes P(Aspecto = Sol ) = 5/14 P(Temperatura = Fria) = 4/14 P(Umidade = Alta ) = 7/14 P(Vento = Forte ) = 6/14
Exemplo: Naive Bayes P(Jogar = S / Aspecto = Sol Temperatura = Fria Umidade = Alta Vento = Forte) = ? P( Sol/S) * P( Fria/S) * P(Alta/S) * P(Forte/S) * P(S) / P( Sol) * P( Fria) * P(Alta)* P(Forte) = (2/9 * 3/9 * 3/9 * 3/9 * 9/14) / (5/14 * 4/14 * 7/14 * 6/14) = 0,0053/0,022 =0,242
Exemplo: Naive Bayes P(Jogar = N / Aspecto = Sol Temperatura = Fria Umidade = Alta Vento = Forte) = ? P( Sol/N) * P( Fria/N) * P(Alta/N) * P(Forte/N) * P(N) / P( Sol) * P( Fria) * P(Alta) P(Forte) = (3/5 * 1/5 * 4/5 * 3/5 * 5/14) / (5/14 * 4/14 * 7/14 * 6/14) = 0,0206/0,029 =0,941 Como (J=N) 0,941 > (J=S) 0,242) Então Jogar = Não
K- NearestNeighbor Método mais antigo (1967) e difundido Instâncias são representadas por pontos num espaço n dimensional n instância x = <a1(x), a2(x), a3(x), ..., an(x)> Onde ar(x) representa o valor do r-ésimo atributo A distância entre as instâncias pode ser calculada pela distância euclidiana ou outras
K- NearestNeighbor Exemplo: A classificação de ?(F(?)), será a classificação de Xi (F(Xi)), onde Xi é a instancia mais próxima de ?. Se k=1, na figura ? seria classificado como O Se k=7, na figura ? seria classificado como #
k vizinhos mais próximos: exemplo x = < idade(x), altura(x), peso(x)>, onde adimplente pode ser “sim”, “não”] • Exemplo de treinamento = (x,f(x)), onde f(x) é a função de classificação a ser aprendida • joão = (<36, 1.80, 76>, ???) a ser classificado • josé = (<30, 1.78, 72>, sim) • maria = (<25, 1.65, 60>, sim) • anastácia = (<28, 1.60, 68>, não) • Distância • d(joão,josé) = [(36-30)2 + (1.80-1.78)2 + (76-72)2]1/2 = (36+0.0004+16)1/2 = 7,21 • d(joão,maria) = (121+0.0225+256)1/2 = 19,41 • d(joão, anastácia) = (64+0.04+64)1/2 = 11,32
k vizinhos mais próximos • A função de classificação • Caso seja discreta, seu resultado é aquele que aparecer mais vezes entre os k vizinhos mais próximos (V = conjunto de valores possíveis da função) • Caso seja contínua, seu resultado é a média dos resultados dos k vizinhos mais próximos
Algoritmo para estimar f //Treinamento Adicione cada instância de treinamento <x,f(x)> na lista instancias_treinamento //Classificação Para cada instância xq a ser classificada Chame de x1,x2,...xk as k instâncias mais próximas de xq na lista instancias_treinamento Caso discreto retorna Caso contínuo retorna
KNN: exemplo • Caso discreto • Percebe-se que o k é determinante na classificação - k = 1 classifica xq como + k = 5 classifica xq como - - - - + - xq + + - +
KNN: exemplo • Caso contínuo • exemplo = filme = <ano, bilheteria> • classificação f = recomendação r Z, r = [1...5] • r(x1) = 4, r(x2) = 3, r(x3) = 5, r(x4) = 2 • para k = 3 e supondo que x1, x2 e x3 são os mais próximos de xq, temos • f(xq) = (4+3+5)/3 = 4
k vizinhos mais próximos • Visualização da “superfície de decisão”, para k = 1 • Diagrama de Voronoi => poliedro convexo para cada instância de treinamento. • As instâncias dentro do poliedro são completamente classificados pela instância associada http://www.cs.cornell.edu/Info/People/chew/Delaunay.html
k vizinhos mais próximos • Refinamento óbvio (p/ melhorar robustez) • ponderar a contribuição de cada um dos k vizinhos de acordo com sua distância ao ponto de consulta xq • Caso discreto • Caso contínuo onde
k vizinhos mais próximos • Problema da dimensionalidade • Para calcular a distância entre os pontos, o método utiliza todos os atributos da instância • Conseqüências: • pode custar caro • atributos irrelevantes podem deturpar a classificação • Soluções • Atribuir pesos j aos atributos de maneira que minimize a taxa de erro de classificação • Usar a técnica de validação cruzada para automaticamente escolher os pesos • Eliminar atributos do espaço de instâncias
Exercício Para a série disponibilizada, realizar os cálculos de probabilidade e aplicar o classificador de Naive-Bayes, usando uma planilha excell. Para este mesmo exemplo, usar o classificador de Naive-Bays disponibilizado no Weka.