Anda di halaman 1dari 95

Página 1

Aprendizado de Máquina
A Arte e a Ciência dos Algoritmos que Fazem Sentido dos Dados
Peter A. Flach
Laboratório de Sistemas Inteligentes, Universidade de Bristol, Reino Unido
Editado por Tomasz Pawlak para atender aos requisitos do curso de
Aplicações de Métodos de Inteligência Computacional
na Universidade de Tecnologia de Poznan, Faculdade de Computação.

Página 2
Estes slides acompanham o livro acima publicado pela Cambridge University Press em 2012, e
são disponibilizados gratuitamente para fins de ensino (os direitos autorais permanecem com o autor, no entanto).
O material é dividido em quatro níveis de dificuldade A (básico) a D (avançado); este PDF inclui todos
material até o nível B.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
2/291

Página 3
Índice I
1
Os ingredientes do aprendizado de máquina
Tarefas: os problemas que podem ser resolvidos com aprendizado de máquina
Procurando por estrutura
Modelos: a saída do aprendizado de máquina
Modelos geométricos
Modelos probabilísticos
Modelos lógicos
Agrupamento e classificação
Recursos: os burros de carga do aprendizado de máquina
Muitos usos de recursos
Construção e transformação de recursos
2
Classificação binária e tarefas relacionadas
Classificação
Avaliando o desempenho da classificação
Visualizando o desempenho da classificação
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
3/291

Página 4
Índice II
Pontuação e classificação
Avaliando e visualizando o desempenho do ranking
Rankers de afinação
Estimativa de probabilidade de classe
Avaliando estimativas de probabilidade de classe
3
Além da classificação binária
Manipulando mais de duas classes
Classificação de várias classes
Pontuações e probabilidades multiclasses
Regressão
Aprendizagem não supervisionada e descritiva
Clustering preditivo e descritivo
Outros modelos descritivos
4
Modelos de árvore
Árvores de decisão
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
4/291

Página 5
Índice III
Ranking e árvores de estimativa de probabilidade
Sensibilidade a distribuições de classes distorcidas
Aprendizagem de árvores como redução de variância
Árvores de regressão
Clustering trees
5
Modelos de regras
Aprendendo listas de regras ordenadas
Listas de regras para classificação e estimativa de probabilidade
Aprendendo conjuntos de regras não ordenados
Conjuntos de regras para classificação e estimativa de probabilidade
Aprendizagem de regras descritivas
Aprendizagem de regras para descoberta de subgrupo
Mineração de regra de associação
6
Modelos lineares
O método dos mínimos quadrados
Regressão Linear Multivariada
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
5/291

Página 6
Índice IV
O perceptron: um algoritmo heurístico de aprendizagem para classificadores lineares
Máquinas de vetores de suporte
Margem suave SVM
Obtendo probabilidades de classificadores lineares
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
6/291

Página 7
Assassinando e-mail de spam
O SpamAssassin é um filtro de spam de código aberto amplamente utilizado. Calcula uma pontuação para
um e-mail recebido, com base em várias regras internas ou 'testes' em
Terminologia do SpamAssassin, e adiciona um sinalizador 'junk' e um relatório resumido ao
cabeçalhos de e-mail se a pontuação for 5 ou mais.
-0.1 RCVD_IN_MXRATE_WL
RBL: MXRate recomenda permitir
[123.45.6.789 listado em sub.mxrate.net]
0.6 HTML_IMAGE_RATIO_02
BODY: HTML tem uma proporção baixa de texto para área de imagem
1.2 TVD_FW_GRAPHIC_NAME_MID BODY: TVD_FW_GRAPHIC_NAME_MID
0.0 HTML_MESSAGE
BODY: HTML incluído na mensagem
0.6 HTML_FONx_FACE_BAD
BODY: A face da fonte HTML não é uma palavra
1.4 SARE_GIF_ATTACH
FULL: O email tem um gif inline
0.1 BOUNCE_MESSAGE
Mensagem de devolução MTA
0.1 ANY_BOUNCE_MESSAGE
Mensagem é algum tipo de mensagem devolvida
1,4 AWL
AWL: De: o endereço está na lista branca automática

Da esquerda para a direita, você vê a pontuação anexada a um teste específico, o teste


identificador, e uma breve descrição incluindo uma referência à parte relevante do
o email. Como você pode ver, as pontuações dos testes individuais podem ser negativas (indicando
evidência sugerindo que o e-mail é presunto em vez de spam), bem como positivo. o
A pontuação geral de 5,3 sugere que o e-mail pode ser spam.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
7/291

Página 8
Exemplo 1, p.2
Classificação linear
Suponha que temos apenas dois testes e quatro e-mails de treinamento, um dos quais é spam
(veja a Tabela 1).
Ambos os testes são bem-sucedidos para o email de spam;
para um e-mail de presunto, nenhum teste é bem-sucedido
por outro, o primeiro teste é bem-sucedido e o segundo não,
e para o terceiro e-mail de presunto, o primeiro teste falha e o segundo é bem-sucedido.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
8/291

Página 9
Tabela 1, p.3
Filtragem de spam como uma tarefa de classificação
O email
x1
x2
Spam?
4x1+4x2
1
1
1
1
8
2
0
0
0
0
3
1
0
0
4
4
0
1
0
4
É fácil ver que atribuir ambos os testes com um peso de 4 corretamente "classifica" esses
quatro e-mails em spam e ham. Na notação matemática introduzida em
Antecedente 1 , poderíamos descrever este classificador como 4 x 1 + 4 x 2 > 5 ou
(4,4) ( x 1 , x 2 )> 5 .
Na verdade, qualquer peso entre 2,5 e 5 garantirá que o limite de 5 seja apenas
excedido quando ambos os testes são bem sucedidos. Poderíamos até considerar a atribuição de diferentes
pesos para os testes - contanto que cada peso seja menor que 5 e sua soma
excede 5 - embora seja difícil ver como isso poderia ser justificado pelo treinamento
dados.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
9/291

Página 10
Figura 1, p.5
Classificação linear em duas dimensões
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
x1
x0
x2
W
-
A linha reta separa os positivos dos negativos. É definido por w · x i = t ,
onde w é um vetor perpendicular ao limite de decisão e apontando na direção
dos positivos, t é o limiar de decisão, e x i aponta para um ponto na decisão
fronteira. Em particular, x 0 aponta na mesma direção que w , a partir da qual se segue que
w · x 0 = || w || || x 0 || = t (|| x || denota o comprimento do vetor x ).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
10/291

Página 11
Antecedentes 1 , p.4
Coordenadas homogêneas
Às vezes é conveniente simplificar ainda mais a notação com a introdução de um
constante 'variável' x 0 = 1 , cujo peso é fixado em w 0 = - t .
O ponto de dados estendido é então x ◦ = (1, x 1 , ..., x n ) e o peso estendido
o vetor é w ◦ = (- t , w 1 , ..., w n ) , levando à regra de decisão w ◦ · x ◦ > 0 e
limite de decisão w ◦ · x ◦ = 0 .
Graças a essas chamadas coordenadas homogêneas, o limite de decisão
passa pela origem do sistema de coordenadas estendido, à custa de
precisando de uma dimensão adicional.
note que isso não afeta realmente os dados, como todos os pontos de dados e o 'real'
limite de decisão ao vivo no plano x 0 = 1 .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
11/291

Página 12
Ponto importante para lembrar
O aprendizado de máquina é o estudo sistemático de algoritmos e sistemas que melhoram
seu conhecimento ou desempenho com experiência.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
12/291

Página 13
Figura 2, p.5
Aprendizado de máquina para filtragem de spam
SpamAssassin
Testes
Classificador linear
E-mails
Dados
Spam?
pesos
Aprender pesos
Dados de treinamento
No topo, vemos como o SpamAssassin se aproxima da tarefa de classificação de e-mail de spam:
o texto de cada e-mail é convertido em um ponto de dados por meio do SpamAssassin
testes integrados e um classificador linear é aplicado para obter uma decisão de 'spam ou ham'. No
embaixo (em azul ) vemos o bit que é feito pelo aprendizado de máquina.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
13/291

Página 14
Exemplo 2, p.6
Overfitting
Imagine que você está se preparando para o seu exame de Machine Learning 101. Ajuda,
Professor Flach fez trabalhos de exame anteriores e suas respostas trabalhadas
Disponível. Você começa tentando responder as perguntas do anterior
documentos e comparando suas respostas com as respostas do modelo fornecidas.
Infelizmente, você se empolga e gasta todo o seu tempo memorizando
modelo responde a todas as perguntas anteriores. Agora, se o próximo exame completamente
consiste em perguntas passadas, você está certo de fazer muito bem. Mas se o novo exame
faz perguntas diferentes sobre o mesmo material, você estaria mal preparado e
obter uma nota muito menor do que com uma preparação mais tradicional.
Nesse caso, pode-se dizer que você estava super adaptando os exames anteriores e
que o conhecimento adquirido não se generalizou para futuras questões do exame.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
14/291

Página 15
Um classificador bayesiano I
Os filtros de spam bayesianos mantêm um vocabulário de palavras e frases - potencial
indicadores de spam ou ham - para os quais as estatísticas são coletadas de um conjunto de treinamento.
Por exemplo, suponha que a palavra "Viagra" ocorreu em quatro e-mails de spam
e em um e-mail de presunto. Se, em seguida, encontrarmos um novo e-mail que contenha
palavra "Viagra", podemos argumentar que as chances de que este e-mail é spam são
4: 1, ou a probabilidade de ser spam é de 0,80 e a probabilidade de ser
o presunto é 0,20 .
A situação é um pouco mais sutil porque temos que levar em conta
a prevalência de spam. Suponha que eu receba em média um spam
e-mail para cada seis e-mails de presunto. Isso significa que eu estimaria as probabilidades
de um e-mail invisível sendo spam como 1: 6, ou seja, não-insignificante, mas não muito alto
ou.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
15/291

Página 16
Um classificador bayesiano II
Se eu souber que o e-mail contém a palavra 'Viagra', que ocorre quatro
vezes mais em spam como em ham, eu preciso combinar essas duas chances. Como nós
veremos mais tarde, o governo de Bayes nos diz que devemos simplesmente multiplicá-los: 1: 6
vezes 4: 1 é 4: 6, correspondendo a uma probabilidade de spam de 0,4.
Desta forma, você está combinando duas evidências independentes, uma
sobre a prevalência de spam, e outro sobre a ocorrência de
a palavra 'Viagra', puxando em direções opostas.
O bom desse esquema de classificação 'Bayesiano' é que ele pode ser
repetido se você tiver mais provas. Por exemplo, suponha que as probabilidades em
favor do spam associado com a frase "pílula azul" é estimado em 3: 1, e
suponha que o nosso e-mail contenha tanto 'Viagra' quanto 'pílula azul', então as chances combinadas
são 4: 1 vezes 3: 1 é 12: 1, o que é suficiente para compensar as probabilidades 1: 6 associadas
com a baixa prevalência de spam (odds totais são 2: 1, ou uma probabilidade de spam de
0,67 , acima de 0,40 sem a 'pílula azul').
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
16/291

Página 17
Um classificador baseado em regras
se o e-mail contiver a palavra "Viagra", estime as probabilidades de spam como
4: 1;
caso contrário, se contiver a frase "blue pill", calcule as probabilidades de spam
como 3: 1;
caso contrário, estime as probabilidades de spam como 1: 6.
A primeira regra abrange todos os e-mails contendo a palavra 'Viagra', independentemente
quer contenham a frase "pílula azul", então não ocorre excesso de contagem. o
segunda regra abrange apenas e-mails contendo a frase "pílula azul", mas não a palavra
'Viagra', em virtude da cláusula 'caso contrário'. A terceira regra abrange todos os restantes
e-mails: aqueles que não contêm nem 'Viagra' nem 'pílula azul'.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
17/291

Página 18
Figura 3, p.11
Como o aprendizado de máquina ajuda a resolver uma tarefa
Problema de aprendizagem
Características
Domínio
objetos
Dados
Saída
Modelo
Aprendendo
algoritmo
Dados de treinamento
Tarefa
Uma visão geral de como o aprendizado de máquina é usado para endereçar uma determinada tarefa. Uma tarefa ( caixa
vermelha )
requer um mapeamento apropriado - um modelo - dos dados descritos por recursos para saídas.
A obtenção de um tal mapeamento de dados de treinamento é o que constitui um problema de aprendizagem ( azul
caixa ).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
18/291

Página 19
Ponto importante para lembrar
As tarefas são abordadas por modelos, enquanto os problemas de aprendizado são resolvidos
algoritmos de aprendizagem que produzem modelos.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
19/291
Página 20
Ponto importante para lembrar
O aprendizado de máquina está preocupado em usar os recursos certos para construir o direito
modelos que atingem as tarefas certas.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
20/291

Página 21
1. Os ingredientes do aprendizado de máquina

Qual é o próximo?
1
Os ingredientes do aprendizado de máquina
Tarefas: os problemas que podem ser resolvidos com aprendizado de máquina
Procurando por estrutura
Modelos: a saída do aprendizado de máquina
Modelos geométricos
Modelos probabilísticos
Modelos lógicos
Agrupamento e classificação
Recursos: os burros de carga do aprendizado de máquina
Muitos usos de recursos
Construção e transformação de recursos
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
21/291

Página 22
1. Os ingredientes do aprendizado de máquina

Ponto importante para lembrar


Os modelos emprestam a diversidade do campo de aprendizado de máquina, mas as tarefas e os recursos
unidade.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
22/291

Página 23
1. Os ingredientes do aprendizado de máquina
1.1 Tarefas: os problemas que podem ser resolvidos com o aprendizado de máquina

Qual é o próximo?
1
Os ingredientes do aprendizado de máquina
Tarefas: os problemas que podem ser resolvidos com aprendizado de máquina
Procurando por estrutura
Modelos: a saída do aprendizado de máquina
Modelos geométricos
Modelos probabilísticos
Modelos lógicos
Agrupamento e classificação
Recursos: os burros de carga do aprendizado de máquina
Muitos usos de recursos
Construção e transformação de recursos
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
23/291

Página 24
1. Os ingredientes do aprendizado de máquina
1.1 Tarefas: os problemas que podem ser resolvidos com o aprendizado de máquina

Tarefas para aprendizado de máquina


As tarefas de aprendizado de máquina mais comuns são preditivas , no sentido de que
preocupação em prever uma variável de destino a partir de recursos.
Classificação binária e multiclasse: alvo categórico
Regressão: meta numérica
Clustering: alvo oculto
As tarefas descritivas estão relacionadas com a exploração da estrutura subjacente nos dados.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
24/291

Página 25
1. Os ingredientes do aprendizado de máquina
1.1 Tarefas: os problemas que podem ser resolvidos com o aprendizado de máquina
Exemplo 1.1, p.15
Medindo a similaridade
Se nossos e-mails forem descritos por recursos de ocorrência de palavras, como no texto
exemplo de classificação, a similaridade de e-mails seria medida em termos de
as palavras que eles têm em comum. Por exemplo, podemos pegar o número de
palavras comuns em dois e-mails e dividi-lo pelo número de palavras que ocorrem em
ou e-mail (essa medida é chamada de coeficiente de Jaccard ).
Suponha que um e-mail contenha 42 (diferentes) palavras e outro contenha 112
palavras, e os dois e-mails têm 23 palavras em comum, então a sua similaridade
estar
23
42 + 112−23
=
23
130 =0,18 . Podemos então agrupar nossos e-mails em grupos, como
que a semelhança média de um e-mail para os outros e-mails em seu grupo é muito
maior do que a semelhança média de e-mails de outros grupos.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
25/291

Página 26
1. Os ingredientes do aprendizado de máquina
1.1 Tarefas: os problemas que podem ser resolvidos com o aprendizado de máquina

Procurando por estrutura


cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
26/291

Página 27
1. Os ingredientes do aprendizado de máquina
1.1 Tarefas: os problemas que podem ser resolvidos com o aprendizado de máquina

Procurando por estrutura I


Considere a seguinte matriz:

1010
0222
0001
1232
1011
0223

Imagine que representam classificações por seis pessoas diferentes (em linhas), em uma escala de 0
a 3, de quatro filmes diferentes - digamos, The Shawshank Redemption, The Usual
Suspeitos, O Poderoso Chefão, O Grande Lebowski, (em colunas, da esquerda para a direita). o
O padrinho parece ser o mais popular dos quatro com uma classificação média de 1,5 ,
e The Shawshank Redemption é o menos apreciado com uma classificação média
de 0,5 . Você consegue ver alguma estrutura nessa matriz?
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
27/291
Página 28
1. Os ingredientes do aprendizado de máquina
1.1 Tarefas: os problemas que podem ser resolvidos com o aprendizado de máquina

Procurando por estrutura II

1010
0222
0001
1232
1011
0223

100
010
001
110
101
011

100
020
001

×
1010
0111
0001

A matriz mais à direita associa filmes (em colunas) a gêneros (em linhas):
A Redenção de Shawshank e os Suspeitos Usuais pertencem a dois
gêneros diferentes, digamos drama e crime, O Padrinho pertence a ambos, e
O Big Lebowski é um filme criminal e também introduz um novo gênero (digamos
comédia).
A matriz alta de 6 por 3 expressa as preferências das pessoas em termos de
gêneros.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
28/291

Página 29
1. Os ingredientes do aprendizado de máquina
1.1 Tarefas: os problemas que podem ser resolvidos com o aprendizado de máquina

Procurando por estrutura III


Finalmente, a matriz intermediária afirma que o gênero do crime é duas vezes mais importante
como os outros dois gêneros em termos de determinar as preferências das pessoas.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
29/291

Página 30
1. Os ingredientes do aprendizado de máquina
1.1 Tarefas: os problemas que podem ser resolvidos com o aprendizado de máquina
Tabela 1.1, p.
Configurações de aprendizado de máquina
Modelo preditivo
Modelo descritivo
Aprendizado supervisionado
classificação, regressão
descoberta de subgrupo
Aprendizagem não supervisionada
clustering preditivo
agrupamento descritivo,
descoberta de regra de associação
As linhas referem se os dados de treinamento são rotulados com uma variável de destino, enquanto
colunas indicam se os modelos aprendidos são usados para prever uma variável de destino ou
em vez descrever os dados fornecidos.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
30/291

Página 31
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina

Qual é o próximo?
1
Os ingredientes do aprendizado de máquina
Tarefas: os problemas que podem ser resolvidos com aprendizado de máquina
Procurando por estrutura
Modelos: a saída do aprendizado de máquina
Modelos geométricos
Modelos probabilísticos
Modelos lógicos
Agrupamento e classificação
Recursos: os burros de carga do aprendizado de máquina
Muitos usos de recursos
Construção e transformação de recursos
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
31/291

Página 32
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina

Modelos de aprendizado de máquina


Os modelos de aprendizado de máquina podem ser distinguidos de acordo com sua intuição principal:
Modelos geométricos usam intuições da geometria, como separar
(hiper) planos, transformações lineares e métricas de distância.
Modelos probabilísticos vêem a aprendizagem como um processo de redução da incerteza,
modelado por meio de distribuições de probabilidade.
Modelos lógicos são definidos em termos de lógica lógica facilmente interpretável.
expressões.
Alternativamente, eles podem ser caracterizados pelo seu modus operandi:
Modelos de agrupamento dividem o espaço da instância em segmentos; em cada segmento
um modelo muito simples (por exemplo, constante) é aprendido.
Modelos de classificação que aprendem um único modelo global sobre o espaço da instância.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
32/291

Página 33
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina

Modelos geométricos
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
33/291

Página 34
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina
Figura 1.1, p.22
Classificador Linear Básico
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
p
n
w=p-n
-
( p + n) / 2
O classificador linear básico constrói um limite de decisão por meio caminho intersectando
linha entre os centros de massa positivos e negativos. É descrito pela equação
w · x = t , com w = p - n ; o limiar de decisão pode ser encontrado observando que ( p + n ) / 2 é
no limite de decisão e, portanto, t = ( p - n ) · ( p + n ) / 2 = (|| p || 2 - || n || 2 ) / 2, onde
|| x || denota o comprimento do vetor x .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
34/291

Página 35
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina
Figura 1.2, p.23
Máquina de vetor de suporte
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
W
O limite de decisão aprendido por uma máquina de vetores de suporte a partir do linearmente separável
dados da Figura 1. O limite de decisão maximiza a margem, que é indicada por
as linhas pontilhadas. Os pontos de dados circulados são os vetores de suporte.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
35/291

Página 36
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina

Modelos probabilísticos
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
36/291

Página 37
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina
Tabela 1.2, p . 26
Um modelo probabilístico simples
Viagra
loteria
P ( Y = spam | Viagra , loteria )
P ( Y = presunto | Viagra , loteria )
0
0
0,31
0,69
0
1
0,65
0,35
1
0
0,80
0,20
1
1
0,40
0,60
'Viagra' e 'loteria' são dois recursos booleanos; Y é a variável de classe, com valores 'spam'
e 'ham'. Em cada linha, a classe mais provável é indicada em negrito.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
37/291

Página 38
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina

Regra de decisão
Assumindo que X e Y são as únicas variáveis que conhecemos e nos preocupamos, o
A distribuição posterior P ( Y | X ) ajuda-nos a responder a muitas questões de interesse.
Por exemplo, para classificar um novo e-mail, determinamos se as palavras
'Viagra' e 'loteria' ocorrem nele, procure a probabilidade correspondente
P ( Y = spam | Viagra , loteria ) e prever spam se essa probabilidade exceder
0,5 e presunto em contrário.
Tal receita para prever um valor de Y com base nos valores de X e
a distribuição posterior P ( Y | X ) é chamada de regra de decisão .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
38/291

Página 39
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina
Exemplo 1.2, p . 26
Valores faltantes I
Vamos supor que nós skimmed um e-mail e notei que ele contém a palavra "loteria", mas
nós não olhamos de perto o suficiente para determinar se ele usa a palavra 'Viagra'.
Isso significa que não sabemos se devemos usar a segunda ou a quarta linha em
Tabela 1.2 para fazer uma previsão. Isso é um problema, já que preveríamos spam se o
E-mail continha a palavra 'Viagra' (segunda linha) e presunto se não fosse (quarta linha).
A solução é calcular a média dessas duas linhas, usando a probabilidade de 'Viagra'
ocorrendo em qualquer email (spam ou não):
P ( Y | loteria ) = P ( Y | Viagra = 0, loteria ) P ( Viagra = 0)
+ P ( Y | Viagra = 1, loteria ) P ( Viagra = 1)
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
39/291

Página 40
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina
Exemplo 1.2, p . 26
Valores faltantes II
Por exemplo, suponha, para fins de argumentação, que um em cada dez e-mails contenha
a palavra 'Viagra', então P ( Viagra = 1) = 0,10 e P ( Viagra = 0) = 0,90 . Usando
a fórmula acima, obtemos
P ( Y = spam | loteria = 1) = 0,65 · 0,90 + 0,40 · 0,10 = 0,625 e
P ( Y = presunto | loteria = 1) = 0,35 x 0,90 + 0,60 x 0,10 = 0,375 . Porque o
a ocorrência de 'Viagra' em qualquer e-mail é relativamente rara, a distribuição resultante
desvia um pouco da segunda linha da Tabela 1.2.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
40/291

Página 41
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina

Razão de verossimilhança
De fato, os estatísticos trabalham muito freqüentemente com diferentes
probabilidades, dadas pela função de verossimilhança P ( X | Y ) .
Eu gosto de pensar neles como experimentos mentais: se alguém enviasse
me um e-mail de spam, qual a probabilidade de conter exatamente as palavras
do e-mail que estou olhando? E qual a probabilidade de se tratar de um email de presunto?
O que realmente importa não é a magnitude dessas probabilidades, mas sua proporção:
qual a probabilidade de observar essa combinação de palavras em um spam?
e-mail do que em um e-mail não-spam.
Por exemplo, suponha que, para um e-mail específico descrito por X , tenhamos
P ( X | Y = spam ) = 3,5 · 10-5 e P ( X | Y = ham ) = 7,4 · 10 −6 , então
observar X em um e-mail de spam é quase cinco vezes mais provável do que em um
e-mail de presunto.
Isto sugere a seguinte regra de decisão (máxima a posteriori, MAP):
prever spam se a taxa de probabilidade for maior que 1 e presumir outra.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
41/291

Página 42
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina

Ponto importante para lembrar


Use as probabilidades se você quiser ignorar a distribuição anterior ou assumi-la uniforme,
e probabilidades posteriores de outra forma.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
42/291

Página 43
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina
Exemplo 1.3, p.
Perspectivas posteriores
P ( Y = spam | Viagra = 0, loteria = 0)
P ( Y = presunto | Viagra = 0, loteria = 0)
=
0,31
0,69
= 0,45
P ( Y = spam | Viagra = 1, loteria = 1)
P ( Y = presunto | Viagra = 1, loteria = 1)
=
0,40
0,60
= 0,67
P ( Y = spam | Viagra = 0, loteria = 1)
P ( Y = presunto | Viagra = 0, loteria = 1)
=
0,65
0,35
= 1,9
P ( Y = spam | Viagra = 1, loteria = 0)
P ( Y = presunto | Viagra = 1, loteria = 0)
=
0,80
0,20
= 4,0
Usando uma regra de decisão do MAP, predizemos o ham nos dois casos principais e spam no
dois inferiores. Dado que a distribuição completa posterior é tudo o que há para saber sobre
domínio em um sentido estatístico, essas previsões são as melhores que podemos fazer: elas
são ótimos para Bayes .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
43/291

Página 44
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina
Tabela 1.3, p . 29
Exemplos de probabilidades marginais
Y
P ( Viagra = 1 | Y )
P ( Viagra = 0 | Y )
Spam
0,40
0,60
presunto
0,12
0,88
Y
P ( loteria = 1 | Y )
P ( loteria = 0 | Y )
Spam
0,21
0,79
presunto
0,13
0,87
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
44/291

