APACHE MAHOUT PARTE DOIS

MAHOUT – APRENDIZADO DE MÁQUINA NA ERA DO BIG DATA

#  Agrupamento ou Clustering
#  Clustering no Mahout
#  Algoritmo k-Means
#  Algoritmo k-Means no Mahout

Clustering

Agrupamento ou Clustering

#  Mecanismo de aprendizagem não supervisionado
#  Tem como objetivo identificar padrões ocultos por meio da procura de dados similares
#  Não há classes pré-determinadas

Medida de distância

#  Determina como a similaridade de dois elementos em uma base de dados é calculadas
#  São fundamentais para a organização dos elementos, seja para retira-los ou inseri-los em um grupo

Exemplos:

#  Distância Euclidiana
#  Distância de Manhattan
#  Similaridade do Cosseno
#  ou outra medida que for definida!

Onde o Clustering é aplicado?

Nos negócios

#  Segmentação de mercado
#  Identificação de fraude
#  Posicionamento de produto

Na Biologia / Medicina

#  Processamento de imagens médicas
#  Agrupamento de genes

Astronomia

#  Identificação de objetos

Recuperação de informações:

#  Google news
#  Análise de redes sociais
#  Engines de pesquisa

Clustering pode ser dividido em duas categoria

Primeira – Hard Clustering – um objeto pode pertencer a somente um grupo (cluster). Exemplo: K-Means

Segunda – Soft Clustering – O mesmo objeto pode pertencer a mais de um grupo. Exemplo: Fuzzy K-Means

..e ainda pode ser dividido em:

Patrocinado – Sem estrutura que relaciona os grupos

Hierárquico – Com estrutura entre os grupos, tipicamente uma árvore.

Clustering no Mahout

Os seguintes algoritmos de clustering são oferecidos no Mahout:

#  Canopy Clustering
#  k-Means Clustering
#  Fuzzy k-Means
#  Streaming k-Means
#  Spectral Clustering
#  Latent Dirichlet Allocation

Canopy Clustering

#  Normalmente utilizado como pré-processamento dos algorítimos de clustering hierárquico e k-Means
#  Melhora a velocidade do agrupamento em grandes bases de dados
#  Não calcula a distância de todos os pares
#  Cria-se um conjunto de canopies (regiões) em que cada item de dados é um membro de no mínimo um canopy
#  A combinação de dados é feita com base em k-centers em cada canopy da base de dados

k-Means Clustering

#  Um dos clustering mais utilizados
#  k-means calcula k clusters com respectivos pontos pertencentes a eles dependendo do qual perto cada ponto está do centróide
#  O algorítimo busca minimizar a distância entre os pontos pertencentes ao mesmo grupo

Fuzzy k-Means

#  Algorítimo de clustering de sobreposição
#  Considerado uma extensão do k-means
#  Método estatístico que descobre grupos onde um ponto em particular pode pertencer a mais de um grupo de acordo com uma probabilidade
#  A similaridade é proporcional a distância do ponto até o centroide
#  Processamento é mais rápido que o k-Means

Streaming k-Means

#  Dados são lidos sequencialmente , armazenando poucos pontos de dados na memória
#  Algorítimo possui 2 etapas

Etapa 1Streaming – Algorítimos aleatório que passa por todo o conjunto de dados e produz a quantidade de centroides determinados como ótimos

Etapa 2BallKMeans – Produz os k grupos finais e remove potenciais outliers

Spectral Clustering

#  Algorítimo muito utilizado para segmentação de imagens
#  Pontos de dados são tratados como um grafo
#  Tem como foco identificar a conectividade entre os dados diferente do k-Means que visa a compatibilidade

Latent Dirichlet Allocation

#  Poderoso algorítimo para agrupamento automático de palavras em “tópicos” e documentos em “mix de tópicos
#  Documentos são apresentados por “bag of words
#  A modelagem do tópico é um modelo Bayesiano hierárquico que associa para cada documento uma probabilidade para cada tópico
#  O objetivo é identificar o que é cada tópico, em quais documentos são encontrados e em qual proporção.

Vamos detalhar mais o algorítimo k-Means

#  Está entre os melhores algorítimos de clustering (– C4.5, K-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART)
#  Algoritmo de clustering particionado
#  Aperfeiçoamento interativo
#  Utiliza a noção de centroide
#  Utiliza tipicamente a distância Euclidiana

Como podemos utiliza-lo?

#  Escolha k pontos na base de dados, chame-os de centroids
#  Para cada ponto não selecionado atribua-o ao seu centroide mais próximo
#  Enquanto não atingir o critério de parada:
#  Recalcule o centroide de cada cluster
#  Retribua todos os pontos ao centroide mais próximo
#  Atualize os grupos (clusters)

Selecione os centroides e grupos

kmeans1

Recalcule os centroides

kmeans2

Ajuste os grupos de acordo com os novos centroides

kmeans3

Reajuste novamente os centroides e grupos

kmeans4

Reajuste novamente os centroides e grupos (Final)

kmeans5

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s