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

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

Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo.

Apresentações semelhantes


Apresentação em tema: "Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo."— Transcrição da apresentação:

1 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho ,2009,2010 Estudo de métodos para a geração de modelos de previsão a partir de dados históricos.

2 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 2 Introdução Estudar métodos (algoritmos) que a partir de um conjunto de dados (treino) e da definição de uma propriedade (atributo) objectivo, derivam estruturas abstractas (modelos) que resumem as características essenciais para chegar aos valores do atributo objectivo. Quando expostos a novos casos, os modelos são capazes de gerar uma previsão para o valor do atributo objectivo do novo exemplo. Em geral, os algoritmos procuram a definição de uma função em que X 1,X 2,…,X j são atributos dos dados e Y é o atributo objectivo.

3 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 3 Modelos Dataset Algoritmo Modelo Novo caso Decisão Pré processamento Por vezes é Importante visualizar o modelo. Dois tipos de previsão : Categórica: ClassificaçãoNumérica: Regressão

4 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 4 Classificação Processo mecânico de aprendizagem que considera um conjunto de dados classificados (treino) para aprender a classificar novos casos (dar valor de classe a novos indivíduos) Classe = atributo objectivo Exemplo clássico: Instituição Bancária com experiência no crédito à habitação pretende implementar atribuição automática de crédito com base em pedidos anteriores. Questões: que características dos casos anteriores devem ser consideradas? Considerar todos os pedidos anteriores? Como avaliar o classificador ?

5 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 5 Exemplo Insec t ID Abdome n Length Antenna e Length Insect Class Gafanhoto Grilo Gafanhoto Gafanhoto Grilo Gafanhoto Grilo Gafanhoto Grilo Grilo ??????? Dataset Insectos Conjunto de treino com dois atributos e um atributo objectivo (classe) Novo caso não observado

6 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 6 Antenna Length Gafanhotos Grilos Abdomen Length Exemplo de um elemento da Classe Grilos Exemplo de um elemento da classe Gafanhotos Interpretação Geométrica

7 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 7 Interpretação geométrica Discriminante Linear ??????? Antenna Length Abdomen Length Novo caso Podemos projectar os casos novos Podemos projectar os casos novos no mesmo espaço da base de dados dos casos de treino. Torna-se assim mais fácil de Torna-se assim mais fácil de falar em pontos no espaço, em vez de casos.

8 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 8 Interpretação geométrica Discriminante Linear ??????? Novo caso Podemos projectar os casos novos no mesmo espaço da base de dados dos casos de treino. Torna-se assim mais fácil de falar em pontos no espaço, em vez de casos Antenna Length Abdomen Length novo caso If novo caso esta acima da linha then classe é Grilo else classe é Gafanhoto

9 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 9 Casos em que o problema envolve mais do que dois atributos (plano com mais do que 2 dimensões) Notar que o problema só tem duas classes, mas podemos sempre generalizar para N classes.

10 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 10 Setosa Versicolor Virginica Generalização do discriminante linear para N classes, definindo N-1 linhas. Usando o famoso Iris dataset (R.Fisher) com 150 casos e 3 classes. Primeiro definimos uma linha para discriminar entre as classe Setosa e as classes Virginica/Versicolor. Finalmente discriminamos (aproximandamente) entre as classes Virginica e Versicolor. If petal width > – (0.325 * petal length) then classe = Virginica Elseif petal width… Petal Width Petal Length

11 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 11 Primeiros Algoritmos Discriminantes Lineares (R.Fisher) Naive Bayes Árvores de decisão

12 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 12 Antenna Length Grilos Gafanhotos Voltando ao dataset de insectos mas agora com mais insectos. Notar os histogramas de classes por atributo Abdomen Length

13 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 13 Podemos ver os histogramas sumarizados em duas distribuições Gausianas (Normais). Vamos usar estas duas distribuições para facilitar a visualização (mas só do atributo antennae length).

14 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 14 p(c j | d) = probabilidade da classe c j, dado que observamos d 3 Antennae length é 3 Queremos classificar um novo insecto com antena = 3. Como classifica-lo? Considerando as distribuições observadas para antennae length, é mais provável que o nosso insecto seja da classe Gafanhoto ou Grilo. Existe uma definição formal de mais provável classificação…

15 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) P( Gafanhoto | 3 ) = 10 / (10 + 2)= P( Grilo | 3 ) = 2 / (10 + 2)= Antennae length é 3 p(c j | d) = probabilidade da classe c j, dado que observamos d

16 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) P( Gafanhoto | 7 ) = 3 / (3 + 9)= P( Grilo | 7 ) = 9 / (3 + 9)= Antennae length é 7 p(c j | d) = probabilidade da classe c j, dado que observamos d

17 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) P( Gafanhoto | 5 ) = 6 / (6 + 6)= P( Grilo | 5 ) = 6 / (6 + 6)= Antennae length é 5 p(c j | d) = probabilidade da classe c j, dado que observamos d

18 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 18 Classificadores Bayesianos Isto são exemplos de intuição visual para o caso simples de um classificador Bayesiano: Vamos agora formalizar a ideia com mais exemplos. A ideia base preserva-se Calcular a probabilidade do novo caso pertencer a cada classe, depois simplesmente escolher a classe com mais alta probabilidade.

19 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 19 Classificadores Bayesianos usam o Teorema de Bayes, que dizer que: p(c j | d) = probabilidade do caso d ser da classe c j, O que estamos a tentar calcular p(d | c j ) = probabilidade de gerar a instância d dada a classe c j, Podemos imaginar que pertencendo à classe c j, implica ter a caracteristica (atributo) d com alguma probabilidade p(c j ) = probabilidade da ocorrência da classe c j, Isto é apenas a frequencia da classe c j, no nosso conjunto de treino p(d) = probabilidade da instância d ocorrer Isto pode ser ignorado pois é o mesmo valor para todas as classe Classificadores Bayesianos

20 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 20 Até agora assumimos que o nosso conjunto de treino tinha uma só atributo. Como usar todos os atributos? Para simplificar, os classificadores naïve Bayesian assumem que os atributos tem distribuições independentes, e consequentemente estimam a probabilidade conjunto como: p(d|c j ) = p(d 1 |c j ) x p(d 2 |c j ) x ….x p(d n |c j ) A probabilidade da classe c j gerar a instância d, é igual…. A probabilidade da classe c j gerar o valor observado para o atributo 1, multiplicado por… A probabilidade da classe c j gerar o valor observado para o atributo 2, multiplicado por...

21 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 21 Naive Bayes Naive: assume independência entre atributos. Bayes: Usa o Teorema de Bayes – A probabilidade condicional de uma hipótese H dado um evento E é: No nosso caso a hipótese é um valor possível de classe e o evento uma determinada combinação de valores para os outros atributos. Em resumo… Pode ser ignorado porque é sempre o mesmo valor para todas as classes!