Página 45
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina
Exemplo 1.4, p.30
Usando probabilidades marginais
Usando as probabilidades marginais da Tabela 1.3, podemos aproximar a probabilidade
rácios (as probabilidades previamente calculadas da distribuição posterior completa são
mostrado entre parênteses):
P ( Viagra = 0 | Y = spam )
P ( Viagra = 0 | Y = presunto )
P ( loteria = 0 | Y = spam )
P ( loteria = 0 | Y = presunto )
=
0,60
0,88
0,79
0,87
= 0,62 (0,45)
P ( Viagra = 0 | Y = spam )
P ( Viagra = 0 | Y = presunto )
P ( loteria = 1 | Y = spam )
P ( loteria = 1 | Y = presunto )
=
0,60
0,88
0,21
0,13
= 1,1
(1,9)
P ( Viagra = 1 | Y = spam )
P ( Viagra = 1 | Y = presunto )
P ( loteria = 0 | Y = spam )
P ( loteria = 0 | Y = presunto )
=
0,40
0,12
0,79
0,87
= 3,0
(4,0)
P ( Viagra = 1 | Y = spam )
P ( Viagra = 1 | Y = presunto )
P ( loteria = 1 | Y = spam )
P ( loteria = 1 | Y = presunto )
=
0,40
0,12
0,21
0,13
= 5,4
(0,67)
Vemos que, usando uma regra de decisão de máxima verossimilhança, nosso modelo muito simples
chega à previsão ótima de Bayes nos três primeiros casos, mas não no
quarto ('Viagra' e 'loteria' presentes), onde as probabilidades marginais são
na verdade muito enganador.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
45/291

Página 46
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina
Figura 1.3, p.31
O classificador escocês
1
0
2
4
6
0
2
4
6
'Peter'
'loteria'
presunto
Spam
2
0
2
4
6
0
2
4
6
'Peter'
'loteria'
Spam de Presunto
0
2
4
6
0
2
4
6
'Peter'
'loteria'
presunto
Spam

(topo) Visualização de duas probabilidades marginais, estimadas a partir de um pequeno conjunto de dados. o
as cores indicam se a probabilidade aponta para spam ou ham . (inferior) Combinando o
duas probabilidades marginais dão um padrão não muito diferente do de um tartan escocês.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
46/291

Página 47
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina

Modelos lógicos
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
47/291
Página 48
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina
Figura 1.4, p.32
Uma árvore de recursos
ʻViagraʼ
loteria
=0
spam: 20
presunto: 5
=1
spam: 20
presunto: 40
=0
spam: 10
presunto: 5
=1
Viagra
loteria
0
1
0
1
spam: 20
presunto: 5
spam: 20
presunto: 40
spam: 10
presunto: 5
(esquerda) Uma árvore de recursos que combina dois recursos booleanos. Cada nó interno ou divisão é
rotulado com um recurso, e cada borda que emana de uma divisão é rotulada com um recurso
valor. Cada folha, portanto, corresponde a uma combinação única de valores de recursos. Além disso
indicado em cada folha é a distribuição da classe derivada do conjunto de treinamento. (direita) A
feature tree particiona o espaço da instância em regiões retangulares, uma para cada folha. Nós
pode ver claramente que a maioria do presunto vive no canto inferior esquerdo.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
48/291

Página 49
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina
Exemplo 1.5, p.33
Rotulando uma árvore de recursos
As folhas da árvore na Figura 1.4 podem ser rotuladas, da esquerda para a direita,
ham - spam - spam, empregando uma regra de decisão simples chamada classe majoritária .
Como alternativa, poderíamos rotulá-los com a proporção de e-mail de spam
ocorrendo em cada folha: da esquerda para a direita, 1/3, 2/3 e 4/5.
Ou, se a nossa tarefa fosse uma tarefa de regressão, poderíamos rotular as folhas com
valores reais preditos ou mesmo funções lineares de algum outro valor real
características.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
49/291

Página 50
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina
Figura 1.5, p.33
Uma árvore completa de recursos
ʻViagraʼ
loteria
=0
loteria
=1
spam: 20
presunto: 40
=0
spam: 10
presunto: 5
=1
spam: 20
presunto: 4
=0
spam: 0
presunto: 1
=1
spam: 0
presunto: 1
Viagra
loteria
0
1
0
1
spam: 20
presunto: 4
spam: 20
presunto: 40
spam: 10
presunto: 5
(esquerda) Uma árvore de recursos completa construída a partir de dois recursos booleanos. (à direita) O correspondente
partição de espaço de instância é a melhor partição que pode ser obtida com esses dois
características.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
50/291

Page 51
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina

Formulação de regras de uma árvore


ʻViagraʼ
loteria
=0
loteria
=1
spam: 20
presunto: 40
=0
spam: 10
presunto: 5
=1
spam: 20
presunto: 4
=0
spam: 0
presunto: 1
=1

Para cada caminho da raiz até uma folha:


Coletar todas as comparações dos nós intermediários
Junte-se às comparações usando AND
Use a classe majoritária da folha como decisão
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
51/291

Página 52
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina
Exemplo 1.6, p.34
Regras sobrepostas
Considere as seguintes regras:
· Se loteria = 1, então Classe = Y = spam ·
· Se Peter = 1 e depois Classe = Y = ham ·
Como pode ser visto na Figura 1.6, estas regras se sobrepõem para loteria = 1 ∧ Peter = 1 , para
que eles fazem previsões contraditórias. Além disso, eles não conseguem fazer
previsões para loteria = 0 ∧ Pedro = 0 .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
52/291

Página 53
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina
Figura 1.6, p.35
Regras sobrepostas
Peter
loteria
0
1
0
1
O efeito da sobreposição de regras no espaço da instância. As duas regras fazem contraditório
previsões no canto superior direito e nenhuma previsão na parte inferior esquerda
canto.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
53/291

Página 54
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina

Agrupamento e classificação
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
54/291

Page 55
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina
Figura 1.7, p.37
Mapeamento de modelos de aprendizado de máquina
−10
−5
0
5
10
15
20
−10
−8
−6
−4
−2
0
2
4
6
8
10
Árvores
Regras
Baías ingénuas
kNN
Classificador Linear
Regressão linear
Regressão Logística
SVM
Kmeans
GMM
Associações

Um "mapa" de alguns dos modelos que serão considerados neste livro. Modelos que compartilham
características são plotadas mais próximas: modelos lógicos à direita, modelos geométricos
no canto superior esquerdo e modelos probabilísticos no canto inferior esquerdo. A dimensão horizontal
varia aproximadamente de modelos de classificação à esquerda para modelos de agrupamento à direita.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
55/291

Página 56
1. Os ingredientes do aprendizado de máquina
1.2 Modelos: a saída do aprendizado de máquina
Figura 1.8, p.38
Taxonomia ML
classificação
lógico
um pouco
geométrico
muito
supervisionado
sim
ingênuo
Bayes
não tão
Muito de
Associação
regras
não
árvores e
regras
sim
supervisionado
não
com
completamente
agrupamento
sim
GMM
não
SVM
sim
linear
classificadores
não
supervisionado
alguns
K-significa
não
k-nn
sim

Uma taxonomia que descreve os métodos de aprendizado de máquina em termos da extensão em que eles
são modelos de graduação ou agrupamento, lógicos, geométricos ou uma combinação, e supervisionados ou
sem supervisão. As cores indicam o tipo de modelo, da esquerda para a direita: lógico (vermelho),
probabilístico (laranja) e geométrico (roxo).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
56/291

Página 57
1. Os ingredientes do aprendizado de máquina
1.3 Características: os burros de carga do aprendizado de máquina

Qual é o próximo?
1
Os ingredientes do aprendizado de máquina
Tarefas: os problemas que podem ser resolvidos com aprendizado de máquina
Procurando por estrutura
Modelos: a saída do aprendizado de máquina
Modelos geométricos
Modelos probabilísticos
Modelos lógicos
Agrupamento e classificação
Recursos: os burros de carga do aprendizado de máquina
Muitos usos de recursos
Construção e transformação de recursos
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
57/291

Página 58
1. Os ingredientes do aprendizado de máquina
1.3 Características: os burros de carga do aprendizado de máquina
Exemplo 1.7, p.39
O conjunto de dados de MLM
Suponha que temos vários modelos de aprendizado que queremos descrever em termos
de um número de propriedades:
até que ponto os modelos são geométricos, probabilísticos ou lógicos;
se eles estão agrupando ou classificando modelos;
até que ponto eles podem lidar com recursos discretos e / ou reais;
se eles são usados em aprendizado supervisionado ou não supervisionado; e
até que ponto eles podem lidar com problemas de várias classes.
As duas primeiras propriedades podem ser expressas por recursos discretos com três e
dois valores, respectivamente; ou se as distinções são mais graduais, cada aspecto
poderia ser avaliado em alguma escala numérica. Uma abordagem simples seria
medir cada propriedade em uma escala inteira de 0 a 3, como na Tabela 1.4. este
A tabela estabelece um conjunto de dados no qual cada linha representa uma instância e cada
coluna um recurso.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
58/291

Página 59
1. Os ingredientes do aprendizado de máquina
1.3 Características: os burros de carga do aprendizado de máquina
Tabela 1.4, p.39
O conjunto de dados de MLM
Modelo
geom
Estatísticas
lógica
grupo
graduado
disco
real
sup
unsup
multi
Árvores
1
0
3
3
0
3
2
3
2
3
Regras
0
0
3
3
1
3
2
3
0
2
Baías ingénuas
1
3
1
3
1
3
1
3
0
3
kNN
3
1
0
2
2
1
3
3
0
3
Classificador Linear
3
0
0
0
3
1
3
3
0
0
Regressão linear
3
1
0
0
3
0
3
3
0
1
Regressão Logística
3
2
0
0
3
1
3
3
0
0
SVM
2
2
0
0
3
2
3
3
0
0
Kmeans
3
2
0
1
2
1
3
0
3
1
GMM
1
3
0
0
3
1
3
0
3
1
Associações
0
0
3
3
0
3
1
0
3
1
O conjunto de dados MLM que descreve propriedades de modelos de aprendizado de máquina.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
59/291

Página 60
1. Os ingredientes do aprendizado de máquina
1.3 Características: os burros de carga do aprendizado de máquina

Muitos usos de recursos


cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
60/291

Página 61
1. Os ingredientes do aprendizado de máquina
1.3 Características: os burros de carga do aprendizado de máquina
Exemplo 1.8, p.41
Muitos usos de recursos
Suponha que queremos aproximar y = cos πx no intervalo −1 ≤ x ≤ 1 . Um linear
aproximação não é muito útil aqui, já que o melhor ajuste seria y = 0 . Contudo,
se dividirmos o eixo x em dois intervalos −1 ≤ x <0 e 0 ≤ x ≤ 1 , poderíamos encontrar
aproximações lineares razoáveis em cada intervalo. Podemos conseguir isso usando
x tanto como um recurso de divisão e como uma variável de regressão ( Figura 1.9).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
61/291

Página 62
1. Os ingredientes do aprendizado de máquina
1.3 Características: os burros de carga do aprendizado de máquina
Figura 1.9, p.41
Uma pequena árvore de regressão
x
ŷ = 2x + 1
<0
ŷ = −2x + 1
≥0
-1
0
1
-1
1
(à esquerda) Uma árvore de regressão combinando uma árvore de recursos de um único split com modelos de regressão
linear
nas folhas. Observe como x é usado como um recurso de divisão e uma variável de regressão.
(direita) A função y = cos πx no intervalo −1 ≤ x ≤ 1, e o linear por partes
aproximação obtida pela árvore de regressão.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
62/291

Página 63
1. Os ingredientes do aprendizado de máquina
1.3 Características: os burros de carga do aprendizado de máquina

Construção e transformação de recursos


cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
63/291

Página 64
1. Os ingredientes do aprendizado de máquina
1.3 Características: os burros de carga do aprendizado de máquina
Figura 1.10, p.42
Discretização sensível à classe
30
40
50
60
70
80
90
100
110
120
130
0
2
4
6
8
10
12
14
35
55
75
90
110
130
0
5
10
15
20
25

(esquerda) Dados artificiais que descrevem um histograma de medidas de peso corporal de pessoas com
( azul ) e sem diabetes ( vermelho ), com onze intervalos fixos de 10 quilogramas de largura cada.
(direita) Ao unir o primeiro e o segundo, terceiro e quarto, quinto e sexto e oitavo,
nono e décimo intervalos, obtém-se uma discretização de tal forma que a proporção de diabetes
casos aumenta da esquerda para a direita. Esta discretização torna o recurso mais útil em
prevendo diabetes.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
64/291

Página 65
1. Os ingredientes do aprendizado de máquina
1.3 Características: os burros de carga do aprendizado de máquina
Exemplo 1.9, p.43
O truque do kernel
Se x 1 = ( x 1 , y 1 ) e x 2 = ( x 2 , y 2 ) sejam dois pontos de dados, e considere o mapeamento
( x , y ) → ( x 2 , y 2 , 2 xy ) para um espaço tridimensional. Os pontos em
espaço de recurso correspondente a x 1 e x 2 são x
1= ( x2
1
,Y2
1
, 2 x 1y 1 ) e
x
2= ( x2
2
,Y2
2
2 x 2 y 2 ) . O produto escalar desses dois vetores de recursos é
x1·x2=x2
1x2
2+ y2
1y2
2+2x1y1x2y2= ( x1x2+ y1y2)
2
=(X1·x2)
2
Ou seja, ao obter o ponto no produto original, obtemos o ponto
produto no novo espaço sem realmente construir os vetores de recurso! UMA
função que calcula o produto de ponto no espaço de recurso diretamente dos vetores
no espaço original é chamado kernel - aqui o núcleo é κ ( x 1 , x 2 ) = ( x 1 · x 2 ) 2
.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
65/291

Página 66
1. Os ingredientes do aprendizado de máquina
1.3 Características: os burros de carga do aprendizado de máquina
Figura 1.11, p.43
Dados não linearmente separáveis
−2,5
−2
−1,5
−1
−0,5
0
0,5
1
1,5
2
2,5
−2,5
−2
−1,5
−1
−0,5
0
0,5
1
1,5
2
2,5
0
0,5
1
1,5
2
2,5
3
3,5
4
4,5
5
0
0,5
1
1,5
2
2,5
3
3,5
4
4,5
5

(à esquerda) Um classificador linear teria um desempenho ruim nesses dados. (direita) transformando o
dados originais ( x , y ) em ( x , y ) = ( x 2 , y 2 ), os dados se tornam mais 'lineares', e um linear
O limite de decisão x + y = 3 separa os dados razoavelmente bem. No espaço original esta
corresponde a um círculo com raio 3 em torno da origem.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
66/291

Página 67
2. Classificação binária e tarefas relacionadas

Qual é o próximo?
2
Classificação binária e tarefas relacionadas
Classificação
Avaliando o desempenho da classificação
Visualizando o desempenho da classificação
Pontuação e classificação
Avaliando e visualizando o desempenho do ranking
Rankers de afinação
Estimativa de probabilidade de classe
Avaliando estimativas de probabilidade de classe
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
67/291

Página 68
2. Classificação binária e tarefas relacionadas

Símbolos usados nos slides a seguir


Suponha os seguintes símbolos:
X - conjunto de todas as instâncias (o universo)
L - conjunto de todos os rótulos (o universo)
C - conjunto de todas as classes (o universo)
Y - conjunto de todas as saídas (o universo)
Tr - conjunto de treinamento de instâncias rotuladas ( x , l ( x )) , onde l : X → L
Te - test conjunto de instâncias rotuladas ( x , l ( x )) , onde l : X → L
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
68/291

Página 69
2. Classificação binária e tarefas relacionadas
Tabela 2.1, p.52
Cenários preditivos de aprendizado de máquina
Tarefa
Label space Output space Problema de aprendizagem
Classificação L = C
Y=C
aprender uma aproximação c :
X → C para a rotulagem verdadeira
função c
Pontuação e
classificação
L=C
Y = R |C|
aprenda um modelo que produza um
pontuação de vetor sobre classes
Probabilidade
estimativa
L=C
Y = [0,1] | C |
aprenda um modelo que
coloca um vetor de probabilidade sobre
classes
Regressão
L=R
Y=R
aprender uma aproximação f :
X → R para a rotulagem verdadeira
função f
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
69/291

Página 70
2. Classificação binária e tarefas relacionadas
2.1 Classificação

Qual é o próximo?
2
Classificação binária e tarefas relacionadas
Classificação
Avaliando o desempenho da classificação
Visualizando o desempenho da classificação
Pontuação e classificação
Avaliando e visualizando o desempenho do ranking
Rankers de afinação
Estimativa de probabilidade de classe
Avaliando estimativas de probabilidade de classe
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
70/291

Página 71
2. Classificação binária e tarefas relacionadas
2.1 Classificação

Classificação
Um classificador é um mapeamento c : X → C , onde C = { C 1 , C 2 , ..., C k } é um finito e
geralmente pequeno conjunto de rótulos de classe . Às vezes também usaremos C i para indicar o
conjunto de exemplos dessa classe.
Usamos o 'chapéu' para indicar que c ( x ) é uma estimativa do verdadeiro, mas desconhecido
função c ( x ) . Exemplos para um classificador tomam a forma ( x , c ( x )) , onde x ∈ X é
uma instância ec ( x ) é a verdadeira classe da instância (às vezes contaminada
pelo ruído).
Aprender um classificador envolve a construção da função c tal que corresponde c
o mais próximo possível (e não apenas no conjunto de treinamento, mas idealmente em todo o
instância espaço X ).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
71/291

Página 72
2. Classificação binária e tarefas relacionadas
2.1 Classificação
Figura 2.1, p.53
Uma árvore de decisão
ʻViagraʼ
loteria
=0
spam: 20
presunto: 5
=1
spam: 20
presunto: 40
=0
spam: 10
presunto: 5
=1
ʻViagraʼ
loteria
=0
ĉ (x) = spam
=1
ĉ (x) = presunto
=0
ĉ (x) = spam
=1
(esquerda) Uma árvore de recursos com distribuição de classes de conjunto de treinamento nas folhas. (direita) uma
decisão
árvore obtida usando a regra de decisão da classe majoritária.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
72/291

Página 73
2. Classificação binária e tarefas relacionadas
2.1 Classificação

Avaliando o desempenho da classificação


cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
73/291

Page 74
2. Classificação binária e tarefas relacionadas
2.1 Classificação
Tabela 2.2, p.54
Tabela de contingência
Previsão ⊕ Previsto ⊖
Real ⊕
30
20
50
Real ⊖
10
40
50
40
60
100



20
30
50

20
30
50
40
60
100
(esquerda) Uma tabela de contingência de duas classes ou matriz de confusão representando o desempenho do
árvore de decisão na Figura 2.1. Números na diagonal descendente indicam correta
predições, enquanto a diagonal crescente diz respeito a erros de predição. (direita) A
tabela de contingência com os mesmos marginais mas linhas e colunas independentes.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
74/291

Página 75
2. Classificação binária e tarefas relacionadas
2.1 Classificação

Estatísticas da tabela de contingência


Vamos rotular os números das previsões de um classificador em um conjunto de testes como na tabela:
Previsão ⊕ Previsto ⊖
Real ⊕
TP
FN
Pos
Real ⊖
FP
TN
Neg
0
0
0
Onde abreviações significam:
TP - verdadeiros positivos
FP - falsos positivos
FN - falsos negativos
TN - verdadeiros negativos
Pos - número de exemplos positivos
Neg - número de exemplos negativos
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
75/291

Página 76
2. Classificação binária e tarefas relacionadas
2.1 Classificação
Tabela 2.3, p . 57
Medidas de desempenho I
A medida
Definição
Igual a estimativas
número de positivos
Pos = ∑ x ∈ Te I [ c ( x ) = ⊕ ]
número de negativos
Neg = ∑ x ∈ Te I [ c ( x ) = ⊖ ]
| Te | - Pos
número de verdadeiros positivos
TP = Σ x ∈ Te I [ c ( x ) = C ( x ) = ⊕ ]
número de negativos verdadeiros
TN = Σ x ∈ Te I [ c ( x ) = C ( x ) = ⊖ ]
número de falsos positivos
PF = Σ x ∈ Te I [ c ( x ) = ⊕ , c ( x ) = ⊖ ]
Neg - TN
número de falsos negativos
FN = Σ x ∈ Te I [ c ( x ) = ⊖ , c ( x ) = ⊕ ]
Pos - TP
proporção de positivos
pos =
1
| Te |

x ∈ Te I[c(x)=⊕]
Pos / | Te |
P(c(x)=⊕)
proporção de negativos
neg =
1
| Te |

x ∈ Te I[c(x)=⊖]
1 - pos
P(c(x)=⊖)
relação de classe
clr = pos / neg
Pos / Neg
(*) precisão
acc =
1
| Te |

x ∈ Te I[ c ( x ) = C ( x )]
P ( c ( x ) = C ( x ))
(*) taxa de erro
err =
1
| Te |

x ∈ Te I[ c ( x ) = C ( x )]
1− acc
P ( c ( x ) = C ( x ))
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
76/291

Página 77
2. Classificação binária e tarefas relacionadas
2.1 Classificação
Tabela 2.3, p . 57
Medidas de desempenho II
A medida
Definição
Igual a
Estimativas
taxa positiva verdadeira,
sensibilidade, recordação
tpr =

x ∈ Te I [c(x)=C(x)=⊕]

x ∈ Te I [c(x)=⊕]
TP / Pos
P(C(x)=⊕|c(x)=⊕)
taxa negativa verdadeira,
especificidade
tnr =

x ∈ Te I [c(x)=C(x)=⊖]

x ∈ Te I [c(x)=⊖]
TN / Neg
P(C(x)=⊖|c(x)=⊖)
taxa de falsos positivos,
taxa de alarme falso
fpr =

x ∈ Te I [c(x)=⊕,c(x)=⊖]

x ∈ Te I [c(x)=⊖]
FP / Neg = 1 - tnr
P(C(x)=⊕|c(x)=⊖)
taxa de falso negativo
fnr =

x ∈ Te I [c(x)=⊖,c(x)=⊕]

x ∈ Te I [c(x)=⊕]
FN / Pos = 1 - tpr
P(C(x)=⊖|c(x)=⊕)
precisão,
confi
dence
prec =

x ∈ Te I [c(x)=C(x)=⊕]

x ∈ Te I [c(x)=⊕]
TP / ( TP + FP )
P(C(x)=⊕|c(x)=⊕)
Tabela: Um resumo de diferentes quantidades e medidas de avaliação para classificadores em um teste
set Te . Símbolos que começam com letra maiúscula denotam freqüências absolutas (contagens), enquanto
símbolos minúsculos denotam frequências ou proporções relativas. Todos exceto aqueles indicados com
(*) são definidos apenas para classificação binária.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
77/291

Página 78
2. Classificação binária e tarefas relacionadas
2.1 Classificação
Exemplo 2.1, p . 56
Precisão como média ponderada
Suponha que as previsões de um classificador em um conjunto de testes sejam como na tabela a seguir:
Previsão ⊕ Previsto ⊖
Real ⊕
60
15
75
Real ⊖
10
15
25
70
30
100
A partir desta tabela, vemos que a taxa positiva verdadeira é tpr = 60/75 = 0,80 e
taxa negativa verdadeira é tnr = 15/25 = 0,60 . A precisão geral é
acc = (60 + 15) / 100 = 0,75 , que não é mais a média dos verdadeiros positivos e
taxas negativas. No entanto, tendo em conta a proporção de positivos
pos = 0.75 e a proporção de negativos neg = 1− pos = 0.25 , vemos que
acc = pos · tpr + neg · tnr
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
78/291

Página 79
2. Classificação binária e tarefas relacionadas
2.1 Classificação

Visualizando o desempenho da classificação


cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
79/291

Página 80
2. Classificação binária e tarefas relacionadas
2.1 Classificação

Graus de liberdade
A seguinte tabela de contingência:
Previsão ⊕ Previsto ⊖
Real ⊕
TP
FN
Pos
Real ⊖
FP
TN
Neg
0
0
0
contém 9 valores, no entanto, alguns deles dependem de outros: por exemplo, somas marginais
dependem de linhas e colunas, respectivamente. Na verdade, precisamos apenas de 4 valores para
determinar o resto deles. Assim, dizemos que esta tabela tem 4 graus de
liberdade . Na tabela geral, tendo ( k +1) 2
entradas tem k 2
graus de liberdade.
A seguir, assumimos que Pos , Neg , TP e FP são suficientes para
reconstruir a mesa inteira.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
80/291

Página 81
2. Classificação binária e tarefas relacionadas
2.1 Classificação
Figura 2.2, p. 58
Um lote de cobertura
Que haja classificadores C1, C2 e C3.
Negativos
Positivos
0
TP2
TP1
Pos
0
FP1
FP2
Neg
C1
C2
Negativos
Positivos
0
TP3
Pos
0
FP3
Neg
C3

(à esquerda) Um gráfico de cobertura que descreve as duas tabelas de contingência na Tabela 2.2. O enredo é
quadrado porque a distribuição da classe é uniforme. A partir da trama, vemos imediatamente que
C1 é melhor que C2. (à direita) Gráfico de cobertura do exemplo 2.1, com uma relação de classe clr = 3.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
81/291

Página 82
2. Classificação binária e tarefas relacionadas
2.1 Classificação
Figura 2.3, p.59
Um gráfico de ROC
Negativos
Positivos
0
TP2
TP1
TP3
Pos
0
FP1
FP2-3
Neg
C1
C2
C3
Taxa positiva falsa
Taxa positiva verdadeira
0
tpr2
tpr1
tpr3
1
0
fpr1
fpr2-3
1
C1
C2
C3

(à esquerda) C1 e C3 dominam C2, mas nenhum domina o outro. A linha diagonal


ter inclinação de 1 indica que todos os classificadores nesta linha alcançam precisão igual.
(direita) Receptor Operando enredo Característica (ROC): a fusão das duas parcelas de cobertura
na Figura 2.2, empregando a normalização para lidar com as diferentes distribuições de classes. o
linha diagonal com declive de 1 indica que todos os classificadores nesta linha têm
mesma recordação média (média de recalls positivos e negativos).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
82/291

