Sie sind auf Seite 1von 38

Análise Inteligente de Dados

4. Algoritmos Básicos

Quanto mais simples melhor…

 Os algoritmos simples obtêm frequentemente


resultados surpreendentemente bons
 Muitos tipos diferentes de estruturas simples
 Um atributo pode fazer o trabalho todo
 Importância igual de todos os atributos
 Uma combinação linear pode ser suficiente
 Uma representação baseada em instâncias pode ser a
melhor
 Estruturas lógicas simples podem ser adequadas
 O sucesso de um método depende do domínio
de aplicação

Análise Inteligente de Dados

1
Inferência de regras rudimentares

 1R: Aprende uma árvore de decisão com


apenas um nível
 Noutras palavras, gera um conjunto de regras
que testam um único atributo
 Versão básica (assumindo atributos
nominais)
 Um ramo para cada valor do atributo
 Cada ramo atribui a classe mais frequente
 Medida de erro: proporção de instâncias que
não pertencem à classe da maioria no ramo
correspondente
 É escolhido o atributo com menor erro
Análise Inteligente de Dados

Pseudo-código para o 1R

 “valor em falta” é sempre tratado com


um valor do atributo

Análise Inteligente de Dados

2
Avaliação dos atributos para os dados
meteorológicos

Análise Inteligente de Dados

Tratamento dos atributos numéricos

 Os atributos numéricos são discretizados: O


domínio do atributo é dividido numa série de
intervalos
 As instâncias são ordenadas de acordo com os valores
do atributo
 Pontos de corte são acrescentados onde a classe (da
maioria) muda
 O erro total é assim minimizado
 Exemplo: atributo temperature dos dados
meteorológicos

Análise Inteligente de Dados

3
O problema do sobre-ajustamento

 O procedimento de discretização é muito


sensível ao ruído
 Uma instância com um valor de classe errado resultará
provavelmente num intervalo separado
 Um atributo do tipo “selo temporal” terá zero erros
 Solução simples: obrigar à existência de um
número mínimo de instâncias pertencentes à
classe da maioria por intervalo
 Exemplo para os dados meteorológicos (com o mínimo
a 3)

Análise Inteligente de Dados

Evitando o sobre-ajustamento

 Resultados finais para o atributo


temperature:

 Sobram apenas dois intervalos já que


não deve haver intervalos consecutivos
com a mesma classe
 A classe do último intervalo foi escolhida
de forma arbitrária

Análise Inteligente de Dados

4
Conjuntos de regras resultantes

 Humidity ou outlook são os atributos que


seriam escolhidos pelo 1R

Análise Inteligente de Dados

Discussão do 1R

 O 1R foi inicialmente descrito num artigo


por Holte (1993)
 Nele é apresentada a avaliação experimental
de 16 conjuntos de dados comuns em AID
 O número mínimo de instâncias foi fixado em
6 após algum trabalho experimental
 As regras resultantes do 1R obtiveram
resultados não muito piores do que os obtidos
por árvores de decisão muito mais complexas
 A simplicidade compensa!

Análise Inteligente de Dados

5
Modelação estatística

 Método “oposto ao 1R”


 todos os atributos são utilizados
 Duas assunções: os atributos são
 igualmente importantes,
 estatisticamente independentes (sabendo-se
o valor da classe)
 Isto quer dizer que o conhecimento do valor de um
atributo não nos diz nada sobre o valor de outro
atributo, no caso em que a classe é conhecida
 Embora baseado em assunções que se
verifica quase nunca serem verdadeiras
 este esquema, na prática, funciona bem
Análise Inteligente de Dados

Bayes ingénuo

 Resumo dos dados meteorológicos


 obtido pela contagem de quantas vezes cada
para atributo/valor aparece para cada valor
da classe

Análise Inteligente de Dados

6
Dados para um novo dia

 Possibilidade de cada classe

 Conversão para probabilidades por normalização

Análise Inteligente de Dados

Regra de bayes

 Probabilidade de um evento H dada a