22 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 22 Exemplo Usando os dados de treino (play_tennis.xls)play_tennis.xls Novo caso (Outlook= sunny, Temp= cool, Humidity= high, Wind= true ) Aplicar Teorema de Bayes e prever a classe com mais alto valor probabilístico. Class=yes (2/9 x 3/9 x 3/9 x 3/9 x 9/14) = Class=no (3/5 x 1/5 x 4/5 x 3/5 x 5/14) =

23 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 23 p(d 1 |c j ) p(d 2 |c j ) p(d n |c j ) cjcj Classificadores Bayesianos são normalmente representados por grafos Notar a direcção da seta, que indica que cada classe causa certos valores de atributos com uma certa probabilidade …

24 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 24 Classificador Naïve Bayes p(d 1 |c j ) p(d 2 |c j ) p(d n |c j ) p(d|cj)p(d|cj) Questão! Naïve Bayes assume independência dos atributos… Sexo> 180 cms HomemYes0.15 No0.85 MulherYes0.01 No0.99 Sexo> 100 kgs HomemYes0.11 No0.89 MulherYes0.05 No0.95

25 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 25 p(d 1 |c j ) p(d 2 |c j ) p(d n |c j ) p(d|cj)p(d|cj) Solução Considerar a relação entre atributos (definir os arcos entre os nós)… Sexo> 180 cms HomemYes0.15 No0.85 MulherYes0.01 No0.99 Sexo> 100 kgs HomemYes and > 180 cms0.11 No and > 180 cms0.49 Yes and NOT > 180 cms0.05 No and NOT > 180 cms0.35 MulherYes and > 180 cms0.01 Classificador Naïve Bayes

26 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 26 p(d 1 |c j ) p(d 2 |c j ) p(d n |c j ) p(d|cj)p(d|cj) Mas como encontrar o conjunto de arcos que ligam os nós?? Ou seja como estabelecer uma relação de ordem entre atributos? Proposta: Redes Bayesianas. Solução Considerar a relação entre atributos… Classificador Naïve Bayes

27 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 27 Árvores de Decisão Ramificações em árvore onde os nós intermédios são testes sobre valores de atributos, os ramos os possíveis valores e as folhas as decisões sobre a previsão (valor de classe). Função a ser aprendida (função de valores discretos) é representada pela árvore de decisão. Em geral representam uma disjunção de conjunções.

28 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 28 Árvores de Decisão OUTLOOK HUMIDITYWIND YES NO overcast sunny rain high normal strong weak Podemos derivar regras a partir dos vários ramos. Exemplo: class=yes Humidity=normal & Outlook=sunny

29 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 29 Árvores de Decisão (interpretação geométrica) Antenna Length Abdomen Length Abdomen Length Abdomen Length > 7.1? no yes Grilo Antenna Length Antenna Length > 6.0? no yes Grilo Gafanhoto ??????? Novo caso

30 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 30 Algoritmo ID3 para a construção de árvores de decisão Sendo S o conjunto de treino: –Iniciar com uma árvore vazia. –Escolher o melhor atributo A para a raiz. –Dividir S em subconjuntos segundo os valores de A. –Para cada subconjunto de S construir uma sub árvore de decisão. –Parar quando o subconjunto tiver elementos de uma só classe. Como decidir sobre qual é o melhor atributo para a raiz??? Objectivo: Obter subconjuntos o mais homogéneos possíveis (em termos de classe)!

31 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 31 Medidas de Ganho Informativo Como medir a homogeneidade de um conjunto? Entropia: mede a impureza de um conjunto. O melhor atributo é aquele que mais conseguir baixar a entropia geral do conjunto. p classe = proporção entre elementos da classe e elementos de S

32 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) Entropia 32 Entropia(S) = número esperado de bits necessários para codificar a classe de um elemento de S escolhido aleatoriamente com distribuição uniforme (código óptimo i.e. código de comprimento mínimo) Motivação: Da Teoria da Informação: um código de comprimento óptimo atribui -log 2 (p) bits a uma mensagem que tenha probabilidade p. Assim, o número esperado de bits para codificar a classe (e.g. classes a e b) de elementos seleccionados aleatoriamente de S é: p a (-log 2 (p a )) + p b (-log 2 (p b )) Ou seja, Entropia(S) = -p a log 2 (p a )- p b log 2 (p b )

33 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 33 Ganho Informativo Calculo do Ganho Informativo fornecido pelo atributo A: Ganho é a redução esperada de entropia causada por ter conhecimento do valor do atributo A. Seleccionamos a divisão de S que optimiza o ganho informativo i.e. o atributo que origina subconjuntos mais puros de S. Seleccionar atributos usando este método permite obter árvores mais simples. Não é tratável gerar todas as árvores possíveis e depois seleccionar a mais simples!?

34 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 34 Outras medidas Há diferentes opções para implementar escolhe de atributos. Por exemplo, o sistema CART usa a métrica gini para seleccionar o melhor atributo. Índice Gini (no nó t ): Gini splitting criteria (para um split s no nó t ): O sistema CHAID usa uma medida de correlação entre atributos e classe. Mede Χ 2 entre um atributo e o atributo classe. Escolhe o atributo com maior estatística (correlação). Proporção de casos no lado esq/dir. No CART as árvores são sempre binárias Valor gini no subconjunto dir/esq

35 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 35 Exemplo Usando outra vez o problema do play_tennis.xlsplay_tennis.xls Entropia(S) = - 9/14 x log2(9/14) – 5/14 x log2(5/14) = Entropia(Wind) = (8/14) x Entropia(S no ) +(6/14) x Entropia(S yes ) = = (8/14) x (-2/8 x log2(2/8)- 6/8 x log2(6/8)) + (6/14) x (-3/6) x log2(3/6) – 3/6 x log2(3/6)) = = (8/14) x (6/14) x 1.00 = Ganho(S,Wind) = – = Ganho(S,Outlook) = Maximizamos o Ganho!

36 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 36 Selecção Outlook ?? [9+,5-] sunny rain Yes overcast [1,2,…,14] [1,2,8,9,11] [2+,3-] [4,5,6,10,14] [3+,2-] Notar que Entropia(S overcast ) = 0. Dá origem a uma ramo folha com (Yes) visto que p yes = 4. [3,7,12,13] [4+,0-]

37 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 37 Características dos algoritmos para Árvores de Decisão Pesquisa tipo hill-climbing em que função de progressão é o ganho informativo, Espaço de pesquisa completo, Preserva uma só hipótese durante o processo de pesquisa, Não há backtracking! Aplica Occam Razor (hipótese mais simples em detrimento das mais complexas), Podemos lidar com noise = ruido nos dados, se se permitir conjuntos impuros de exemplos nas folhas.

38 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 38 Questões? Atributos com muitos valores (por ex: contínuos) são beneficiados em termos de ganho informativo! Que consequências dão origem as árvores complexas (muitos nós)? Como obter árvores mais simples? Como tratar atributos numéricos ? Como tratar valores nulos ? Como lidar com ruído (noise)