Página 83
2. Classificação binária e tarefas relacionadas
2.1 Classificação
Figura 2.4, p.61
Comparando cobertura e gráficos do ROC
Negativos
Positivos
0
TP1
TP2-3
Pos
0
FP1 FP2
FP3
Neg
C1
C2
C3
Negativos
Positivos
0
tpr1
tpr2-3
Pos
0
fpr1 fpr2
fpr3
Neg
C1
C2
C3

(à esquerda) Em um gráfico de cobertura, os isométricos de precisão têm uma inclinação de 1 e a recordação média
isométricos são paralelos à diagonal ascendente. (direita) No gráfico ROC correspondente,
os isométricos de memória média têm uma inclinação de 1; a precisão isométrica aqui tem uma inclinação de 3,
correspondente à proporção de negativos para positivos no conjunto de dados.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
83/291

Página 84
2. Classificação binária e tarefas relacionadas
2.2 Pontuação e classificação

Qual é o próximo?
2
Classificação binária e tarefas relacionadas
Classificação
Avaliando o desempenho da classificação
Visualizando o desempenho da classificação
Pontuação e classificação
Avaliando e visualizando o desempenho do ranking
Rankers de afinação
Estimativa de probabilidade de classe
Avaliando estimativas de probabilidade de classe
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
84/291

Página 85
2. Classificação binária e tarefas relacionadas
2.2 Pontuação e classificação

Classificador de pontuação
Um classificador de pontuação é um mapeamento s : X → R k
, ou seja, um mapeamento da instância
espaço para um k- vetor de números reais.
A notação em negrito indica que um classificador de pontuação gera um vetor
S ( x ) = ( s 1 ( x ), ..., s k ( x )) , em vez de um único número; S i ( x ) é a pontuação atribuídos
para a classe C i, por exemplo, x .
Esta pontuação indica quão provável é que etiqueta classe C i aplica.
Se tivermos apenas duas classes, geralmente é suficiente considerar a pontuação de apenas uma
das classes; nesse caso, usamos s ( x ) para denotar a pontuação da classe positiva
por exemplo x .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
85/291

Página 86
2. Classificação binária e tarefas relacionadas
2.2 Pontuação e classificação
Figura 2.5, p.62
Uma árvore de pontuação
ʻViagraʼ
loteria
=0
spam: 20
presunto: 5
=1
spam: 20
presunto: 40
=0
spam: 10
presunto: 5
=1
ʻViagraʼ
loteria
=0
ŝ (x) = +2
=1
ŝ (x) = −1
=0
ŝ (x) = +1
=1
(esquerda) Uma árvore de recursos com distribuição de classes de conjunto de treinamento nas folhas. (direita) Uma árvore
de pontuação
usando o logaritmo da proporção da classe como escores; spam é considerado como a classe positiva.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
86/291

Página 87
2. Classificação binária e tarefas relacionadas
2.2 Pontuação e classificação

Margens e funções de perda


Se tomarmos a verdadeira classe c ( x ) como +1 para exemplos positivos e −1 para negativos
exemplos, em seguida, a quantidade z ( x ) = C ( X ) s ( X ) é positivo para as previsões correctas e
negativo para previsões incorretas: essa quantidade é chamada de margem atribuída
o classificador de pontuação para o exemplo.
Gostaríamos de recompensar grandes margens positivas e penalizar grandes
valores. Isto é conseguido através da chamada função de perda L : R → [0, ∞)
que mapeia a margem de cada exemplo z ( x ) para uma perda associada L ( z ( x )) .
Vamos supor que L (0) = 1 , que é a perda incorrida por ter um exemplo em
o limite de decisão. Além disso, temos L ( z ) ≥ 1 para z <0 , e geralmente também
0 ≤ L ( z ) <1 para z > 0 ( Figura 2.6).
A perda média em um conjunto de testes Te é
1
| Te |

x ∈ Te L ( z ( x )) .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
87/291

Página 88
2. Classificação binária e tarefas relacionadas
2.2 Pontuação e classificação
Figura 2.6, p.63
Funções de perda
-2
-1,5
-1
-0,5
0
0,5
1
1,5
2
2
4
6
8
10
L (z)
z
Do lado inferior esquerdo (i) 0-1, perda L 01 ( z ) = 1 se z ≤ 0, e L 01 ( z ) = 0 se z > 0;
(ii) perda de dobradiça G H ( z ) = (1- z ) se z ≤ 1, e L H ( z ) = 0 se z > 1;
(iii) perda log�tica L log ( z ) = log 2 (1 + exp (- z ));
(iv) perda exponencial L exp ( z ) = exp (- z );
(v) perda quadrada L sq ( z ) = (1− z ) 2 (isso pode ser definido como 0 para z > 1, assim como a perda de charneira).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
88/291

Page 89
2. Classificação binária e tarefas relacionadas
2.2 Pontuação e classificação

Avaliando e visualizando o desempenho do ranking


cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
89/291

Página 90
2. Classificação binária e tarefas relacionadas
2.2 Pontuação e classificação
Exemplo 2.2, p.64
Exemplo de classificação
A árvore de pontuação na Figura 2.5 produz a seguinte classificação:
[20 +, 5 -] [10 +, 5 -] [20 +, 40]] . Aqui, 20+ denota uma seqüência de 20
exemplos positivos, e instâncias entre colchetes [...] são amarradas.
Ao selecionar um ponto de divisão no ranking, podemos transformar o ranking em um
classificação. Neste caso, existem quatro possibilidades:
(A) definindo o ponto de divisão antes do primeiro segmento e, assim, atribuindo
segmentos para a classe negativa;
(B) atribuir o primeiro segmento à classe positiva, e os outros dois a
a classe negativa;
(C) atribuir os dois primeiros segmentos à classe positiva; e
(D) atribuindo todos os segmentos para a classe positiva.
Em termos de pontuações reais, isso corresponde a (A) escolher qualquer pontuação maior
de 2 como limite; (B) escolhendo um limiar entre 1 e 2 ; (C)
ajustando o limiar entre -1 e 1 ; e (D) defini-lo abaixo de -1 .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
90/291

Página 91
2. Classificação binária e tarefas relacionadas
2.2 Pontuação e classificação
Exemplo 2.3, p.65
Precisão de classificação
A taxa de erro de classificação é definida como
rank - err =

x ∈ Te ⊕ , x ∈ Te ⊖ I [ s ( x ) < s ( x )] + 1
2
I [ s ( x ) = s ( x )]
Pos · Neg
Os 5 negativos na folha direita são pontuados acima dos 10 positivos em
a folha do meio e os 20 positivos na folha esquerda, resultando em
50 + 100 = 150 erros de classificação.
Os 5 negativos na folha do meio são pontuados acima dos 20 positivos em
a folha da esquerda, dando mais 100 erros de classificação.
Além disso, a folha da esquerda faz 800 erros de classificação metade (porque 20 positivos
e 40 negativos obtêm a mesma pontuação), a folha do meio 50 e a folha direita
100
No total, temos 725 erros de ranking de um possível 50 · 50 = 2500 ,
correspondendo a uma taxa de erro de classificação de 29% ou uma precisão de classificação de 71% .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
91/291

Page 92
2. Classificação binária e tarefas relacionadas
2.2 Pontuação e classificação
Figura 2.7, p.66
Curva de cobertura
Negativos classificados em pontuação decrescente
Positivos classificados em pontuação decrescente
0
Pos
0
Neg
Negativos
Positivos
0
TP1
TP2
Pos
0
FP1
FP2
Neg
UMA
B
C
D

(esquerda) Cada célula na grade denota um par único de um positivo e um negativo


exemplo: as células verdes indicam pares que são classificados corretamente pelo classificador, o vermelho
as células representam erros de classificação e as células laranja são meio erros devido a empates. (certo)
A curva de cobertura de um classificador de pontuação baseado em árvore tem um segmento de linha para cada folha
da árvore e um ( FP , TP ) par para cada possível limiar na pontuação.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
92/291

Página 93
2. Classificação binária e tarefas relacionadas
2.2 Pontuação e classificação

Ponto importante para lembrar


A curva ROC é obtida a partir da curva de cobertura, normalizando os eixos para
intervalo [0,1] .
A área sob a curva ROC é a precisão do ranking.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
93/291

Página 94
2. Classificação binária e tarefas relacionadas
2.2 Pontuação e classificação
Exemplo 2.4, p.67
Desequilíbrio de classe
Suponha que alimentemos a árvore de pontuação na Figura 2.5 com um conjunto de testes estendido, com
um lote adicional de 50 negativos.
Os negativos adicionados são idênticos aos originais, então a rede
O efeito é que o número de negativos em cada folha dobra.
Como resultado, a curva de cobertura muda (porque a proporção da classe muda),
mas a curva ROC permanece a mesma ( Figura 2.8).
Observe que a precisão da classificação permanece a mesma: enquanto o classificador
faz o dobro de erros de ranking, há também o dobro
pares positivos-negativos, portanto a taxa de erro de classificação não muda.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
94/291

Página 95
2. Classificação binária e tarefas relacionadas
2.2 Pontuação e classificação
Figura 2.8, p.67
Desequilíbrio de classe
Negativos
Positivos
0
TP1
TP2
Pos
0
FP1
FP2
Neg
Taxa positiva falsa
Taxa positiva verdadeira
0
tpr1
tpr2
1
0
fpr1 fpr2
1

(esquerda) Uma curva de cobertura obtida de um conjunto de testes com taxa de classe clr = 1/2. (direita) O
correspondente (normalizada pelo eixo) a curva ROC é a mesma que a correspondente à
curva de cobertura na Figura 2.7 (direita) . A precisão do ranking é a área sob o ROC
Curva ( AUC ).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
95/291

Página 96
2. Classificação binária e tarefas relacionadas
2.2 Pontuação e classificação

Classificações de classificadores de classificação


Figura 2.9 ( esquerda) mostra um classificador linear (o limite de decisão é denotado B)
aplicada a um pequeno conjunto de dados de cinco exemplos positivos e cinco negativos,
uma precisão de 0,80 .
Podemos derivar uma pontuação deste classificador linear tomando a distância de um
exemplo do limite de decisão; se o exemplo está no lado negativo nós
tome a distância negativa. Isso significa que os exemplos são classificados no
a seguinte ordem: p1 - p2 - p3 - n1 - p4 - n2 - n3 - p5 - n4 - n5.
Esta classificação incorre em quatro erros de classificação: n1 antes de p4 e n1, n2 e n3 antes
p5. A Figura 2 .9 ( direita) exibe esses quatro erros de classificação no canto superior esquerdo.
A AUC deste ranking é 21/25 = 0,84 .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
96/291

Página 97
2. Classificação binária e tarefas relacionadas
2.2 Pontuação e classificação
Figura 2.9, p.68
Classificações de classificadores de classificação
+
-
+
+
+
-
-
+
-
W
-
p1
p2
p3
p4
p5
n1
n2
n3
n4
n5
C
B
UMA
Negativos
Positivos
p1
p2
p3
p4
p5
n1
n2
n3
n4
n5

(à esquerda) Um classificador linear induz uma classificação, tomando a distância assinada para a decisão
limite como a pontuação. Esta classificação depende apenas da orientação da decisão
limite: as três linhas resultam exatamente na mesma classificação. (direita) A grade de corretamente
classificados pares positivos-negativos (em verde ) e erros de classificação (em vermelho ).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
97/291

Página 98
2. Classificação binária e tarefas relacionadas
2.2 Pontuação e classificação

Rankers de afinação
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
98/291

Página 99
2. Classificação binária e tarefas relacionadas
2.2 Pontuação e classificação
Exemplo 2.5, p.70
Ajustando seu filtro de spam I
Você treinou cuidadosamente seu filtro de spam bayesiano e tudo o que resta é
definição do limiar de decisão. Você seleciona um conjunto de seis spams e quatro e-mails bloqueados
e coletar as pontuações atribuídas pelo filtro de spam. Ordenado em pontuação decrescente
são 0.89 (spam), 0.80 (spam), 0.74 (ham), 0.71 (spam), 0.63 (spam), 0.49
(ham), 0.42 (spam), 0.32 (spam), 0.24 (ham) e 0.13 (ham).
Se a proporção de 6 spam contra 4 de presunto for representativa, você pode selecionar o
ponto ótimo na curva ROC usando um isométrico com inclinação 4/6. Como pode ser
visto na Figura 2.11, isso leva a colocar o limite de decisão entre o
sexto spam e-mail e o terceiro e-mail ham, e podemos tirar a média dos seus
pontua como o limiar de decisão (0,28).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
99/291

Página 100
2. Classificação binária e tarefas relacionadas
2.2 Pontuação e classificação
Exemplo 2.5, p.70
Ajustando seu filtro de spam II
Uma maneira alternativa de encontrar o ponto ideal é fazer uma iteração sobre toda a divisão possível
pontos - de antes do topo classificado e-mail para depois o inferior - e calcular
o número de exemplos classificados corretamente em cada divisão: 4 - 5 - 6 - 5 - 6 - 7 - 6
- 7 - 8 - 7 - 6. O máximo é alcançado no mesmo ponto de divisão, produzindo um
precisão de 0,80.
Um truque útil para descobrir qual precisão um isométrico em um gráfico do ROC representa
é interceptar a isométrica com a diagonal descendente. Desde que a precisão é um
média ponderada das taxas negativas positivas e verdadeiras verdadeiras, e uma vez que
são os mesmos em um ponto na diagonal descendente, podemos ler o
valor de precisão correspondente no eixo y .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
100/291

Página 101
2. Classificação binária e tarefas relacionadas
2.2 Pontuação e classificação
Figura 2.11, p.71
Encontrando o ponto ideal
Taxa positiva falsa
Taxa positiva verdadeira
0,25
0,50
0,75
1,00
0,17
0,33
0,50
0,67
0,83
1,00

Selecionando o ponto ideal em uma curva ROC. A linha pontilhada superior é a precisão
isométrica, com uma inclinação de 2/3. A menor isométrica duplica o valor (ou prevalência) de
negativos e permite a escolha de limites. Ao cruzar as isométricas com o
diagonal descendente, podemos ler a precisão alcançada no eixo y .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
101/291

Página 102
2. Classificação binária e tarefas relacionadas
2.3 Estimativa de probabilidade de classe

Qual é o próximo?
2
Classificação binária e tarefas relacionadas
Classificação
Avaliando o desempenho da classificação
Visualizando o desempenho da classificação
Pontuação e classificação
Avaliando e visualizando o desempenho do ranking
Rankers de afinação
Estimativa de probabilidade de classe
Avaliando estimativas de probabilidade de classe
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
102/291

Página 103
2. Classificação binária e tarefas relacionadas
2.3 Estimativa de probabilidade de classe

Estimativa de probabilidade de classe


Um estimador de probabilidade de classe - ou estimador de probabilidade em curto - é uma pontuação
classificador que gera vetores de probabilidade sobre classes, isto é, um mapeamento
P : X → [0,1] k
. Nós escrevemos p ( x ) = ( p 1 ( x ), ..., p k ( x )) , onde p i ( x ) é o
probabilidade atribuída à classe C i por exemplo x , e ∑ k
eu = 1
Pi(x)=1.
Se tivermos apenas duas classes, a probabilidade associada a uma classe é 1 menos
a probabilidade da outra classe; nesse caso, usamos p ( x ) para denotar o
probabilidade estimada da classe positiva por exemplo x .
Tal como acontece com os classificadores de pontuação, geralmente não temos acesso direto ao verdadeiro
probabilidades p i ( x ) .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
103/291

Página 104
2. Classificação binária e tarefas relacionadas
2.3 Estimativa de probabilidade de classe
Figura 2.12, p.73
Árvore de estimativa de probabilidade
ʻViagraʼ
loteria
=0
p̂ (x) = 0,80
=1
p̂ (x) = 0,33
=0
p̂ (x) = 0,67
=1
Uma árvore de estimativa de probabilidade derivada da árvore de características na Figura 1.4 .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
104/291

Página 105
2. Classificação binária e tarefas relacionadas
2.3 Estimativa de probabilidade de classe

Avaliando estimativas de probabilidade de classe


cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
105/291

Página 106
2. Classificação binária e tarefas relacionadas
2.3 Estimativa de probabilidade de classe

Erro de probabilidade quadrada média


Podemos definir o erro ao quadrado ( SE ) do vetor de probabilidade previsto
P ( x ) = ( P 1 ( x ), ..., P k ( x )) como
SE ( x ) =
1
2
k

eu = 1
( P i ( x ) - I [ c ( x ) = C i ])
2
e o erro quadrático médio ( MSE ) como o erro quadrado médio sobre todos
instâncias no conjunto de testes:
MSE ( Te ) =
1
| Te |

x ∈ Te
SE ( x )
O fator 1/2 na Equação 2.6 garante que o erro quadrado por exemplo seja
normalizado entre 0 e 1: a pior situação possível é que uma classe errada é
previsto com probabilidade 1 , o que significa que dois 'bits' estão errados.
Para duas classes isto reduz a um único termo ( P ( x ) - I [ c ( x ) = ⊕ ]) 2
apenas referindo
para a classe positiva.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
106/291

Página 107
2. Classificação binária e tarefas relacionadas
2.3 Estimativa de probabilidade de classe
Exemplo 2.6, p.74
Erro ao quadrado
Suponha que um modelo preveja (0.70,0.10,0.20) para um exemplo particular x em um
tarefa de três classes, enquanto outra parece muito mais certa, prevendo
(0,99,0,0,01) .
Se a primeira classe é a classe real, a segunda previsão é claramente melhor
do que o primeiro: o SE da primeira previsão é
((0,70−1) 2 + (0,10-0) 2 + (0,20-0) 2 ) / 2 = 0,07 , enquanto para o segundo
predição é ((0.99−1) 2 + (0−0) 2 + (0.01−0) 2 ) / 2 = 0.0001 . O primeiro
modelo é punido mais porque, embora principalmente certo, não é bem certo
disso.
No entanto, se a terceira classe é a classe real, a situação é invertida: agora
o SE da primeira previsão é
((0,70-0) 2 + (0,10-0) 2 + (0,20-1) 2 ) / 2 = 0,57 , e do segundo
((0,99-0) 2 + (0−0) 2 + (0,01−1) 2 ) / 2 = 0,98 . O segundo modelo fica
punido mais por não apenas estar errado, mas ser presunçoso.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
107/291

Página 108
2. Classificação binária e tarefas relacionadas
2.3 Estimativa de probabilidade de classe

Quais probabilidades atingem o menor MSE ?


Retornando à árvore de estimativa de probabilidade na Figura 2.12, calculamos o
erro quadrado por folha da seguinte forma (da esquerda para a direita):
SE 1 = 20 (0,33 a 1)
2
+40 (0,33-0)
2
= 13,33
SE 2 = 10 (0,67 a 1)
2
+5 (0,67-0)
2
= 3,33
SE 3 = 20 (0,80 a 1)
2
+5 (0,80-0)
2
= 4,00
o que leva a um erro médio quadrático de MSE =
1
100
( SE 1 + SE 2 + SE 3 ) = 0,21 .
Alterando as probabilidades previstas na folha mais à esquerda para 0.40 para spam e
0,60 para presunto, ou 0,20 para spam e 0,80 para presunto, resulta em um maior quadrado
erro:
SE 1 = 20 (0,40 a 1)
2
+40 (0,40-0)
2
= 13,6
SE 1 = 20 (0,20-1)
2
+40 (0,20−0)
2
= 14,4
A previsão de probabilidades obtidas a partir das distribuições de classes em cada folha é
ideal no sentido de menor MSE .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
108/291

Página 109
2. Classificação binária e tarefas relacionadas
2.3 Estimativa de probabilidade de classe

Por que prever probabilidades empíricas é ótimo?


A razão para isso se torna óbvia se reescrevermos a expressão para duas classes
erro quadrado de uma folha da seguinte maneira, usando a notação n ⊕ e n ⊖ para os números
de exemplos positivos e negativos na folha:
n ⊕ ( p -1)
2
+ N ⊖p 2
=(n⊕
+N⊖)p2
-2 n ⊕ p + n ⊕
=(n⊕
+N⊖)[p2
-2 ˙ p p + ˙ p ]
=(n⊕
+ N ⊖ ) [( p - ˙ p )
2
+ ˙ p (1− ˙ p )]
onde ˙ p = n ⊕ / ( n ⊕ + n ⊖ ) é a freqüência relativa da classe positiva entre
os exemplos cobertos pela folha, também chamados de probabilidade empírica . Enquanto o
prazo ˙ p (1- ˙ p ) não depende da probabilidade prevista p , vemos
imediatamente que alcançamos menor erro quadrado na folha se atribuir p = ˙ p .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
109/291

Página 110
2. Classificação binária e tarefas relacionadas
2.3 Estimativa de probabilidade de classe

Suavizando as probabilidades empíricas


É quase sempre uma boa ideia suavizar essas frequências relativas. A maioria
Uma maneira comum de fazer isso é por meio da correção de Laplace :
˙pi(S)=
n i +1
|S|+k
Na verdade, estamos adicionando pseudo-contagens uniformemente distribuídas a cada um dos k
alternativas, refletindo nossa crença anterior de que as probabilidades empíricas
uniforme.
Também podemos aplicar suavização não uniforme ajustando
˙pi(S)=
ni+m·πi
|S|+m
Essa técnica de suavização, conhecida como m -estimate , permite a escolha do
número de pseudo-contagens m bem como as probabilidades anteriores π i . The Laplace
correção é um caso especial do m- estimado com m = k e π i = 1 / k .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
110/291

Página 111
3. Além da classificação binária

Qual é o próximo?
3
Além da classificação binária
Manipulando mais de duas classes
Classificação de várias classes
Pontuações e probabilidades multiclasses
Regressão
Aprendizagem não supervisionada e descritiva
Clustering preditivo e descritivo
Outros modelos descritivos
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
111/291

Página 112
3. Além da classificação binária
3.1 Manipulando mais de duas classes

Qual é o próximo?
3
Além da classificação binária
Manipulando mais de duas classes
Classificação de várias classes
Pontuações e probabilidades multiclasses
Regressão
Aprendizagem não supervisionada e descritiva
Clustering preditivo e descritivo
Outros modelos descritivos
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
112/291

Página 113
3. Além da classificação binária
3.1 Manipulando mais de duas classes

Classificação de várias classes


cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
113/291

Página 114
3. Além da classificação binária
3.1 Manipulando mais de duas classes
Exemplo 3.1, p.82
Desempenho de classificadores multi-classe I
Considere a seguinte matriz de confusão de três classes (mais marginais):
Previsto
15
2
3
20
Real
7
15
8
30
2
3
45
50
24
20
56
100
A precisão deste classificador é (15 + 15 + 45) / 100 = 0,75 .
Podemos calcular a precisão e a recordação por classe: para a primeira classe, isso é
15/24 = 0,63 e 15/20 = 0,75 , respectivamente, para a segunda classe
15/20 = 0,75 e 15/30 = 0,50 , e para a terceira classe 45/56 = 0,80 e
45/50 = 0,90 .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
114/291

Página 115
3. Além da classificação binária
3.1 Manipulando mais de duas classes
Exemplo 3.1, p.82
Desempenho de classificadores multi-classe II
Podemos calcular esses números para obter precisão e recordação
números para o classificador inteiro, ou poderíamos ter uma média ponderada
levando em conta a proporção de cada classe. Por exemplo, o peso
a precisão média é de 0,20 · 0,63 + 0,30 · 0,75 + 0,50 · 0,80 = 0,75 .
Outra possibilidade é realizar uma análise mais detalhada, olhando para
números de precisão e recall para cada par de classes: por exemplo, quando
distinguindo a primeira classe da terceira precisão é 15/17 = 0,88 e
recordação é 15/18 = 0,83 , enquanto distingue a terceira classe da primeira
esses números são 45/48 = 0,94 e 45/47 = 0,96 (você pode explicar por que
esses números são muito mais altos na última direção?).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
115/291

Página 116
3. Além da classificação binária
3.1 Manipulando mais de duas classes

Construção de classificadores de várias classes


Suponha que nós queremos construir o classificador k- classe, mas tenhamos habilidade de treinar somente
os de duas classes. Temos dois esquemas alternativos para fazer isso:
One-versus-rest - treinamos k classificadores binários separadamente para cada classe C i
de C 1 , ..., C k , onde C i é tratado como ⊕ e todas as classes restantes como ⊖
Um contra um - nós treinamos pelo menos
k ( k −1)
2
classificadores para cada par de
classe C i e C j tratando-os como ⊕ e ⊖ , respectivamente. Diferente
esquemas one-versus-one podem ser descritos por meio de código de saída
matriz:

+1 +1
0
−1
0 +1
0 −1 −1

onde cada coluna descreve uma tarefa de classificação binária, usando a classe
a linha com +1 como ⊕ e a classe na linha com −1 como ⊖ .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
116/291

Página 117
3. Além da classificação binária
3.1 Manipulando mais de duas classes
Exemplo 3.2, p.
Um contra um voto I
Uma matriz de código one-versus-one para k = 4 classes é a seguinte:

+1 +1
0
0
0
−1
0
0 +1 +1
0
0 −1
0 −1
0 +1
0
0 −1
0 −1 −1

Suponha que nossos seis classificadores emparelhados previram w = +1 −1 +1 −1 +1 +1 . Podemos


interpretar isso como votos para C 1 - C 3 - C 1 - C 3 - C 2 - C 3 ; ou seja, três votos para C 3 ,
dois votos a favor de C 1 e um voto a favor de C 2 . Mais geralmente, o voto do i -th classifier para
a classe j pode ser expressa como (1+ w i c ji ) / 2 , onde c ji é a entrada no
j -ésima linha e i -ésima coluna da matriz de códigos.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
117/291

Página 118
3. Além da classificação binária
3.1 Manipulando mais de duas classes
Exemplo 3.2, p.
Um contra um voto II
No entanto, isso supera as 0 entradas na matriz de código; desde todas as classes
participa em tarefas binárias k- 1 em pares, e existem l = k ( k −1) / 2 tarefas, o
número de zeros em cada linha é
k ( k −1) / 2− ( k −1) = ( k −1) ( k −2) / 2 = l ( k −2) / k (3 no nosso caso). Para cada zero
precisamos subtrair meia votação, então o número de votos para C j é
vj=
(l

eu = 1
1+ w i c ji
2
)
-l
k −2
2k
=
(l

eu = 1
w i c ji −1
2
)
+l-l
k −2
2k
=-dj+l
2 k - k +2
2k
=
( k −1) ( k + 2)
4
-dj
onde d j = ∑ i (1- w i c ji ) / 2 é uma medida de distância bit a bit.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
118/291