prova E
Pr[ E | H ] Pr[ H ]
Pr[ H | E ] =
Pr[ E ]

 Probabilidade a priori de H: Pr[H ]


 Probabilidade do evento antes da prova ter
sido vista
 Probabilidade a posterior de H: Pr[ H | E ]
 Probabilidade do evento depois da prova ter
sido vista
Análise Inteligente de Dados

7
Classificação usando o método de Bayes

 Aprendizagem de uma classificação: qual


a probabilidade da classe dada uma
instância?
 Prova E = instância
 Evento H = classe
 Assunção que torna o método ingénuo
 A prova pode ser separada em pedaços
independentes (i.e. atributos da instância)

Pr[ E1 | H ] Pr[ E2 | H ]... Pr[ En | H ] Pr[ H ]


Pr[ H | E ] =
Pr[ E ]
Análise Inteligente de Dados

Exemplo para os dados meteorológicos

 Prova E

Pr[ yes | E ] =
 Probabilidade da
classe “yes” Pr[Outlook = Sunny | yes ] ×
Pr[Temperature = Cool | yes ] ×
Pr[ Humidity = High | yes ] ×
Pr[Windy = True | yes ] ×
Pr[ yes ]
Pr[ E ]
2 / 9 × 3 / 9 × 3 / 9 × 3 / 9 × 9 / 14
=
Pr[ E ]
 O Pr[E] no denominador desaparecerá aquando
da normalização
Análise Inteligente de Dados

8
Problema da frequência zero
 E se o valor de um atributo não ocorrer com
todos os valores da classe, e.g.
“Humidity=High” para a classe “yes”?
 A probabilidade seria 0!

Pr[ Humidity = High | yes ] = 0


 A probabilidade a posteriori seria também 0!

Pr[ yes | E ] = 0
 Remédio: adicionar 1 à contagem de cada
combinação valor de atributo/classe (estimador
de Laplace)
 Resultado: as probabilidades nunca serão 0!
Análise Inteligente de Dados

Valores em falta

 Durante o treino:
 a instância não é incluída na contagem da
frequência da combinação valor de
atributo/classe
 Na classificação:
 o atributo é omitido dos cálculos
 Exemplo:

Análise Inteligente de Dados

9
Lidar com atributos numéricos

 Assunção normal: os atributos têm uma


distribuição de probabilidade normal ou
Gaussiana
 A função de densidade de probabilidade é
definida por dois parâmetros
1 n
 O valor médio µ: µ = ∑ xi
n i =1
1 n
 O desvio padrão σ: σ = ∑ ( x i − µ )2
n − 1 i =1
( x − µ )2
1 −
2σ 2
 Função de densidade f(x): f ( x ) = e
2π σ
Análise Inteligente de Dados

Dados meteorológicos numéricos

 Exemplo de valor de densidade


( 66 −73) 2
1 −
2×6.22
f (temperatur e = 66 | yes ) = e = 0.0340
2π 6.2
Análise Inteligente de Dados

10
Classificação de um novo dia

 Valores em falta durante o treino:


 não são incluídos no cálculo do valor médio e
do desvio padrão
Análise Inteligente de Dados

Densidades de probabilidade

 Relação entre probabilidade e densidade:

ε ε
Pr[ c − < x < c − ] ≈ ε × f (c )
2 2
 Isto não muda o cálculo da probabilidade
a posteriori já que já que os ε se
cancelam
b
 Relação exacta: Pr[ a ≤ x ≤ b] = f (t )dt∫ a

Análise Inteligente de Dados

11
Discussão do Bayes “ingénuo”

 Funciona surpreendentemente bem, mesmo


quando a assunção de independência é
claramente violada
 Porquê? Porque a classificação não requer uma
estimativa precisa das probabilidades
 desde que a probabilidade máxima seja atribuída à
classe correcta
 No entanto, o acrescento de muitos atributos
redundantes pode trazer problemas
 Note-se também que muitos atributos
numéricos não são distribuídos normalmente

Análise Inteligente de Dados

Construção de árvores de decisão

 Procedimento normal: top-down num processo