39 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 39 Ganho Informativo sobre Atributos com muitos valores Ver atributo Temp como numérico com âmbito [-50,50]. Consegue isolar quase qualquer exemplo (mínimo entropia máximo ganho) Temp seria atributo raiz com muitos ramos! Boa árvore com exemplos de treino mas menos boa com novos casos (overfitting!) Aliviar este fenómeno reajustando o cálculo do ganho, por forma a que os atributos com muitos valores sejam penalizados.

40 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 40 Novo Ganho Esta medida é entropia de S em relação aos valores de A (e não em relação aos valores da classe!) SplitInfo(S,Wind)= -6/14 x log2(6/14) - 8/14 x log2(8/14) = = 0.806

41 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 41 Tratamento de valores contínuos em Árvores de Decisão Em Pré processamento: –Discretização em intervalos de valores. Ex: criar intervalos onde é preservado o valor de classe. –Binarização; cada atributo é convertido em dois valores. Há a selecção de um valor de corte. Durante o processamento: –Binarização: Seleccionar um valor de corte entre os valores do conjunto associado à sub-árvore. O valor escolhido é aquele que maximiza ganho! (e é sempre um que está na transição entre valores de classe). –Aplicação recursiva deste princípio.

42 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 42 Tipos de Discretização Supervisionada versus Não Supervisionada –Os dados contêm um atributo objectivo que pode ser considerado para guiar o processo de discretização, ou não? Paramétrica versus Não Paramétrica –O processo necessita de parâmetros e.g. número de intervalos, ou não? Hierárquica versus Não Hierárquica –Há a derivação de uma hierarquia de intervalos, que se forma por 1) partir o intervalo inicial (split) ou por 2) junção dos vários intervalos unitários (merge). – A alternativa é ter a formação de intervalos a não envolver uma hierarquia. Univariada versus Multivariada –Discretização trata um atributo contínuo de cada vez ou considera a possível relação entre contínuos, atacando-os em bloco. Intervalos disjuntos versus não disjuntos –A discretização admite apenas intervalos não sobreposto ou há a possibilidade de gerar intervalos com intersecção não vazia. Global versus Local –A discretização é feita a priori e é única, sendo usada durante todo o processo de aprendizagem. Alternativamente, várias discretizações são usadas para um atributo, dependendo do seu uso e.g. nós numa árvore de decisão. Eager versus Lazy –Eager= discretização antes do processo de aprendizagem, Lazy=discretização é gerada sempre que necessária. Ordinal versus Nominal –Mapeamento derivado da discretização é do tipo: quantitativo ordinal (preserva ordem), –Ou quantitativo nominal (não preserva ordem)

43 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 43 Discretização Fayyad & Irani (método supervisionado, não paramétrico, univariado, disjunto, global, eager e ordinal) Ordenar os valores do atributo a discretizar, Definir os cut points – ponto onde há alternância de classe, Calcular Ganho Informativo para cada ponto: Escolher ponto com maior valor de Ganho, Verificar se condição MDL é satisfeita Se sim o processo pára, Senão aplicar recursivamente o processo à esquerda e à direita do ponto escolhido.

44 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 44 Fayyad & Irani Condição Minimum Description Length: N = #S, k = #classes, k i = #classes em S i Processo pára se a condição é satisfeita Seguindo este princípio, queremos minimizar o tamanho da teoria mais a quantidade de informação necessária para especificar as excepções relativas à teoria. Tem relações com a complexidade de Kolmogorov. No nosso caso a teoria é o ponto de split. Informação necessária para especificar o ponto de split. Correcção devida à necessidade de transmitir que classes correspondem aos subintervalos inferiores e superiores.

45 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 45 Discretização ChiMerge Juntar intervalos adjacentes que demonstram independência sobre o atributo classe. Medir independência através de um teste de Χ 2. Escolher o par com menor valor da estatística. Parar quando, para o par escolhido, Χ 2 > δ, sendo δ dado pelo utilizador. Inicialmente ordena-se os valores do atributo a discretizar. Cada valor dá origem a um intervalo unitário.

46 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 46 ChiMerge Cálculo do Χ 2 Sendo: –k é número de classes, N o tamanho do dataset –A ij é número de exemplos no intervalo i da classe j –E ij = #(intervalo i ) x #(classe j ) / N, ou seja frequência esperada. Graus de liberdade = (#intervalos -1) x (#classes -1) Se o teste indica dependência então a diferença na distribuição de classes entre os intervalos é estatisticamente significativa. Ou seja, os intervalos devem permanecer separados. = 1 class1class2class3 distribuição classes [1, 5[[6, +oo[

47 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 47 Tratamento de Contínuos no C4.5 Ordena-se os valores do atributo em questão. Usar como corte os valores onde há transição de classe. ACLASS 1yes 2 4no 5 6yes 9no 12yes 15yes 16yes Exemplo: 2,4 5,6 6,9 9,12 Valores de corte a avaliar: (4+2)/2=3 não existe! Então escolhemos o mais próximo (2) Se o ponto escolhido fosse o 6 então podíamos ter as expressões: A 6 e A > 6. A A =< 6 A > 6 [1,2,4,5,6][9,12,15,16]

48 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 48 Valores Nulos Datasets não limpos. Há valores desconhecidos em alguns atributos. Pode indicar valores não disponíveis que são intencionalmente indicados como tal. Ruído (noise) nos dados! Estimar valores… Como tratar nulos?

49 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 49 Tratamento de Nulos Podemos pré processar os nulos fazendo substituição apriori. Por exemplo fazendo classificação sobre os exemplos e atributos com nulos! Substituir nulos por valor mais frequente (valor médio no caso dos contínuos) – Caren usa esta simples estratégia. Substituir nulos por valor mais frequente dentro da classe. OutlookTempClass sunnyhotno sunny?no ?hotyes rainMildyes Temp=hot, (substituir por valor mais frequente dentro da classe) Outlook=sunny, (substituir por valor mais frequente)

50 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 50 Tratamento de Nulos no C4.5 Estimar os valores nulos (desconhecidos) Três situações distintas de nulos: –Na previsão de novos casos com nulos, –Na selecção do atributo teste, podemos ter de comparar testes de atributos com diferentes números de valores nulos! –Depois de escolhido o atributo teste, como atribuir um caso com valor nulo às várias subdivisões do conjunto de treino derivadas do atributo teste? O C4.5 usa um procedimento de atribuição probabilística aos possíveis valores nulos do atributo (em vez de valores mais comum como acontece em procedimentos mais simplistas).

51 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 51 Nulos no C4.5 Durante a construção do Modelo: entre os exemplos que cobrem o nó a ser processado, atribui-se valores de probabilidade de acordo com o observado Cada exemplo tem associado um peso ω (representa a probabilidade de pertencer ao subconjunto onde se encontra)! Inicialmente o peso é 1. Durante a divisão, se o valor do atributo em estudo for conhecido o peso do subconjunto fica inalterado. Caso contrário o exemplo é associado a cada subconjunto criado em que o peso é multiplicado pela probabilidade de pertencer a esse subconjunto Cálculo do Ganho considera soma de pesos e não o número de exemplos!