Page 119
3. Além da classificação binária
3.1 Manipulando mais de duas classes
Exemplo 3.2, p.
Um contra um voto III
Em outras palavras, a distância e o número de votos para cada classe somam
constante dependendo apenas do número de classes; com três classes, isso é 4.5 .
Isso pode ser verificado, observando que
a distância entre w e a primeira palavra de código é 2,5 (dois votos para C 1 );
com a segunda palavra de código, 3.5 (um voto para C 2 );
com a terceira palavra de código, 1,5 (três votos para C 3 );
e 4.5 com a quarta palavra de código (sem votos).
Assim, a votação e a decodificação baseada na distância são equivalentes neste caso.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
119/291

Página 120
3. Além da classificação binária
3.1 Manipulando mais de duas classes
Exemplo 3.3, p.86
Decodificação baseada em perda
Continuando o exemplo anterior, suponha que as pontuações dos seis pares
classificadores são (+ 5, −0,5, + 4, −0,5, + 4, + 0,5) . Isso leva às seguintes margens,
em forma de matriz:

+5 −0,5 +4
0
0
0
−5
0
0 −0,5 +4
0
0 +0,5
0 +0,5
0 +0,5
0
0 −4
0 −4 −0,5

Usando perda de 0-1, ignoramos a magnitude das margens e, portanto, predizemos C 3 como em
o esquema baseado em votação do Exemplo 3.2. Usando a perda exponencial
L ( z ) = exp (- z ) , obtemos as distâncias (4,67,153,08,4,82,113.85) .
A decodificação baseada em perda favoreceria (apenas) a C 1 , em virtude de suas fortes vitórias
contra a C 2 e C 4 ; Em contraste, todas as três vitórias do C 3 são de pequena margem.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
120/291

Page 121
3. Além da classificação binária
3.1 Manipulando mais de duas classes

Pontuações e probabilidades multiclasses


cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
121/291

Página 122
3. Além da classificação binária
3.1 Manipulando mais de duas classes
Exemplo 3.4, p.87
Cobertura conta como pontuações
Suponha que tenhamos três classes e três classificadores binários que predizem
positivo ou negativo (não há opção de rejeição).
O primeiro classificador classifica 8 exemplos da primeira classe como positivos, não há exemplos
da segunda classe e 2 exemplos da terceira classe. Para o segundo classificador
estas contagens são 2, 17 e 1 e, para a terceira, são 4, 2 e 8.
Suponha que uma instância de teste seja predita como positiva pelo primeiro e terceiro classificadores.
Podemos adicionar as contagens de cobertura desses dois classificadores para obter um vetor de pontuação
de (12,2,10) . Da mesma forma, se todos os três classificadores 'dispararem' para uma instância de teste específica
(isto é, prever positivo), o vetor de pontuação é (14,19,11) .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
122/291

Página 123
3. Além da classificação binária
3.1 Manipulando mais de duas classes
Exemplo 3.4, p.87
Cobertura conta como escores II
Podemos descrever este esquema convenientemente usando notação matricial:
(1 0 1
111
)

802
2 17 1
428

=
(12 2 10
14 19 11
)
A matriz do meio contém as contagens de classe (uma linha para cada classificador). o
left 2 -by- 3 matrix contém, para cada exemplo, uma linha indicando quais classificadores
fogo para esse exemplo. O lado direito, em seguida, dá as contagens combinadas para
cada exemplo.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
123/291

Página 124
3. Além da classificação binária
3.1 Manipulando mais de duas classes
Exemplo 3.5, p.
AUC multi-classe I
Suponha que temos um classificador de pontuação de várias classes que produz um vetor k de
Pontuação s ( x ) = ( s 1 ( x ), ..., s k ( x )) para cada exemplo de teste x .
Ao restringir a atenção para s i ( x ) obtemos um classificador de pontuação para a classe C i
contra as outras classes, e podemos calcular a AUC de um versus o resto
para C i da maneira normal.
Por exemplo, suponha que tenhamos três classes, e o
One-versus-Rest AUC saem como 1 para a primeira classe, 0,8 para a segunda
classe e 0,6 para a terceira classe. Assim, por exemplo, todas as instâncias da classe 1
receber uma maior primeira entrada em seus vetores de pontuação do que qualquer um dos casos de
as outras duas classes.
A média dessas três AUCs é de 0,8, o que reflete o fato de que, se
escolher uniformemente um índice i , e nós selecionamos uma instância x uniformemente entre
classe C i e outra instância x uniformemente entre todas as instâncias não de C i ,
em seguida, a expectativa de que s i ( x )> s i ( x ) é de 0,8.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
124/291

Page 125
3. Além da classificação binária
3.1 Manipulando mais de duas classes
Exemplo 3.5, p.
AUC multi-classe II
Suponha que agora C 1 tenha 10 instâncias, C 2 tenha 20 e C 3 70.
A média ponderada da AUCs de um versus o resto é então de 0,68: isto é, se
nós escolhemos uniformemente x sem referência à classe, e então escolhemos x
uniformemente entre todas as instâncias não da mesma classe que x , o
expectativa de que s i ( x )> s i ( x ) é de 0,68.
Isso é menor do que antes, porque agora é mais provável que um x aleatório
vem da classe C 3 , cuja pontuação faz um pior trabalho de classificação.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
125/291

Page 126
3. Além da classificação binária
3.1 Manipulando mais de duas classes

One-versus-one AUC
Podemos obter médias semelhantes de AUCs de um contra um .
Por exemplo, pode-se definir a AUC i j como o AUC obtido usando pontuações s i a
classificar instâncias das classes C i e C j . Note-se que s j pode classificar estes
instâncias de forma diferente, e assim AUC ji = AUC i j .
Tomando uma média não ponderada sobre todos i = j estima a probabilidade de que,
para as classes uniformemente escolhidos de i e j = i , e uniformemente escolhido x ∈ C i e
x ∈ C j , temos s i ( x )> s i ( x ) .
A versão ponderada desta estimativa a probabilidade de que as instâncias são
corretamente classificado se não pré-selecionarmos a classe.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
126/291

Page 127
3. Além da classificação binária
3.1 Manipulando mais de duas classes
Exemplo 3.7, p.90
Probabilidades multiclasse I
No Exemplo 3 .4 podemos dividir as contagens de classe pelo número total de
previsões. Isso resulta nas seguintes distribuições de classe: (0.80,0, 0,20) para o
primeiro classificador, (0.10,0.85,0.05) para o segundo classificador, e (0.29,0.14,0.57) para
o terceiro. A distribuição de probabilidade associada à combinação do primeiro
e terceiro classificadores é
10
24
(0,80,0, 0,20) +
14
24
(0,29,0.14,0.57) = (0,50,0,08,0,42)
que é a mesma distribuição obtida pela normalização das contagens combinadas
(12,2,10) . Da mesma forma, a distribuição associada aos três classificadores é
10
44
(0,80,0, 0,20) +
20
44
(0.10,0.85,0.05) +
14
44
(0,29,0.14,0.57) = (0.32,0.43,0.25)
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
127/291

Page 128
3. Além da classificação binária
3.1 Manipulando mais de duas classes
Exemplo 3.7, p.90
Probabilidades multiclasse II
A notação de matriz descreve isso de maneira muito sucinta
(10/24
0
14/24
10/44 20/44 14/44
)

0,80 0,00 0,20


0,10 0,85 0,05
0,29 0,14 0,57

=
(0,50 0,08 0,42
0,32 0,43 0,25
)
A matriz do meio é uma versão normalizada por linha da matriz do meio na Equação
3.1 . A normalização de linhas funciona dividindo cada entrada pela soma das entradas em
a linha em que ocorre. Como resultado, as entradas em cada linha somam a uma, que
significa que cada linha pode ser interpretada como uma distribuição de probabilidade. A esquerda
matriz combina duas informações: (i) quais classificadores são disparados para cada
exemplo (por exemplo, o segundo classificador não dispara para o primeiro exemplo); e
(ii) a cobertura de cada classificador. O lado direito, em seguida, dá a classe
distribuição para cada exemplo. Observe que o produto de matrizes normalizadas por linha
novamente dá uma matriz normalizada por linha.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
128/291

Page 129
3. Além da classificação binária
3.2 Regressão

Qual é o próximo?
3
Além da classificação binária
Manipulando mais de duas classes
Classificação de várias classes
Pontuações e probabilidades multiclasses
Regressão
Aprendizagem não supervisionada e descritiva
Clustering preditivo e descritivo
Outros modelos descritivos
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
129/291

Page 130
3. Além da classificação binária
3.2 Regressão

Alvos de valor real


Um estimador de função , também chamado um regressor , é um mapeamento f : X → R . o
problema de aprendizagem de regressão é aprender um estimador de função a partir de exemplos
( X i , f ( x i )) .
Observe que mudamos de uma variável de destino de resolução relativamente baixa para uma com
resolução infinita. Tentando combinar esta precisão no estimador de função
quase certamente levar ao overfitting - além disso, é altamente provável que alguma parte
os valores de destino nos exemplos são devido a flutuações que o modelo não é capaz
capturar.
Portanto, é totalmente razoável assumir que os exemplos são barulhentos e
que o estimador destina-se apenas a capturar a tendência geral ou forma do
função.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
130/291

Page 131
3. Além da classificação binária
3.2 Regressão
Exemplo 3.8, p.92
Exemplo de ajuste de linha
Considere o seguinte conjunto de cinco pontos:
x
y
1,0 1,2
2,5 2,0
4,1 3,7
6,1 4,6
7,9 7,0
Queremos estimar y por meio de um polinômio em x . Figura 3 .2 ( esquerda) mostra o
resultado para graus de 1 a 5 usando
regressão linear , que será explicada em
Capítulo 7. Os dois graus superiores se encaixam exatamente nos pontos dados (em geral, qualquer conjunto de
n pontos podem ser ajustados por um polinômio de grau não mais que n −1 ), mas eles
diferem consideravelmente nos extremos: por exemplo, o polinômio de grau 4 leva a
uma tendência decrescente de x = 0 para x = 1 , o que não é realmente justificado pelos dados.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
131/291

Página 132
3. Além da classificação binária
3.2 Regressão
Figura 3.2, p.92
Polinômios de ajuste para dados
0
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10

(à esquerda) Polinômios de diferentes graus ajustados a um conjunto de cinco pontos. De baixo para cima em
o canto superior direito: grau 1 (linha reta), grau 2 (parábola), grau 3, grau
4 (que é o menor grau capaz de encaixar os pontos exatamente), grau 5. (direita) A por partes
função constante aprendida por um modelo de agrupamento; a linha de referência pontilhada é o linear
função da figura da esquerda.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
132/291

Página 133
3. Além da classificação binária
3.2 Regressão

Overfitting novamente
Um polinômio de n graus tem n parâmetros +1 : por exemplo, uma linha reta y = a · x + b
tem dois parâmetros, e o polinômio de grau 4 que se encaixa nos cinco pontos
exatamente tem cinco parâmetros.
Um modelo constante por partes com n segmentos tem 2 n −1 parâmetros: ny -values
e n −1 x- valores onde ocorrem os "saltos".
Então os modelos que são capazes de encaixar os pontos exatamente são os modelos com mais
parâmetros.
Uma regra prática é que, para evitar overfitting, o número de parâmetros estimados
dos dados deve ser consideravelmente menor que o número de pontos de dados.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
133/291

Page 134
3. Além da classificação binária
3.3 Aprendizagem não supervisionada e descritiva

Qual é o próximo?
3
Além da classificação binária
Manipulando mais de duas classes
Classificação de várias classes
Pontuações e probabilidades multiclasses
Regressão
Aprendizagem não supervisionada e descritiva
Clustering preditivo e descritivo
Outros modelos descritivos
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
134/291

Página 135
3. Além da classificação binária
3.3 Aprendizagem não supervisionada e descritiva
Tabela 3.1, p. 95
Aprendizagem não supervisionada e descritiva
Modelo preditivo
Modelo descritivo
Aprendizado supervisionado
classificação, descoberta de subgrupo de regressão
Aprendizagem não supervisionada
clustering preditivo
agrupamento descritivo ,
regra de associação
ery
As configurações de aprendizado indicadas em negrito são apresentadas no restante deste capítulo.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
135/291

Página 136
3. Além da classificação binária
3.3 Aprendizagem não supervisionada e descritiva
Figura 3.4, p.
Aprendizagem descritiva
Tarefa
Descritivo
modelo
Características
Domínio
objetos
Descoberta
algoritmo
Dados
Problema de aprendizagem
Na aprendizagem descritiva, a tarefa e o problema de aprendizagem coincidem: não temos
conjunto de treinamento separado, e a tarefa é produzir um modelo descritivo dos dados.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
136/291

Página 137
3. Além da classificação binária
3.3 Aprendizagem não supervisionada e descritiva

Clustering preditivo e descritivo


cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
137/291

Page 138
3. Além da classificação binária
3.3 Aprendizagem não supervisionada e descritiva

Clustering preditivo e descritivo


Uma maneira de entender o clustering é aprender uma nova função de
dados não marcados. Então, poderíamos definir um 'clusterer' da mesma forma que um classificador,
ou seja, como um mapeamento q : X → C , onde C = { C 1 , C 2 , ..., C k } é um conjunto de novo
rótulos. Isso corresponde a uma visão preditiva de clustering, como o domínio do
mapeamento é todo o espaço da instância, e, portanto, generaliza para invisível
instâncias.
Um modelo de agrupamento descritivo aprendido a partir dos dados fornecidos D ⊆ X seria um
mapeamento Q : D → C cujo domínio é D em vez de X . Em ambos os casos, os rótulos
não têm significado intrínseco, além de expressar se duas instâncias pertencem a
o mesmo cluster. Então, uma maneira alternativa de definir um cluster é como uma equivalência
relação q ⊆ X x X ou Q ⊆ D × D ou, de forma equivalente, como uma partição de X ou D .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
138/291

Page 139
3. Além da classificação binária
3.3 Aprendizagem não supervisionada e descritiva

Clustering baseado em distância I


A maioria dos métodos de cluster baseados em distância depende da possibilidade de definir
'centro de massa' ou exemplar de um conjunto arbitrário de instâncias, de forma que o
exemplar minimiza alguma quantidade relacionada à distância em todas as instâncias do conjunto,
chamou sua dispersão . Um bom agrupamento é aquele em que a dispersão é somada
cada cluster - a dispersão dentro do cluster - é muito menor do que a dispersão do
conjunto de dados inteiro.
Esta análise sugere uma definição do problema de clustering como encontrar uma partição
D=D1
... D K que minimiza a dispersão dentro do cluster. No entanto, existem
alguns problemas com esta definição:
o problema como afirmado tem uma solução trivial: set K = | D | de modo que cada
'cluster' contém uma única instância de D e, portanto, tem dispersão zero;
se fixarmos o número de clusters K antecipadamente, o problema não pode ser resolvido
eficientemente para grandes conjuntos de dados (é NP-difícil).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
139/291

Página 140
3. Além da classificação binária
3.3 Aprendizagem não supervisionada e descritiva

Clustering baseado em distância II


O primeiro problema é o equivalente em cluster de sobrecarregar os dados de treinamento. isto
poderia ser tratado por penalizar K grande . A maioria das abordagens, no entanto, assume
que um palpite de K pode ser feito. Isso deixa o segundo problema,
que é que encontrar uma solução globalmente ótima é intratável para problemas maiores.
Esta é uma situação bem conhecida na ciência da computação e pode ser tratada em dois
maneiras:
aplicando uma abordagem heurística, que encontra uma solução "boa o suficiente"
em vez do melhor possível;
relaxando o problema em um problema de cluster "soft", permitindo
instâncias um grau de associação em mais de um cluster.
Observe que um cluster flexível generaliza a noção de partição, da mesma forma
que um estimador de probabilidade generaliza um classificador.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
140/291

Page 141
3. Além da classificação binária
3.3 Aprendizagem não supervisionada e descritiva
Figura 3.5, p.98
Clustering preditivo
0
0,5
1
1,5
2
2,5
3
0
0,5
1
1,5
2
2,5
3
0
0,5
1
1,5
2
2,5
3
0
0,5
1
1,5
2
2,5
3

(à esquerda) Um exemplo de um clustering preditivo. Os pontos coloridos foram amostrados de três


Gaussianos bivariados centrados em ( 1 , 1 ) , ( 1 , 2 ) e ( 2 , 1 ) . As cruzes e linhas sólidas são
os exemplos de cluster e limites de cluster encontrados por 3-médias. (direita) Um suave
agrupamento dos mesmos dados encontrados pela decomposição da matriz.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
141/291

Página 142
3. Além da classificação binária
3.3 Aprendizagem não supervisionada e descritiva
Exemplo 3.9, p.
Representando agrupamentos
Os exemplos preditivos de cluster na Figura 3.5 ( esquerda) podem ser dados como c -by- 2
matriz:

0,92 0,93
0,98 2,02
2,03 1,04

As seguintes matrizes n- by- c representam agrupamentos descritivos de dados dados


pontos:

1
0
0
0
1
0
1
0
0
0
0
1
··· ··· ···
0,40 0,30 0,30
0,40 0,51 0,09
0,44 0,29 0,27
0,35 0,08 0,57
···
···
···

cs.bris.ac.uk/ flach / mlbook /


Aprendizado de Máquina: Fazendo sentido de dados
142/291

Página 143
3. Além da classificação binária
3.3 Aprendizagem não supervisionada e descritiva
Exemplo 3.10, p.99
Avaliando agrupamentos
Suponha que temos cinco instâncias de teste que achamos que devem ser agrupadas como
{ e 1, e 2}, { e 3, e 4, e 5} . Portanto, dos 5 · 4 = 20 pares possíveis, 4 são considerados
pares 'must-link' e os outros 16 como pares 'must-not-link'. O agrupamento para ser
avaliaram clusters como { e 1, e 2, e 3}, { e 4, e 5} - então dois dos pares must-link
estão de fato agrupados ( e 1 - e 2 , e 4 - e 5 ), os outros dois não são ( e 3 - e 4 ,
e 3 - e 5 ), e assim por diante.
Podemos tabular isso da seguinte maneira:
Estão juntos não estão juntos
Deve estar junto
2
2
4
Não deve estar juntos
2
14
16
4
16
20
Agora podemos tratar isso como uma tabela de contingência de dois por dois e avaliá-lo
adequadamente. Por exemplo, podemos pegar a proporção de pares no 'bom'
diagonal, que é 16/20 = 0,8 . Na classificação, chamaríamos essa precisão, mas
no contexto de agrupamento, isso é conhecido como o índice Rand .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
143/291

Page 144
3. Além da classificação binária
3.3 Aprendizagem não supervisionada e descritiva

Outros modelos descritivos


cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
144/291
Página 145
3. Além da classificação binária
3.3 Aprendizagem não supervisionada e descritiva
Exemplo 3.11, p. 100
Descoberta de subgrupo
Imagine que você queira comercializar a nova versão de um produto de sucesso. Você tem um
banco de dados de pessoas que receberam informações sobre a versão anterior,
contendo todos os tipos de informações demográficas, econômicas e sociais sobre
essas pessoas, bem como se compraram ou não o produto.
Se você fosse criar um classificador ou um rankeador para encontrar os clientes mais prováveis
seu produto, é improvável que supere o classificador de classe majoritária
(normalmente, poucas pessoas terão comprado o produto).
No entanto, o que você está realmente interessado é encontrar um tamanho razoável
subconjuntos de pessoas com uma proporção de clientes significativamente mais alta
do que na população total. Você pode então direcionar essas pessoas em sua
campanha de marketing, ignorando o resto do seu banco de dados.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
145/291

Página 146
3. Além da classificação binária
3.3 Aprendizagem não supervisionada e descritiva
Exemplo 3.12, p.101
Descoberta de regra de associação
Associações são coisas que geralmente ocorrem juntas. Por exemplo, no mercado
análise de cesta estamos interessados em itens freqüentemente comprados juntos. A
exemplo de uma regra de associação é · se a cerveja, em seguida, crisps · , afirmando que os clientes
quem compra cerveja também costuma comprar batatas fritas.
Numa estação de serviço da auto-estrada, a maioria dos clientes compra gasolina. Isso significa que
haverá muitos conjuntos de itens frequentes envolvendo gasolina, como
{ jornal , gasolina } .
Isso pode sugerir a construção de uma regra de associação
· Se jornal, em seguida, gasolina · - no entanto, isso é previsível, dado que { gasolina }
já é um conjunto de itens freqüentes (e claramente pelo menos tão freqüente quanto
{ jornal , gasolina } ).
De mais interesse seria a regra inversa · se gasolina, em seguida, jornal ·
que expressa que uma proporção considerável das pessoas que compram gasolina
Compre também um jornal.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
146/291

Página 147
4. modelos de árvore

Qual é o próximo?
4
Modelos de árvore
Árvores de decisão
Ranking e árvores de estimativa de probabilidade
Sensibilidade a distribuições de classes distorcidas
Aprendizagem de árvores como redução de variância
Árvores de regressão
Clustering trees
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
147/291

Página 148
4. modelos de árvore

Modelo de árvore
Um modelo de árvore é uma estrutura hierárquica de condições, onde as folhas contêm
resultado da árvore.
Eles representam estratégias de divisão e conquista negativas.
Os modelos de árvores estão entre os modelos mais populares em aprendizado de máquina,
porque eles são fáceis de entender e interpretar:
Por exemplo, o Kinect usa-os para detectar a pose do personagem.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
148/291
Página 149
4. modelos de árvore

Exemplo de árvore de decisão


Suponha que você se deparar com um número de animais marinhos que você suspeita pertencer a
a mesma espécie. Você observa o seu comprimento em metros, se eles têm guelras,
se eles têm um bico proeminente e se têm poucos ou muitos dentes.
Deixe o seguinte ser golfinhos (classe positiva):
p1: Comprimento = 3 ∧ Brânquias = não ∧ Bico = sim ∧ Dentes = muitos
p2: Comprimento = 4 ∧ Brânquias = não ∧ Bico = sim ∧ Dentes = muitos
p3: Comprimento = 3 ∧ Brânquias = não ∧ Bico = sim ∧ Dentes = poucos
p4: Comprimento = 5 ∧ Brânquias = não ∧ Bico = sim ∧ Dentes = muitos
p5: Comprimento = 5 ∧ Brânquias = não ∧ Bico = sim ∧ Dentes = poucos
e os seguintes não são golfinhos (classe negativa):
n1: Comprimento = 5 ∧ Brânquias = sim ∧ Bico = sim ∧ Dentes = muitos
n2: Comprimento = 4 ∧ Guelras = sim ∧ Bico = sim ∧ Dentes = muitos
n3: Comprimento = 5 ∧ Guelras = sim ∧ Bico = não ∧ Dentes = muitos
n4: Comprimento = 4 ∧ Guelras = sim ∧ Bico = não ∧ Dentes = muitos
n5: Comprimento = 4 ∧ Brânquias = não ∧ Bico = sim ∧ Dentes = poucos
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
149/291

Page 150
4. modelos de árvore
Figura 5.1 , p. 130
Exemplo de árvore de decisão
Uma árvore de decisão aprendida com esses dados separa os positivos e negativos
perfeitamente.
ĉ (x) = ⊕
Brânquias
comprimento
= não
ĉ (x) = ⊖
= sim
Dentes
ĉ (x) = ⊖
= poucos
ĉ (x) = ⊕
= muitos
=3
=4
ĉ (x) = ⊕
=5
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
150/291

Page 151
4. modelos de árvore

Árvore de recursos
Os modelos de árvores não se limitam à classificação e podem ser empregados para resolver
todas as tarefas de aprendizado de máquina, incluindo classificação, estimativa de probabilidade, regressão
e clustering. Uma estrutura comum a todos esses modelos é a árvore de recursos .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
151/291

Página 152
4. modelos de árvore
Definição 5.1 , p.
Árvore de recursos
Uma árvore de características é uma árvore tal que cada nó interno (os nós que não são
folhas) é rotulado com uma característica, e cada borda que emana de um interno
nó é rotulado com um literal.
O conjunto de literais em um nó é chamado de divisão .
Cada folha da árvore representa uma expressão lógica, que é a conjunção de
literais encontrados no caminho da raiz da árvore até a folha. o
A extensão dessa conjunção (o conjunto de instâncias cobertas por ela) é chamada de
exemplo espaço segmento associado com a folha.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
152/291
Page 153
4. modelos de árvore
Algoritmo 5.1, p. 132
Crescendo uma árvore de recursos
Algoritmo GrowTree ( D , F ) - desenvolve uma árvore de características a partir dos dados de treinamento.
Entrada: dados D ; conjunto de características F .
Saída: árvore de características T com folhas rotuladas.
1 se Homogêneo ( D ) devolve o Rótulo ( D ) ;
2 S ← BestSplit ( D , F ) ;
// eg, Classe BestSplit ( Algoritmo 5.2)
3 dividir D em subconjuntos D i de acordo com os literais em S ;
4 para cada eu faço
5
se D i = então T i ← GrowTree ( D i , F ) ;
6
outra T i é uma folha rotulada com Label ( D );
Fim 7
8 retornar uma árvore cuja raiz é rotulada com S e cujos filhos são T i
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
153/291

Página 154
4. modelos de árvore

Crescendo uma árvore de recursos


Algoritmo 5 .1 fornece o procedimento de aprendizado genérico comum à maioria das árvores
alunos. Ele assume que as três funções a seguir estão definidas:
Homogêneo ( D ) retorna verdadeiro se as instâncias em D forem homogêneas
ser rotulado com um único rótulo e falso de outra forma;
Label ( D ) retorna o rótulo mais apropriado para um conjunto de instâncias D ;
BestSplit ( D , F ) retorna o melhor conjunto de literais a serem colocados na raiz da árvore.
Essas funções dependem da tarefa em questão: por exemplo, para tarefas de classificação
um conjunto de instâncias é homogêneo se eles são (principalmente) de uma única classe, eo
rótulo mais apropriado seria a classe majoritária. Para tarefas de armazenamento em cluster, um conjunto de
instâncias é homogênea se eles estão juntos, eo mais adequado
rótulo seria algum exemplo, como a média.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
154/291