recursivo de “dividir para reinar”
 Primeiro: um atributo é escolhido para raiz e um ramo
é criado para cada valor possível
 Em seguida: as instâncias são divididas em
subconjuntos
 um para cada ramo que sai do nodo
 Finalmente: o procedimento é repetido recursivamente
para cada nodo
 são utilizadas apenas as instâncias que chegam ao ramo
 O processo termina se todas as instâncias
tiverem a mesma classe

Análise Inteligente de Dados

12
Como escolher o atributo

Análise Inteligente de Dados

Um critério para a selecção do atributo

 Qual é o melhor atributo?


 O que resultar na árvore mais pequena
 Heurística: escolher o atributo que resulte
nos nodos “mais puros”
 Critério comum de impureza: ganho de
informação
 O ganho de informação aumenta com a
pureza média dos subconjuntos que um
atributo produz
 Estratégia a seguir:
 Escolher um atributo que resulte no maior
ganho de informação
Análise Inteligente de Dados

13
Cálculo da informação

 A informação é medida em bits


 Dada uma distribuição de probabilidade, a
informação necessária para predizer um
evento é a entropia da distribuição
 A entropia fornece a informação necessária
em bits (isto pode incluir fracções de bits!)

 Fórmula para o cálculo da entropia:


entropia ( p1 , p2 ,..., pn ) = − p1 log( p1 ) − p2 log( p2 )... − pn log( pn )

Análise Inteligente de Dados

Exemplo para o atributo outlook

 “Outlook”=“Sunny”
inf([ 2,3]) = entropia ( 2 / 5,3 / 5)
= −2 / 5 log(2 / 5) − 3 / 5 log(3 / 5) = 0.971 bits
 “Outlook”=“Sunny”
inf([ 4,0]) = entropia (1,0)
= −1 log(1) − 0 log(0) = 0
 “Outlook”=“Sunny”
inf([ 3,2]) = entropia (3 / 5,2 / 5)
= −3 / 5 log(3 / 5) − 2 / 5 log(2 / 5) = 0.971 bits
 Informação esperada do atributo:
