1 / 51

Mineração de dados

Mineração de dados. Classificação: outros algoritmos Apresentação baseada: no livro Introduction to Data Mining (Tan, Steinbach, Kumar) e em apresentações do prof. José Todesco (UFSC). Naive Bayes.

Download Presentation

Mineração de dados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mineração de dados Classificação: outros algoritmos Apresentação baseada: no livro Introduction to Data Mining (Tan, Steinbach, Kumar) e em apresentações do prof. José Todesco (UFSC)

  2. Naive Bayes • Abordagem estatística, baseada no teorema de Bayes . Naïve (ingênuo) porque considera que os atributos são independentes.

  3. Naïve Bayes – visão geral Seja o exemplo de dados: Os objetos podem ser classificados em vermelho ou verde Como há mais objetos verdes que vermelhos, a probabilidade a priori é que um novo objeto seja verde Probabilidade a priori de verde = número de objetos verdes/ número total de objetos = 40/60 = 4/6 Probabilidade a priori de vermelho = número de objetos vermelhos / número total de objetos = 20/60 = 2/6

  4. Naïve Bayes – visão geral • Queremos classificar um novo objeto X (ponto branco) • Como os objetos estão agrupados, é razoável considerar que quanto mais objetos de uma classe houver “parecidos” com X, maior a chance de X ser daquela classe. • Vamos considerar o “parecido” pelo círculo na figura (estar dentro do círculo) e calcular a probabilidade: • Probabilidade de “parecido” dado que é verde = número de objetos verdes no círculo/ número total de verdes= 1/40 • Probabilidade de “parecido” dado que é vermelho = número de objetos vermelhos no círculo/ número total de vermelhos= 3/20

  5. Naïve Bayes – visão geral • Na análise Bayesiana, a classificação final é realizada considerando estas duas informações usando a probabilidade condicional do Teorema de Bayes: • A probabilidade condicional de X ser verde dado que é “parecido” = probabilidade a priori de verde vezes Probabilidade de “parecido” dado que é verde = 4/6 . 1/40 = 1/60 • Analogamente, • A probabilidade condicional de X ser vermelho dado que é “parecido” = 2/6 . 3/20 = 1/20 • Portanto, a classe predita de X seria vermelho, pois é a maior probabilidade

  6. Mais tecnicamente…. • Aprendizagem da classificação: qual é a probabilidade da classe dado um exemplo? – Evidência E = exemplo (registro, com os valores dos atributos) – Hipótese H = valor da classe para o exemplo • Teorema de Bayes (1763): P( H| E) = • Suposição do classificador bayesiano ingênuo: evidência pode ser separada em partes independentes (os atributos do exemplo) P(E1 ,E2 ,...,En | H) =P(E1 |H ).P( E2|H)... .P(En |H ) P( H| E) = P(E|H).P(H) P(E) P( E1 |H ).P( E2 | H)... .P(En | H).P(H ) P( E1 ).P( E2)... .P(En)

  7. Exemplo:Naive Bayes

  8. Exemplo: Naive Bayes Qual será a decisão (valor da classe), se o dia estiver com sol, a temperatura fria, a umidade alta e o vento forte ? P(Jogar = S | Aspecto = Sol,Temperatura = Fria,Umidade = Alta eVento = Forte) = ? P(Jogar = N | Aspecto = Sol,Temperatura = Fria, Umidade = Alta eVento = Forte) = ?

  9. Exemplo: Naive Bayes P( E1 |H ).P( E2 | H)... .P(En | H).P(H ) P( H| E) = P( E1 ).P( E2)... .P(En) P(Jogar = S | Aspecto = Sol,Temperatura = Fria, Umidade = Alta eVento = Forte) = P( Sol|S) * P( Fria|S) * P(Alta|S) * P(Forte|S) * P(S) P( Sol) * P( Fria) * P(Alta)* P(Forte) =

  10. 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;

  11. Exemplo: Naive Bayes P(Aspecto = Sol ) = 5/14 P(Temperatura = Fria) = 4/14 P(Umidade = Alta ) = 7/14 P(Vento = Forte ) =  6/14

  12. Exemplo: Naive Bayes P(Jogar = S | Aspecto = Sol,Temperatura = Fria, Umidade = Alta eVento = 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,02186 =0,242 = =

  13. Exemplo: Naive Bayes P(Jogar = N | Aspecto = Sol,Temperatura = Fria,Umidade = Alta e 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,02186  =0,942 Como (J=N) 0,942 > (J=S) 0,242 EntãoJogar = Não = =

  14. O problemadafrequência zero • Se um valor de atributo nunca ocorrer para uma classe (como por exemplo Aspecto=nublado para a classe N) • – A probabilidade será zero! P(nublado | N) = 0 • – A probabilidade a posteriori será zero, independentemente dos outros valores! P(N | E) = 0 • • Solução: Estimador de Laplace ⇒ somar 1 à contagem de todas as combinações de classe e valor de atributo. • • Resultado: as probabilidades nunca serão zero!

  15. Naïve Bayes • Vantagens: • rápido • Bons resultados em dados reais • Desvantagens: • Resultados não tão bons em problemas complexos • Mozilla Thunderbird e Microsoft Outlook usam classificadores naive bayes para filtrar (marcar) emails que seriam spam

  16. Máquina de Vetores de Suporte [Vapnik et al, 1998] • Em inglês: Support Vector Machine (SVM) • Método matemático, baseado no Teorema de Lagrange

  17. Conceitos de SVM • Qual o hiperplano ótimo para separar duas classes • Menor erro de classificação • Maior margem • Distância entre vetores de suporte e o hiperplano

  18. Conceitos de SVM • Qual o hiperplano ótimo? • Menor erro de classificação • Maior margem • Distância entre vetores de suporte e o hiperplano

  19. SVM • Vantagens: • Classificador não-linear poderoso • Desvantagens: • Demorado para gerar o modelo e para executar • sensível a ruídos • a escolha dos parâmetros influencia muito o resultado

  20. kNN: k - Nearest Neighbor • k vizinhos mais próximos • Método simples que consiste em procurar o (para k=1) ou os (para k>1) registros mais próximos (parecidos) com aquele para o qual se deseja saber a classe

  21. K- Nearest Neighbor (vizinho mais próximo) • Método antigo [Cover 1967] e muito 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

  22. K- Nearest Neighbor (k-NN) • O resultado da classificação é aquele que aparecer mais vezes entre os k vizinhos mais próximos.

  23. K- Nearest Neighbor (k-NN) 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 Se k=7, na figura, ? seria classificado como

  24. K-NN: Exemplo x = (idade(x), altura(x), peso(x), classe(x)), onde a classe pode ser “S” ou “N” • Dados classificados: • josé = (30, 1.78, 72, S) • maria = (25, 1.65, 60, S) • anastácia = (28, 1.60, 68, N) • Dado a classificar: • joão = (36, 1.80, 76, ???) • Cálculo das distâncias: • 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 Portanto a classe de João é S, pois é a classe de José, que é o mais “próximo” de João Usar k=1

  25. K-NN • Problema da dimensionalidade (muitos atributos) • 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 • Como não gera um modelo e sim compara sempre com todos os registros, pode ser lento

  26. Redes Neurais

  27. prof. Luis Otavio Alvares Exemplo de perceptron +1 w0 = -1,5 x1 w1 = +1 + 1 u y S 1 se u > 0 0 se u  0 w2 = +1 x2 y =

  28. prof. Luis Otavio Alvares Perceptron (cont.) • perceptron computa uma função binária de suas entradas • vários perceptrons podem ser combinados para computar funções mais complexas • o perceptron pode aprender a computar tudo o que ele computa

  29. prof. Luis Otavio Alvares Perceptron (cont.) • pode-se descrever um algoritmo de aprendizagem como: • se o perceptron dispara quando não deve disparar, diminua cada wi de um número proporcional a xi; • se o perceptron deixa de disparar quando deveria, aumente cada wi de um número proporcional a xi.

  30. prof. Luis Otavio Alvares Regra de aprendizagem do perceptron W(n+1) = W(n) + η * (D(n)-Y(n)).X(n) onde: • η é a constante de correção do erro • D é a saída desejada • Y é a saída fornecida • X é o vetor de entrada • W é o vetor de pesos

  31. prof. Luis Otavio Alvares Características das RNA • grande número de elementos de processamento muito simples, inspirados nos neurônios biológicos • um grande número de conexões ponderadas entre os elementos (neurônios artificiais) • os pesos das conexões codificam o conhecimento de uma rede neural; • controle altamente distribuído e paralelo; • ênfase na aprendizagem automática.

  32. prof. Luis Otavio Alvares Elementos de processamento (neurônios) • Os elementos de processamento das redes neurais artificiais são os neurônios artificiais • Cada neurônio recebe um padrão de entrada e produz um único valor de saída (necessita apenas de informações locais) • A saída é função apenas das entradas e dos pesos das conexões

  33. prof. Luis Otavio Alvares Organização em camadas As redes neurais são formadas por um conjunto de neurônios organizados em três camadas: • camada de entrada - onde os padrões são apresentados à rede (dados de entrada da rede) • camadas intermediárias ou escondidas - onde é realizada a maior parte do processamento. • camada de saída - onde o resultado final é concluído e apresentado.

  34. prof. Luis Otavio Alvares Organização em camadas

  35. prof. Luis Otavio Alvares Processamento da informação: entrada • cada entrada corresponde a um atributo simples • o valor de um atributo é a entrada na rede. • redes neurais artificiais processam apenas números • atributos qualitativos ou imagens, por exemplo, precisam antes ser transformados em valores numéricos

  36. prof. Luis Otavio Alvares Processamento da informação: saída • a saída da rede é a solução do problema • por exemplo, se o resultado deve ser “sim” ou “não”, a rede atribui valores numéricos, por exemplo 1 para sim e 0 para não

  37. prof. Luis Otavio Alvares Processamento da informação: conexão • liga dois neurônios e possui um peso • o peso expressa a importância relativa dada à entrada antes do processamento: • Se o peso for positivo a conexão é dita excitatória • se for negativo é dita inibitória • Se o peso for zero é como se a conexão não existisse.

  38. prof. Luis Otavio Alvares Processamento da informação: função de limiar • é a responsável pela determinação da forma e da intensidade de alteração dos valores de saída

  39. prof. Luis Otavio Alvares Aprendizagem • Uma das principais características das redes neurais é a capacidade de aprendizagem automática • processo de aprendizagem = treinamento da rede • função de aprendizado: modelo matemático utilizado no treinamento da rede • separação dos dados existentes sobre o problema em dois conjuntos. • um para treinar a rede (ajustar os seus pesos) • outro para validação.

  40. O número de características (variáveis, atributos) Quanto maior o número de variáveis de entrada, maior deverá ser a rede neural, aumentando o risco de supertreinamento da rede e necessidade de maior número de registros de treinamento. O tempo necessário para treinar uma rede está diretamente relacionado com o número de variáveis de entrada usadas na mesma; quanto mais características (variáveis) são usadas, maior é o tempo para a rede convergir. Um grande problema é que quanto mais aumenta o número de variáveis de entrada, a chance da rede convergir para uma solução de qualidade inferior aumenta. Descartar características que não tenham poder preditivo ajuda a aumentar o poder preditivo da rede neural. Tente outras variáveis e verifique quais delas melhora a rede. Em muitos casos é necessário calcular novas variáveis que representam aspectos particulares do problema. Por exemplo, R$/m2. Pode-se usar outras técnicas para determinar quais características são importantes para o propósito de predição. Pode-se usar, por exemplo: correlações ou árvores de decisão.

  41. O número de exemplos de treinamento Geralmente, quanto mais características há na rede neural, mais exemplos de treinamento são necessários para abranger os padrões nos dados. Geralmente um mínimo de poucas centenas de exemplos são necessários para cada característica. Quando o tamanho do arquivo de treinamento não é grande o suficiente, a rede tende a decorar os dados.

  42. O número de saídas Por exemplo, se a rede neural vai ser usada para detectar eventos (saídas) raros e caros, tais como: falhas de turbinas de avião, uso fraudulento do cartão de crédito; então é preciso ter certeza que o arquivo de treinamento tem um número suficiente de exemplos desses eventos raros. Uma amostra aleatória dos dados disponíveis não é suficiente, pois os exemplos não raros (comuns) vão “afundar” os exemplos raros. Para contornar este problema, o arquivo de teste precisa ter muitos exemplos raros. Por exemplo, tomar 10.000 “bons” exemplos e 10.000 “maus” exemplos.

  43. Preparando os dados Preparar os dados de entrada é freqüentemente a parte mais complicada do uso de uma rede neural. Uma parte do problema é a transformação das variáveis de tal forma que os seus valores fiquem normalizados.

  44. Rede Neural Backpropagation (MLP) • Este classificador é uma rede neural que realiza a aprendizagem (determinação dos pesos dos neurônios) com o algoritmo backpropagation • Algumas características: • Todas as entradas devem ser numéricas • Tempo de geração do modelo longo • Rápido para classificar uma instância • Tolerante a ruídos • Método não linear poderoso

  45. Figura obtida em http://blog.peltarion.com/2006/07/10/classifier-showdown/

  46. Figura obtida em http://blog.peltarion.com/2006/07/10/classifier-showdown/

  47. Figura obtida em http://blog.peltarion.com/2006/07/10/classifier-showdown/

  48. Figura obtida em http://blog.peltarion.com/2006/07/10/classifier-showdown/

  49. Referências • Tan,P-N;Steimbach, M; Kumar,V. Introduction to Data Mining. Boston: Addison Wesley, 2006. 769p. • Vapnik, V. Statistical LearningTheory. Wiley, 1998. • George H. John and Pat Langley. Estimating Continuous Distributions in Bayesian Classifiers. Proceedings of the Eleventh Conference on Uncertainty in Artificial Intelligence. pp. 338-345. Morgan Kaufmann, San Mateo, 1995. • Cover T.M., Hart P.E. Nearest neighbor pattern classification. IEEE Transactions on Information Theory. 13 (1): 21–27, 1967.

  50. Exercício Considerando os dados de treinamento abaixo, realizar os cálculos de probabilidade e aplicar o classificador Naive-Bayes, para atribuir a classe para o registro: P( E1 |H ).P( E2 | H)... .P(En | H). P(H) P( H| E) = P( E1 ).P( E2)... .P(En) 50

More Related