Page 155
4. modelos de árvore
4.1 Árvores de decisão

Qual é o próximo?
4
Modelos de árvore
Árvores de decisão
Ranking e árvores de estimativa de probabilidade
Sensibilidade a distribuições de classes distorcidas
Aprendizagem de árvores como redução de variância
Árvores de regressão
Clustering trees
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
155/291

Página 156
4. modelos de árvore
4.1 Árvores de decisão

Árvore de decisão
Como definir BestSplit ( D , F ) para classificação?
Suponha que tenhamos recursos binários e apenas duas classes. Seja D ⊕ denotar um conjunto de
instâncias de classe positivo e D ⊖ de classe negativa, D = D ⊕ ∪ D ⊖ .
Deixe dividir D em D 1 e D 2 usando um atributo. A melhor situação é onde
D⊕
1= D⊕eD⊖
1 = ou D ⊕
1= eD⊖
1 = D ⊖ . Nesses casos, o nó filho é
disse ser puro .
Isso, no entanto, é improvável na prática, portanto, temos que medir a impureza de
nós filhos de alguma forma.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
156/291

Página 157
4. modelos de árvore
4.1 Árvores de decisão

Requisitos para medida de impureza


A impureza deve depender da magnitude relativa de n ⊕ e n ⊖ , portanto, pode ser
definido em termos de probabilidade de classe positiva: ˙ p = n ⊕ / ( n ⊕ + n ⊖ ) .
A impureza não deve mudar se trocarmos as classes positiva e negativa, ou seja, se
substitua ˙ p por 1− ˙ p .
A impureza deve ser 0 se ˙ p = 0 ou ˙ p = 1 e atingir o máximo em ˙ p = 0,5 .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
157/291

Page 158
4. modelos de árvore
4.1 Árvores de decisão

Medidas de impurezas
Minority class min (˙ p , 1− ˙ p ) - proporção de exemplos classificados erroneamente
folha de rotulagem usando classe majoritária
Índice de Gini 2 ˙ p (1− ˙ p ) - erro esperado se rotular exemplos em folha aleatoriamente
com prorabilidade ˙ p para a classe positiva e 1− ˙ p para a classe negativa
Entropia - log p log 2 ˙ p - (1 ˙ p log p ) log 2 (1 ˙ p ) - quantidade esperada de informações em
bits necessários para classificar um exemplo em folha
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
158/291

Page 159
4. modelos de árvore
4.1 Árvores de decisão
Figura 5.2 , p.134
Medição de impureza I
Indicando a impureza de uma única folha D j como Imp ( D j ) , a impureza de um conjunto de
folhas mutuamente exclusivas { D 1 , ..., D l } é definida como uma média ponderada
Imp ({ D 1 , ..., D l }) =
eu

j=1
|Dj|
|D|
Imp ( D j )
onde D = D 1 ∪ ... ∪ D l .
Para uma divisão binária, há uma boa construção geométrica para encontrar Imp ({ D 1 , D 2 }) :
Primeiro, encontramos os valores de impureza Imp ( D 1 ) e Imp ( D 2 ) dos dois filhos
na curva de impureza (aqui o índice de Gini).
Em seguida, conectamos esses dois valores por uma linha reta, como qualquer ponderada
média dos dois deve estar nessa linha.
Como a probabilidade empírica do pai também é uma média ponderada de
as probabilidades empíricas das crianças, com os mesmos pesos (ie,
˙p=
|D1|
|D|
˙p1+
|D2|
|D|
˙ p 2 ), ˙ p nos dá o ponto de interpolação correto.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
159/291

Página 160
4. modelos de árvore
4.1 Árvores de decisão
Figura 5.2 , p.134
Medição de impureza II
0
0,5
1
0,5
Imp ( ṗ )

0
0,48
Índice de Gini

ṗ1
ṗ2

(esquerda) Funções de impurezas plotadas contra a probabilidade empírica da classe positiva.


Do fundo: o tamanho relativo da classe minoritária, min (˙ p , 1− ˙ p ); o índice de Gini,
2 p (1 - p ); entropia, - ˙ p log 2 ˙ p - (1- ˙ p ) log 2 (1- ˙ p ) (divididos por dois para que ele atinge o seu
máximo no mesmo ponto que os outros); e a raiz quadrada (rescalada) do Gini
índice, √ ˙ p (1− ˙ p ) - observe que esta última função descreve um semicírculo. (certo)
Construção geométrica para determinar a impureza de uma divisão ( Dentes = [ muitos , poucos ] ): is p é
a probabilidade empírica do pai, e ˙ p 1 e ˙ p 2 são as probabilidades empíricas de
as crianças.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
160/291

Page 161
4. modelos de árvore
4.1 Árvores de decisão
Exemplo 5.1, p.
Calculando a impureza I
Considere novamente os dados em animais aquáticos. Queremos encontrar o melhor recurso para colocar
na raiz da árvore de decisão. Os quatro recursos disponíveis resultam nas seguintes
divisões:
Comprimento = [ 3 , 4 , 5 ]
[2 +, 0 -] [1 +, 3 -] [2 +, 2−]
Guelras = [ sim , não ]
[0 +, 4 -] [5 +, 1−]
Bico = [ sim , não ]
[5 +, 3 -] [0 +, 2−]
Dentes = [ muitos , poucos ] [3 +, 4 -] [2 +, 1−]
Vamos calcular a impureza da primeira divisão. Nós temos três segmentos: o primeiro
um é puro e, portanto, tem entropia 0 ;
o segundo tem entropia
- (1/4) log 2 (1/4) - (3/4) log 2 (3/4) = 0,5 + 0,31 = 0,81 ;
o terceiro tem entropia 1 .
A entropia total é então a média ponderada destes, que é
2/10, 0 + 4/10, 0,81 + 4/10, 1 = 0,72 .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
161/291

Page 162
4. modelos de árvore
4.1 Árvores de decisão
Exemplo 5.1, p.
Calculando a impureza II
Cálculos similares para os outros três recursos fornecem as seguintes entropias:
Brânquias
4 / 10,0 + 6 / 10- (- (5/6) log 2 (5/6) - (1/6) log 2 (1/6)) = 0,39 ;
Bico
8 / 10- (- (5/8) log 2 (5/8) - (3/8) log 2 (3/8)) + 2/10 · 0 = 0,76 ;
Dentes
7/10 · (- (3/7) log 2 (3/7) - (4/7) log 2 (4/7))
+3 / 10 · (- (2/3) log 2 (2/3) - (1/3) log 2 (1/3)) = 0,97 .
Assim, vemos claramente que "Gills" é um excelente recurso para dividir; 'Dentes' é pobre;
e os outros dois estão em algum lugar no meio.
Os cálculos para o índice de Gini são os seguintes (observe que estes estão em uma escala
de 0 a 0,5 ):
Comprimento 2/10 · 2 · (2/2 · 0/2) + 4/10 · 2 · (1/4 · 3/4) + 4/10 · 2 · (2/4 · 2/4) = 0,35 ;
Brânquias
4/10 · 0 + 6/10 · 2 · (5/6 1/6) = 0,17 ;
Bico
8/10 · 2 · (5/8 · 3/8) + 2/10 · 0 = 0,38 ;
Dentes
7/10 · 2 · (3/7 · 4/7) + 3/10 · 2 · (2/3 · 1/3) = 0,48 .
Como esperado, as duas medidas de impurezas estão em acordo próximo. Veja a Figura 5.2
(à direita) para uma ilustração geométrica do último cálculo relativo a 'Dentes'.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
162/291

Página 163
4. modelos de árvore
4.1 Árvores de decisão
Algoritmo 5.2, p.
Encontrando a melhor divisão para uma árvore de decisão
Algoritmo BestSplit-Class ( D , F ) - encontre a melhor divisão para uma árvore de decisão.
Entrada: dados D ; conjunto de características F .
Saída: recurso f para dividir.
1 eu min ← 1;
2 para cada f ∈ F do
3
dividir D em subconjuntos D 1 , ..., D l de acordo com os valores v j de f ;
4
se Imp ({ D 1 , ..., D l }) < I min então
5
Eu min ← Imp ({ D 1 , ..., D l }) ;
6
f melhor ← f ;
7
fim
Fim 8
9 retorno f melhor
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
163/291

Page 164
4. modelos de árvore
4.1 Árvores de decisão
Figura 5.3 , p. 137
Árvore de decisão para golfinhos
D: [2+, 0−]
A: brânquias
B: comprimento
= não
C: [0+, 4−]
= sim
E: dentes
G: [0+, 1−]
= poucos
H: [1+, 0−]
= muitos
=3
=4
F: [2+, 0−]
=5
Negativos
Positivos
p1, p3
p4-5
p1
n5
n1-4
UMA
B
C
D
E
F
G
H

(à esquerda) Árvore de decisão aprendida a partir dos dados sobre animais aquáticos. (direita) Cada interno e
nó de folhas da árvore corresponde a um segmento de linha no espaço de cobertura: vertical
segmentos para nós positivos puros, segmentos horizontais para nós negativos puros e
segmentos diagonais para nós impuros.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
164/291

Page 165
4. modelos de árvore
4.2 Ranking e árvores de estimativa de probabilidade

Qual é o próximo?
4
Modelos de árvore
Árvores de decisão
Ranking e árvores de estimativa de probabilidade
Sensibilidade a distribuições de classes distorcidas
Aprendizagem de árvores como redução de variância
Árvores de regressão
Clustering trees
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
165/291

Página 166
4. modelos de árvore
4.2 Ranking e árvores de estimativa de probabilidade
Ponto importante para lembrar
As árvores de decisão dividem o espaço da instância em segmentos, aprendendo a ordenar
nesses segmentos, as árvores de decisão podem ser transformadas em classificadores.
Graças ao acesso à distribuição de classes em cada folha, o melhor ordenamento para o
os dados de treinamento podem ser obtidos a partir de probabilidades empíricas ˙ p (de classe positiva).
A classificação obtida a partir das probabilidades empíricas nas folhas de uma decisão
árvore produz uma curva ROC convexa nos dados de treinamento.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
166/291

Página 167
4. modelos de árvore
4.2 Ranking e árvores de estimativa de probabilidade
Exemplo 5.2, p.
Crescendo uma árvore
Considere a árvore na Figura 5.4 ( esquerda) . Cada nó é rotulado com o número de
exemplos positivos e negativos cobertos por ele: assim, por exemplo, a raiz da árvore
está rotulado com a distribuição geral da classe (50 positivos e 100 negativos),
resultando no ranking trivial [50 +, 100−] . O correspondente segmento de um
curva de cobertura é a diagonal ascendente ( Figura 5.4 (direita) ).
Adicionar split (1) refina essa classificação em [30 +, 35 -] [20 +, 65−] , resultando em um
curva de dois segmentos.
Adicionar divisões (2) e (3) novamente divide o segmento correspondente ao
pai em dois segmentos correspondentes aos filhos.
No entanto, o ranking produzido pela árvore cheia -
[15 +, 3 -] [29 +, 10 -] [5 +, 62 -] [1 +, 25−] - é diferente da esquerda para a direita
ordenação de suas folhas, portanto, precisamos reordenar os segmentos do
curva de cobertura, levando à curva sólida mais alta. Esta reordenação sempre
leva a uma curva de cobertura convexa
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
167/291

Página 168
4. modelos de árvore
4.2 Ranking e árvores de estimativa de probabilidade
Figura 5.4 , p. 140
Crescendo uma árvore
[50+, 100−]
[30+, 35−]
(1)
[20+, 65−]
[29+, 10−]
(2)
[1+, 25−]
[15+, 3−]
(3)
[5+, 62−]
Negativos
Positivos
0
50
0
100
(1)
(2)
(3)

(esquerda) Representação abstrata de uma árvore com números de exemplos positivos e negativos
coberto em cada nó. Divisões binárias são adicionadas à árvore na ordem indicada. (certo)
Adicionar uma divisão à árvore adicionará novos segmentos à curva de cobertura, conforme indicado por
as flechas. Depois que uma divisão é adicionada, os segmentos podem precisar de reordenação e,
linhas sólidas representam curvas reais de cobertura.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
168/291

Página 169
4. modelos de árvore
4.2 Ranking e árvores de estimativa de probabilidade
Figura 5.5 , p.141
Rotulando uma árvore
Negativos
Positivos
0
50
0
100
−−−−
+ −−−
- + −−
−− -
−−− +
++ −−
+-+-
+ −− +
- ++ -
-+-+
−– ++
+++ -
++ - +
+ - ++
- +++
++++

Representação gráfica de todos os rótulos possíveis e todos os rankings possíveis que podem ser
obtido com a árvore de decisão de quatro folhas na Figura 5.4. Existem 2 4 = 16 possíveis folhas
rotulagem; Por exemplo, '+ - + -' denota a primeira e terceira folha da esquerda como + e
a segunda e quarta folha como -. Existem 4! = 24 possíveis caminhos azul - violeta - vermelho - laranja
através destes pontos que começam em ---- e mudam cada folha para + em alguma ordem;
estes representam todas as possíveis curvas ou classificações de cobertura de quatro segmentos.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
169/291

Página 170
4. modelos de árvore
4.2 Ranking e árvores de estimativa de probabilidade

Escolhendo uma rotulagem baseada em custos


Suponha que a taxa de classe de conjunto de treinamento clr = 50/100 seja representativa. Nós temos uma
escolha de cinco rótulos, dependendo da relação de custo esperada c = c FN / c FP de
classificando erroneamente um positivo proporcionalmente ao custo de classificar erroneamente um negativo:
+ - + - seria a rotulagem de escolha se c = 1 , ou mais geralmente se
10/29 < c <62/5 ;
+ - ++ seria escolhido se 62/5 < c <25/1 ;
+ + ++ seria escolhido se 25/1 < c ; ou seja, sempre preveríamos positivo se
falsos negativos são mais de 25 vezes mais caros do que falsos positivos,
porque, mesmo prevendo positivo na segunda folha reduziria
custo;
- - + - seria escolhido se 3/15 < c <10/29 ;
- - −− seria escolhido se c <3/15 ; ou seja, nós sempre preveríamos negativo se
falsos positivos são mais de cinco vezes mais caros que falsos negativos,
porque então, mesmo prevendo negativo na terceira folha reduziria
custo.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
170/291

Página 171
4. modelos de árvore
4.2 Ranking e árvores de estimativa de probabilidade
Figura 5.6 , p. 143
Podando uma árvore
[50+, 100−]
[30+, 35−]
[20+, 65−]
[29+, 10−]
[1+, 25−]
[15+, 3−]
[5+, 62−]
Negativos
Positivos
0
50
0
100

(esquerda) Para conseguir a rotulagem + - ++ não precisamos da divisão mais à direita, que pode
portanto, seja podado. (direita) A poda não afeta o ponto de operação escolhido, mas
diminui o desempenho de classificação da árvore.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
171/291

Página 172
4. modelos de árvore
4.2 Ranking e árvores de estimativa de probabilidade

Praticando uma árvore


Prunning não deve melhorar a precisão da classificação no conjunto de treinamento
No entanto, pode melhorar a precisão da generalização no conjunto de testes
Um algoritmo popular para podar árvores de decisão é a redução da remoção de erros que
emprega um conjunto separado de dados rotulados que não são vistos durante o treinamento.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
172/291

Page 173
4. modelos de árvore
4.2 Ranking e árvores de estimativa de probabilidade
Algoritmo 5.3, p.144
Redução de erros reduzidos
Algoritmo PruneTree ( T , D ) - remoção com erro reduzido de uma árvore de decisão.
Entrada: árvore de decisão T ; rotulado dados D .
Saída: podada árvore T .
Uma para cada nó interno N de T , começando a partir do fundo do
2
T N ← subárvore de T com raiz em N ;
3
D N ← { x ∈ D | x é coberto por N } ;
4
se a precisão de T N sobre D N for pior do que a classe majoritária em D N, então
5
substitua T N em T por uma folha marcada com a classe majoritária em D N ;
6
fim
Fim 7
8 versão podada de retorno de T
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
173/291

Page 174
4. modelos de árvore
4.2 Ranking e árvores de estimativa de probabilidade

Sensibilidade a distribuições de classes distorcidas


cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
174/291

Page 175
4. modelos de árvore
4.2 Ranking e árvores de estimativa de probabilidade
Exemplo 5.3, p.144
Sensibilidade de distorção dos critérios de divisão I
Suponha que você tenha 10 positivos e 10 negativos, e você precisa escolher
entre os dois grupos [8 +, 2 -] [2 +, 8−] e [10 +, 6 -] [0 +, 4−] .
Você calcula devidamente a entropia média ponderada de ambas as divisões e conclui
que a primeira divisão é a melhor.
Só para ter certeza, você também calcula o índice Gini médio, e novamente o
primeiro dividir vitórias.
Você então se lembra de alguém te dizendo que a raiz quadrada do Gini
índice foi uma melhor medida de impureza, então você decide verificar isso
também. E eis que favorece a segunda divisão ...! O que fazer?
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
175/291

Página 176
4. modelos de árvore
4.2 Ranking e árvores de estimativa de probabilidade
Exemplo 5.3, p.144
Sensibilidade de distorção dos critérios de divisão II
Você então lembra que os erros nos pontos positivos são cerca de dez vezes mais caros
como erros nos negativos.
Você não tem certeza de como resolver os problemas, e então decide
basta ter dez cópias de cada positivo: as divisões são agora
[80 +, 2 -] [20 +, 8−] e [100 +, 6 -] [0 +, 4]] .
Você recalcula os três critérios de divisão e agora todos os três favorecem o
segunda divisão.
Mesmo que você esteja um pouco confuso com tudo isso, você se contentar com o segundo
divisão desde que todos os três critérios de divisão são agora unânimes em sua
recomendação.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
176/291

Página 177
4. modelos de árvore
4.2 Ranking e árvores de estimativa de probabilidade

Por que o ponto de divisão mudou para o índice e entropia de Gini?


O índice de Gini do pai é 2 n ⊕
n
n⊖
n
, e o índice de Gini ponderado de um dos
crianças é
n1
n
2
n⊕
1
n1
n⊖
1
n1
. Assim, a impureza ponderada da criança em proporção ao
impureza do pai é
n⊕
1n⊖
1/ n1
n ⊕n ⊖ / n
; vamos chamar isso de impureza relativa .
Os mesmos cálculos para Gini dão
impureza do pai:

n⊕
n
n⊖
n
;
impureza ponderada da criança:
n1
n

n⊕
1
n1
n⊖
1
n1
;
impureza relativa:

n⊕
1
n⊖
1
n ⊕n ⊖
.
Este último rácio não muda se multiplicarmos todos os números que envolvam positivos com um
fator c . Ou seja, um critério de divisão usando Gini como medida de impureza é
insensível a mudanças na distribuição de classes - ao contrário do índice e da entropia de Gini.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
177/291

Página 178
4. modelos de árvore
4.2 Ranking e árvores de estimativa de probabilidade
Figura 5.7 , p. 146
Sensibilidade de distorção dos critérios de divisão
Negativos
Positivos
Negativos
Positivos

(esquerda) Isometria ROC para entropia em azul , índice de Gini em violeta e Gini em vermelho por meio de
as divisões [8 +, 2 -] [2 +, 8−] (linhas contínuas) e [10 +, 6 -] [0 +, 4−] (linhas pontilhadas). Apenas Gini
prefere a segunda divisão. (direita) A mesma isométrica depois de inflar os positivos com um
fator 10. Todos os critérios de divisão agora favorecem a segunda divisão; as isométricas de Gini são a
apenas aqueles que não se mexeram.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
178/291

Page 179
4. modelos de árvore
4.2 Ranking e árvores de estimativa de probabilidade

Ponto importante para lembrar


Entropia e índice de Gini são sensíveis a flutuações na distribuição de classes,
Gini não é.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
179/291

Página 180
4. modelos de árvore
4.2 Ranking e árvores de estimativa de probabilidade
A receita de Peter para a aprendizagem da árvore de decisão
Antes de mais nada, eu me concentraria em obter um bom comportamento de classificação,
porque a partir de um bom ranker posso obter boa classificação e probabilidade
estimativa, mas não necessariamente o contrário.
Eu tentaria, portanto, usar uma medida de impureza que é
insensível à distribuição, como Gini ; se isso não está disponível e eu não posso hackear
o código, eu iria recorrer a oversampling a classe minoritária para alcançar um
distribuição de classes equilibrada.
Desativaria a poda e suavizaria as estimativas de probabilidade por meio de
a correção de Laplace (ou o m- estimado).
Depois que eu souber as condições da operação de implantação, eu as usaria para
selecionar o melhor ponto de operação na curva ROC (ou seja, um limiar na
probabilidades previstas, ou uma rotulagem da árvore).
(opcional) Finalmente, eu podaria eliminar qualquer subárvore cujas folhas tivessem todas as
mesmo rótulo.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
180/291

Page 181
4. modelos de árvore
4.3 Aprendizagem de árvores como redução de variância

Qual é o próximo?
4
Modelos de árvore
Árvores de decisão
Ranking e árvores de estimativa de probabilidade
Sensibilidade a distribuições de classes distorcidas
Aprendizagem de árvores como redução de variância
Árvores de regressão
Clustering trees
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
181/291

Página 182
4. modelos de árvore
4.3 Aprendizagem de árvores como redução de variância

Vamos agora considerar como adaptar as árvores de decisão à regressão e ao agrupamento


tarefas.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
182/291

Page 183
4. modelos de árvore
4.3 Aprendizagem de árvores como redução de variância

Árvores de regressão
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
183/291

Page 184
4. modelos de árvore
4.3 Aprendizagem de árvores como redução de variância

Aprendizagem de árvores como redução de variância


A variância de uma variável booleana (ou seja, Bernoulli) com probabilidade de sucesso
Is p é ˙ p (1− ˙ p ) , que é metade do índice de Gini. Então, poderíamos interpretar o objetivo de
aprendizagem de árvores como minimizando a variância da classe (ou desvio padrão,
caso de Gini ) nas folhas.
Em problemas de regressão, podemos definir a variância da maneira usual:
Var ( Y ) =
1
|Y|

y∈Y
(y-y)
2
Se uma divisão particionar o conjunto de valores de destino Y em conjuntos mutuamente exclusivos
{ Y 1 , ..., Y l } , a variância média ponderada é então
Var ({ Y 1 , ..., Y l }) =
eu

j=1
|Yj|
|Y|
Var ( Y j ) = ... =
1
|Y|

y∈Y
y2
-
eu

j=1
|Yj|
|Y|
y
2
j
O primeiro termo é constante para um dado conjunto Y e por isso queremos maximizar o
média ponderada de médias quadradas nas crianças.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
184/291

Page 185
4. modelos de árvore
4.3 Aprendizagem de árvores como redução de variância
Exemplo 5.4, p . 150
Aprendendo uma árvore de regressão I
Imagine que você é um colecionador de antigos órgãos de roda de tonelada Hammond. Você tem
monitorando um site de leilões online, do qual você coletou alguns dados
sobre transações interessantes:
#
Condição modelo Leslie Price
1. B3
excelente
não
4513
2. T202
justo
sim
625
3. A100
Boa
não
1051
4. T202
Boa
não
270
5. M102
Boa
sim
870
6. A100
excelente
não
1770
7. T202
justo
não
99
8. A100
Boa
sim
1900
9. E112
justo
não
77
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
185/291

Page 186
4. modelos de árvore
4.3 Aprendizagem de árvores como redução de variância
Exemplo 5.4, p . 150
Aprendendo uma árvore de regressão II
A partir desses dados, você quer construir uma árvore de regressão que irá ajudá-lo
determine um preço razoável para sua próxima compra.
Existem três recursos, portanto, três possíveis divisões:
Modelo = [ A100 , B3 , E112 , M102 , T202 ]
[1051,1770,1900] [4513] [77] [870] [99,270,625]
Condição = [ excelente , bom , justo ]
[1770,4513] [270,870,1051,1900] [77,99,625]
Leslie = [ sim , não ] [625,870,1900] [77,99,270,1051,1770,4513]
As médias da primeira divisão são 1574, 4513, 77, 870 e 331, e as ponderações
média de médias quadradas é de 3,21 · 10 6
.
As médias da segunda divisão são 3142, 1023 e 267, com média ponderada de
significa quadrado 2,68 · 10 6
;
para a terceira divisão as médias são 1132 e 1297, com média ponderada de
meios quadrados 1,55 · 10 6
.
Portanto, nós nos ramificamos no Modelo no nível superior. Isso nos dá três
folhas de instância única, bem como três A100s e três T202s.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
186/291

Page 187
4. modelos de árvore
4.3 Aprendizagem de árvores como redução de variância
Exemplo 5.4, p . 150
Aprendendo uma árvore de regressão III
Para os A100s obtemos as seguintes divisões:
Condição = [ excelente , bom , justo ]
[1770] [1051,1900] []
Leslie = [ sim , não ]
[1900] [1051,1770]
Sem passar pelos cálculos, podemos ver que a segunda divisão resulta em
menos variância (para lidar com a criança vazia, é costume definir sua variância igual
àquela do pai). Para os T202s, os splits são os seguintes:
Condição = [ excelente , bom , justo ]
[] [270] [99,625]
Leslie = [ sim , não ]
[625] [99.270]
Mais uma vez, vemos que a divisão em Leslie fornece grupos de valores mais estreitos. O aprendido
árvore de regressão é mostrada na Figura 5.8.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
187/291

Página 188
4. modelos de árvore
4.3 Aprendizagem de árvores como redução de variância
Figura 5.8 , p. 150
Uma árvore de regressão
Modelo
Leslie
= A100
f (x) = 4513
= B3
f (x) = 77
= E122
f (x) = 870
= M102
Leslie
= T202
f̂ (x) = 1900
= sim
f̂ (x) = 1411
= não
f̂ (x) = 625
= sim
f (x) = 185
= não
Uma árvore de regressão aprendida a partir dos dados no Exemplo 5.4 .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
188/291