inf([ 3,2], [4,0, [3,2]) = (5 / 14) × 0.971 + ( 4 / 14) × 0 + (5 / 14) × 0.971
= 0.693 bits
Análise Inteligente de Dados

14
Cálculo do ganho de informação

 Ganho de informação: informação antes


de ramificar - informação depois de
ramificar
gain(" Outlook " ) = inf([9,5]) − inf([ 2,3], [4,0], [3,2])
= 0.940 − 0.693 = 0.247 bits

 Ganhos para os outros atributos


gain(" Temperatur e" ) = 0.029 bits
gain(" Windy " ) = 0.048 bits

Análise Inteligente de Dados

Continuando a ramificação

gain(" Temperatur e" ) = 0.571 bits


gain(" Humidy " ) = 0.971 bits
gain("Windy" ) = 0.020 bits
Análise Inteligente de Dados

15
Árvore de decisão final

 Nem todas as folhas têm de ser puras. Por


vezes instâncias idênticas têm classes diferentes
 A ramificação pára quando for impossível dividir mais
os dados

Análise Inteligente de Dados

Atributos de ramificação elevada

 Problema: atributos com elevado número


de valores
 Caso extremo: código ID
 Os subconjuntos terão mais tendência a
ser puros se houver um grande número
de valores
 O ganho de informação é tendencioso no
sentido de escolher atributos com um número
de valores elevado
 Isto pode resultar em sobre-ajustamento
 Outro problema: fragmentação
Análise Inteligente de Dados

16
Código ID

 Os dados meteorológicos com um código


ID

Análise Inteligente de Dados

Árvore parcial para o atributo ID

 Entropia:
inf(" ID Code" ) = inf([0,1]) + inf([0,1]) + ... + inf([0,1]) = 0 bits

 O ganho de informação é máximo para


ID Code
Análise Inteligente de Dados

17
O ratio de ganho

 Ratio de ganho:
 uma alteração ao ganho de informação que
diminui a tendência descrita atrás
 O ratio de ganho leva em atenção o
número e “tamanho” dos ramos aquando
da escolha do atributo
 Corrige o ganho de informação tendo em
conta a informação intrínseca à ramificação
 Informação intrínseca:
 Entropia da distribuição de instâncias pelos
ramos
Análise Inteligente de Dados

Cálculo do ratio de ganho

 Exemplo: informação intrínseca para o ID Code


inf([1,1,...,1]) = 14 × ( −1 / 14 × log 1 / 14) = 3.807 bits
 O valor do atributo diminui à medida que a
informação intrínseca aumenta
 Definição do ratio de ganho
ganho(" Atributo" )
ratio(" Atributo" ) =
inf_intrínseca(" Atributo" )
 Exemplo:
0.949 bits
ratio(" ID Code" ) = = 0.246
3.807 bits
Análise Inteligente de Dados

18
Ratios para os dados atmosféricos

Análise Inteligente de Dados

Ainda o ratio de ganho…

 “Outlook” é ainda o melhor atributo


 Mas o “ID Code” continua a ter o melhor
ratio de ganho
 Solução habitual: teste ad hoc para evitar a
ramificação a partir desses tipo de atributos
 Problema com o ratio de ganho: pode
sobre-compensar
 Pode escolher um atributo apenas porque a
sua informação intrínseca é muito baixa
 Solução habitual: considerar apenas atributos
com ganho de informação superior à média
Análise Inteligente de Dados

19
Discussão do ID3

 O algoritmo padrão para indução top-down de


árvores de decisão, chamado ID3, foi
desenvolvido por Ross Quinlan
 O ratio de ganho é apenas uma modificação no
algoritmo básico
 O ID3 levou mais tarde ao desenvolvimento do C4.5, o
qual pode lidar com atributos numéricos, valores em
falta e dados ruidosos
 Abordagem semelhante: CART
 Existem muitos outros critérios de selecção do
atributo de ramificação
 Quase todos levam à mesma precisão no resultado…

Análise Inteligente de Dados

Algoritmos de cobertura

 Uma árvore de decisão pode ser convertida num


conjunto de regras
 Conversão simples: o conjunto de regras pode resultar
desnecessariamente complexo
 Conversões mais eficientes não são triviais…
 Estratégia para gerar um conjunto de regras
directamente
 Encontrar para cada classe um conjunto de regras que
cubra todas as instâncias nessa classe (excluindo
instâncias que não pertençam à classe)
 Esta abordagem é chamada uma abordagem de
cobertura
 em cada etapa é identificada uma regra que cobre
algumas das instâncias

Análise Inteligente de Dados

20
Exemplo de geração de uma regra

 Conjunto possível de regras para a classe B

 Podiam ser acrescentadas mais regras de


maneira a obter um conjunto de regras
“perfeito”
Análise Inteligente de Dados

Regras vs. árvores

 Árvore de decisão
correspondente
 produz exactamente as mesmas
predições
 Mas:
 Os conjuntos de regras podem ser
mais
“perspicazes” quando as árvores
de
decisão sofrem de sub-árvores
replicadas
 Quando há várias classes, os
algoritmos de cobertura
concentram-se numa classe de
cada vez

Análise Inteligente de Dados

21
Um algoritmo simples de cobertura

 Generaliza uma regra acrescentando


testes que maximizam a sua precisão
 Questão semelhante à das árvores de
decisão: qual o atributo onde ramificar
 só que o indutor de árvores maximiza a
pureza space of
examples
 Cada novo teste reduz
a cobertura da regra rule so far

rule after
adding new
term

Análise Inteligente de Dados

Selecção de um teste

 Objectivo: maximizar a precisão


 t: número total de instâncias cobertas pela
regra
 p: exemplos positivos da classe coberta pela
regra
 t-p: número de erros cometidos pela regra
 Pretende-se seleccionar um teste que
maximize p/t
 Terminamos quando
 p/t =1 ou
 não seja possível dividir mais o conjunto de
instâncias
Análise Inteligente de Dados

22
Dados das lentes de contacto

 Exemplo: dados das lentes de contacto


 Regra que procuramos
 Testes possíveis

Análise Inteligente de Dados

Regra modificada

 Regra modificada e dados resultantes


 Regra com o melhor teste adicionado:

 Instâncias cobertas pela regra modificada:

Análise Inteligente de Dados

23
Refinamento das regras

 Estado actual

 Testes possíveis

Análise Inteligente de Dados

Regra modificada

 Regra modificada e dados resultantes


 Regra com o melhor teste adicionado:

 Instâncias cobertas pela regra modificada:

Análise Inteligente de Dados

24
Refinamento

 Estado actual

 Testes possíveis

 Empate entre o primeiro e o quarto


 Escolhemos aquele que tem maior cobertura

Análise Inteligente de Dados

Resultado

 Regra final:

 Segunda regra para a recomendação de “hard


lenses”
 obtida a partir das instâncias não cobertas pela
anterior

 As duas regras cobrem todas as “hard lenses”


 O processo é repetido para as duas outras classes

Análise Inteligente de Dados

25
Pseudo-código para o PRISM

Análise Inteligente de Dados

Regras vs. listas de decisão

 O PRISM sem ciclo exterior gera uma lista de


decisão para uma classe
 Regras subsequentes são criadas para cobrir as
instâncias não cobertas por regras anteriores
 A ordem não interessa já que todas as regras predizem
a mesma classe
 O ciclo exterior considera todas as classes
separadamente
 Não implica nenhuma dependência da ordem
 Problemas:
 regras sobrepostas
 é necessário uma regra default

Análise Inteligente de Dados

26
Separar para conquistar

 Métodos como o PRISM são algoritmos do


tipo separar para conquistar:
 Primeiro é identificada uma regra
 Em seguida, todas as instâncias cobertas pela
regra são separadas
 Finalmente, as instâncias restantes são
“conquistadas”
 Diferença em relação aos métodos do
tipo dividir para conquistar:
 O subconjunto de instâncias coberto pela
regra não é mais explorado
Análise Inteligente de Dados

Procura de regras de associação

 Método ingénuo para procura de regras de


associação:
 Utilização do método padrão separar para conquistar,
 tratando todas as possíveis combinações de valores
dos atributos como uma classe separada.
 Problemas:
 Complexidade computacional
 O número resultante de regras (que teriam de ser
podadas em função do apoio e confiança)
 Podemos procurar directamente regras com
apoio elevado!

Análise Inteligente de Dados

27
Conjuntos de itens

 Apoio: número de instâncias correctamente


coberto pela regra de associação
 O mesmo que o número de instâncias coberto por
todos os testes da regra (lado esquerdo + lado direito)
 Item: uma par teste/valor de atributo
 Conjunto de itens: todos os itens presentes
numa regra
 Objectivo:
 apenas as regras que excedam um apoio predefinido
 Podemos fazer isso encontrando todos os conjuntos de
itens com o apoio mínimo requerido e gerando regras
para esses conjuntos

Análise Inteligente de Dados

Itens para os dados atmosféricos

 No total: 12 conjuntos com um item, 47


conjuntos com dois itens, 39 conjuntos com três
itens, 6 conjuntos com quatro itens e 0
conjuntos com cinco itens (apoio mínimo 2)
Análise Inteligente de Dados

28
Regras a partir de um conjunto de itens

 Após todos os conjuntos de itens com apoio


mínimo terem sido gerados podem ser
convertidos em regras
 Exemplo:
 Sete (2N-1) regras potenciais:

Análise Inteligente de Dados

Regras para os dados atmosféricos

 Regras com apoio > 1 e confiança =


100%

 No total: 3 regras com apoio quatro, 5


com apoio três e 50 com apoio dois
Análise Inteligente de Dados

29
Regras para um mesmo conjunto

 Conjunto de itens

 Regras resultantes (todas com confiança


100%)

 São resultado dos seguintes conjuntos


“frequentes” de itens:

Análise Inteligente de Dados

Geração eficiente de conjuntos de itens

 Existe alguma maneira eficiente de encontrar


todos os conjuntos frequentes de itens?
 Os conjuntos de 1 item são fáceis…
 Ideia: utilizar os conjuntos de 1 item para gerar
os conjuntos de 2 itens, os conjuntos de 2 para
gerar os conjuntos de 3…
 Se (A B) é um conjunto frequente de itens então (A) e
(B) também têm de ser conjuntos frequentes de dados
 Em geral: se X é um conjunto frequente de k-itens
então todos os subconjuntos de X com (k-1)-itens são
também frequentes
 Podemos calcular os conjuntos com k-itens através da
reunião de conjuntos com (k-1)-itens

Análise Inteligente de Dados

30
Um exemplo

 Dados: cinco conjuntos com 3 itens

 Ordenados lexicograficamente
 Conjuntos candidatos de 4 itens

 Teste final contando as instâncias no conjunto


de dados
 Os conjuntos de (k-1)-itens são armazenados
numa tabela de hash
Análise Inteligente de Dados

Geração eficiente de regras

 Estamos à procura de regras com confiança


elevada
 O apoio dos antecedentes pode ser retirado da tabela
hash
 Se optarmos pela força bruta temos 2N-1 regras
 Uma abordagem melhor:
 Construção de regras com (c+1)-consequentes a partir
de regras com c-consequentes
 Uma regra com (c+1)-consequentes só é verdadeira se
todas as regras correspondentes com c-consequentes
também o forem
 O algoritmo resultante é semelhante ao
processo utilizado para conjuntos grandes de
itens
Análise Inteligente de Dados

31
Exemplo

 Regras com 1-consequente

 Regra correspondente com 2-consequentes

 Teste final dos antecedentes na tabela de hash

Análise Inteligente de Dados

Discussão das regras de associação

 O método descrito faz-nos passar pelos dados


uma vez para cada tamanho do conjunto de
itens
 Outra possibilidade: gerar conjuntos de (k+2)-itens
logo a seguir à geração dos conjuntos de (k+1)-itens
 Resultado: geram-se mais conjuntos de (k+2)-itens do
que o necessário mas teremos menos passagens pelos
dados
 Faz sentido se os dados forem demasiados para
manter na memória principal
 Questão prática: geração de um número de
regras predeterminado
 Definimos um apoio inicial elevado
 Vamos decrementando o apoio mínimo requerido até
obtermos o número de regras pretendido
Análise Inteligente de Dados

32
Outras questões

 O formato ARFF é muito ineficiente para


dados típicos de cesto de compras
 Os atributos representam itens num cesto e a
generalidade dos itens geralmente falta
 As instâncias são também chamadas
transacções
 A confiança não é necessariamente a
melhor medida
 Exemplo: Leite faz parte de quase todas as
transacções num supermercado
 É necessário encontrar outras medidas
Análise Inteligente de Dados

Modelos lineares

 Funcionam mais naturalmente com atributos


numéricos
 Técnica padrão para a predição numérica:
 Regressão linear
 O resultado é uma combinação linear dos atributos
x = w0 + w1a1 + w2a2 + ... + wn an
 Os pesos são calculados a partir dos dados de
treino
 Valor predito para a primeira instância de treino
k
w0a0(1) + w1a1(1) + ... + w2 a2(1) = ∑ w j a (j1)
j =0

Análise Inteligente de Dados

33
Minimização do erro quadrático

 São escolhidos k+1 coeficientes de maneira a


minimizar o erro quadrático para o conjunto de
treino
2
 Erro quadrático: n  k 
∑  x (i )
− ∑ w j a (ji ) 
i =0  j =0 
 Os coeficientes podem ser determinados
utilizando as operações sobre matrizes
 Pode ser feito desde que (de modo geral) existam mais
instâncias do que atributos (e pesos)
 A minimização do erro absoluto é mais difícil

Análise Inteligente de Dados

Classificação

 Qualquer técnica de regressão pode ser


utilizada para classificação
 Treino: é executada uma regressão para cada
classe, colocando a saída a 1 para instâncias
que pertençam à classe e a 0 para instâncias
que não pertençam
 Predição: é predita a classe correspondendo
ao modelo com maior valor de saída (valor de
pertença)
 Em regressão linear isto é conhecido
como regressão linear multi-resposta
Análise Inteligente de Dados

34
Regressão logística

 Problema: algumas assunções são violadas


quando a regressão é aplicada a problemas de
classificação
 Regressão logística: alternativa à regressão
linear
 Projectada tendo em vista a sua aplicação a problemas
de classificação
 Tenta estimar as probabilidades de cada classe
directamente
 Utiliza o método da máxima verosimilhança
 Utiliza o seguinte modelo linear
log( P /(1 − P ) = w0a0 + w1a1 + ... + wn an
 P é a probabilidade da classe

Análise Inteligente de Dados

Discussão dos modelos lineares

 Não são apropriados caso os dados


exibam relações não lineares
 Mas podem servir como blocos de
construção para esquemas mais
complexos (i.e. árvores modelo)
 Exemplo: a regressão linear multi-resposta
define um hiperplano para separar duas
classes:
( w0(1) − w0( 2 ) )a0 + ( w1(1) − w1( 2 ) )a1 + ... + ( wk(1) − wk( 2 ) )ak > 0

 O mesmo acontece na regressão a par


Análise Inteligente de Dados

35
Aprendizagem baseada nas instâncias

 Uma função de distância define o que é


aprendido
 A maior parte dos esquemas baseados em
instâncias utilizam a distância Euclideana
( a1(1) − a1( 2 ) ) 2 + ( a2(1) − a2( 2 ) ) 2 + ... + ( ak(1) − ak( 2 ) ) 2

 a(1) e a(2) são duas instâncias com k atributos


 A raíz quadrada não é necessária na simples
comparação de distâncias
 Outra métrica popular:
 Distância de Manhattan
 As diferenças são adicionadas, não se recorrendo ao
quadrado

Análise Inteligente de Dados

Normalização e outras questões

 Atributos diferentes são medidos em escalas


diferentes
 É necessária uma normalização:
vi − min vi
ai =
max vi − min vi

 vi é o valor utilizado para o atributo I


 Valores nominais: a distância ou é 0 ou 1
 Política habitual para os atributos em falta
 Assume-se a distância máxima (quando se utiliza
atributos normalizados)

Análise Inteligente de Dados

36
Discussão do 1-NN

 É frequentemente muito preciso mas também


muito lento
 A versão simples percorre todo o conjunto de dados
para fazer uma predição
 Assume a mesma importância para todos os
atributos
 Solução: selecção de atributos ou pesos
 Possíveis remédios contra instâncias ruidosas
 Fazer a média para os k vizinhos mais próximos
 Remoção das instâncias ruidosas (difícil)
 Os estatísticos têm utilizado o k-NN desde os
anos 50
 Se n → ∞ e k/n → 0, o erro aproxima-se do mínimo

Análise Inteligente de Dados

Alguns comentários

 A regra de Bayes emergiu do seu “Essay


towards solving a problem in the doctrine of
chances” (1763)
 Tarefa difícil: estimar as probabilidades a priori
 Não as utilizando podem-se obter intervalos de
confiança
 Extensão do Bayes Ingénuo
 Redes Bayesianas
 As regras de associação surgem mais na
literatura de bases de dados do que na de
aprendizagem
 Ênfase em lidar com grandes quantidades de dados

Análise Inteligente de Dados

37
Alguns comentários

 O algoritmo descrito para as regras de


associação é chamado APRIORI
 Os métodos de regressão linear são métodos
estatísticos padrão descritos na maior parte dos
livros de texto sobre o assunto
 Os classificadores lineares tiveram uma grande
popularidade nos anos 60
 Minsky e Papert (1969) mostraram que os
classificadores lineares têm limitações
 Exemplo clássico: não podem aprender o XOR
 Existem no entanto combinações de “classificadores
lineares” que podem aprender qualquer função: Redes
Neuronais
Análise Inteligente de Dados

38

Das könnte Ihnen auch gefallen