52 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 52 Nulos em C4.5 Actualização dos pesos: onde ω é o novo peso quando atribuímos este exemplo a um novo subconjunto. prob() definido como: info(T i ) ( ou Ent(T i ) ) é assim calculado só com exemplos de valores conhecidos.

53 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 53 Nulos e Ganho Onde F é a proporção de exemplos com valores nulos para o atributo sobre o número total de exemplos. Novo splitinfo() é: onde T u é o subconjunto dos exemplos com valores nulos para o atributo A. Assume-se m+1 divisões!!!

54 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 54 Classificar Exemplos com Valores Nulos Enquanto os valores do novo caso foram conhecidos tudo se passa como no procedimento normal. Quando o nó da árvore tiver um teste sobre um atributo em que o novo caso tem valor nulo então faz-se o cálculo da distribuição de probabilidades. Ou seja, percorre-se cada ramo e combina-se aritmeticamente a classificação. A classe com maior probabilidade é a escolhida. OUTLOOK HUMIDITY WIND YES NO overcast sunny rain high normal strong weak (2.0)(3.4/0.4) (2.4/0.4)(3.0) No = 2.0/5.4 x 2.0/ /5.4 x 0.4/3.4 = 0.44 Yes = 2.0/5.4 x 0 / /5.4 x 3/3.4 = 0.56 Novo Caso: Outlook=sunny,Temp=hot, Humidity=?, Wind=false Contabilizar nos ramos a soma da distribuição de probabilidade da classe No. Σi {high,normal}, (#ramo_i / #HUMIDITY) x (#No_ramo_i / #ramo_i)

55 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 55 Overfitting Sobre-ajustamento das hipótese no processo de aprendizagem. Queremos uma hipótese (modelo) o mais consistente com os dados de treino, mas: –Ruído nos dados, –Poucos exemplos ou pouco representativos, –Hipótese demasiado complexa. Ou seja, podemos obter uma hipótese pouco preditiva!

56 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 56 Overfitting Dado um espaço de hipóteses H, diz-se que a hipótese h H se sobre ajusta (overfits) aos dados de treino se existir uma hipótese h H tal que h tem erro mais baixo do que h nos dados de treino, mas h erra menos do que h na distribuição total dos exemplos. Overfitting (inevitável): quanto mais profundos são os nós folha menos exemplos têm a cobri-los - Pouca significância estatística. Como lidar com overfitting: –Pruning: Simplificação das árvores por forma a evitar árvores cobertas por poucos casos. –Pre-pruning (parar crescimento antes de erro nulo no treino), –Post pruning (deixar crescer a árvore normalmente). Pruning a posterior. –Calcular tamanho correcto da árvore: usar um conjunto separado de exemplos para avaliar sub-árvores (cortar/parar). Alternativa: só permitir refinamentos/cortes que melhorem o desempenho geral da árvore (usar teste de hipóteses).

57 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 57 Complexidade do modelo (# de nós n a árvore) accuracy dados de treino dados de teste Overfitting (curvas de erro) Curva demonstrando ocorrência de sobre-ajustamento.

58 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) Pruning Simplificação do modelo de previsão por forma a combater o sobre-ajustamento. Duas possíveis estratégias: –Pré-pruning: parar de expandir um ramo quando a informação se torna pouco fiável (sem significância). Pode parar o processo demasiado cedo e derivar underfitting. –Pós-pruning: deixar crescer a árvore até ao fim. Depois podar sub-árvores pouco fiáveis. É mais fácil implementar esta estratégia e é a que melhores resultados origina na prática. 58

59 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) Pós-pruning Primeiro expandir a árvore totalmente e depois aplicar pruning. Várias técnicas de Pruning: –Estimação de erro Usando um holdout data (conj. de validação) Usando o conj. de treino –Testes de significância –Aplicação do princípio MDL. Duas operações de pruning: –Troca de sub-árvores por folhas (subtree replacement) –Ascensão de sub-árvores (subtree raising) 59 Técnica conhecida por reduced-error pruning

60 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) Subtree Replacement 60 Processamento bottom-up, Substituição de uma árvore após processar todas as suas sub-árvores

61 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) Subtree Raising Eliminação de um nó intermédio da árvore, Implica uma redistribuição das instâncias de treino (reclassificação dos exemplos), Subir o ramo com mais exemplos (de B para C), Processo mais lento que a operação anterior, Valerá a pena?? 61

62 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) Subtree Raising: Exemplo 62 wage-increase-first-year <= 2.5 | education-allowance = yes | | wage-increase-first-year <= 2.1 | | | pension = none: bad (2.43/0.43) | | | pension = ret_allw: bad (0.0) | | | pension = empl_contr: good (3.16/1.5) | | wage-increase-first-year > 2.1: bad (2.04/0.04) | education-allowance = no | | contribution-to-health-plan = none: bad (3.39) | | contribution-to-health-plan = half: good (0.18/0.05) | | contribution-to-health-plan = full: bad (4.06) wage-increase-first-year > 2.5 | longterm-disability-assistance = yes | | statutory-holidays <= 10 | | | wage-increase-first-year <= 3: bad (2.0) | | | wage-increase-first-year > 3: good (3.99) | | statutory-holidays > 10: good (25.67) | longterm-disability-assistance = no | | contribution-to-health-plan = none: bad (4.07/1.07) | | contribution-to-health-plan = half: bad (3.37/1.37) | | contribution-to-health-plan = full: good (2.62) wage-increase-first-year <= 2.5: bad (15.27/2.27) wage-increase-first-year > 2.5 | statutory-holidays <= 10: bad (10.77/4.77) | statutory-holidays > 10: good (30.96/1.0) statutory-holidays subiu na árvore e substituiu longterm-disability-assistance Substituição por folha bad Sub-árvore removida pela operação de raising Substituição por folha bad

63 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 63 Pruning no C4.5 Post-pruning com Simplificação Pessimista Avaliação só com o conjunto de treino, Usar erro amostral Erro = E / N para inferir erro real via intervalos de confiança (simplificação pessimista pois escolhemos limite superior do intervalo) Podar se simplificação estima melhor resultados que árvore original Erro calculado pelo limite superior do intervalo de confiança dado pela distribuição Binomial (U CF (N,E)), Erro numa folha cobrindo N novos casos é N x U CF (N,E). Erro da sub-árvore = erros nos ramos

64 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 64 Exemplo (subtree replacement) Educat spend Class=democrat Class=republican =n =y =u (6)(9) (1) Não há erros associados à sub-árvore. Para o primeiro ramo N=6 e E=0, U 25% (6,0) = Erro da sub-árvore = 6 x x x = Se substituirmos esta sub-árvore pela folha (Class=democrat) temos como avaliação N=16, E=1. Erro=16 x U 25% (16,1) = 16 x = Assim, o C4.5 substitui a sub-árvore em questão pela nova folha. One-tail Binom test (H 1 :>=0.5),α=0.25