Page 189
4. modelos de árvore
4.3 Aprendizagem de árvores como redução de variância

Clustering trees
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
189/291

Página 190
4. modelos de árvore
4.3 Aprendizagem de árvores como redução de variância

Medida de dissimilaridade
Deixe Dis : X × X → R ser uma função abstrata que mede a dissimularidade de qualquer
duas instâncias x , x ∈ X , tal que o maior Dis ( x , x ) é, o menos similar x e
x são. A dissimilaridade do cluster de um conjunto de instâncias D é:
Dis ( D ) =
1
|D|2

x∈D

x∈D
Dis ( x , x )
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
190/291

Page 191
4. modelos de árvore
4.3 Aprendizagem de árvores como redução de variância
Exemplo 5.5, p.152
Aprendendo uma árvore de clustering I
Avaliando as nove transações no site de leilões online do Exemplo 5.4,
usando alguns recursos adicionais, como preço de reserva e número de lances, você
venha com a seguinte matriz de dissimilaridade:
0 11 6 13 10 3 13 3 12
11
01
1
13
04
0
6
10
2
11
22
1
13
12
0
04
04
0
10
11
0
03
02
0
3
31
4
30
41
3
13
02
0
04
04
0
3
42
4
21
40
4
12
01
0
03
04
0
Isso mostra, por exemplo, que a primeira transação é muito diferente da outra
oito. A dissimilaridade paritária média sobre todas as nove transações é de 2,94.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
191/291

Página 192
4. modelos de árvore
4.3 Aprendizagem de árvores como redução de variância
Exemplo 5.5, p.152
Aprendendo uma árvore de agrupamento II
Usando os mesmos recursos do Exemplo 5.4, as três possíveis divisões são (agora
com número de transação em vez de preço):
Modelo = [ A100 , B3 , E112 , M102 , T202 ] [3,6,8] [1] [9] [5] [2,4,7]
Condição = [ excelente , bom , justo ]
[1,6] [3,4,5,8] [2,7,9]
Leslie = [ sim , não ]
[2,5,8] [1,3,4,6,7,9]
A dissimilaridade entre as transações 3, 6 e 8 é
1
3 2( 0 + 1 + 2 + 1 + 0 + 1 + 2 + 1 + 0 ) = 0,89 ; e entre as transações 2, 4 e 7 é
1
3 2(0 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 ) = 0,22 . Os outros três filhos da primeira divisão
contém apenas um único elemento e, portanto, tem zero dissimilaridade de cluster. o
a dissimilaridade de cluster média ponderada da divisão é então
3/9 · 0,89 + 1/9 · 0 + 1/9 · 0 + 1/9 · 0 + 3/9 · 0,22 = 0,37 . Para a segunda divisão,
cálculos semelhantes resultam em uma dissimilaridade
2/9 · 1,5 + 4/9 · 1,19 + 3/9 · 0 = 0,86 e a terceira divisão gera
3/9 · 1,56 + 6/9 · 3,56 = 2,89 . O recurso Modelo captura assim a maior parte do
dissimilaridades, enquanto o recurso de Leslie é praticamente não relacionado.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
192/291

Page 193
4. modelos de árvore
4.3 Aprendizagem de árvores como redução de variância
Exemplo 5.6, p . 154
Clustering com distância euclidiana I
Estendemos nossos dados de órgão Hammond com dois novos recursos numéricos, um
indicando o preço de reserva e o outro o número de propostas feitas no leilão.
Lances de reserva de preço de condição de modelo Leslie
B3
excelente
não
45
30
22
T202
justo
sim
6
0
9
A100
Boa
não
11
8
13
T202
Boa
não
3
0
1
M102
Boa
sim
9
5
2
A100
excelente
não
18
15
15
T202
justo
não
1
0
3
A100
Boa
sim
19
19
1
E112
justo
não
1
0
5
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
193/291

Page 194
4. modelos de árvore
4.3 Aprendizagem de árvores como redução de variância
Exemplo 5.6, p . 154
Clustering com distância euclidiana II
As médias das três características numéricas são (13,3,8,6,7,9) e suas
as variâncias são (158,101.8,48.8) . A distância euclidiana quadrática média
para a média é então a soma dessas variâncias, que é 308,6.
Para o cluster A100, esses vetores são (16,14,9,7) e (12,7,20,7,38,2) ,
com distância quadrática média para a média de 71,6; para o cluster T202 eles
são (3.3,0,4,3) e (4,2,0,11,6) , com distância quadrada média de 15,8.
Usando essa divisão, podemos construir uma árvore de agrupamento cujas folhas são rotuladas
com os vetores médios ( Figura 5.9).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
194/291
Página 195
4. modelos de árvore
4.3 Aprendizagem de árvores como redução de variância
Figura 5.9 , p. 154
Uma árvore de clusterização
Modelo
(16, 14, 9.7)
= A100
(45, 30, 22)
= B3
(1, 0, 5)
= E122
(9, 5, 2)
= M102
(3.3, 0, 4.3)
= T202
Uma árvore de agrupamento aprendida a partir dos dados no Exemplo 5 .6 usando a distância euclidiana no
características numéricas.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
195/291

Page 196
5. modelos de regras

Qual é o próximo?
5
Modelos de regras
Aprendendo listas de regras ordenadas
Listas de regras para classificação e estimativa de probabilidade
Aprendendo conjuntos de regras não ordenados
Conjuntos de regras para classificação e estimativa de probabilidade
Aprendizagem de regras descritivas
Aprendizagem de regras para descoberta de subgrupo
Mineração de regra de associação
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
196/291

Page 197
5. modelos de regras
5.1 Aprendendo listas de regras ordenadas

Qual é o próximo?
5
Modelos de regras
Aprendendo listas de regras ordenadas
Listas de regras para classificação e estimativa de probabilidade
Aprendendo conjuntos de regras não ordenados
Conjuntos de regras para classificação e estimativa de probabilidade
Aprendizagem de regras descritivas
Aprendizagem de regras para descoberta de subgrupo
Mineração de regra de associação
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
197/291

Page 198
5. modelos de regras
5.1 Aprendendo listas de regras ordenadas
Exemplo 6.1, p. 159
Aprendendo uma lista de regras I
Considere novamente nossos dados de pequenos golfinhos com exemplos positivos
p1: Comprimento = 3 ∧ Brânquias = não ∧ Bico = sim ∧ Dentes = muitos
p2: Comprimento = 4 ∧ Brânquias = não ∧ Bico = sim ∧ Dentes = muitos
p3: Comprimento = 3 ∧ Brânquias = não ∧ Bico = sim ∧ Dentes = poucos
p4: Comprimento = 5 ∧ Brânquias = não ∧ Bico = sim ∧ Dentes = muitos
p5: Comprimento = 5 ∧ Brânquias = não ∧ Bico = sim ∧ Dentes = poucos
e negativos
n1: Comprimento = 5 ∧ Brânquias = sim ∧ Bico = sim ∧ Dentes = muitos
n2: Comprimento = 4 ∧ Guelras = sim ∧ Bico = sim ∧ Dentes = muitos
n3: Comprimento = 5 ∧ Guelras = sim ∧ Bico = não ∧ Dentes = muitos
n4: Comprimento = 4 ∧ Guelras = sim ∧ Bico = não ∧ Dentes = muitos
n5: Comprimento = 4 ∧ Brânquias = não ∧ Bico = sim ∧ Dentes = poucos
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
198/291
Page 199
5. modelos de regras
5.1 Aprendendo listas de regras ordenadas
Exemplo 6.1, p. 159
Aprendendo uma lista de regras II
Os nove literais possíveis são mostrados com suas contagens de cobertura na Figura 6.2
(esquerda) .
Três destes são puros; no gráfico de isométricos da impureza na Figura 6.2 (direita)
eles acabam no eixo xe no eixo y .
Um dos literais abrange dois aspectos positivos e dois negativos e, portanto,
tem a mesma impureza que o conjunto geral de dados; este literal acaba no
diagonal ascendente no gráfico de cobertura.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
199/291

Página 200
5. modelos de regras
5.1 Aprendendo listas de regras ordenadas
Figura 6.2 , p. 160
Procurando por literais
verdade
[5+, 5-]
Comprimento = 3
[2+, 0-]
Comprimento = 4
[1+, 3-]
Comprimento = 5
[2+, 2-]
Guelras = sim
[0+, 4]
Guelras = não
[5+, 1-]
Bico = sim
[5+, 3-]
Bico = não
[0+, 2-]
Dentes = muitos
[3+, 4-]
Dentes = poucos
[2+, 1-]
Negativos
Positivos

(esquerda) Todos os literais com sua cobertura contam com os dados no Exemplo 6.1. Aqueles em
verde ( vermelho ) é puro para a classe positiva (negativa). (à direita) Os nove literais plotados como
pontos no espaço de cobertura, com seus valores de impureza indicados por isométricos de impureza
(longe da diagonal ascendente é melhor). Os valores de impurezas são codificados por cores: em direção
verde se ˙ p > 1/2, para vermelho se ˙ p <1/2 e laranja se ˙ p = 1/2 (em 45 graus
isométrica). A seta violeta indica o literal selecionado, o que exclui todos os cinco pontos positivos
e um negativo.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
200/291

Página 201
5. modelos de regras
5.1 Aprendendo listas de regras ordenadas
Figura 6.1 , p. 158
Equivalência de heurística de pesquisa
Negativos
Po
sitive
s
0
Po
s
0
Neg

Isometria ROC para entropia (reescalada para ter um valor máximo de 1/2), índice de Gini e
classe minoritária . A linha de simetria pontilhada cinza é definida por ˙ p = 1/2: cada isométrico tem
duas partes, uma acima da linha de simetria (onde a impureza diminui com o aumento
probabilidade empírica ˙ p ) e sua imagem espelhada abaixo da linha de simetria (onde a impureza é
proporcional a ˙ p ).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
201/291

Página 202
5. modelos de regras
5.1 Aprendendo listas de regras ordenadas
Figura 6.3 , p.161
Construindo a segunda regra
verdade
[5+, 1-]
Comprimento = 3
[2+, 0-]
Comprimento = 4
[1+, 1-]
Comprimento = 5
[2+, 0-]
Guelras = não
[5+, 1-]
Bico = sim
[5+, 1-]
Dentes = muitos
[3+, 0-]
Dentes = poucos
[2+, 1-]
Negativos
Po
sitive
s
(esquerda) Contagens de cobertura revisadas após a remoção dos quatro exemplos negativos cobertos pelo
primeira regra encontrada (os literais que não cobrem nenhum exemplo são omitidos). (direita) Estamos agora
operando na fatia mais à direita da Figura 6.2.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
202/291

Página 203
5. modelos de regras
5.1 Aprendendo listas de regras ordenadas
Figura 6.4 , p.162
Construindo a terceira regra
verdade
[2+, 1-]
Comprimento = 3
[1+, 0-]
Comprimento = 4
[0+, 1-]
Comprimento = 5
[1+, 0-]
Guelras = não
[2+, 1-]
Bico = sim
[2+, 1-]
Dentes = poucos
[2+, 1-]
Negativos
Po
sitive
s

(esquerda) A terceira regra cobre o único exemplo negativo restante, de forma que o restante
os positivos podem ser varridos por uma regra padrão. (à direita) Isso reduzirá o espaço de cobertura.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
203/291

Página 204
5. modelos de regras
5.1 Aprendendo listas de regras ordenadas
Algoritmo 6.1, p . 163
Aprendendo uma lista ordenada de regras
Algorithm LearnRuleList ( D ) - aprenda uma lista ordenada de regras.
Entrada: rotulada dados de treinamento D .
Saída: regra lista R .
1R ← ;
2 enquanto D = do
3
r ← Regra de Aprendizagem ( D ) ;
// LearnRule : consulte Algoritmo 6.2
4
acrescentar r ao final de R ;
5
D ← D \ { x ∈ D | x é coberto por r } ;
6 final
7 retorno R
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
204/291

Página 205
5. modelos de regras
5.1 Aprendendo listas de regras ordenadas
Algoritmo 6.2, p . 164
Aprendendo uma única regra
Algoritmo LearnRule ( D ) - aprenda uma única regra.
Entrada: rotulada dados de treinamento D .
Saída: regra r .
1 b ← verdadeiro ;
2 L ← conjunto de literais disponíveis;
3 enquanto não Homogéneo ( D ) fazer
4
l ← BestLiteral ( D , L ) ;
// por exemplo, maior pureza; ver texto
5
b←b∧l;
6
D ← { x ∈ D | x é coberto por b } ;
7
L ← L \ { l ∈ L | l usa o mesmo recurso que l } ;
Fim 8
9 C ← Etiqueta ( D ) ;
// por exemplo, classe majoritária
10 r ← · se b então Classe = C · ;
11 retorno r
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
205/291

Página 206
5. modelos de regras
5.1 Aprendendo listas de regras ordenadas
Figura 6.5 , p. 164
Lista de regras como uma árvore
B: [0+, 4]
D: [3+, 0-]
F: [0+, 1-]
A: brânquias
= sim
C: Dentes
≠ sim
= muitos
E: comprimento
≠ muitos
=4
G: [2+, 0-]
≠4
Negativos
Po
sitive
s
UMA
B
C
D
E
F
G
D
G
F
B

(à esquerda) Uma árvore de recursos da ramificação direita correspondente a uma lista de regras de uma única
literal. (certo)
A construção desta árvore de recursos representada no espaço de cobertura. As folhas da árvore
são puramente positivos (em verde ) ou puramente negativos (em vermelho ). Reordenando essas folhas
em sua probabilidade empírica resulta na curva de cobertura azul . Como a lista de regras separa
as classes esta é uma curva de cobertura perfeita.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
206/291

Página 207
5. modelos de regras
5.1 Aprendendo listas de regras ordenadas

Listas de regras para classificação e estimativa de probabilidade


cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
207/291

Página 208
5. modelos de regras
5.1 Aprendendo listas de regras ordenadas

Ponto importante para lembrar


As listas de regras herdam a propriedade das árvores de decisão que sua cobertura de conjunto de treinamento
curva é sempre convexa.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
208/291

Pág. 209
5. modelos de regras
5.1 Aprendendo listas de regras ordenadas
Exemplo 6.2, p . 165
Listas de regras como rankers I
Considere os dois conceitos a seguir:
( A ) Comprimento = 4
p2
n2, n4 - 5
( B ) Bico = sim
p1 - 5 n1 - 2, n5
Indicada à direita está a cobertura de cada conceito sobre todo o conjunto de treinamento.
Usando esses conceitos como corpos de regras, podemos construir a lista de regras AB :
· Se Comprimento = 4, então Classe = ⊖ ·
[1 +, 3−]
· Else se Beak = sim então Classe = ⊕ · [4 +, 1−]
· Outra classe = ⊖ ·
[0 +, 1−]
A curva de cobertura desta lista de regras é dada na Figura 6.6..
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
209/291
Página 210
5. modelos de regras
5.1 Aprendendo listas de regras ordenadas
Exemplo 6.2, p . 165
Listas de regras como classificadores II
O primeiro segmento da curva corresponde a todas as instâncias que são
coberto por B, mas não por A , e é por isso que usamos a notação teórica
B\A.
Observe que, embora esse segmento corresponda à segunda regra da regra
lista, vem em primeiro lugar na curva de cobertura, porque tem o maior
proporção de positivos.
O segundo segmento de cobertura corresponde à regra A e o terceiro
segmento de cobertura denotado '-' corresponde à regra padrão.
Este segmento vem por último, não porque representa a última regra, mas
porque acontece de cobrir nenhum positivo.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
210/291

Page 211
5. modelos de regras
5.1 Aprendendo listas de regras ordenadas
Exemplo 6.2, p . 165
Listas de regras como classificadores III
Também podemos construir uma lista de regras na ordem inversa, BA :
· Se Bico = sim, então Classe = ⊕ ·
[5 +, 3−]
· Else se Length = 4 então Class = ⊖ · [0 +, 1−]
· Outra classe = ⊖ ·
[0 +, 1−]
A curva de cobertura dessa lista de regras também é mostrada na Figura 6.6.. Desta vez, o
primeiro segmento corresponde ao primeiro segmento na lista de regras ( B ), e o segundo
e terceiro segmento estão vinculados entre a regra A (após as instâncias cobertas por B são
tirado: A \ B ) e a regra padrão.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
211/291

Page 212
5. modelos de regras
5.1 Aprendendo listas de regras ordenadas
Figura 6.6 , p.166
Listas de regras como rankers
Negativos
Po
sitive
s
BA
UMA
-
B
A \ B, -

Curvas de cobertura de duas listas de regras que consistem nas regras do Exemplo 6.2, em diferentes
ordem ( AB em azul e BA em violeta ). B \ A corresponde à cobertura da regra B uma vez
a cobertura da regra A é removida e '-' denota a regra padrão. O pontilhado
segmento em vermelho conectando as duas curvas corresponde à sobreposição das duas regras
A ∧ B , que não é acessível por nenhuma das listas de regras.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
212/291

Page 213
5. modelos de regras
5.1 Aprendendo listas de regras ordenadas

Ponto importante para lembrar


As listas de regras são semelhantes às árvores de decisão em que as probabilidades empíricas
associados a cada regra produzem curvas convexas de ROC e de cobertura no treinamento
dados.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
213/291

Page 214
5. modelos de regras
5.2 Aprendendo conjuntos de regras não ordenados
Qual é o próximo?
5
Modelos de regras
Aprendendo listas de regras ordenadas
Listas de regras para classificação e estimativa de probabilidade
Aprendendo conjuntos de regras não ordenados
Conjuntos de regras para classificação e estimativa de probabilidade
Aprendizagem de regras descritivas
Aprendizagem de regras para descoberta de subgrupo
Mineração de regra de associação
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
214/291

Página 215
5. modelos de regras
5.2 Aprendendo conjuntos de regras não ordenados
Exemplo 6.3, p.

Aprendendo um conjunto de regras para a classe ⊕


A Figura 6.7 mostra que a primeira regra aprendida para a classe positiva é
· Se Comprimento = 3, então Classe = ⊕ ·
Os dois exemplos cobertos por esta regra são removidos e uma nova regra é aprendida.
Agora encontramos uma nova situação, pois nenhum dos candidatos é puro ( Figura
6,8). Assim, iniciamos uma pesquisa de segundo nível, a partir da qual a seguinte regra pura
emerge:
· Se Gills = no ∧ Length = 5, então Class = ⊕ ·
Para cobrir o restante positivo, precisamos novamente de uma regra com duas condições ( Figura
6,9):
· Se Gills = não ∧ Dentes = muitos, então Classe = ⊕ ·
Observe que, embora essas regras estejam sobrepostas, sua sobreposição abrange apenas
exemplos positivos (desde que cada um deles é puro) e por isso não há necessidade de
organizá-los em uma lista if-then-else.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
215/291

Página 216
5. modelos de regras
5.2 Aprendendo conjuntos de regras não ordenados
Figura 6.7 , p.
Aprendendo um conjunto de regras
verdade
[5+, 5-]
Comprimento = 3
[2+, 0-]
Comprimento = 4
[1+, 3-]
Comprimento = 5
[2+, 2-]
Guelras = sim
[0+, 4]
Guelras = não
[5+, 1-]
Bico = sim
[5+, 3-]
Bico = não
[0+, 2-]
Dentes = muitos
[3+, 4-]
Dentes = poucos
[2+, 1-]
Negativos
Positivos

(esquerda) A primeira regra é aprendida para a classe positiva. (à direita) Olhar isométrico de precisão
idênticos aos isométricos de impureza ( Figura 6.2); no entanto, a diferença é que a precisão é
mais baixo no eixo xe mais alto no eixo y , enquanto a pureza é mais baixa no ascendente
diagonal e mais alto no eixo xe no eixo y .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
216/291

Page 217
5. modelos de regras
5.2 Aprendendo conjuntos de regras não ordenados
Figura 6.8 , p.169
Aprendendo a segunda regra
verdade
[3+, 5-]
Comprimento = 4
[1+, 3-]
Comprimento = 5
[2+, 2-]
Guelras = sim
[0+, 4]
Guelras = não
[3+, 1-]
Bico = sim
[3+, 3-]
Bico = não
[0+, 2-]
Dentes = muitos
[2+, 4-]
Dentes = poucos
[1+, 1-]
Guelras = não & Comprimento = 4
[1+, 1-]
Brânquias = não & Comprimento = 5
[2+, 0-]
Guelras = não & Bico = sim
[3+, 1-]
Guelras = não & Dentes = muitos
[2+, 0-]
Gills = no & Teeth = poucos
[1+, 1-]
Negativos
Po
sitive
s
(esquerda) A segunda regra precisa de dois literais: usamos precisão máxima para selecionar ambos.
(à direita) O espaço de cobertura é menor porque os dois aspectos positivos cobertos pela primeira regra
estão removidos. A caixa azul à esquerda indica um espaço de cobertura ainda menor em que
a busca pelo segundo literal é realizada, após a condição Gills = sem filtros
quatro negativos. Dentro da caixa azul, os isométricos de precisão se sobrepõem aos do exterior.
caixa (isso não é necessariamente o caso com heurística de pesquisa diferente de precisão).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
217/291

Page 218
5. modelos de regras
5.2 Aprendendo conjuntos de regras não ordenados
Figura 6.9 , p. 170
Aprendendo a terceira regra
verdade
[1+, 5-]
Comprimento = 4
[1+, 3-]
Comprimento = 5
[0+, 2-]
Guelras = sim
[0+, 4]
Guelras = não
[1+, 1-]
Bico = sim
[1+, 3-]
Bico = não
[0+, 2-]
Dentes = muitos
[1+, 4-]
Dentes = poucos
[0+, 1-]
Comprimento = 4 e Gills = não
[1+, 1-]
Guelras = não & Bico = sim
[1+, 1-]
Guelras = não & Dentes = muitos
[1+, 0-]
Gills = no & Teeth = poucos
[0+, 1-]
Negativos
Po
sitive
s

(esquerda) A terceira e última regra precisa novamente de dois literais. (à direita) O primeiro literal exclui
quatro negativos, o segundo exclui o outro negativo.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
218/291

Page 219
5. modelos de regras
5.2 Aprendendo conjuntos de regras não ordenados
Algoritmo 6.3, p.171
Aprendendo um conjunto desordenado de regras
Algoritmo LearnRuleSet ( D ) - aprenda um conjunto desordenado de regras.
Entrada: rotulada dados de treinamento D .
Saída: regra definida R .
1R ← ;
2 para cada classe C eu faço
3
Di←D;
4
enquanto D i contém exemplos de classe C eu faço
5
r ← LearnRuleForClass ( D i , C i ) ; // LearnRuleForClass : consulte Algoritmo
6,4
6
R←R∪{r};
7
D i ← D i \ { x ∈ C i | x é coberto por r } ;
// remover apenas positivos
8
fim
9 final
10 retorno R
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
219/291

Página 220
5. modelos de regras
5.2 Aprendendo conjuntos de regras não ordenados
Algoritmo 6.4, p.171
Aprendendo uma regra única para uma determinada classe
Algorithm LearnRuleForClass ( D , C i ) - aprenda uma única regra para uma determinada classe.
Entrada: dados de treinamento rotulados D ; classe C i .
Saída: regra r .
1 b ← verdadeiro ;
2 L ← conjunto de literais disponíveis;
// pode ser inicializado por exemplo de semente
3 enquanto não Homogéneo ( D ) fazer
4
l ← MelhorLiteral ( D , L , C i ) ;
// por exemplo, maximizando a precisão na classe C i
5
b←b∧l;
6
D ← { x ∈ D | x é coberto por b } ;
7
L ← L \ { l ∈ L | l usa o mesmo recurso que l } ;
Fim 8
9 r ← · se b então Classe = C i · ;
10 retorno r
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
220/291

Page 221
5. modelos de regras
5.2 Aprendendo conjuntos de regras não ordenados

A necessidade de suavização de probabilidade


Um problema com o uso da precisão como heurística de busca é que ela tende a se concentrar um pouco
muito em encontrar regras puras, assim, ocasionalmente, faltando regras quase puras que
pode ser especializado em uma regra pura mais geral.
Considere a Figura 6.10 ( esquerda) : a precisão favorece a regra
· Se Comprimento = 3, em seguida, Classe = ⊕ · , embora o literal quase puro Gills = no
leva à regra pura · se Gills = não ∧ Dentes = muitos então Classe = ⊕ · .
Uma maneira conveniente de lidar com essa 'miopia' de precisão é o Laplace
correção, que garante que [5 +, 1−] é 'corrigido' para [6 +, 2−] e, portanto,
considerado como tendo a mesma qualidade de [2 +, 0−] aka [3 +, 1−] ( Figura 6.10
(direita) ).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
221/291

Page 222
5. modelos de regras
5.2 Aprendendo conjuntos de regras não ordenados
Figura 6.10, p. 172
Usando a correção de Laplace
verdade
[5+, 5-]
Comprimento = 3
[2+, 0-]
Comprimento = 4
[1+, 3-]
Comprimento = 5
[2+, 2-]
Guelras = sim
[0+, 4]
Guelras = não
[5+, 1-]
Bico = sim
[5+, 3-]
Bico = não
[0+, 2-]
Dentes = muitos
[3+, 4-]
Dentes = poucos
[2+, 1-]
Brânquias = não & Comprimento = 3
[2+, 0-]
Guelras = não & Comprimento = 4
[1+, 1-]
Brânquias = não & Comprimento = 5
[2+, 0-]
Guelras = não & Bico = sim
[5+, 1-]
Guelras = não & Dentes = muitos
[3+, 0-]
Gills = no & Teeth = poucos
[2+, 1-]
Negativos
Positivos

(esquerda) A utilização da precisão corrigida de Laplace permite aprender uma regra melhor na primeira iteração.
(à direita) A correção de Laplace adiciona uma pseudo-contagem positiva e uma negativa, que
significa que os isométricos agora giram em torno de (−1, −1) no espaço de cobertura, resultando em um
preferência por regras mais gerais.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
222/291

