quinta-feira, 10 de dezembro de 2015

Aprendizado de Máquina - Top 10 algoritmos



FONTE: http://www.kdnuggets.com (este site é incrível)

Esta é um série de posts sobre os seguintes algoritmos:

  • C4.5
  •  k-means
  • Support vector machines
  • Apriori
  • EM
  • PageRank
  • AdaBoost
  • kNN
  • Naive Bayes
  • CART


1. C4.5

O que ele faz?   Constrói um classificador em forma de arvore de decisão.  Para isto é dado ao C4.5 um conjunto de dados já classificados (com classe conhecida).

Mas, o que é um classificador? Um classificador é uma ferramenta de mineração de dados (ou data mining em inglês), que possuí várias informações representando o que nós queremos classificar e tenta predizer a que classe pertence um novo dado. 

Um exemplo: Suponha um conjunto de dados contendo um grupo de pacientes. Nós conhecemos várias coisas sobre cada paciente, como idade, pressão sanguínea, histórico familiar, etc. Estas coisas são os atributos.

Agora, dados estes atributos, nós queremos predizer se o paciente irá ter câncer. O paciente pode estar em uma das duas classes: terá câncer ou não terá câncer. C4.5 irá nos dizer a classe de cada paciente.

Então nós temos o seguinte: Usando um conjunto de atributos de pacientes e as classes correspondentes destes pacientes, o C4.5 constrói uma arvore de decisão que pode predizer as classes para novos pacientes baseados neste atributos.

Mas o que é uma arvore de decisão? A árvore de decisão cria algo similar a um fluxograma para classificar novos dados. Usando o exemplo do paciente, um caminho do fluxograma poderia ser:
  • O paciente tem um histórico de câncer
  • O paciente está expressando um gene altamente correlacionado com casos de câncer em outros pacientes
  • O paciente tem tumores
  • O tamanho do tumor é maior que 5cm.
Cada passo do fluxograma é uma questão sobre o valor de algum atributo. O paciente será classificado de acordo com estes valores.


Ele é supervisionado ou não supervisionado? Este é um algoritmo de aprendizado supervisionado, dado que o conjunto de treinamento tem as classes conhecidas. Por exemplo, no caso do paciente, mostrado acima, o C4.5 não aprende por conta própria se um paciente terá câncer ou não. Nós dizemos a ele em uma primeira fase, então ele gera uma árvore de decisão, e agora ele usa esta arvore de decisão para classificar.

Quais as diferenças do C4.5 e outras árvores de decisão? 
  • Primeiro, C4.5 usa ganho de informação quando gera uma árvore de decisão
  • Segundo, embora outros algoritmos usem o processo de poda, o C4.5 usa um processo de poda única para evitar o sobre ajuste. 
  • Terceiro, C4.5 pode trabalhar com dados contínuos ou discretos. 
  • Por último, dados incompletos são tratados de maneira própria.
Porque usar o C4.5? O ponto forte deste algoritmo é que ele é muito fácil de ser interpretado e explicado. Ele também é rápido, popular e tem uma saída legível para humanos.



2. k-means


O que ele faz? O k-médias cria k grupos de um conjunto de objetos, de modo que os membros de um grupo são mais similares entre si. Esta é uma técnica de clusterização popular para explorar um conjunto de dados.

O que é uma análise de cluster?  É uma família de algoritmos desenhados para formar grupos de modo que os membros do grupo sejam mais similares entre si do que com os membros que não estão neste grupo. Clusters e grupos são sinônimos no mundo de análises de clusters.

Por exemplo: Suponha que tenhamos um conjunto de pacientes. Em análise de cluster, eles podem ser chamados de observações. Nós sabemos várias coisas sobre cada paciente, como idade, pulso, pressão sanguínea, colesterol, etc. Este é um vetor representando o paciente. 

Agora: Você pode pensar que um vetor é uma lista de números que nós conhecemos sobre o paciente. Esta lista pode ser interpretada como coordenadas em um espaço multidimensional. Pulso pode ser uma dimensão, pressão sanguínea outra dimensão e assim por diante.

Algumas perguntas: Dados estes vetores de atributos, como podemos clusterizar os pacientes que tem idade similar, pulso, pressão sanguínea, etc?

Você diz quantos grupos quer (o k). E o k-médias cuida do resto!

Como ele cuida do resto?  Existem muitas variações para otimizar tipos de dados específicos. 

Pode ser resumido da seguinte da seguinte maneira:

  1. São colocados k-pontos no espaço multidimensional, representando cada um dos k-clusters. Eles são chamados de centróides.
  2. Cada paciente ser colocado perto de um dos k-centróides. Espera-se que nem todos estejam mais próximos do mesmo centróide, assim eles irão formar um cluster perto do centróide mais próximo.
  3.  Temos k-clusters, e cada paciente é agora membro de um cluster.
  4. k-médias então encontra o centro para cada um dos k-clusters baseado nos membros do cluster (cada centróide é recalculado com base nos membros de cada grupo). 
  5. Este centro é agora o novo centróide
  6. Dado que o centróide agora está em um lugar diferente, os pacientes agora podem estar mais próximos de outros centróides. Em outras palavras, eles podem mudar de cluster.  
  7. Os passos de 2 a 6 são repetidos até que os centróides não mudem, e os membros dos clusters estabilizem-se. Isto é chamado convergência.
Este é um algoritmo supervisionado ou não-supervisionado? Depende. Mas na maioria das vezes o classificador k-médias é não-supervisionado. 
Em algumas abordagens é possível que o k-médias calcule o número k. É possível também que ele seja semi-supervisionado.

Porque usar o k-médias? É simples! Esta simplicidade permite que ele geralmente seja mais rápido e mais eficiente do que outros algoritmos, especialmente em grandes conjuntos de dados.  Além disso o k-medias pode ser usado para pré-clusterizar um grande conjunto de dados, seguido de uma análise mais profunda dos sub-clusters.  E o k-medias pode também ser usado para rapidamente escolher um k e esplorar se existe relação ou padrões no conjunto de dados. 

Mas: o k-médias é sensível a outliers e a escolha inicial dos centróides (o k).  Além disso, o k-médias foi feito para operar com dados contínuos, são necessários ajustes para trabalhar com dados discretos.

CONTINUA...

Nenhum comentário:

Postar um comentário