65 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) Uso de Laplace para estimação (estática) do erro nas folhas Quando um nó é podado este é substituído por uma folha (e.g. com Classe=democrat) Qual será o erro de previsão esperado para esta nova folha? S é conjunto de exemplos que chegam à folha, N = #S k classes n exemplos em N pertencem à classe C (mais frequente). 65 Estimação de erro de Laplace. Assume que a distribuição das probabilidades dos exemplos pertencerem a classes diferentes é Uniforme. Estimação de erro de Laplace. Assume que a distribuição das probabilidades dos exemplos pertencerem a classes diferentes é Uniforme.

66 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) Laplace (cont) Para um nó intermédio No, calculamos o erro esperado (chamado backed-up-error) –BackedUpError(No) = i P i x E (No i ). –Error(No)= min( E (No),BackedUpError(No)). Os valores de P (probabilidades) podem ser estimadas pelas frequências dos valores do atributo nos exemplos dos nós filhos (No i ). 66 Serve também para decidir sobre a poda ou não do nó No

67 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) Laplace (cont2) Exemplo de um cálculo (com decisão de pruning ou não do nó intermédio) 67 Folha à esquerda de b com frequências nas classes [3,2] O valor de Laplace é: E(S) = (N-n+k-1) / (N+k) = ( ) / (5+2) = Folha à direita de b tem E(S) = Aplicando Laplace ao nó b obtém-se E(S) = 0.375, com N=6, n=4, k=2. Backed-up error: BackedUpError(b) = (5/6) x (1/6) x = (6 exemplos em b, 5 no lado esquerdo e 1 no lado direito…) Como o backedup error é maior que o erro estático para b (obtido por Laplace) podamos a sub-árvore de b e usamos o erro estático de

68 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) Laplace no J48 O uso de laplace no J48 vai influenciar o score de previsão (distribuição de probabilidades por classes) e consequentemente medidas de desempenho de modelos por classe como a AUC (a ver aquando das curvas ROC). Exemplo (dataset labor): 68 com Laplace: inst#, actual, predicted, prob. distribution 1 2:good 2:good * :good 2:good * :bad 1:bad * :good 2:good * :good 2:good *0.912 sem Laplace: inst#, actual, predicted, prob. distribution 1 2:good 2:good 0.18 * :good 2:good 0.18 * :bad 1:bad * :good 2:good 0.18 * :good 2:good *0.952

69 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 69 Avaliação de Modelos Necessidade de avaliar capacidade preditiva do modelo. (tipicamente estimamos este valor pela proporção de erros obtido no conjunto de treino), Esta avaliação é baseada em poucos exemplos, enviesada e pouco fiável! Testar em conjuntos não usados em treino. Usar metodologias de avaliação exaustiva (com mais datasets para além do de treino).

70 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 70 Amostragem com substituição (reposição). Pode ajudar nos problemas de previsão com classes raras! Notar: Procedimento determinístico. Nâo há escolha aleatória de amostras e consequentemente não há necessidade de repetições. Vantagem de ter conjuntos de treino maiores. Erro = 1-(r/n), onde r é a soma dos n testes. Validação Cruzada Estimativa do erro que o modelo (modelos gerados pelo algoritmo) terá quando exposto a novos casos. Avaliação com um só conjunto. Definir n folders. Um é usado como teste, os outros n-1 são treino. Repetir n vezes cruzando papeis. Acabamos por ter n avaliações. Accuray final é a média das n avaliações. Tipicamente n = 10. Na presença de datasets com classes raras podemos ter problemas de representatividade – usa-se estratificação. Outras metodologias: Leave one out – Uma instância é deixada de fora como teste (é como um n cross validation, sendo n = #{treino})

71 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 71 Matriz da Confusão Também chamada matriz de erros/acertos. Colunas com classes previstas, linhas com classes verdadeiras. Podemos facilmente identificar os falsos positivos, falsos negativos, acertos e erros. Cpp exemplos da classe p classificados como p Cpn exemplos da classe p classificados como n. previsão Erro?l

72 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 72 Exemplo Cpn p40 n21 Accuracy (rácio de acerto) = 1 – error_rate. Error rate = número de erros / número de casos = (Cpn + Cnp) / (Cpp + Cnn + Cpn + Cnp) = 2 / 7. Podemos facilmente identificar o tipo de erro, as classes mais problemáticas, etc! Através das curvas ROC podemos estudar comportamentos de modelos em relação a classes (ou custos!) True Positive = hit - (Cpp) True Negative = rejeição correcta - (Cnn) False Positive = falso alarme (erro Tipo I) - (Cpn) False Negative = miss (erro Tipo II) - (Cnp)

73 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 73 Curvas ROC Receiver Operating Characteristics –É sempre uma boa ideia distinguir desempenho (em termos de accuracy) entre diferentes classes, –A análise de curvas ROC investiga a relação entre as proporção de positivos e negativos correctamente classificados, – Relação entre especificidade e sensibilidade de um classificador binário. –Um classificador gera um score de crença para cada previsão. Um threshold sobre o score decide se a previsão é para um caso positivo na classe. –A variação do valor de threshold entre mínimo e máximo forma uma curva entre os pontos (0,0) e (1,1) de coordenadas num eixo (Tp_rate,Fp_rate). Originária da teoria de processamento de sinal. Problema: Como fixar o ponto de operação por forma a distinguir presença/ausência de sinal? Depende de: potência do sinal; variância no ruído; esperado hit rate e false alarm rate.

74 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 74 Curvas ROC Caracteristicas: –Pode ser usada para: Determinar valor do threshold que minimiza o erro de classificação (ou custo) para uma determinada classe, Identificar regiões da curva onde um classificador tem melhor desempenho que outro, Identifica regiões onde um classificador é pior que um classificador aleatório. –Análise de ROC debruça-se mais sobre skew sensitivity do classificador (sensibilidade à assimetria das classes) do que sobre cost sensitivity, –A noção de ranking (ordenação) é mais fundamental do que a noção de classificação.

75 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 75 Ranking versus Classificação Problema de Classificação: –Aos casos de treino são atribuídos um valor de classe. –Modelo é construído sobre esses casos. –Modelo faz uma previsão de uma classe para cada caso de teste. –Avaliação com uma loss function do tipo 0-1 (acerto/erro), ou seja avalia-se o erro exacto. Problema de Ranking: –Aos casos de treino são atribuídos um rank de valores da classe (uma ordem sobre os possíveis valores da classe). –Modelo é construído sobre esses casos –Modelo faz uma previsão de um rank para cada caso de teste. –Avaliação com uma loss function quadrática, ou seja uma medida de distância entre rank de previsão e rank do caso real. Pode-se transformar um problema de classificação num de ranking à custa de um score. O inverso também acontece com a introdução de um threshold. Associa-se a cada previsão um score!

76 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 76 ROCs TP rate = TP / (TP+FN) FP rate = FP / (FP+TN)

77 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 77 Construção de ROCs Ordenar os exemplos classificados por ordem decrescente do valor do score. Começar em (0,0). Ligar último ponto a (1,1) se necessário. Se o próximo exemplo é positivo mover 1/Pos posições para cima. Se o exemplo é negativo mover 1/Neg para o lado direito. Em caso de empate mover na diagonal.NºPrescore 1p.9 2p.8 3n.7 4p.6 5p.55NºPrescore 11p.4 12n.39 13p.38 14n.37 15n.36NºPrescore 16n.35 17p.34 18n.33 19p.30 20n.1NºPrescore 6p.54 7n.53 8n.52 9p.51 10n.505

78 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 78 ROCs Convexidade da curva boa separação entre classes. AUC (Area Under Curve) representa a probabilidade de um classificador colocar um exemplo positivo, escolhido aleatoriamente, mais alto na ordenação (ranking) do que um exemplo negativo. declive indica dist.classes nesse segmento. AUC = (Gini_coeff + 1) / 2 Convex Hull: conjunto de segmentos que ligam pontos óptimos em termos de uma determinada distribuição de classes. Representa também uma discretização dos scores que dão origem a AUCs mais altas. Convex Hull: Mostra os classificadores com mais alta accuracy para uma determinada distribuição de classes.

79 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 79 ROC para comparação de classificadores Na esquerda, classificador B tem maior área, consequentemente melhor desempenho. Na direita temos um classificador binário A e um classificador de scores B. A é B mas com um threshold fixo. Na esquerda, para FP > 0.5, A é melhor que B. No entanto, globalmente, AUC(B) > AUC(A).

80 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 80 Medidas de Avaliação Tipicamente, o desempenho de um modelo avalia-se recorrendo ao valor de accuracy (1 – error rate). Mas há outras medidas, nomeadamente aquelas que permitem avaliar a contribuição para o erro global feito por cada classe: (mede qualidade de cada previsão individual) (proporção de respostas correctas) (varia entre 0 e 1 e valores mais altos sugerem melhores previsões) Area Under Curve – entre 0 e 1. Mede a capacidade de identificar os casos que não são desta classe. Valores altos indica poucos erros do tipo I. É o dual de precision!

81 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 81 Classificação com Regras de Associação Os modelos são um conjunto seleccionado de regras de associação. Regras com um só consequente = classe (CAR rules). Várias propostas: CMAR, CBA, Apriori-C. Vários métodos: BestRule, Votação, Distribuição de classes, Uso de diferentes métricas. Implementação no CAREN

82 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 82 Selecção de Regras CAR Noção de cobertura do conjunto de treino 1)Ordenar regras por ordem descendente de confiança 2)Para cada exemplo e Treino, e.count=0; 3)Enquanto conjunto Treino Ø e Regras Ø fazer 1)Para cada r Regras 1)Encontrar todos os e que cobrem r 2)Se r classifica bem pelo menos um e 3)Então fazer e.count++ para todos e 4)Seleccionar r e retirar de Regras Vários propostas: CBA os exemplos de treino são retirados assim que usados. CMAR tem a noção de cobertura δ. Os exemplos são retirados quando e.count > δ.