Page 223
5. modelos de regras
5.2 Aprendendo conjuntos de regras não ordenados

Conjuntos de regras para classificação e estimativa de probabilidade


cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
223/291

Page 224
5. modelos de regras
5.2 Aprendendo conjuntos de regras não ordenados
Exemplo 6.4, p. 173
Regra define como rankers I
Considere o seguinte conjunto de regras (as duas primeiras regras também foram usadas no Exemplo 6.2):
( A ) · se Comprimento = 4, então Classe = ⊖ · [1 +, 3−]
( B ) · se Bico = sim, então Classe = ⊕ · [5 +, 3-]
( C ) · se Comprimento = 5 então Classe = ⊖ · [2 +, 2−]
Os números à direita indicam a cobertura de cada regra sobre o todo
conjunto de treinamento. Para instâncias cobertas por regras únicas, podemos usá-las
contagens de cobertura para calcular estimativas de probabilidade: por exemplo, uma instância
coberto apenas pela regra Um receberia probabilidade p ( A ) = 04/01 = 0,25 , e
Do mesmo modo p ( B ) = 08/05 = 0,63 e p ( C ) = 04/02 = 0,50 .
Claramente A e C são mutuamente exclusivos, então as únicas sobreposições que precisamos
ter em conta são AB e BC .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
224/291

Página 225
5. modelos de regras
5.2 Aprendendo conjuntos de regras não ordenados
Exemplo 6.4, p. 173
Regra define como rankers II
Um truque simples que é frequentemente aplicado é a média da cobertura das regras
envolvido: por exemplo, a cobertura de AB é estimado como [3 +, 3-] originando
P ( AB ) = 06/03 = 0,50 . Da mesma forma, p ( BC ) = 3,5 / 6 = 0,58 .
A classificação correspondente é, portanto, B - BC - [ AB , C ] - A , resultando na
curva de cobertura do conjunto de treinamento laranja na Figura 6.11.
Vamos agora comparar este conjunto de regras com a seguinte lista de regras ABC :
· Se Comprimento = 4, então Classe = ⊖ ·
[1 +, 3−]
· Else se Beak = sim então Classe = ⊕ · [4 +, 1−]
· Else se Length = 5 e depois Class = ⊖ · [0 +, 1−]
A curva de cobertura desta lista de regras é indicada na Figura 6.11 como a linha azul . Nós
ver que a regra estabelecida na lista de regras, em virtude de ser capaz de distinguir
entre exemplos cobertos apenas por B e aqueles cobertos tanto por B como por C.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
225/291

Page 226
5. modelos de regras
5.2 Aprendendo conjuntos de regras não ordenados
Figura 6.11, p.174
Conjunto de regras versus lista de regras
Negativos
Po
sitive
s
BA
UMA
C\B\A
B
BC
AB, C
UMA

Curvas de cobertura do conjunto de regras do Exemplo 6 .4 (em laranja ) e da lista de regras ABC (em
azul ). O conjunto de regras particiona o espaço da instância em segmentos menores, que neste caso
conduzir a um melhor desempenho do ranking.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
226/291

Page 227
5. modelos de regras
5.3 Aprendizagem de regras descritivas

Qual é o próximo?
5
Modelos de regras
Aprendendo listas de regras ordenadas
Listas de regras para classificação e estimativa de probabilidade
Aprendendo conjuntos de regras não ordenados
Conjuntos de regras para classificação e estimativa de probabilidade
Aprendizagem de regras descritivas
Aprendizagem de regras para descoberta de subgrupo
Mineração de regra de associação
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
227/291
Page 228
5. modelos de regras
5.3 Aprendizagem de regras descritivas

Aprendizagem de regras para descoberta de subgrupo


cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
228/291

Page 229
5. modelos de regras
5.3 Aprendizagem de regras descritivas

Descoberta de subgrupo
Subgrupos são subconjuntos do espaço da instância - ou, alternativamente, mapeamentos
G : X → { verdadeiro , falso } - que são aprendidas a partir de um conjunto de exemplos rotulados
( x i , l ( x i )) , onde l : X → C é a verdadeira função de rotulagem.
Um bom subgrupo é aquele cuja distribuição de classe é significativamente diferente
da população total. Isto é por definição verdadeiro para subgrupos puros, mas
estes não são os únicos interessantes.
Por exemplo, pode-se argumentar que o complemento de um subgrupo é tão
interessante como o próprio subgrupo: no nosso exemplo dos golfinhos, o conceito
Gills = yes , que abrange quatro negativos e nenhum positivo, pode ser
considerado tão interessante quanto seu complemento Gills = no , que cobre um
negativo e todos os pontos positivos.
Isso significa que precisamos nos afastar da avaliação baseada em impurezas
medidas.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
229/291

Page 230
5. modelos de regras
5.3 Aprendizagem de regras descritivas
Figura 6.15, p . 179
Avaliando subgrupos
Negativos
Po
sitive
s
Negativos
Po
sitive
s

(esquerda) Subgrupos e seus isométricos de acordo com a precisão corrigida de Laplace. o


os isométricos sólidos, mais externos, indicam os melhores subgrupos. (à direita) A classificação muda se
Nós pedimos os subgrupos em média recordação. Por exemplo, [5 +, 1−] é agora melhor que
[3 +, 0−] e tão bom quanto [0 +, 4−].
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
230/291

Page 231
5. modelos de regras
5.3 Aprendizagem de regras descritivas
Exemplo 6.6, p.
Avaliando subgrupos
A Tabela 6.1 classifica dez subgrupos no exemplo dos golfinhos em termos de
Precisão e recuperação média corrigida por Laplace.
Uma diferença é que Gills = no ∧ Teeth = muitos com cobertura [3 +, 0−] é
melhor que Gills = não com cobertura [5 +, 1−] em termos de correção de Laplace
precisão, mas pior em termos de recordação média, como o último classifica igualmente
com seu complemento Gills = yes .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
231/291

Página 232
5. modelos de regras
5.3 Aprendizagem de regras descritivas
Tabela 6.1 , p. 179
Avaliando subgrupos
Subgrupo
Cobertura
prec L
Classificação
avg - rec
Classificação
Guelras = sim
[0 +, 4−]
0,17
1
0,10
1–2
Guelras = não ∧ Dentes = muitos
[3 + 0−]
0,80
2
0,80
3
Guelras = não
[5 +, 1−]
0,75
3–9
0,90
1–2
Bico = não
[0 +, 2−]
0,25
3–9
0,30
4–11
Guelras = sim ∧ Bico = sim
[0 +, 2−]
0,25
3–9
0,30
4–11
Comprimento = 3
[2 +, 0−]
0,75
3–9
0,70
4–11
Comprimento = 4 ∧ Gills = yes
[0 +, 2−]
0,25
3–9
0,30
4–11
Comprimento = 5 ∧ Gills = no
[2 +, 0−]
0,75
3–9
0,70
4–11
Comprimento = 5 ∧ Gills = yes
[0 +, 2−]
0,25
3–9
0,30
4–11
Comprimento = 4
[1 +, 3−]
0,33
10
0,30
4–11
Bico = sim
[5 +, 3−]
0,60
11
0,70
4–11
Usando a precisão corrigida de Laplace, podemos avaliar a qualidade de um subgrupo como
| prec L - pos | Alternativamente, podemos usar o recall médio para definir a qualidade de um subgrupo
as | avg - rec −0.5 |.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
232/291
Page 233
5. modelos de regras
5.3 Aprendizagem de regras descritivas

Mineração de regra de associação


cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
233/291

Página 234
5. modelos de regras
5.3 Aprendizagem de regras descritivas

Itens e transações
Transação
Unid
1
fraldas
2
cerveja, batatas fritas
3
maçãs, fraldas
4
cerveja, batatas fritas, fraldas
5
maçãs
6
maçãs, cerveja, batatas fritas, fraldas
7
maçãs, batatas fritas
8
batatas fritas
Cada transação nesta tabela envolve um conjunto de itens ; inversamente, para cada item nós
pode listar as transações em que estava envolvido: transações 1, 3, 4 e 6 para
fraldas, transações 3, 5, 6 e 7 para maçãs e assim por diante. Nós também podemos fazer isso por
conjuntos de itens: por exemplo, cerveja e batatas fritas foram comprados juntos em transações 2, 4 e
6; Dizemos que o conjunto de itens { beer , crisps } abrange o conjunto de transações {2,4,6} .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
234/291

Página 235
5. modelos de regras
5.3 Aprendizagem de regras descritivas
Figura 6.17, p . 183
Um item definido treliça
{Fraldas, cerveja, batatas fritas, maçãs}
{Cerveja, Crisps}
{Fraldas, cerveja, batatas fritas}
{Cerveja, batatas fritas, maçãs}
{Fraldas, Maçãs}
{Fraldas, batatas fritas, maçãs}
{Fraldas, cerveja, maçãs}
{Crisps, Maçãs}
{Fraldas}
{Fraldas, batatas fritas}
{Fraldas, cerveja}
{Apples}
{Cerveja, Maçãs}
{}
{Cerveja}
{Crisps}

Conjuntos de itens em ovais pontilhados cobrem uma única transação; em ovais tracejados, duas transações; em
triângulos, três transações; e em polígonos com n lados, n transações. O máximo
conjuntos de itens com suporte 3 ou mais são indicados em verde .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
235/291

Page 236
5. modelos de regras
5.3 Aprendizagem de regras descritivas
Algoritmo 6.6, p. 184
Conjuntos de itens máximos
Algoritmo FrequentItems ( D , f 0 ) - localiza todos os conjuntos de itens máximos excedendo um determinado limiar de suporte
velho.
Entrada: dados D ⊆ X; limite de suporte f 0 .
Saída: set do item frequente máxima define M .
1 M ←;
2 inicializar a fila de prioridades Q para conter o conjunto de itens vazio;
3 , enquanto Q não está vazia fazer
4
I ← próximo conjunto de itens excluídos da frente de Q ;
5
max ← true ;
// sinalizar para indicar se eu sou maximal
6
para cada extensão possível eu de eu faço
7
se Supp ( I ) ≥ f 0 então
8
max ← false ;
// extensão frequente encontrada, então eu não estou no máximo
9
adicione I ao verso de Q ;
10
fim
11
fim
12
se max = true, então M ← M ∪ { I };
13 final
14 retorno M
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
236/291

Page 237
5. modelos de regras
5.3 Aprendizagem de regras descritivas

Regras de associação I
Conjuntos de itens freqüentes podem ser usados para criar regras de associação , que são regras do
forma · se B então H · onde o corpo B e a cabeça H são conjuntos de itens que freqüentemente
aparecem em transações juntos.
Escolha qualquer aresta na Figura 6.17, diga a borda entre { cerveja } e
{ fraldas , cerveja } . Sabemos que o apoio do primeiro é 3 e do
último, 2: isto é, três transações envolvem cerveja e duas delas envolvem
fraldas também. Dizemos que a confiança da regra de associação
· Se cerveja e fraldas · for 2/3.
Da mesma forma, a borda entre { fraldas } e { fraldas , cerveja } demonstra
que a confiança da regra · se fraldas então cerveja · é 2/4.
Há também regras com confiança 1, como o · se cerveja , em seguida, batatas fritas · ; e
regras com corpos vazios, como · se verdadeiro, então, crisps · , que tem confiança
5/8 (ou seja, cinco de oito transações envolvem batatas fritas).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
237/291

Page 238
5. modelos de regras
5.3 Aprendizagem de regras descritivas

Regras de associação II
Mas queremos apenas construir regras de associação que envolvam itens frequentes.
A regra · se cerveja ∧ maçãs, em seguida, batatas fritas · tem confiança 1, mas há apenas
uma transação envolvendo todos os três e por isso esta regra não é fortemente suportada
pelos dados.
Então, primeiro usamos o Algoritmo 6.6 para meus conjuntos de itens frequentes; nós então selecionamos
corpos B e cabeças de H a partir de cada conjunto frequente m , descartando regras cuja
a confiança está abaixo de um determinado limite de confiança.
Observe que estamos livres para descartar alguns dos itens no máximo freqüente
conjuntos (isto é, H ∪ B pode ser um subconjunto apropriado de m ), porque qualquer subconjunto de um
O conjunto de itens frequentes também é frequente.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
238/291

Page 239
5. modelos de regras
5.3 Aprendizagem de regras descritivas
Algoritmo 6.7, p . 185
Mineração de regra de associação
Regras da Associação de Algoritmos ( D , f 0 , c 0 ) - encontre todas as regras de associação
limiares de apoio e confiança.
Entrada: dados D ⊆ X ; limiar de suporte f 0 ; limiar de confiança c 0 .
Saída: conjunto de regras de associação R .
1R ← ;
2 M ← FrequentItems ( D , f 0 ) ;
// FrequentItems : consulte Algoritmo 6.6
3 para cada m ∈ M do
4
para cada H ⊆ m e B ⊆ m tais que H ∩ B = do
5
se Supp ( B ∪ H ) / Supp ( B ) ≥ c 0 então R ← R ∪ { · se B então H · } ;
6
fim
Fim 7
8 retorno R
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
239/291

Página 240
5. modelos de regras
5.3 Aprendizagem de regras descritivas

Exemplo de Regra de Associação


Uma execução do algoritmo com limite de suporte 3 e limite de confiança 0,6
fornece as seguintes regras de associação:
· Se a cerveja então crisps ·
suporte 3, confiança 3/3
· Se batatas fritas, em seguida, cerveja ·
suporte 3, confiança 3/5
· Se verdadeiro , em seguida, batatas fritas ·
suporte 5, confiança 5/8
A mineração de regras de associação geralmente inclui uma etapa de pós-processamento em que
regras supérfluas são filtradas, por exemplo, casos especiais que não têm maior
confiança do que o caso geral.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
240/291

Page 241
5. modelos de regras
5.3 Aprendizagem de regras descritivas

Pós-processamento
Uma quantidade frequentemente usada no pós-processamento é o aumento , definido como
Levantar ( · se B então H · ) =
n · Supp ( B ∪ H )
Supp ( B ) · Supp ( H )
onde n é o número de transações.
Por exemplo, para as duas primeiras regras de associação acima, teríamos elevadores
do
8,3
35
= 1,6 , como de elevação ( · se B , em seguida, H · ) = Elevador ( · se H , então B · ) .
Para a terceira regra temos Elevador ( · Se verdadeiro , em seguida, batatas fritas · ) = 8 · 5
8,5
= 1 . Isso vale para
qualquer regra com B = , como
Levantar ( · se
então H · ) =
n · Supp (∪ H )
Supp () · Supp ( H )
=
n · Supp ( H )
n · Supp ( H )
=1
Mais geralmente, um levantamento de 1 significa que Supp ( B ∪ H ) é inteiramente determinado pelo
freqüências marginais Supp ( B ) e Supp ( H ) e não é o resultado de qualquer
interacção significativa entre B e H . Apenas regras de associação com elevador maior
de 1 são de interesse.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
241/291

Page 242
5. modelos de regras
5.3 Aprendizagem de regras descritivas
Figura 6.19, p.187
Conjuntos de itens e golfinhos
Comprimento = 3 & Gills = não & Beak = yes & Teeth = many
Comprimento = 4 & Gills = não & Beak = yes & Teeth = many
Comprimento = 3 & Gills = não & Beak = yes & Teeth = few
Comprimento = 5 & Gills = não & Beak = yes & Teeth = many
Comprimento = 5 & Gills = não & Beak = yes & Teeth = few
Brânquias = não & Bico = sim & Dentes = muitos
Comprimento = 3 e bico = sim e dentes = muitos
Comprimento = 3 & Gills = no & Teeth = many
Comprimento = 3 e Gills = no e Beak = yes
Bico = sim e dentes = muitos
Comprimento = 4 e bico = sim e dentes = muitos
Comprimento = 5 e bico = sim e dentes = muitos
Guelras = não & Dentes = muitos
Comprimento = 4 & Gills = no & Teeth = many
Comprimento = 5 & Gills = no & Teeth = many
Guelras = não & Bico = sim
Comprimento = 4 e Gills = no e Beak = yes
Brânquias = não & Bico = sim & Dentes = poucos
Comprimento = 5 e Gills = no e Beak = yes
Dentes = muitos
Comprimento = 3 e Dentes = muitos
Comprimento = 4 & Dentes = muitos
Comprimento = 5 e Dentes = muitos
Bico = sim
Comprimento = 3 e Bico = sim
Comprimento = 4 e Bico = sim
Bico = sim e dentes = poucos
Comprimento = 5 e Bico = sim
verdade
Guelras = não
Comprimento = 3
Comprimento = 4
Dentes = poucos
Comprimento = 5
Comprimento = 3 e Gills = não
Comprimento = 4 e Gills = não
Gills = no & Teeth = poucos
Comprimento = 5 e Gills = não
Comprimento = 3 e Bico = sim e Dentes = poucos
Comprimento = 3 e Dentes = poucos
Comprimento = 3 & Gills = no & Teeth = few
Comprimento = 5 & Bico = sim & Dentes = poucos Comprimento = 5 & Gills = não & Dentes = poucos
Comprimento = 5 e Dentes = poucos

A estrutura do item correspondente aos exemplos positivos do exemplo do golfinho em


Exemplo 4.4. Cada 'item' é um literal Feature = Value ; cada recurso pode ocorrer no máximo
uma vez em um conjunto de itens. A estrutura resultante é exatamente a mesma que foi chamada de
espaço de hipóteses no capítulo 4.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
242/291

Page 243
6. Modelos Lineares

Qual é o próximo?
6
Modelos lineares
O método dos mínimos quadrados
Regressão Linear Multivariada
O perceptron: um algoritmo heurístico de aprendizagem para classificadores lineares
Máquinas de vetores de suporte
Margem suave SVM
Obtendo probabilidades de classificadores lineares
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
243/291

Page 244
6. Modelos Lineares
6.1 O método dos mínimos quadrados

Qual é o próximo?
6
Modelos lineares
O método dos mínimos quadrados
Regressão Linear Multivariada
O perceptron: um algoritmo heurístico de aprendizagem para classificadores lineares
Máquinas de vetores de suporte
Margem suave SVM
Obtendo probabilidades de classificadores lineares
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
244/291

Página 245
6. Modelos Lineares
6.1 O método dos mínimos quadrados
Exemplo 7.1, p.
Regressão linear univariada
Suponha que queremos investigar a relação entre a altura das pessoas e
peso. Coletamos n medições de altura e peso ( h i , w i ), 1 ≤ i ≤ n .
A regressão linear univariada assume uma equação linear w = a + bh , com
parâmetros a e b escolhidos de forma que a soma dos resíduos quadrados
∑n
eu = 1
( w i - ( a + bh i )) 2
é minimizado.
A fim de encontrar os parâmetros tomamos derivadas parciais desta expressão, set
as derivadas parciais para 0 e resolvem para a e b :

∂a
n

eu = 1
(wi-( a + bh i ))
2
= −2
n

eu = 1
(wi-( a + bh i )) = 0
⇒ um = w - bh

∂b
n

eu = 1
(wi-( a + bh i ))
2
= −2
n

eu = 1
(wi-( a + bh i )) h i = 0
⇒b=
∑n
eu = 1
(hi-h)(wi -w)
∑n
eu = 1
(Hi-h)2
Portanto, a solução encontrada por regressão linear é w = a +
BH = w +
B ( h - h ) ; Vejo
Figura 7.1 para um exemplo.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
245/291

Página 246
6. Modelos Lineares
6.1 O método dos mínimos quadrados
Figura 7.1 , p.197
Regressão linear univariada
140
150
160
170
180
190
200
40
45
50
55
60
65
70
75
80
85
90

A linha sólida vermelha indica o resultado da aplicação da regressão linear a 10 medições


do peso corporal (no eixo y , em quilogramas) contra a altura do corpo (no eixo x , em
centímetros). As linhas pontilhadas laranja indicam a altura média h = 181 ea
peso mio w = 74,5; o coeficiente de regressão
B = 0,78. As medições foram
simulado pela adição de ruído normalmente distribuído com média 0 e variância 5 para a verdadeira
modelo indicado pela linha tracejada azul ( b = 0,83).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
246/291

Página 247
6. Modelos Lineares
6.1 O método dos mínimos quadrados

Regressão linear: intuições I


Para uma característica x e uma variável alvo y , o coeficiente de regressão é o
covariância entre x e y na proporção da variância de x :
b=
σ xy
σ xx
(Aqui eu uso σ xx como uma notação alternativa para σ 2
x ).
Isso pode ser entendido observando que a covariância é medida em unidades de x
vezes unidades de y (por exemplo, metros vezes quilogramas no Exemplo 7.1) e a variância na
unidades de x ao quadrado (por exemplo, metros quadrados), então seu quociente é medido em unidades
de y por unidade de x (por exemplo, quilogramas por metro).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
247/291

Page 248
6. Modelos Lineares
6.1 O método dos mínimos quadrados

Regressão linear: intuições II


O intercepto um é tal que a linha de regressão passa por ( x , y ) .
Adicionar uma constante a todos os valores x (uma tradução) afetará apenas a interceptação, mas
não o coeficiente de regressão (uma vez que é definido em termos de desvios do
significa, que não são afetados por uma tradução).
Então, poderíamos zerar os valores x subtraindo x , caso em que o
interceptar é igual a y .
Poderíamos até subtrair y de todos os valores y para alcançar uma intercepção zero, sem
mudando o problema de uma maneira essencial.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
248/291

Page 249
6. Modelos Lineares
6.1 O método dos mínimos quadrados

Regressão linear: intuições III


Suponha que substituamos x i por x
i = x i / σ xx e da mesma forma x com x = x / σ xx , então
temos que b =
1
n
∑n
eu = 1
(x
i- x ) ( yi- y ) = σxy.
Em outras palavras, se normalizarmos x dividindo todos os seus valores pela variação de x , podemos
tomar a covariância entre o recurso normalizado e a variável de destino como
Coeficiente de regressão.
Isso demonstra que a regressão linear univariada pode ser entendida como
consistindo de duas etapas:
normalização do recurso dividindo seus valores pela variação do recurso;
Cálculo da covariância da variável alvo e da característica normalizada.
Vamos ver abaixo como essas duas etapas mudam quando lidamos com mais de um
característica.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
249/291

Page 250
6. Modelos Lineares
6.1 O método dos mínimos quadrados

Regressão linear: intuições IV


Outro ponto importante a ser observado é que a soma dos resíduos do
solução de mínimos quadrados é zero:
n

eu = 1
(Yi-(a+
Bx i )) = n ( y - um -
Bx ) = 0
O resultado seguinte porque um = y -
Bx , como derivado em Exemplo 7.1.
Enquanto esta propriedade é intuitivamente atraente, vale a pena ter em mente que ela também
torna a regressão linear suscetível a outliers : pontos que estão muito distantes
a linha de regressão, geralmente devido a erros de medição.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
250/291

Página 251
6. Modelos Lineares
6.1 O método dos mínimos quadrados
Exemplo 7.2, p . 199
O efeito de outliers
Suponha que, como resultado de um erro de transcrição, um dos valores de peso em
A Figura 7.1 é aumentada em 10 kg. A Figura 7.2 mostra que isso tem um considerável
efeito na linha de regressão de mínimos quadrados.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
251/291
Page 252
6. Modelos Lineares
6.1 O método dos mínimos quadrados
Figura 7.2 , p.199
O efeito de outliers
140
150
160
170
180
190
200
40
45
50
55
60
65
70
75
80
85
90

Um dos pontos azuis subiu 10 unidades para o ponto verde , mudando o vermelho
linha de regressão para a linha verde .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
252/291

Page 253
6. Modelos Lineares
6.1 O método dos mínimos quadrados

Regressão Linear Multivariada


cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
253/291

Page 254
6. Modelos Lineares
6.1 O método dos mínimos quadrados

Regressão linear multivariada I


Primeiro, precisamos das covariâncias entre cada recurso e a variável de destino:
(X
T
y)j=
n

eu = 1
x IJ y i =
n

eu = 1
( x i j - µ j ) ( y i - y ) + ni j y = n ( σ j y + µ j y )
Assumindo que, no momento em que cada característica é centrada no zero, temos µ j = 0 e
assim X T y é um n- vetor que contém todas as covariâncias necessárias (vezes n ).
Nós podemos normalizar os recursos por meio de um d -by- d matriz de escala: a diagonal
matriz com entradas na diagonal 1 / nσ j j . Se S é uma matriz diagonal com diagonal
entradas nσ j j , podemos obter a matriz de escala exigida por simplesmente invertendo S .
Então, nossa primeira tentativa de solução para o problema de regressão multivariada é
W = S -1 X
T
y
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
254/291

Page 255
6. Modelos Lineares
6.1 O método dos mínimos quadrados

Regressão linear multivariada II


O caso geral requer uma matriz mais elaborada em vez de S :
W=(X
T
X ) −1 X
T
y
Vamos tentar entender o termo ( X T X ) -1 um pouco melhor.
Assumindo que os recursos não são correlacionados, a matriz de covariância Σ é
diagonal com entradas σ j j .
Assumindo que as características são centradas no zero, X T X = n Σ também é diagonal com
entradas nσ j j .
Em outras palavras, assumindo recursos centrados em zero e não correlacionados, ( X T X ) -1
reduz a nossa matriz de escala S −1 .
No caso geral, não podemos fazer suposições sobre os recursos, e
( X T X ) −1 atua como uma transformação que ocorre, centraliza e normaliza o
características.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
255/291

Página 256
6. Modelos Lineares
6.1 O método dos mínimos quadrados
Exemplo 7.3, p.202
Regressão linear bivariada I
Primeiro, nós derivamos as expressões básicas.
X
T
X=
( x 11
··· x n 1
x 12
··· x n 2
)

x 11
x 12
...
...
x n1
x n2

=n
( σ 11 + x 1
2
σ 12 + x 1 x 2
σ 12 + x 1 x 2
σ 22 + x 2
2
)
(X
T
X ) -1
=
1
nD
( σ 22 + x 2
2
- σ 12 - x 1 x 2
- σ 12 - x 1 x 2
σ 11 + x 1
2
)
D = ( σ 11 + x 1
2
) ( σ 22 + x 2
2
) - ( σ 12 + x 1 x 2 )
2
X
T
y=
( x 11
··· x n 1
x 12
··· x n 2
)

