Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means...
Transcript of Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means...
Aprendizado de Máquinas
Introdução àAprendizado Não-Supervisionado
David Menotti, Ph.D.http://web.inf.ufpr.br/menotti
Universidade Federal do Paraná (UFPR)Departamento de Informática (DInf)
Objetivos
• Introduzir aprendizagem– Não Supervisionada
Aprendizagem Não-Supervisionada
• O que pode ser feito quando se tem um conjunto de exemplos mas não se conhece as categorias envolvidas?
Como classificar esses pontos?
Por que estudar esse tipo de problema?
Aprendizagem Não-Supervisionada
• Primeiramente, coletar e rotular bases de dados pode ser extremamente caro.– Ex: Gravar voz é barato, mas rotular
todo o material gravado é caro.• Segundo, muitas vezes não se tem
conhecimento das classes envolvidas.– Trabalho exploratório nos dados
(ex. Data Mining.)
Aprendizagem Não-Supervisionada
• Pré-classificação:– Suponha que as categorias envolvidas
são conhecidas, mas a base não está rotulada.
– Pode-se utilizar a aprendizagem não-supervisionada para fazer uma pré-classificação, e então treinar um classificador de maneira supervisionada.
Clustering
• É a organização dos objetos similares (em algum aspecto) em grupos.
Quatro grupos (clusters)
Cluster
• Uma coleção de objetos que são similares entre si, e diferentes dos objetos pertencentes a outros clusters.
• Isso requer uma medida de similaridade.
• No exemplo anterior, a similaridade utilizada foi a distância.– Distance-based Clustering
k-Means Clustering
• É a técnica mais simples de aprendizagem não supervisionada.
• Consiste em fixar k centróides (de maneira aleatória), um para cada grupo (clusters).
• Associar cada indivíduo ao seu centróide mais próximo.
• Recalcular os centróides com base nos indivíduos classificados.
k-Means – Um Exemplo
Objetos em um plano 2D
k-Means – Um Exemplo
Passo 1:Centróides inseridos aleatoriamente
k-Means – Um Exemplo
Passo 2: Atribuir a cada objeto o centróide mais próximo
k-Means – Um Exemplo
Passo 3: Recalcular os centróides
k-Means – Um Exemplo
Impacto da inicialização aleatória.
k-Means – Um Exemplo
Impacto da inicialização aleatória
FronteiraDiferente
k-Means – Inicialização
• Importância da inicialização.• Quando se têm noção dos centróides,
pode-se melhorar a convergência do algoritmo.
• Execução do algoritmo várias vezes, permite reduzir impacto da inicialização aleatória.
k-Means – Um Exemplo
4 Centróides
Calculando Distâncias
• Distância Euclidiana
• Manhattan (City Block)
d=∑i=1
n
|x i− y i|
d=√∑i=1
n
(x i− y i )2
x
y
x
y
Calculando Distâncias
• Minkowski – Parâmetro r
• r = 2, distância Euclidiana• r = 1, City Block
d=(∑i=1
n
( x i− y i )r)
1r
Calculando Distâncias
• Mahalanobis– Leva em consideração as variações
estatísticas dos pontos. Por exemplo se x e y são dois pontos da mesma distribuição, com matriz de covariância C, a distância é dada pela equação
– Se a matriz C for uma matriz identidade, essa distância é igual a distância Euclidiana.
d= [( x− y )´C−1( x− y ) ]12
A Importância das Medidas de Distâncias
• Suponha que dois exemplos pertencem ao mesmo cluster se a distância Euclidiana entre eles for menor que d.
• É obvio que a escolha de d é importante.• Se d for muito grande, provavelmente
teremos um único cluster, se for muito pequeno, vários clusters.
A Importância das Medidas de Distâncias
• Nesse caso, estamos definido d e não k.
Critérios de Otimização
• Até agora discutimos somente como medir a similaridade.
• Um outro aspecto importante em clustering é o critério a ser otimizado.
• Considere um conjunto composto de n exemplos, e que deve ser dividido em c sub-conjuntos disjuntos
• Cada sub-conjunto representa um cluster.
D= {x1 , . .. ,xn }
D1 , . .. ,Dc
Critérios de Otimização
• O problema consiste em encontrar os clusters que minimizam/maximizam um dado critério.
• Alguns critérios de otimização:– Soma dos Erros Quadrados.– Critérios de Dispersão
Soma dos Erros Quadrados
• É o mais simples e usado critério de otimização em clustering.
• Seja ni o número de exemplos no cluster Di e seja mi a média desse exemplos
• A soma dos erros quadrados é definida
mi=1ni
∑x∈D i
x
J e=∑i=1
c
∑x∈Di
‖x−mi‖2
Soma dos Erros Quadrados
Adequado nesses casos- Separação natural
Não é muito adequado para dadosmais dispersos.Outliers podem afetar bastante os vetores médios m
Je = grande
Je = pequeno
Je = pequeno
Critérios de Dispersão• Vetor médio do cluster i
• Vetor médio total
• Dispersão do cluster i
• Within-cluster
• Between-cluster
mi=1ni
∑x∈D i
x
m=1n∑D
x
S i=∑x∈Di
( x−mi )( x−mi )t
Sw=∑i= 1
c
Si
S B=∑i=1
c
ni(mi−m)(mi−m)t
Critérios de Dispersão
• Relação Within-Between
Caso ideal
Baixo within (Sw)(boa compactação)
Alto between (Sb)Clusters distantesum do outro.
Critérios de Dispersão
Clusters dispersosAlto within
Baixo between (Sb)Baixa distância entreos clusters.
Caso não ideal
Critérios de Dispersão
• Podemos entender melhor os critérios de dispersão analisando o seguinte exemplo:
Diferentes clusters para c=2 usando diferentes critérios de
otimização
Erro Quadrado
Sw
Relação Sw/Sb
Algumas Aplicações de Clustering
• Marketing: Encontrar grupos de consumidores com comportamento similares
• Biologia: Classificar grupos de plantas e animais.
• Bibliotecas: Organização de livros.• Administração: Organização de cidades,
classificando casas de acordo com suas características.
• WWW: Classificação de conteúdos.
Problemas
• Vetores de característica muito grandes: tempo de processamento elevado.
• Definição da melhor medida de distância: Depende do problema. As vezes é difícil, especialmente quando se trabalha com grandes dimensões.
• O resultado do clustering pode ser interpretado de diferentes maneiras.
k-Means - Simulação
• Um applet java para a simulação do k-Means pode ser encontrado na seguinte URL:
http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/AppletKM.html
http://www.ai-junkie.com/ann/som/som1.html