83 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 83 Selecção de regras São seleccionadas as primeiras N regras que cobrem o conjunto de treino (e com mais alta confiança) CBA usa pessimistic error rate based pruning CMAR aplica voting (selecção de várias regras que cobrem o exemplo): Divide regras por grupos de classes que estas representam. Faz votação por Χ 2 pesado (de cada grupo). Apriori-C usa subset feature selection – remoção de items, e N best rules in each class – escolha por classe. CBA faz BestRule - Escolhe regra do topo da ordem. Ordena regras por: –R1 > R2 sse conf(R1) > conf(R2) –Ouconf(R1) == conf(R2) && sup(R1) > sup(R2) –Ou conf(R1) == conf(R2) && sup(R1) == sup(R2) mas R1 gerada primeiro que R2

84 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 84 Previsão Numérica Aproximações numéricas a um atributo objectivo contínuo. Y = aX + b

85 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 85 Previsão Numérica Passar da previsão de classes (enumerados) para previsão em atributos contínuos, Passamos para um problema de Regressão, Modelos podem ser Árvores de Regressão – folhas com valores médios. Formas mais gerais: Model Trees. Neste caso as folhas contêm um modelo linear de regressão. Podemos também ter modelos feitos de regras de regressão (Cubist, RBA e Caren). Algoritmos de construção de árvores para regressão análogos aos de classificação.

86 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 86 Regressão Modelos podem ser árvores em que as folhas contêm os valores médios da classe dos exemplos que os atingem – Árvores de Regressão. Modelos mais sofisticados – Árvores contêm folhas com modelos lineares de regressão (Model Trees). Algoritmos idênticos aos de construção de árvores de decisão – escolhe do atributo de splitting recorre à minimização da variação do valor numérico de classe dos subconjuntos em causa. Diferentes medidas de avaliação (loss functions quadráticas)

87 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 87 Algoritmo M5 (Cubist) Modelos são árvores em que cada folha contem uma combinação linear dos atributos presentes nos nós do ramo que conduz a essa folha. Previsão é feita analogamente às árvores de decisão –nas folhas é calculada a combinação linear com os valores do novo exemplo. Pode haver problemas de descontinuidade entre folhas adjacentes! (mais acentuado se conjunto treino for pequeno). Smoothing da previsão – tratar descontinuidade entre os modelos de folhas adjacentes através da adição de modelos linear aos nós intermédios. Pruning análogo ao usado no C4.5 – simplificação das árvores nas folhas e nos nós intermédios por remoção de termos dos modelos lineares.

88 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 88 Smoothing (descontinuidade entre folhas adjacentes) Em vez de derivar directamente a previsão por aplicação do modelo linear na folha, fazemos smoothing da folha até à raiz sobre o valor obtido da previsão. Assim, obtemos um aligeiramento (smoothing) do valor de previsão da classe. O processo decorre bottom-up, ao longo do ramo que liga a folha à raiz. O valor final é obtido por combinação do valor de classe previsto com os vários modelos dos nós intermédios. PV(S) = valor previsto a passar ao nó acima, n i = número de casos que chegam ao nó abaixo PV(S i ) = valor previsto passado para este nó, M(S) = valor obtido pelo modelo nesse ramo (folha), k = constante de aligeiramento e.g. 15.

89 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 89 Smoothing (consequências) A precisão da árvore de modelos aumenta consideravelmente com este processo de smoothing. Isto acontece sobretudo quando: –O conjunto de treino é pequeno, –Os modelos lineares ao longo de um ramo prevêem muitos valores diferentes. Podemos obter o mesmo efeito, fazendo incluir os modelos intermédios nos nós folha. Assim, durante o processo de previsão, só os nós folhas são usados. Uma desvantagem reconhecida é que nesta alternativa os nós folhas são maiores, mais complexos e de mais difícil interpretação (coeficientes que eram zero passam a não zero aquando da incorporação dos modelos intermédios).