y1
...
yn

=n
( σ 1y + x 1y
σ 2y + x 2y
)
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
256/291

Page 257
6. Modelos Lineares
6.1 O método dos mínimos quadrados
Exemplo 7.3, p.202
Regressão linear bivariada II
Consideramos agora dois casos especiais. A primeira é que o X está homogêneo
coordenadas, ou seja, estamos realmente lidando com um problema univariado. Nesse caso nós
tem x i 1 = 1 para 1 ≤ i ≤ n ; x 1 = 1 ; e σ 11 = σ 12 = σ 1 y = 0 . Nós então obtemos (nós
escreva x em vez de x 2 , σ xx em vez de σ 22 e σ xy em vez de σ 2 y ):
(X
T
X ) -1
=
1
n xx
( σ xx + x
2
-x
-x
1
)
X
T
y=n
(
y
σ xy + xy
)
W=(X
T
X ) −1 X
T
y=
1
σ xx
( σ xx y - σ xy x
σ xy
)
Este é o mesmo resultado obtido no Exemplo 7.1.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
257/291

Page 258
6. Modelos Lineares
6.1 O método dos mínimos quadrados
Exemplo 7.3, p.202
Regressão linear bivariada III
O segundo caso especial que consideramos é onde assumimos que x 1 , x 2 e y sejam
zero-centrado, o que significa que o intercepto é zero e w contém os dois
coeficientes de regressão. Neste caso, obtemos
(X
T
X ) -1
=
1
n ( σ 11 σ 22 - σ 2
12
)
( σ 22
- σ 12
- σ 12
σ 11
)
X
T
y=n
( σ 1y
σ 2y
)
W=(X
T
X ) −1 X
T
y=
1
( σ 11 σ 22 - σ 2
12
)
( σ 22 σ 1 y - σ 12 σ 2 y
σ 11 σ 2 y - σ 12 σ 1 y
)
A última expressão mostra, por exemplo, que o coeficiente de regressão para x 1 pode ser
diferente de zero mesmo se x 1 não se correlacionar com a variável de destino ( σ 1 y = 0 ),
conta a correlação entre x 1 e x 2 ( σ 12 = 0 ).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
258/291

Page 259
6. Modelos Lineares
6.1 O método dos mínimos quadrados

Ponto importante para lembrar


Assumindo características não correlacionadas efetivamente decompõe uma multivariada
problema de regressão em d problemas univariados.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
259/291

Page 260
6. Modelos Lineares
6.1 O método dos mínimos quadrados
Figura 7.3 , p.204
Correlação de recursos
(esquerda) Funções de regressão aprendidas por regressão linear. A verdadeira função é y = x 1 + x 2
( avião vermelho ). Os pontos vermelhos são amostras barulhentas desta função; os pontos negros mostram
projetadas no plano ( x 1 , x 2 ). O plano verde indica a função aprendida
por regressão linear; o plano azul é o resultado da decomposição do problema em dois
problemas de regressão univariados ( pontos azuis ). Ambos são boas aproximações do verdadeiro
função. (direita) A mesma função, mas agora x 1 e x 2 são altamente (negativamente) correlacionados.
As amostras agora dão muito menos informação sobre a verdadeira função : de fato, do
decomposição univariada , parece que a função é constante.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
260/291
Page 261
6. Modelos Lineares
6.1 O método dos mínimos quadrados

Ponto importante para lembrar


Uma maneira geral de construir um classificador linear com limite de decisão w · x = t
é construindo w como M − 1 ( n ⊕ µ ⊕ - n ⊖ ⊖ ⊖ ) , com diferentes escolhas possíveis de
M , n ⊕e n ⊖.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
261/291

Page 262
6. Modelos Lineares
6.2 O perceptron: um algoritmo heurístico de aprendizagem para classificadores lineares

Qual é o próximo?
6
Modelos lineares
O método dos mínimos quadrados
Regressão Linear Multivariada
O perceptron: um algoritmo heurístico de aprendizagem para classificadores lineares
Máquinas de vetores de suporte
Margem suave SVM
Obtendo probabilidades de classificadores lineares
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
262/291

Page 263
6. Modelos Lineares
6.2 O perceptron: um algoritmo heurístico de aprendizagem para classificadores lineares

O perceptron
Um classificador linear que conseguirá uma perfeita separação em dados linearmente separáveis é
o perceptron , originalmente proposto como uma rede neural simples. O perceptron
itera sobre o conjunto de treinamento, atualizando o vetor de peso toda vez que ele encontra
um exemplo incorretamente classificado.
Por exemplo, vamos x i ser um exemplo positivo erroneamente classificados, então temos
y i = +1 e w · x i < t . Queremos, portanto, encontrar w tais que w · x i > w · x i ,
que move o limite de decisão para e esperançosamente passado x i .
Isto pode ser conseguido calculando o novo vetor de peso como w = w + η x i ,
onde 0 < η ≤ 1 é a taxa de aprendizado (geralmente definida como 1 ). Nós então temos
w · x i = w · x i + η x i · x i > w · x i , conforme necessário.
Da mesma forma, se x j é um exemplo negativo misclassified, então temos y j = -1
e w · x j > t . Neste caso, calculamos o novo vetor de peso como
w = w - η x j e, portanto, W · x j = W · x j - η x j · X j < w · x j .
Os dois casos podem ser combinados em uma única regra de atualização:
w = w + ηy i x i
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
263/291

Page 264
6. Modelos Lineares
6.2 O perceptron: um algoritmo heurístico de aprendizagem para classificadores lineares
Algoritmo 7.1, p.208
Perceptron
Algoritmo Perceptron ( D , η ) - treinar um perceptron para classificação linear.
Entrada: dados de treinamento rotulados D em coordenadas homogêneas; taxa de aprendizagem η .
: Saída de vector de ponderação W definindo classificador y = sinal ( w · x ) .
1w ← 0 ;
// Outras inicializações do vetor de pesos são possíveis
2 convergiram ← falso ;

3 enquanto converged = false do


4
convergido ← verdadeiro ;
5
para i = 1 a | D | Faz
6
se y i w · x i ≤ 0
// isto é, y i = y i
7
então
8
w ← w + ηy i x i ;
9
convergido ← falso ;
// Nós mudamos w então ainda não convergem
10
fim
11
fim
Fim 12
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
264/291

Page 265
6. Modelos Lineares
6.2 O perceptron: um algoritmo heurístico de aprendizagem para classificadores lineares
Figura 7.5 , p.209
Variando a taxa de aprendizado
−3
−2
−1
0
1
2
3
−3
−2
−1
0
1
2
3
−3
−2
−1
0
1
2
3
−3
−2
−1
0
1
2
3
−3
−2
−1
0
1
2
3
−3
−2
−1
0
1
2
3

(à esquerda) Um perceptron treinado com uma pequena taxa de aprendizado ( η = 0.2). Os exemplos circulados são
os que acionam a atualização de peso. (meio) Aumentando a taxa de aprendizado para η = 0,5
leva, neste caso, a uma convergência rápida. (direita) Aumentando a taxa de aprendizado
η = 1 pode levar a uma atualização de peso muito agressiva, prejudicando a convergência. o
O ponto de partida nos três casos foi o classificador linear básico.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
265/291

Page 266
6. Modelos Lineares
6.2 O perceptron: um algoritmo heurístico de aprendizagem para classificadores lineares

Classificadores lineares em forma dupla


Toda vez que um exemplo x i é classificado incorretamente, adicionamos y i x i ao vetor de ponderação.
Após o treinamento ter sido concluído, cada exemplo foi classificado incorretamente como zero ou
mais vezes. Denotando este número como α i por exemplo x i , o vetor de peso
pode ser expresso como
w=
n

eu = 1
αiyixi
Na visão dual, baseada em instância, da classificação linear, estamos aprendendo
pesos de instância α i em vez de pesos de recursos w j . Uma instância x é
Classificado como
Y = sinal
(n

eu = 1
αiyixi·x
)
Durante o treinamento, a única informação necessária sobre os dados de treinamento é toda
produtos de ponto de pares: o n -by- n matriz L = XX T
contendo esses pontos
produtos é chamado a matriz Gram .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
266/291
Page 267
6. Modelos Lineares
6.2 O perceptron: um algoritmo heurístico de aprendizagem para classificadores lineares
Algoritmo 7.2, p.209
Treinamento de Perceptron em forma dual
Algoritmo DualPerceptron ( D ) - treinamento de perceptron em forma dual.
Entrada: dados de treinamento rotulados D em coordenadas homogêneas.
Saída: coeficientes α i definindo o vetor de peso w = ∑
|D|
eu = 1
αiyixi.
1 α i ← 0 para 1 ≤ i ≤ | D | ;

2 convergiram ← falso ;

3 enquanto converged = false do


4
convergido ← verdadeiro ;
5
para i = 1 a | D | Faz
6
Se y i
∑ |D|
j=1
α j y j x i · x j ≤ 0 então
7
α i ← ct i 1 ;
8
convergido ← falso ;
9
fim
10
fim
11 final
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
267/291

Page 268
6. Modelos Lineares
6.2 O perceptron: um algoritmo heurístico de aprendizagem para classificadores lineares
Figura 7.6 , p.210
Comparando classificadores lineares
−3
−2
−1
0
1
2
3
−3
−2
−1
0
1
2
3

Três classificadores lineares treinados diferentemente em um conjunto de dados de 100 positivos (canto superior direito) e
50
negativos (canto inferior esquerdo): o classificador linear básico em vermelho , o classificador de mínimos quadrados em
laranja e o perceptron em verde . Observe que o perceptron separa perfeitamente o
dados de treinamento, mas sua abordagem heurística pode levar ao overfitting em certas situações.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
268/291

Page 269
6. Modelos Lineares
6.2 O perceptron: um algoritmo heurístico de aprendizagem para classificadores lineares
Algoritmo 7.3, p.211
Treinando um perceptron para regressão
Algoritmo PerceptronRegressão ( D , T ) - treinar um perceptron para regressão.
Entrada: dados de treinamento rotulados D em coordenadas homogêneas;
número máximo de formação épocas T .
Saída: vector de ponderação W definindo função aproximador y = W · x .
1w ← 0 ; t ← 0 ;
2 enquanto t < T faz
3
para i = 1 a | D | Faz
4
w ← w + ( y i - y i ) 2x i;
5
fim
6
t ← t +1 ;
Fim 7
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
269/291

Page 270
6. Modelos Lineares
6.3 Máquinas de vetores de suporte

Qual é o próximo?
6
Modelos lineares
O método dos mínimos quadrados
Regressão Linear Multivariada
O perceptron: um algoritmo heurístico de aprendizagem para classificadores lineares
Máquinas de vetores de suporte
Margem suave SVM
Obtendo probabilidades de classificadores lineares
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
270/291

Page 271
6. Modelos Lineares
6.3 Máquinas de vetores de suporte
Figura 7.7 , p.212
Máquina de vetor de suporte
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
W
w .x = t + m
w .x = t
w .x = t - m
t
|| w ||
t+m
|| w ||
t-m
|| w ||
2m
|| w ||
A geometria de um classificador de vetores de suporte. Os pontos de dados circulados são o suporte
vetores, que são os exemplos de treinamento mais próximos do limite de decisão. O apoio
máquina de vetor encontra o limite de decisão que maximiza a margem m / || w ||
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
271/291

Page 272
6. Modelos Lineares
6.3 Máquinas de vetores de suporte

Maximizar a margem
Uma vez que somos livres para redimensionar t , || w || e m , é habitual para escolher m = 1 .
Maximizar a margem corresponde então a minimizar || w || ou mais
convenientemente
1
2 || w || 2
, desde que, claro, nenhum dos pontos de treinamento caia
dentro da margem.
Isso leva a um problema de otimização restrito quadrático:
w*,t*
= argmin
w,t
1
2
|| w ||
2
sujeito a y i ( w · x i - t ) ≥ 1,1 ≤ i ≤ n
Usando o método dos multiplicadores de Lagrange, a forma dual deste problema pode ser
derivado (ver Contexto 7.3).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
272/291

Page 273
6. Modelos Lineares
6.3 Máquinas de vetores de suporte

SVM em forma dupla


O problema de otimização dupla para máquinas de vetores de suporte é maximizar o
Lagrangeano duplo sob restrições de positividade e uma restrição de igualdade:
α∗
1 , ..., α ∗
n = argmax
α 1 , ..., α n
-
1
2
n

eu = 1
n

j=1
αiαjyiyjxi·xj+
n

eu = 1
αi
sujeito a α i ≥ 0,1 ≤ i ≤ n e
n

eu = 1
αiyi=0
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
273/291

Page 274
6. Modelos Lineares
6.3 Máquinas de vetores de suporte
Figura 7.8 , p.215
Dois classificadores de margem máxima
+
-
3
1
2
W
-
+
+
-
3
4
1
2
W
-
(esquerda) Um classificador de margem máxima construído a partir de três exemplos, com w = (0, −1 / 2) e
margin 2. Os exemplos circulados são os vetores de suporte: eles recebem Lagrange não-zero
multiplicadores e definir o limite de decisão. (direita) Adicionando um segundo positivo
o limite de decisão é rotacionado para w = (3/5, −4 / 5) e a margem diminui para 1.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
274/291

Página 275
6. Modelos Lineares
6.3 Máquinas de vetores de suporte
Exemplo 7.5, p.215
Dois classificadores de margem máxima I
X=

1
2
−1
2
−1 −2

y=

−1
−1
+1

X=

−1 −2
1 −2
−1 −2

A matriz X à direita incorpora os rótulos de classe; ou seja, as linhas são y i x i .


A matriz de Gram é (sem e com rótulos de classe):
XX
T
=

5
3 −5
3
5 −3
−5 −3
5

XX
T
=

535
353
535

O problema de otimização dupla é assim


argmax
α1,α2,α3
-
1
2
(
5α2
1 +3 α 1 α 2 +5 α 1 α 3 +3 α 2 α 1 + 5 α 2
2 3 α 2 α 3 5 α 3 α 1 3 α 3 α 2 5 α dois
3
)
+α1+α2+α3
= argmax
α1,α2,α3
-
1
2
(
5α2
1 +6 α 1 α 2 +10 α 1 α 3 + 5 α 2
2 6 α 2 α 3 5 α dois
3
)
+α1+α2+α3
sujeito a α 1 ≥ 0, α 2 ≥ 0, α 3 ≥ 0 e - α 1 - α 2 + α 3 = 0 .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
275/291

Page 276
6. Modelos Lineares
6.3 Máquinas de vetores de suporte
Exemplo 7.5, p.215
Dois classificadores de margem máxima II
Usando a restrição de igualdade, podemos eliminar uma das variáveis, digamos α 3 ,
e simplificar a função objetivo para
argmax
α1,α2,α3
-
1
2
(20 α 2
1 +32 α 1 α 2 +16 α 2
2 ) +2 α 1 + 2 α 2
Definindo derivadas parciais para 0 obtemos −20 α 1 −16 α 2 + 2 = 0 e
−16 α 1 −16 α 2 +2 = 0 (observe que, porque a função objetivo é
quadrático, essas equações são garantidas como lineares).
Portanto, obtemos a solução α 1 = 0 e α 2 = α 3 = 1/8 . Nós então temos
w = 1/8 ( x 3 - x 2 ) =
(
0
−1/2
)
, resultando em uma margem de 1 / || w || = 2 .
Finalmente, t pode ser obtido de qualquer vetor de suporte, digamos x 2 ,
y 2 ( W · x 2 - t ) = 1 ; isto dá −1 · (−1− t ) = 1 , portanto, t = 0 .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
276/291

Page 277
6. Modelos Lineares
6.3 Máquinas de vetores de suporte
Exemplo 7.5, p.215
Dois classificadores de margem máxima III
Nós agora adicionamos um positivo adicional em (3,1) . Isto dá os seguintes dados
matrizes:
X=

−1 −2
1 −2
−1 −2
3
1

XX
T
=

53
5 −5
35
3
1
53
5 −5
−5 1 −5 10
Pode ser verificado por cálculos semelhantes àqueles acima que a margem
diminui para 1 e o limite de decisão gira para w =
(3/5
−4/5
)
.
Os multiplicadores de Lagrange agora são α 1 = 1/2 , α 2 = 0 , α 3 = 1/10 e
α 4 = 2/5 . Assim, apenas x 3 é um vetor de suporte no original e no
conjunto de dados estendido.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
277/291

Página 278
6. Modelos Lineares
6.3 Máquinas de vetores de suporte

Margem suave SVM


cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
278/291

Page 279
6. Modelos Lineares
6.3 Máquinas de vetores de suporte

Permitindo erros de margem


A idéia é introduzir variáveis de folga ξ i , uma para cada exemplo, que permitem
alguns deles para estar dentro da margem ou até mesmo no lado errado da decisão
fronteira.
w * , t *, ξ*
i = argmin
w,t,ξi
1
2
|| w ||
2
+C
n

eu = 1
ξi
sujeito a y i ( w · x i - t ) ≥ 1 - ξ i e ξ i ≥ 0 , 1 ≤ i ≤ n
C é um parâmetro definido pelo usuário que negocia a maximização da margem contra a folga
minimização de variáveis: um valor alto de C significa que erros de margem incorrem
alta penalidade, enquanto um valor baixo permite mais erros de margem (possivelmente
incluindo erros de classificação) para obter uma grande margem.
Se permitirmos mais erros de margem, precisaremos de menos vetores de suporte, portanto, C
controla, em certa medida, a “complexidade” do SVM e, portanto, é
referido como o parâmetro de complexidade .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
279/291

Página 280
6. Modelos Lineares
6.3 Máquinas de vetores de suporte

Permitindo erros de margem II


A função Lagrange é a seguinte:
Λ(w,t,ξi,αi,βi)=
1
2
|| w ||
2
+C
n

eu = 1
ξi-
n

eu = 1
αi(yi ( W · x i - t ) - (1 - ξ i )) -
n

eu = 1
βiξi
=Λ(w,t,αi)+
n

eu = 1
(C-αi-βi)ξi
Para uma solução ótima, toda derivada parcial em relação a ξ i deve ser
0 , do qual resulta que o termo adicionado desaparece do problema dual.
Além disso, como tanto α i e β i são positivos, isso significa que α i não pode
ser maior que C :
α∗
1 , ..., α ∗
n = argmax
α 1 , ..., α n
-
1
2
n

eu = 1
n

j=1
αiαjyiyjxi·xj+
n

eu = 1
αi
sujeito a 0 ≤ α i ≤ C e
n

eu = 1
αiyi=0
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
280/291

Página 281
6. Modelos Lineares
6.3 Máquinas de vetores de suporte

Três casos para as instâncias de treinamento


Qual é o significado do limite superior C nos multiplicadores α i ?
Como C - α i - β i = 0 para todo i , α i = C implica β i = 0 . Os multiplicadores β i
vem da restrição ξ i ≥ 0 , e um multiplicador de 0 significa que a menor
limite não é alcançado, ou seja, ξ i > 0 (análogo ao fato de que α j = 0 significa
que x j não é um vector de apoio e, consequentemente, W · x j - t > 1 ).
Em outras palavras, uma solução para o problema de otimização de margem flexível em dual
formulário divide os exemplos de treinamento em três casos:
αi=0
estes estão fora ou na margem;
0 < α i < C estes são os vetores de suporte na margem;
αi=C
estes estão dentro ou dentro da margem.
Observe que ainda temos w = ∑
n
eu = 1
α i y i x i , e assim tanto segundo quanto terceiro
exemplos de caso participam abrangendo o limite de decisão.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
281/291

Page 282
6. Modelos Lineares
6.3 Máquinas de vetores de suporte
Figura 7.9 , p.218
Margens macias
+
+
-
3
4
1
2
W
-
+
+
-
3
4
1
2
W
-
(esquerda) O classificador de margem flexível aprendido com C = 5/16, ponto em que x 2 está prestes a
tornar-se um vetor de suporte. (à direita) O classificador de margem flexível aprendido com C = 1/10: todos
exemplos contribuem igualmente para o vetor de peso. Os asteriscos denotam os meios de classe,
e o limite de decisão é paralelo ao aprendido pelo classificador linear básico.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
282/291

Page 283
6. Modelos Lineares
6.3 Máquinas de vetores de suporte
Exemplo 7.6, p.218
Margens macias eu
Lembre-se que os multiplicadores de Lagrange para o classificador na Figura 7.8 ( direita) são
α 1 = 1/2 , α 2 = 0 , α 3 = 1/10 e α 4 = 2/5 . Então α 1 é o maior multiplicador,
e enquanto C > α 1 = 1/2, nenhum erro de margem é tolerado.
Para C = 1/2 temos α 1 = C e, portanto, para C <1/2 , temos x 1
torna-se um erro de margem e o classificador ótimo é um classificador de margem flexível.
A margem superior alcança x 2 para C = 5/16 ( Figura 7.9 ( esquerda) ), no ponto em que
nós temos w =
(3/8
−1/2
)
, t = 3/8 e a margem aumentou para 1,6 .
Além disso, temos ξ 1 = 6/8, α 1 = C = 5/16, α 2 = 0, α 3 = 1/16 e
α 4 = 1/4 .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
283/291

Page 284
6. Modelos Lineares
6.3 Máquinas de vetores de suporte
Exemplo 7.6, p.218
Margens suaves II
Se agora diminuirmos C ainda mais, o limite de decisão começa a girar
no sentido horário, de modo que x 4 se torne um erro de margem, e somente x 2 e x 3
são vetores de suporte. O limite gira até C = 1/10 , ponto no qual
tem w =
(1/5
−1/2
)
, t = 1/5 e a margem aumentou para 1,86 .
Além disso, temos ξ 1 = 4/10 e ξ 4 = 7/10 , e todos os multiplicadores
tornar-se igual a C ( Figura 7.9 (direita) ).
Finalmente, quando C diminui ainda mais, o limite de decisão fica onde está,
mas a norma do vetor de peso diminui gradualmente e todos os pontos
tornar-se erros de margem.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
284/291

Page 285
6. Modelos Lineares
6.3 Máquinas de vetores de suporte

Ponto importante para lembrar


Um classificador de margem flexível de complexidade mínima resume as classes por
classe significa de uma maneira muito semelhante ao classificador linear básico.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
285/291
Page 286
6. Modelos Lineares
6.4 Obtendo probabilidades de classificadores lineares

Qual é o próximo?
6
Modelos lineares
O método dos mínimos quadrados
Regressão Linear Multivariada
O perceptron: um algoritmo heurístico de aprendizagem para classificadores lineares
Máquinas de vetores de suporte
Margem suave SVM
Obtendo probabilidades de classificadores lineares
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
286/291

Page 287
6. Modelos Lineares
6.4 Obtendo probabilidades de classificadores lineares
Figura 7.10, p.220
Pontuações de um classificador linear
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
W
-
d+=wμ+-t
d-=wμ--t
-
μ-
μ+
+
d=0
d <0
d>0
Podemos pensar em um classificador linear como uma projeção na direção dada por w , aqui
assumido como sendo um vetor unitário. w · x - t dá a distância assinada da decisão
limite na linha de projeção. Também indicadas são as médias da classe µ ⊕ e µ ⊖ , e as
distâncias médias correspondentes d ⊕ e d ⊖ .
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
287/291

Page 288
6. Modelos Lineares
6.4 Obtendo probabilidades de classificadores lineares

Calibração logística
Para obter estimativas de probabilidade a partir de uma distância de saída do classificador linear
pontuações d , convertemos d em uma probabilidade por meio do mapeamento
d→
exp ( d )
exp ( d ) +1
ou equivalente,
d→
1
1 + exp (- d )
Esta função em forma de S ou sigmóide é chamada de função logística ; encontra
aplicações em uma ampla gama de áreas ( Figura 7.11).
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
288/291

Page 289
6. Modelos Lineares
6.4 Obtendo probabilidades de classificadores lineares
Figura 7.11, p.222
A função logística
-8
-7
-6
-5
-4
-3
-2
-1
1
2
3
4
5
6
7
8
9
10
11
12
0,25
0,5
0,75
1
d
p̂ ( + | d )

A gordura linha vermelha indica o padrão logística função p ( d ) =


1
1 + exp (- d )
; esta função
pode ser usado para obter estimativas de probabilidade se as duas classes forem igualmente prevalecentes e
as médias da classe são equidistantes do limite de decisão e uma unidade de variação
apart. As linhas vermelhas mais íngremes e planas mostram como a função muda se a classe
meios são 2 e 1/2 unidades de variância à parte, respectivamente. As três linhas azuis mostram como
estas curvas mudam se d 0 = 1, o que significa que os positivos são em média mais
longe do limite de decisão.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
289/291

Página 290
6. Modelos Lineares
6.4 Obtendo probabilidades de classificadores lineares
Exemplo 7.7, p.222
Calibração logística de um classificador linear
A calibração logística tem uma forma particularmente simples para o classificador linear básico,
que tem w = µ ⊕ - µ ⊖ . Segue que
d

-d

=
w·(µ⊕-µ⊖)
|| w ||
=
|| µ ⊕ - µ ⊖ || 2
|| µ ⊕ - µ ⊖ ||
= || µ ⊕
-µ⊖
||
e daí γ = || µ ⊕ - µ ⊖ || / σ 2
. Além disso, d 0 = 0 como ( µ ⊕ + µ ⊖ ) / 2 já está
no limite de decisão. Então, neste caso, a calibração logística não move o
limite de decisão, e apenas ajusta a inclinação do sigmóide de acordo com
a separação das classes. A Figura 7.12 ilustra isso para alguns dados amostrados
de duas distribuições normais com a mesma matriz de covariância diagonal.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
290/291

Page 291
6. Modelos Lineares
6.4 Obtendo probabilidades de classificadores lineares
Figura 7.12, p.223
Calibração logística de um classificador linear
A superfície mostra as estimativas de probabilidade sigmoidal resultantes da calibração logística
do classificador linear básico em dados aleatórios satisfazendo os pressupostos da logística
calibração.
cs.bris.ac.uk/ flach / mlbook /
Aprendizado de Máquina: Fazendo sentido de dados
291/291

Anda mungkin juga menyukai