Mineração de Dados Material extraído do minicurso: “Uma introdução à Mineração de Dados (Data Mining) – com Inteligência Artificial” ministrado pelos docentes: Prof. Dr. Clodoaldo Aparecido de Moraes Lima e Profa. Dra. Sarajane Marques Peres na Segunda Semana de Sistemas de Informação
220
Embed
Mineração de Dados - each.usp.br · Mineração de Dados (Data Mining) ... Obs: Predição com Agrupamento !!! 4 . ma, C. M. Mineração de Dados : interdisciplinaridade 5 (Han
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Mineração de Dados
Material extraído do minicurso: “Uma introdução à
Mineração de Dados (Data Mining) – com Inteligência
Artificial” ministrado pelos docentes: Prof. Dr. Clodoaldo
Aparecido de Moraes Lima e Profa. Dra. Sarajane
Marques Peres na Segunda Semana de Sistemas de
Informação
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Introdução
2
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
A Evolução
3
Sistemas de Gerenciamento
de Dados em Arquivos (1960)
Sistemas de Gerenciamento de Banco de Dados
(SGBD – SQL – OLTP) (1970-1980)
Nova Geração de Sistemas de Informação e Dados Integrados
(Presente e Futuro)
Sistemas de
Gerenciamento de
Banco de Dados
Avançados (OR – OO –
Espacial – Temporal –
Baseado em
Conhecimento ...)
(1980- atual)
Análise de Dados
Avançada (Data
Warehouse, OLAP,
KDD, Data Mining)
(1980- atual)
Sistemas de Banco de
Dados baseados em
Tecnologia WEB (XML –
Integração e
Recuperação da
Informação )
(1990- atual)
Adaptado de Han & Kamber (2006)
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Tarefas de Mineração de Dados
• Mineração de Dados:
– Tarefas Preditivas
• Classificação incluindo Descoberta de Desvios e
Previsão de Séries
• Regressão
– Tarefas Descritivas
• Regras de Associação incluindo Associações
Temporais
• Agrupamentos
• Sumarização
4 Obs: Predição com Agrupamento !!!
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Mineração de Dados : interdisciplinaridade
5
(Han & Kamber, 2006)
Lim
a, C
. M
. A
. M
. &
Pere
s, S
. M
.
A tarefa de Associação
6
Lim
a, C
. M
. A
. M
. &
Pere
s, S
. M
.
Regras de Associação
Padrão Itens frequentes
7
Padrão sequencial Padrão estruturado
frequente (grafo)
S
A
B
Ã
O
A
M
A
C
I
A
N
T
E
S
A
B
Ã
O
A
M
A
C
I
A
N
T
E
pizza
chocolate
Consumo:
caipirinha feijoada laranja
Compra:
carro seguro teclado
mouse
monitor
CPU
Comportamento:
ingresso pipoca
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Regras de Associação
Exemplo (Han & Kamber, 2006)
Como gerente da marca AllElectronics, você gostaria de saber mais sobre os hábitos
de compras de seus clientes. Mais especificamente, você gostaria de saber quais
grupos ou conjuntos de items os clientes geralmente compram em uma visita à sua
loja.
Para responder a essa pergunta é necessário fazer uma análise (de mercado) das
compras realizadas, observando os dados provenientes das transações (compras) dos
clientes na loja.
Você poderia usar os resultados dessa análise para planejar estratégias de marketing,
através de anúncios, projeto de novos catálogos, rearranjo do layout da loja.
Por exemplo, itens que são comprados “juntos” (em uma mesma compra) podem ser
colocados em lugares próximos de forma a encorajar a venda de tais items.
8 Continua ...
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Regras de Associação
Exemplo (Han & Kamber, 2006)
Se clientes que compram computadores também tendem a comprar
antivírus (na mesma compra). Então colocá-los em lugares próximos pode
ajudar a aumentar as vendas dos dois produtos.
Alternativamente, a estratégia pode ser colocá-los em lados opostos da loja
de forma a forçar o cliente andar por toda a loja e, eventualmente, escolher
outros produtos para comprar.
Análise de mercado também pode suportar a decisão sobre quais produtos
colocar em liquidação ou retirar do mercado.
9 Esta seção (teoria sobre Regras de Associação) do
minicurso é baseada no Capítulo 5 de Han & Kamber
(2006).
Fraldas e cervejas:
uma lenda urbana?!?!
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Regras de Associação
• Representação: considere seu universo como sendo o
conjunto de produtos (itens) vendidos na loja.
– A existência ou ausência de cada um desses itens pode ser
representada por uma variável booleana.
– Cada compra pode ser representada por um vetor de variáveis
booleanas, sendo que, de fato, nesta compra (transação) foram
comprados apenas os itens valorados com verdadeiro.
– Analisando esses vetores, é possível descobrir itens que
frequentemente aparecem juntos (estão associados), constituindo um
padrão de comportamento.
– Esse “padrão” pode ser representado por meio de uma regra de
associação.
10
computador antivirus
fralda cerveja
(Han & Kamber, 2006)
antecedente consequente
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Regras de Associação
Formalizando ....
Seja L = {I1, I2, ..., Im} um conjunto de itens.
Seja D, um conjunto de dados relevantes para a tarefa constituído de
transações de banco de dados, onde cada transação T é um conjunto
de itens tal que T L.
Cada transação é associada a um identificador (TID).
Seja A e B subconjuntos de itens.
A transação T contém A se e somente se A T.
Uma regra de associação é uma implicação da
forma A B, onde A L, B L e A B = .
11
(Han & Kamber, 2006)
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Regras de Associação
• Medidas de “interessabilidade”
Suporte = utilidade da regra
Confiança = certeza sobre a regra
O suporte de 2% para a regra acima significa que 2% de todas as transações
analisadas mostram que computadores e antivirus são comprados juntos.
A confiança de 60% da regra acima significa que 60% dos fregueses que
compram um computador também compram um antivirus.
Regras de associação interessantes são aquelas que possuem um suporte
e uma confiança mínimos (de acordo com um limite inferior pré-
– Seja NOT-GAME referente às transações que não contem “computer games”, e
NOT-VIDEO referente às transações que não contém “videos”.
– Se a probabilidade de comprar:
• Um jogo de computador: P({game}) = 0,60
• Um vídeo: P({video}) = 0,75
• Ambos: P({game, video}) = 0,40
– Pela medida de correlação (Lift)
• O lift da regra do slide anterior é P({game, video}) / P({game}) * P({video}) = 0,40 / (0,60 * 0,75) = 0,89.
– Como o valor é menor do que 1, então existe uma correlação negativa entre a
ocorrência de {game} e {video}
40
(Han & Kamber, 2006)
Outras medidas de correlação poderiam
ser usadas. Veja (Han & Kamber, 2006).
Lim
a, C
. M
. A
. M
. &
Pere
s, S
. M
.
WEKA
41
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Sobre o WEKA
• Weka (Waikato Environment for Knowledge Analysis)é uma coleção de algoritmos
de aprendizado de máquina que podem ser usados na implementação de tarefas de
mineração de dados.
• Possui uma interface que permite que os algoritmos seja executados diretamente
sobre o conjunto de dados, ou que eles sejam chamados a partir de algum código
Java.
• Dentre as funcionalidades que podem ser realizadas nestes software, incluem-se: – Pré processamento de dados / Classificação / Regressão / Agrupamento / Regras de Associação /
Visualização
• Weka encontra-se em sua versão 3, e também permite que novos algoritmos sejam
• O que é um vetor de atributos ou características “bom” para uma tarefa de classificação? – A qualidade do vetor de atributos ou características está relacionada com
sua habilidade de discriminar exemplos de diferentes classes • Exemplos da mesma classe deveriam ter valores de atributos ou características
similares
• Exemplos de classes diferentes deveriam ter valores de atributos ou características diferentes
Atributos ou Características
boas
Atributos ou Características
ruins
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
86
Tipos de Problemas de Classificação
Linearmente separável Não-Linearmente separável
Características altamente
correlacionadas Multimodal
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Treinamento e Teste
• O desempenho de um classificador pode ser medido por
meio da taxa de erro:
– A taxa de erro de erro é a proporção de erros obtidos sobre um
conjunto completo de instancias.
– O que interessa é o desempenho do classificador mediante
“novos” dados, e não sobre os dados velhos (usados no
processo de treinamento).
87
O classificador prediz a classe de cada instância; se
ela é correta, é contada como um “sucesso”; se não,
é contada como um “erro”.
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Treinamento, validação e teste
• Frequentemente é útil dividir o conjunto de dados disponíveis em
três partes, para três diferentes propósitos:
– Conjunto de treinamento: usado por um ou mais métodos de
aprendizado para construir o classificador.
– Conjunto de validação: usado para otimizar os parâmetros do
classificador, ou para selecionar um em particular.
– Conjunto de teste: usado para clacular a taxa de erro final do modelo já
otimizado.
88
Uma vez que a taxa de erro foi determinada, os dados de testes podem
se juntar aos dados de treinamento para produzir um novo classificador
para o uso real. Não há problema nisso quando usado apenas como uma
forma de maximizar o classificador que será usado na prática. O que é
importante é que a taxa de erro não seja calculada com base nesse último
classificador gerado. Além disso, o mesmo pode ser feito com os dados
de validação. (Witten & Frank, 2005)
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Análise de desempenho
89
Meu classificador apresentou 25% de taxa de erro (75% de taxa de
acerto). Mas o que isso realmente significa? Quanto posso confiar
nesta medida?
É util determinar a taxa de sucesso com relação a um intervalo de
confiança.
Seja S a contagens de respostas corretas obtidas nos testes do
classificador e N o número de testes realizados, então:
• Se S = 750 e N = 1000, a taxa de sucesso é por volta de 75%. Se
considerarmos 80% de confiança na medida, a taxa de sucesso fica entre
73.2% e 76.7%.
•Se S = 75 e N = 100, a taxa de sucesso é por volta de 75%. Se
considerarmos 80% de confiança na medida, a taxa de sucesso fica entre
69.1% e 80.1%.
?
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Processo de Bernoulli
• Sucessão de eventos independentes que ou obtém sucesso ou falham.
• A média e variância de uma única tentativa Bernoulli com taxa de sucesso
p é p e p(1-p), respectivamente. Se N tentativas são executadas, a taxa de
sucesso esperada f = S/N é uma variável randômica com a mesma média
p; a variância é reduzida pelo fator N para p(1-p)/N. Para grandes N, a
distribuição desta variável randômica aproxima uma distribuição normal.
• A probabilidade de uma variável randômica X, com média 0, ficar entre um
certo intervalo de confiança de largura 2z é Pr[ -z <= X <= z] = c.
• Para uma distribuição normal, valores de c e z são dados em tabelas (a
derivação de tais tabelas não está discutida aqui) apresentadas na
literatura da área de Estatística.
90
(Witten & Frank, 2005)
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
• Pr [ X >= z ] = 5% implica que existe 5% de chance que X estar em mais de 1.65 de
desvio padrão acima da média. Como a distribuição normal é simétrica, a chance de
X estar em mais do que 1.65 de desvio padrão da média (acima ou abaixo) é de
10%, ou Pr [ -1.65 <= X <= 1.65 ] = 90%.
• Então é necessário reduzir a variável f para ter média zero e variância 1, e Pr [ -z <
(f-p)/ sqrt(p(1-p)/N)) < z ] = c.
• Para usar a tabela é necessário subtrair c de 1 e então verificar o resultado, tal que
para c = 90% deve-se usar a entrada de 5% da tabela.
91
Processo de Bernoulli (Witten & Frank, 2005)
Limites de confiança para a distribuição normal
Pr [ X >= z ] z
0.1% 3.09
0.5% 2.58
1% 2.33
5% 1.65
10% 1.28
20% 0.84
40% 0.25
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
• Para encontrar p:
• O +/- na expressão indica os dois valores para p que
representam os limites superior e inferior de confiança.
92
Processo de Bernoulli (Witten & Frank, 2005)
N
z
N
z
N
f
N
fz
N
zfp
2
2
222
1/42
A asserção da distribuição normal é
válida somente para grandes N (por
exemplo, N > 100).
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Matriz de Confusão
• Oferece uma medida da eficácia do modelo de
classificação,mostrando o número de classificações corretas versus
o número de classificação prevista para cada classe.
93
Classe C1 Prevista C2 Prevista Ck Prevista
C1 Real M(C1,C1) M(C1,C2) M(C1,Ck)
C2 Real M(C2,C1) M(C2,C2) M(C2,Ck)
Ck Real M(Ck,C1) M(Ck,C2) M(Ck,Ck)
}:),({
)(),(iCyTyx
jji CxhCCM
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Matriz de Confusão para duas classes
94
TP = True Positive (verdadeiro positivo)
FN = False Negative(falso negativo)
FP = False Positive (falso positivo)
TN = True Negative (verdadeiro negativo)
n = (TP+FN+FP+TN)
Classe prevista C+ prevista C- Taxa de erro
da classe
Taxa de erro
total
real C+ Tp Fn Fn / (Tp + Fn)
(Fp + Fn) / n
real C- Fp Tn Fp/ (Fp + Tn)
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Matriz de Confusão para duas classes
• Outras métricas derivadas da tabela anterior:
95
C+ Predictive Value = Tp / (Tp + Fp)
C- Predictive Value = Tn / (Tn + Fn)
True C+ Rate ou Sesitivity y ou Recall = Tp / (Tp + Fn)
True C- Rate ou Specifity = Tn / (Fp + Tn)
Precision = (Tp + Tn) / n
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Credibilidade: avaliando o que foi aprendido
• É possível avaliar como diferentes métodos de
mineração de dados trabalham e é possível compará-
los.
• É preciso implementar uma forma de predizer os limites
de desempenho de um método, baseado em
experimentos com os dados que estão disponíveis.
– Quando está disponível um grande conjunto de dados a
avaliação pode se basear em um grande conjunto de
treinamento e um grande conjunto de teste.
– Caso contrário, é preciso trabalhar um pouco mais.
96
(Witten & Frank, 2005)
É um trabalho cheio de
controvérsias e discordâncias!!!
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Diferentes formas de avaliação
• Para problemas de classificação, pode-se medir o desempenho de
um classificador com base na taxa de erro.
• Regras de associação são avaliadas com base em medidas de
suporte e confiança.
• Tarefas de predição podem ser avaliadas por medidas tais como:
erro quadrático médio, coeficiente de correlação, etc.
• O princípio MDL (minimun description length) pode ser usado para
avaliar tarefas de agrupamento.
97
Veja mais à frente, nestes slides,
como tais medidas são
aplicadas!
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Avaliação do classificador
• Para estimar o erro verdadeiro de um classificador, a
amostra para teste deve ser aleatoriamente escolhida
• Amostras não devem ser pré-selecionadas de nenhuma
maneira
• Para problemas reais, tem-se uma amostra de uma
única população, de tamanho n, e a tarefa é estimar o
erro verdadeiro para essa população
98
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Métodos para estimar o erro
verdadeiro de um classificador
– Resubstitution
– Random
– Holdout
– r-fold cross-validation
– r-fold stratified cross-validation
– Leave-one-out
– Bootstrap
99
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Resubstitution
• Gera o classificador e testa a sua performance
com o mesmo conjunto de dados
• Os desempenhos computados com este método
são otimistas e tem grande bias
• Desde que o bias da resubstitution foi
descoberto, os métodos de cross-validation são
usados
100
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Holdout
• Estratégia para teste de classificador que reserva um certo montante de
dados para treino e o restante para teste (podendo ainda usar parte para
validação).
• Comumente esta estratégia uma 1/3 dos dados dados para teste e o
restante para treinamento, escolhido randomicamente.
• É interessante assegurar que a amostragem randômica seja feita de tal
maneira que garanta que cada classe é apropriadamente representada
tanto no conjunto de treinamento quanto no conjunto de teste. Este
procedimento é chamado de estratificação (holdout estratificado).
• Também é útil, para amenizar tendências, repetir todo o processo de treino
e teste várias vezes com diferentes amostragens randômicas (holdout
repetitivo/iterativo).
101
(Witten & Frank, 2005)
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Random
• I classificadores, I<<n, são induzidos de cada
conjunto de treinamento
• O erro é a média dos erros dos classificadores
medidos por conjuntos de treinamentos gerados
aleatória e independentemente
• Pode produzir estimativas melhores que o
holdout
102
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Cross Validation
• Trata-se de uma estratégia para lidar com um montante de dados
limitado.
• Nesta estratégia decide-se um numero fixos de folds, ou partições
dos dados. Supondo que sejam usados três folds (3-fold cross
validation):
– o conjunto de dado é dividido em três partições de tamanhos aproximadamente
iguais e, de maneira rotativa, cada uma delas é usada para teste enquanto as
duas restantes são usadas para treinamento.
– ou seja: use 2/3 para treinamento e 1/3 para teste e repita o processo três
vezes, tal que, no fim, cada instância tenha sido usadas exatamente uma vez
para teste.
– se a estratificação é adotada, então o procedimento se chama 3-fold cross
validation estratificado (aconselhável).
– o padrão é executar o 10-fold cross validation, 10 vezes.
– o erro final do classificador é a média dos erros obtidos em cada iteração da
estratégia cross-validation
103
(Witten & Frank, 2005)
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Leave-one-out
• Leave-one-out cross-validation é um n-fold cross-validation, onde n é o
número de instâncias no conjunto de dados.
• A avaliação é sobre a corretude de classificação da instância em teste – um
ou zero para sucesso ou falha, respectivamente.
• Os resultados de todas as n avaliações, uma para cada instância do
conjunto de dados, são analisados via média, e tal média representa o erro
final estimado.
• Motivações:
– o maior número possível de dados é usado para treinamento em cada caso, o
que aumenta as chance do classificador alcançar acuidade.
– o procedimento é determinístico.
• Indicado para conjunto de dados pequenos.
• Não é possível aplicar qualquer procedimento de estratificação.
104
(Witten & Frank, 2005)
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Boostrap
• Baseado em um procedimento estatístico de amostragem com
reposição.
• Uma instância não é retirada do conjunto de dados original quando
ela é escolhida para compor o conjunto de treinamento.
– Ou seja, a mesma instância pode ser selecionada várias vezes durante
o procedimento de amostragem.
• As instâncias do conjunto original que não foram escolhidas para
compor o conjunto de treinamento, comporão o conjunto de teste.
• O 0,632 bootstrap:
– a probabilidade de uma instância ser escolhida é 1/n. E de não ser escolhida é
de 1-(1/n). Multiplicando essas probabilidades de acordo com o número de
oportunidades de escolha (n), tem-se (1 – (1/n))n ~ e-1 = 0,368 como a
probabilidade de uma instância não ser escolhida.
– assim, para um conjunto de dados grande, o conjunto de testes conterá 36,8%
de instâncias e o conjunto de treinamento, 63,2% delas.
105
(Witten & Frank, 2005)
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Boostrap
• A medida de erro obtida é uma estimativa pessimista do erro verdadeiro
porque o conjunto de treinamento, embora tenha tamanho n, contém
somente 63% das instâncias, o que não é grande coisa se comparado com
os 90% usados no 10-fold cross-validation.
• Para compesar isso, pode-se combinar o erro do conjunto de teste com o
erro de resubstituição (estimativa otimista).
• O boostrap combina da seguinte forma: – erro = 0,632 * erro de teste + 0.368 * erro de treinamento
• O procedimento deve ser repetido várias vezes, e uma média de erro final
deve ser encontrada.
106
(Witten & Frank, 2005)
O bootstrap é o procedimento mais
indicado para estimar erro para
conjuntos de dados muito pequenos.
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Comparando métodos
• Encontrar a taxa de erro para as técnicas comparadas e escolher aquela
com a menor taxa é a forma mais simples de comparação e, pode ser
adequada para problemas isolados.
• Se um novo algoritmo é proposto, seus proponentes devem mostrar que
ele melhora o estado da arte para o problema em estudo e demonstrar que
a melhora observada não é apenas um efeito de sorte do processo de
estimativa do erro.
• O objetivo é determinar se um esquema é melhor ou pior do que o outro,
em média, usando todas as possibilidades de conjuntos de treinamento e
de teste que podem ser criados a partir do domínio. Todos os conjuntos de
dados deveriam ser do mesmo tamanho e o experimento deveria ser
executado várias vezes, com diferentes tamanhos, para obter uma curva de
aprendizado.
107
(Witten & Frank, 2005)
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
• t-test ou Student’s test
– seja um conjunto de amostras x1, x2, ..., xk obtidas por sucessivos 10-
fold cross validation, usando um esquema de aprendizado (um dos
métodos sob comparação), e um segundo conjunto de amostras y1, y2,
..., yk obtidos de sucessivos10-fold cross validation usando o outro.
– cada estimativa cross validation é gerada usando um conjunto de
dados diferente (mas de mesmos tamanhos e do mesmo domínio).
– melhores resultados serão obtidos se ambos os esquemas sob
comparação usarem exatamente as mesmas partições dos dados para
x1 e y1, x2 e y2, e assim por diante.
– a média da primeira amostragem é x e a média da segunda é y.
– a pergunta é: x é significativamente diferente de y ?
108
Comparando métodos (Witten & Frank, 2005)
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
– se existem amostras suficientes, a media (x) de um conjunto de amostras
independente (x1, x2, ..., xk) tem uma distribuição normal, independentemente da
distribuição subjacente à amostra em si; o valor verdadeiro de média seria μ, e a
variância poderia ser estimada e poder-se-ia reduzir a distribuição de x para média
zero e variância 1.
– mas k não é grande, k = 10.
– tem-se uma Student’s distribution com k-1 graus de liberdade.
– a tabela de intervalos de confiança da Student’s distribution deveria ser usada ao
invés da tabela de intervalos de confiança da distribuição normal.
– para o caso do 10-fold cross validation, tem-se o 9 graus de liberdade.
109
Comparando métodos (Witten & Frank, 2005)
Limites de confiança para a Student’s distribution com 9 graus de liberdade
Pr [ X >= z] z
0.1% 4.30
0.5% 3.25
1% 2.82
5% 1.83
10% 1.38
20% 0.88
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
– considera-se pois as diferenças di entre observações
correspondentes, di = xi – yi.
– a média das diferenças é a diferença entre as médias, d = x – y,
e como as médias, as diferenças seguem a Student’s
distribution com k-1 graus de liberdade.
– se a média é a mesma, a diferença é zero (hipótese nula); se
elas são significativamente diferentes, a diferença será
significativamente diferente de zero.
– assim, para um dado nível de confiança, checar-se-á se a
diferença excede um limite de confiança.
110
Comparando métodos (Witten & Frank, 2005)
como??
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
• reduza a diferença para média-zero e variância unitária variável
t-statistc, aplicando
t = d / sqrt(σ2d/k)
• onde σ2d é a variância das diferenças.
• decida o nível de confiança – geralmente 5% ou 1%.
• a partir deste limite determine z usando a tabela anterior se k = 10;
• Se o valor de t é maior do que z, ou menor do que –z, a hipótese
nula deve ser rejeitada e conclui-se que há, realmente, uma
diferença significativa entre os dois métodos sob comparação.
111
Comparando métodos (Witten & Frank, 2005)
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Avaliação dos classificadores
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Taxa de Falso Positivo
Taxa d
e V
erd
adeiro P
ositiv
o
E
AC
D
B
• Gráfico ROC com cinco classificadores discretos.
– A é dito um classificador “conservador”, B é o inverso de E, D é
um classificador perfeito e C é dito aleatório.
112
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Avaliação dos classificadores
• Considere as seguintes saídas de um classificador:
• -0,7: TP = 1 FP = 1 ponto (1 ; 1)
• -0,6: TP = 1 FP = 0,5 ponto (0.5 ; 1)
• 0,8: TP = 1 FP = 0 ponto (0 ; 1)
• 0,9: TP = 0,66 FP = 0 ponto (0 ; 0,66)
• 1,0: TP = 0,33 FP = 0 ponto (0 ; 0,33)
z y L (-0.7) L(-0.6) L(0.8) L(0.9) L(1.0) L(>1.0)
-0.7 -1 1 -1 -1 -1 -1 -1
-0.6 -1 1 1 -1 -1 -1 -1
0.8 1 1 1 1 -1 -1 -1
0.9 1 1 1 1 1 -1 -1
1.0 1 1 1 1 1 1 -1
113
Lim
a, C
. M
. A
. M
. &
Pere
s, S
. M
.
Um método para classificação
Máquinas Vetores Suporte
SVM – Support Vector Machine
114
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
115
Máquinas de Vetores Suporte
(SVM – Support Vector Machines)
• Máquinas de Vetores Suporte
– Usa espaço de hipótese de funções lineares no espaço de característica de alta dimensionalidade, treinadas com um algoritmo baseado na teoria de otimização que implementa a teoria de aprendizado estatístico.
• Palavras chaves
– Maquinas de aprendizado Linear
– Funções kernel
• Usado para definir o espaço de característica implícito, no qual a máquina de aprendizado linear opera.
• Responsável pelo uso eficiente do espaço de característica de alta dimensionalidade.
– Teoria de Otimização Representação Compacta
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
116
x
x
x
x
xx
x
x
x
xo
o
oo
oo
(x)
(x)
(x)
(x)
(x)
(x)(x)
(x) (x)
(x)
(o)
(o)
(o)
(o)
(o)
(o)
Dimensão = m Dimensão = M >> m
x
x
x
x
xx
x
x
x
xo
o
oo
oo
(x)
(x)
(x)
(x)
(x)
(x)(x)
(x) (x)
(x)
(o)
(o)
(o)
(o)
(o)
(o)
Dimensão = m Dimensão = M >> m
Mudança de Paradigma
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
117
SVM supera dois problemas
• 1) Problema conceitual – Como controlar a complexidade do conjunto de aproximação.
• Funções em alta dimensão a fim de proporcionar boa capacidade de generalização
• Usar estimadores lineares penalizados com um grande número de funções-base
• 2) Problema Computacional – Como realizar otimização numérica em espaço de alta
dimensão
• Usar uma representação kernel dual de funções lineares
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
118
Há infinitas linhas que têm erro de treinamento zero
Qual delas deveremos escolher?
Classificadores lineares sobre problema
linearmente separável
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
119
– vetores Xi
– rótulos yi = ±1
Hiperplano de separação de
margem ótima (Vapnik)
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
120
)(sign)( bf XwXw
1
1).( by ii Xw
ww
:min
Hiperplano de separação de
margem ótima (Vapnik)
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
121
)(sign by Xw
1)( by ii Xw
ww
:min
Siby ii ,1)( Xw
Si
iii y Xw
– vetores Xi
– rótulos yi = ±1
– Vetores suporte:
Vetores Suporte
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
122
– vetores Xi
– rótulos yi = ±1
– Vetores suporte:
)(sign)( bf XwX
1)( by ii Xw
ww
:min,b
Siby ii ,1)( Xw
Si
iii y Xw )(sign)( byf
Si
iii
XXX
Máquina de Vetores Suporte (SVM)
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
123
– vetores Xi
– rótulos yi = ±1
– Vetores suporte:
(vetores da margem
e vetores de erro)
)(sign by Xw
Siby ii ,1)( Xw
Si
iii y Xw )(sign)( byfSi
iii
XXX
Hiperplano de separação com
margem suave
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
124
x X
)(
)(
)(
xX
xX
ii
),( K ),()()( xxxx ii K
))x,x(()x( bKysignfSi
iii
))()((sign)( byfSi
iii
xxX
)()( xxXX ii
Condição de Mercer
)(sign)( byfSi
iii
XXX
Kernels
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
125
Tipo de Kernel
i. Linear
ii. Polinomial
iii. Função Gaussiana de Base
Radial
iv. Função Exponencial Base
Radial
yxyxK ),(
dyxyxK )1(),(
2
2
2
)(exp),(
yxyxK
v. Tangente
vi. Séries de Fourier
vii. Linear Splines
viii. Bn-splines
22exp),(
yxyxK
))(tanh(),( cyxbyxK
)(
))((),(
2
1
2
1
yxsin
yxNsinyxK
3
2
),max(3
1
),min(2
)(),min(1),(
yx
yxyx
yxxyxyyxK
)(),( 12 yxByxK n
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
126
• Problema Primal
• Sujeito a
N
i
iFC1
2)(
2
1),( ww
Niby iii ,,1,1 xw
Formulação do SVM para
classificação
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
127
Tipo de Perda
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
128
• Problema dual
• Sujeito a
• Fórmula Usual em Otimização
N
i
i
N
i
N
j
jijiji KyyW11 1
),(2
1)(min
xx
NiCi ,,1,0
N
i
ii y1
0
TT cKW 2
1)(min
NiCi ,,1,0
bA
Formulação do SVM para classificação
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
129
0
0
0
0
0
2
1)(
4
3
2
1
432
4
1
1
4
1,
4321
i
ii
ji
ijjiji
ysujeito
hyyL
9111
1911
1191
1119
K
n
i i
iiii yHyf1
4
1
2* ]1).[()125.0(),()( xxxxx
• Problema dual
• Utilizando o kernel polinomial de ordem 2
• Função
1x
2x
y
Exemplo – Ou Exclusivo
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Spider
130
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Instituto Max Planck
131
Lim
a, C
. M
. A
. M
. &
Pere
s, S
. M
.
132
Simulação
• [x,y] = spir(100);
• Ip = find(y==1);
• In = find(y==-1)
• plot(x(Ip,1),x(Ip,2),'r*')
• hold on
• plot(x(In,1),x(In,2),'b*')
• d=data(x,y)
• ker=kernel('rbf',0.4)
• a1=svm({ker,'C=1e4','optimizer="decomp"'})
• [tr2 a2]=train(a1,d)
• plot(a2)
-1 -0.5 0 0.5 1 1.5 2 2.5 3-1
-0.5
0
0.5
1
1.5
2
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
-0.5 0 0.5 1 1.5 2 2.5-0.5
0
0.5
1
1.5
2
Lim
a, C
. M
. A
. M
. &
Pere
s, S
. M
.
133
Simulação
• [x,y] = spir(100);
• Ip = find(y==1);
• In = find(y==-1)
• plot(x(Ip,1),x(Ip,2),'r*')
• hold on
• plot(x(In,1),x(In,2),'b*')
• d=data(x,y)
• ker=kernel('rbf',0.4)
• a1=svm({ker,'C=1e4','optimizer="decomp“,’ty
pe=“use2norm”'})
• [tr2 a2]=train(a1,d)
• plot(a2)
-0.5 0 0.5 1 1.5 2 2.5-0.5
0
0.5
1
1.5
2
-1 -0.5 0 0.5 1 1.5 2 2.5 3-1
-0.5
0
0.5
1
1.5
2
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
Lim
a, C
. M
. A
. M
. &
Pere
s, S
. M
.
134
Simulação
• [x,y] = spir(100);
• Ip = find(y==1);
• In = find(y==-1)
• plot(x(Ip,1),x(Ip,2),'r*')
• hold on
• plot(x(In,1),x(In,2),'b*')
• d=data(x,y)
• ker=kernel('rbf',0.4)
• a1=lssvm({ker,'C=1e4})
• [tr2 a2]=train(a1,d)
• plot(a2)
-0.5 0 0.5 1 1.5 2 2.5-0.5
0
0.5
1
1.5
2
-1 -0.5 0 0.5 1 1.5 2 2.5 3-1
-0.5
0
0.5
1
1.5
2
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
Lim
a, C
. M
. A
. M
. &
Pere
s, S
. M
.
135
Simulação
• [x,y] = spir(50);
• d=data(x,y)
• ker=kernel('rbf',0.4)
• a1=lssvm({ker,'C=1e4’})
• a2=selparam(a1)
• [tr3 a3]=train(a2,d)
-10-5
05
1015
2025
-4
-2
0
2
4
0
0.2
0.4
0.6
0.8
x1
Optimization grid after first iteration
x2
cost
-10 -5 0 5 10 15 20 25-3
-2
-1
0
1
2
3
4Optimization grid after first iteration
Lim
a, C
. M
. A
. M
. &
Pere
s, S
. M
.
136
Simulação
• [x,y] = spir(50);
• d=data(x,y)
• ker=kernel('rbf',0.4)
• a1=lssvm({ker,'C=1e4’})
• a2=selparam(a1)
• [tr3 a3]=train(a2,d)
-4-2
02
46
-2.5
-2
-1.5
-1
-0.5
0
0.2
0.4
0.6
0.8
log(C)
Grid Otimizacao depois da iteracao 2
cost
-4 -3 -2 -1 0 1 2 3 4 5-3
-2.5
-2
-1.5
-1
-0.5Grid Otimizacao depois da iteracao 2
C= 76.0917 = 0.116834
Lim
a, C
. M
. A
. M
. &
Pere
s, S
. M
.
137
Simulação
• [x,y] = spir(50);
• d=data(x,y)
• ker=kernel('rbf',0.116834)
• a1=lssvm({ker,'C=76.0917’})
• [tr2 a2]=train(a1,d)
• plot(a2)
C= 76.0917 = 0.116834
-1 -0.5 0 0.5 1 1.5 2 2.5 3-1
-0.5
0
0.5
1
1.5
2
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Lim
a, C
. M
. A
. M
. &
Pere
s, S
. M
.
A tarefa de Predição
138
Lim
a, C
. M
. A
. M
. &
Pere
s, S
. M
.
Um método para predição
Máquinas Vetores Suporte
SVM – Support Vector Machine
139
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Classificação e Regressão
• Qual é a diferença entre Classificação e
Regressão ?
• Em problemas de Regressão a variável de
saída y assume valores contínuos,
enquanto que em problemas de
classificação y é estritamente categórica.
140
141
• Desenvolvido por Vapnik (1995)
• Modelo: Dado um conjunto de amostras
estimar a função:
• Minimizando
• )(
2
1),(
1
2
l
i
iFCww
Problema de Regressão
bxwxf ))(()(
RyRxyxyx n
ll ,),,(,),,( 11
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
142
• Problema Primal
• Sujeito a
0
0
,,1,)(
,,1,)(
*
*
i
i
iii
iii
Niybxw
Nibxwy
N
i
i
N
i
Cwww1
*
1
* )(2
1),,(
Formulação do SVM para
Regressão
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
143
Funções de penalidade para
regressão
• -insensível
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.50
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
e-Insentive
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.50
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
e-Quadratica
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.50
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
Huber
• -quadrática
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
144
Formulação do SVM para Regressão
NiCi ,,1,0 *
• Problema dual
• Sujeito a
• Fórmula Usual em Otimização
N
i
iii
N
i
iii
N
i
N
j
jijiji yKW1
*
1
*
1 1
** )()())(,()(2
1)(min
xx
NiCi ,,1,0
TT cHW 2
1)(min
NiCi ,,1,0
bA
NiN
i
N
i
ii ,,1,1 1
*
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
Predição - avaliação
• Neste caso erros não são simplesmentes presentes ou
ausentes, e sim de diferentes tamanhos.
• Erro quadrado médio: medida mais usada.
– as vezes a raíz quadrada é usada para trazer a medida para a mesma dimensão
dos valores preditos.
• Erro absoluto médio: alternativa
– ao contrário do erro quadrado médio, não potencializa o efeito dos outliers.
• Erro quadrado relativo:
– toma o erro quadrado total e o normaliza dividindo-o pelo erro quadrado total do
preditor padrão (média dos dados de treinamento).
• Coeficiente de correlação:
– mede a correlação estatísticas entre os valores preditos (p’s) e os valores
esperados (a’s). 1 = correlação perfeita; 0 não há correlação; -1 correlação
perfeita negativa. 145
(Witten & Frank, 2005)
Lim
a, C
. A
. M
. &
Pere
s,
S.
M.
• Exemplo:
146
Predição - avaliação (Witten & Frank, 2005)
Medidas de desempenho para modelos de predição numérica