90 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 90 Construção da Árvore de Regressão Escolha do atributo raiz: critério pelo desvio padrão do atributo numérico classe do conjunto de treino. Escolhe-se o atributo que minimiza este valor (SDR). Critério de paragem: quando o sdr do atributo escolhido no splitting é uma fracção do sdr do conjunto de treino inicial. Os modelos linear em cada nó são obtidos por regressão linear nos exemplos que atingem esse nó ( e.g. mínimos quadrados) Os atributos categóricos são convertidos (em pré processamento) em binários (k valores do atributo dão origem a k-1 novos atributos)

91 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 91 Exemplo de uma Model Tree com os seus modelos lineares (servo dataset) Os 5 valores do atributo nominal motor dão origem a 4 atributos binários. Ex: ler o atributo binário motor=D como D versus E,C,B,A!

92 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 92 Regras do Cubist Casos cobertos Valor médio de PRICE dos casos cobertos Intervalos de valores gerados pela regra Erro estimado para a regra As regras estão ordenados pelo valor médio de PRICE associado. Assim, a regra 9 é a que gera o preço mais caro de casas em Boston. Dentro dos modelos lineares, os atributos que mais contribuem para o modelo surgem primeiro. Na regra 8, CRIM é o atributo que mais contribui (negativamente). Classificação típica: verificar regras que cobrem o novo caso, calcular o valor (de PRICE ) de cada regra, prever a média dos valores calculados.

93 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) Medidas de Avaliação (previsão numérica) 93 a 1, a 2,...,a n vector de valores reais. p 1, p 2,...,p n vector de valores previstos. correl = cov(p,a) /var(a) x var(p). Insensivel à escala de valores usada na classe! Erro médio quadrado Erro médio absoluto

94 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 94 Combinação de Modelos Ideia: Usar (gerando ou não) múltiplos modelos para obter múltiplas predições para o mesmo exemplo a classificar. Combinar predições para obter previsão final.

95 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 95 Motivação prática usando o Netflix Prize: Tarefa: –O treino representa um conjunto de utilizadores e os ratings ( rate { 1,2,3,4,5, stars}) que estes atribuíram a filmes por si alugados. –Construir um classificador que, dado um utilizador e um filme sem rate atribuído, classifica correctamente o filme com o rate certo (1, 2, 3, 4, 5 ou stars). Prémio de $1 milhão de dólares se o classificador obtiver uma melhoria de desempenho de 10% sobre o movie recommender/classifier da Netflix (MSE netflix = ) Início em Outubro de 2006

96 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 96 Ranking com os 30 melhores classificadores, quando o líder tinha uma melhoria de 8.5% sobre o Netflix. Métodos que recorrem a ensembles de modelos (composição de modelos) têm o melhor desempenho! alguns exemplos…

97 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 97 Rookies: Thanks to Paul Harrison's collaboration, a simple mix of our solutions improved our result from 6.31 to 6.75 Arek Paterek: My approach is to combine the results of many methods (also two-way interactions between them) using linear regression on the test set. The best method in my ensemble is regularized SVD with biases, post processed with kernel ridge regression Gravity: When Gravity and Dinosaurs Unite: Our common team blends the result of team Gravity and team Dinosaur Planet. (podia-se ter adivinhado pelo nome…) BellKor: Our final solution (RMSE=0.8705) consists of blending 107 individual results. U. of Toronto: When the predictions of multiple RBM models and multiple SVD models are linearly combined, we achieve an error rate that is well over 6% better than the score of Netflixs own system.

98 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 98 Composição de Modelos (1) Motivação: Não existe um algoritmo que seja melhor em todos os problemas (no free lunch theorem) i.e. para cada ganho em desempenho numa sub-classe do problema há outra que tem o mesmo ganho em valor negativo. Exploração de diferentes linguagem de representação, espaços de procura e funções de avaliação. Condição necessária para que ocorra melhoria de desempenho: um conjunto melhora sobre os classificadores individuais se estes discordam entre si

99 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 99 Composição de Modelos (2) Erro correlacionado (métrica de diversidade entre as predições de dois classificadores): probabilidade de dois classificadores cometerem o mesmo erro dado que um deles comete um erro. Ou seja, diferentes tipos de erros a ocorrer em diferentes regiões do espaço. Outra condição necessária: todos os classificadores envolvidos no conjunto têm desempenho melhor do que a escolha aleatória (random guess).

100 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 100 Composição de Modelos (3) A escolha de um só modelo levanta problemas estatísticos (decisão sem suporte), computacionais (máximos locais) e de representação (a hipótese não está no espaço). Uso de múltiplos modelos tende a minimizar todos estes problemas. Combinação de predições: –Voting (ponderada) –Voting (uniforme) –Class distribuition (CAREN) Geração de Modelos Homogéneos –Bagging –Boosting Geração de Modelos Heterogéneos –Stacking

101 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 101 Bagging Boostrapp AGGregation, boostrapping dos vários conjuntos de treino, Cada conjunto de treino (de tamanho igual ao dataset inicial) dá origem a um modelo, (amostragem com substituição/reposição) Previsão feita por votação uniforme. Funciona porque reduz a variabilidade dos modelos individuais escolhendo o voto maioritário de muitos modelos. Em árvores de decisão acontece: na escolha do um atributo de teste para um nó na escolha dos cut-points nos atributos numéricos.

102 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 102 Algoritmo Bagging For 1 to k, 1.Take a bootstrap sample (sampling with replacement) of the training examples 2.Build a model using sample 3.Add model to ensemble Para fazer uma previsão, correr cada modelo no ensemble, e usar a classe mais votada (previsão maioritária).

103 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 103 Bagging D S1S1 S2S2 SnSn M1M1 M2M2 MnMn pred 1 pred 2 pred n final prediction sampling voting

104 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 104 Bagging D S1S1 S2S2 SnSn M1M1 M2M2 MnMn pred 1 pred 2 pred n final prediction D M1M1 M2M2 MnMn pred 1 pred 2 pred n final prediction R Post Bagging sampling voting

105 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 105 Post-Bagging (CAREN) Jorge & Azevedo (Discovery Science 05) Amostragem de regras em vez de casos, Não há necessidade de relearning, Conjunto de variantes sobre tipo de votos, e possibilidade de dont knows, Implementado no CAREN.

106 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 106 Boosting Algoritmo iterativo Associa um peso a cada exemplo Inicializar os peso de uma forma uniforme Iterativamente: gera um modelo para a actual distribuição dos exemplos (distribuição dada pelos pesos) os pesos dos exemplos mal classificados são incrementados para a próxima iteração. Os modelos gerados são agregados por votação pesada. Há redução do bias e da variância.

107 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 107 Boosting (2) Weak learner que gera um hiper-plano paralelo a um dos eixos Treino Decisão 1ºIteração 2ºIteração Composição dos Dois modelos No limite, boosting consegue cobrir todos os casos, i.e. accuracy de treino 1.0

108 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 108 AdaBoost.M1 Algoritmo standard que implementa o princípio de Adaptative Boosting.

109 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 109 Exemplo (AdaBoost.M1) Dataset de treino inicial que dá origem ao 1º modelo

110 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 110 Exemplo (AdaBoost.M1) Primeiro avaliação dando origem ao 2º conjunto de treino. (notar valores de erro e ponderação)

111 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 111 Exemplo (AdaBoost.M1) Segunda iteração originando 3º conjunto de treino

112 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 112 Exemplo (AdaBoost.M1) Terceiro e último modelo

113 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 113 Exemplo (AdaBoost.M1) Hipótese Final

114 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 114 AdaBoost.M1

115 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 115 AdaBoost & Overfitting Segunda curva representa erro no treino. Curva no topo é o erro em teste. Notar que mesmo depois da curva de treino atinger zero a curva de teste continua a progredir (i.e. o erro a baixar).

116 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 116 Instance Based Learning Modelos de previsão podem responder a uma query de duas formas: –Eager Modelo previamente construido, expor novos casos ao modelo e.g. árvores de decisão –Lazy Previsão elaborado sobre o próprio conjunto de treino e.g. k-nearest neighbor.

117 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 117 Instance Based Learning (2) Define-se uma função de distância, para encontrar o exemplo no treino que mais se aproxima do caso a classificar. Previsão derivada coincide com valor objectivo do exemplo encontrado. Função distância := tipicamente resume-se ao cálculo da distância Euclidiana. Normaliza-se valores para diluir questões de escala nos atributos.

118 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 118 K-Nearest Neighbors Variante da primeira, onde se procura os k vizinhos mais próximos. Previsão feita por votação uniforme, seguindo os valores objectivo dos k vizinhos. Método lento quando o conjunto de treino é grande! Tem também dificuldades na presença de nulos.

119 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 119 Combinação a la CUBIST Oferece a possibilidade de derivar previsões por combinação de dois modelos (rule based model + instance based model), O primeiro é um modelo de regras de regressão, O segundo é um k-nearest neighbors em que a previsão é a média dos k vizinhos (estamos a fazer previsão numérica!)

120 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 120 Combinação a la Quinlan Procedimento: –Procurar os k elementos de treino mais similares ao caso a prever, –Substituir média das k previsões por média do ajustamento dos k valores à custa das regras de regressão: Pred y (x) = T(y) + M(x) - M(y) Novo caso Caso vizinho dentro dos k exemplos de treino Valor do objectivo em y Aplicação do modelos de regras em x Aplicação do modelo de regras em y

121 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 121 Decomposição Bias-Variance O erro de um modelo pode ser decomposto em três componentes: –Bias (viez) –Variância –Ruído no objectivo (noise) Bias mede a capacidade da previsão média de um algoritmo de aprendizagem (sobre todos os possíveis conjuntos de treino) acertar no objectivo. É também conhecido como erro de persistência – erro de tendência central. Variância mede a variabilidade da previsão de um algoritmo para diferentes conjuntos de treino de um dado tamanho. Ou seja, mede o bounce around do algoritmo para todos os conjuntos de treino. Ruído é o limite mínimo de erro esperado para qualquer algoritmo de aprendizagem (classificador Bayes Óptimo). É também conhecido como erro irredutível.

122 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 122 Bias-Variance (reformulação) Objectivo do processo de aprendizagem é obter uma aproximação à função f, Dado o conjunto de treino, Componente independente da função h A distância para fVariância das predições encontrar a função h entre um conjunto fixo de subclasses de funções para as quais o erro E(h) é mínimo,

123 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 123 Bias-Variance (2) Diferentes tipos de modelos originam diferentes erros no mesmo dataset de treino. A componente bias é grande se: –Se o modelo escolhido não for adequado ao dataset –O tipo de classificador escolhido não permite modelar bem os dados –Espaço de modelos (hipóteses) fornecido pelo método de previsão não contém um número suficientes de hipóteses. –Naive Bayes tem tendência a ter bias alto. Por outro lado, árvores de decisão tem normalmente bias baixo.

124 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 124 Bias-Variance (3) O mesmo tipo de classificador tem diferentes erros com diferentes conjuntos de treino. A variância é grande se: –Existir um número significativo de escolhas aleatórias durante o processo de construção do modelo, como por exemplo: Escolher um exemplo para semente (seed) Escolha de um atributo decisor entre vários com igualdade de valores de avaliação. –O modelo contém múltiplos parâmetros que necessitam de ser definidos. –O espaço disponível de hipóteses (associado ao conjunto de treino) é demasiado grande, e o modelo (hipótese) escolhido pode não ser preciso com os casos de teste. Bagging tem tendência a baixar a variância dos classificadores originais.

125 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 125 Bias-Variance (4) Bagging reduz essencialmente a componente de variância do erro do classificador original Boosting reduz bias e variância. Árvores de decisão: bias baixo, variância alta. Naive Bayes e discriminantes: variância baixa, bias alto. Se aumentarmos o número de graus de liberdade do modelo: –Bias diminui, –Variância aumenta. Para minimizar o erro esperado é necessário um compromisso entre estas duas componentes.

126 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 126 Bias-variance (Cálculo) Seguindo (Kohavi&Wolpert), para 1-0 loss functions P(Y H = y | x) - valor médio de y previsto pelo algoritmo para o caso x. P(Y F = y | x) - probabilidade de o objectivo ter o valor y para o caso x. Tipicamente ignorado na nossa avaliação Para cada classe Todos os modelos Cada caso de teste

127 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 127 Bias-variance (Cálculo) 2 Na prática seguimos a seguinte metodologia: Para cada dataset dividir em D e E, sendo D o treino e E o test ( #D=2m, #E=n, E={x 1,x 2,…,x n } ). Gerar m conjuntos de treino a partir de D usando amostragem uniforme sem reposição. Correr o algoritmo em cada um dos m conjuntos de treino. Estimar σ 2, bias 2 e Var usando os valores de erro obtidos da aplicação dos modelos derivados no conjunto E (simples contagem de frequências).

128 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 128 Comparação do erro decomposto para classificadores ID3 e composição de 50 árvores ID3 (versões treinadas com 0.7 e 0.9 do conj D) Composição aumenta levemente o bias mas estabiliza o ID3, baixando a variância. Bias-variance (Exemplo)

129 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 129 Exemplo com Bagging & Boosting Bias Variance (figura incompleta!) == C4.5 (implementação MLC++)

130 Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 130 Conclusão Estudo de modelos de previsão. Modelos podem ser visto como estimadores. Diferentes tipos de previsão – categórica e numérica. Algoritmos para gerar árvores de decisão para classificação (e também para previsão numérica) Avaliação de Modelos. Várias medidas baseado na noção de erro estimado. Avaliação orientada à classe. Medidas. Composição de Modelos. Decomposição Bias-Variance. Análise das componentes do erro.


Carregar ppt "Mineração de Dados – UCE Sistemas de Suporte à Decisão (2010) 1 Modelos de Previsão Paulo J Azevedo DI - Universidade do Minho 2005-2008,2009,2010 Estudo."

Apresentações semelhantes


Anúncios Google