Os 10 Algoritmos de Aprendizagem de Máquina que os engenheiros precisam conhecer

Não há dúvida de que o sub-campo da aprendizagem mecânica/inteligência artificial ganhou cada vez mais popularidade nos últimos dois anos. Como Big Data é a tendência mais quente na indústria de tecnologia neste momento, a aprendizagem de máquinas é incrivelmente poderosa para fazer previsões ou sugestões calculadas com base em grandes quantidades de dados. Alguns dos exemplos mais comuns de aprendizagem de máquinas são os algoritmos da Netflix para fazer sugestões de filmes com base em filmes que você viu no passado ou algoritmos da Amazon que recomendam livros com base em livros que você comprou antes.

Então, se você quiser saber mais sobre o aprendizado da máquina, como você começa? Para mim, a minha primeira introdução é quando fui a uma aula de Inteligência Artificial quando estudava em Copenhague. Meu professor é professor de Matemática Aplicada e CS da Universidade Técnica da Dinamarca, onde suas áreas de pesquisa são lógicas e artificiais, focalizando principalmente no uso da lógica para modelar planejamento, raciocínio e resolução de problemas humanos. A classe foi uma mistura de discussão de conceitos teoria/núcleo e resolução prática de problemas. O livro de texto que usamos é um dos clássicos AI: Inteligência Artificial de Peter Norvig – Uma Abordagem Moderna, na qual cobrimos tópicos importantes, incluindo agentes inteligentes, resolução de problemas por pesquisa, busca contraditória, teoria da probabilidade, sistemas multi-agente, AI social, filosofia/ética/futuro da AI. No final da aula, em uma equipe de 3, implementamos agentes simples baseados em pesquisa resolvendo tarefas de transporte em um ambiente virtual como um projeto de programação.

Aprendi uma tremenda quantidade de conhecimento graças a essa classe e decidi continuar aprendendo sobre esse tópico especializado. Nas últimas semanas, tenho tido várias conversas técnicas em San Francisco sobre aprendizado profundo, redes neurais, arquitetura de dados – e uma conferência de Aprendizado de máquinas com muitos profissionais bem conhecidos no campo. Mais importante, eu me inscrevi no curso on-line de introdução ao aprendizado de máquina da Udacity no início de junho e acabei de concluí-lo alguns dias atrás. Nesta publicação, quero compartilhar alguns dos algoritmos de aprendizado de máquinas mais comuns que aprendi do curso.

Os algoritmos de aprendizagem de máquinas podem ser divididos em 3 categorias amplas: aprendizagem supervisionada, aprendizado sem supervisão e aprendizado de reforço. A aprendizagem supervisionada é útil nos casos em que uma propriedade (rótulo) está disponível para um determinado conjunto de dados (conjunto de treinamento), mas está faltando e precisa ser previsto para outras instâncias. A aprendizagem não supervisionada é útil nos casos em que o desafio é descobrir relações implícitas em um determinado conjunto de dados não marcados (os itens não são pré-atribuídos). O aprendizado de reforço cai entre esses 2 extremos – há alguma forma de feedback disponível para cada passo ou ação preditiva, mas sem rótulo preciso ou mensagem de erro. Uma vez que esta é uma classe de introdução, não aprendi sobre a aprendizagem de reforço, mas espero que 10 algoritmos de aprendizagem supervisionada e não supervisionada sejam suficientes para mantê-lo interessado.

Aprendizagem supervisionada

1.Árvores de decisão: Uma árvore de decisão é uma ferramenta de suporte à decisão que usa um gráfico ou modelo de decisões em árvore e suas possíveis conseqüências, incluindo resultados do evento casual, custos de recursos e utilidade. Dê uma olhada na imagem para ter uma idéia de como ela é.

Árvore de decisão

De um ponto de vista de decisão de negócios, uma árvore de decisão é o número mínimo de perguntas sim/não que um tem que perguntar, para avaliar a probabilidade de fazer uma decisão correta, a maior parte do tempo. Como método, permite abordar o problema de forma estruturada e sistemática para chegar a uma conclusão lógica.

2. Classificação Naïve Bayes: Os classificadores Naïve Bayes são uma família de simples classificadores probabilísticos baseados na aplicação do teorema de Bayes com forte (naïve) independência suposições entre os recursos. A imagem em destaque é a equação – com P(A|B) é a probabilidade posterior, P(B|A) é probabilidade, P(A) é a probabilidade anterior da classe, e P(B) é preditor de probabilidade anterior.

Alguns exemplos do mundo real são:
– Marcar um e-mail como spam ou não spam
– Classificar um artigo de notícias sobre tecnologia, política ou esporte
– Verificar um pedaço de texto que expresse emoções positivas ou emoções negativas?
– Usado para software de reconhecimento de rosto.

3. Regime de mínimos quadrados comuns: se você conhece estatísticas, provavelmente já ouviu falar de regressão linear antes. Os mínimos quadrados são um método para realizar a regressão linear. Você pode pensar em regressão linear como a tarefa de ajustar uma linha reta através de um conjunto de pontos. Existem várias estratégias possíveis para fazer isso, e a estratégia “mínimos quadrados comuns” é assim: você pode desenhar uma linha e, em seguida, para cada um dos pontos de dados, medir a distância vertical entre o ponto e a linha, e adicioná-los ; a linha ajustada seria aquela em que essa soma de distâncias seja tão pequena quanto possível.

Linear refere-se ao tipo de modelo que você está usando para ajustar os dados, enquanto os mínimos quadrados se referem ao tipo de métrica de erro em que você está minimizando.

4. Regressão logística: a regressão logística é uma poderosa maneira estatística de modelar um resultado binomial com uma ou mais variáveis explicativas. Ele mede a relação entre a variável categórica dependente e uma ou mais variáveis independentes estimando probabilidades usando uma função logística, que é a distribuição logística cumulativa.

Em geral, as regressões podem ser usadas em aplicações do mundo real, tais como:
– Pontuação de crédito
– Medindo as taxas de sucesso das campanhas de marketing
– Previsão das receitas de um determinado produto
– Haverá um terremoto em um determinado dia?

5. Suporte de máquinas de vetores: o SMV é um algoritmo de classificação binária. Dado um conjunto de pontos de 2 tipos no lugar N dimensional, SMV gera um hiperlane dimensional (N-1) para separar esses pontos em 2 grupos. Digamos que você tenha alguns pontos de 2 tipos em um papel que são linearmente separáveis. O SMV encontrará uma linha recta que separa esses pontos em 2 tipos e está localizada o mais longe possível de todos esses pontos.

Em termos de escala, alguns dos maiores problemas que foram resolvidos usando SMVs (com implementações adequadamente modificadas) são exibições publicitárias, reconhecimento de site de splice humano, detecção de gênero baseada em imagem, classificação de imagem em larga escala…

6. Métodos do Ensemble: os métodos do Ensemble são algoritmos de aprendizado que constroem um conjunto de classificadores e depois classificam novos pontos de dados tomando um voto ponderado de suas previsões. O método de conjunto original é a média Bayesiana, mas os algoritmos mais recentes incluem correção de erros, codificação de saída, empacotamento e aumento.

Então, como funcionam os métodos de conjunto e por que eles são superiores aos modelos individuais?
– Diminuem os seus preconceitos: se você fizer uma série de pesquisas policiais democráticas e de pesquisas republicanas, você terá uma média de algo que não está inclinando-se de qualquer maneira.
– Reduzem a variância: a opinião agregada de um monte de modelos é menos barulhenta do que a opinião única de um dos modelos. Em finanças, isso é chamado de diversificação – um portfólio misto de muitas ações será muito menos variável do que apenas uma das ações isoladas. É por isso que seus modelos serão melhores com mais pontos de dados do que menos.

– É improvável que se ajustem excessivamente: se você possui modelos individuais que não se encaixam e você está combinando as previsões de cada modelo de forma simples (média, média ponderada, regressão logística), então não há espaço para excesso de ajuste.
Aprendizagem não supervisionada

7. Agregação de Algoritmos: Agregação é a tarefa de agrupar um conjunto de objetos, de modo que os objetos no mesmo grupo (cluster) sejam mais parecidos entre si que aqueles em outros grupos.

Todo algoritmo de agrupamento é diferente, e aqui estão alguns deles:
– Algoritmos baseados em Centroid
– Algoritmos baseados em conectividade
– Algoritmos baseados em densidade
– Probabilística
– Redução de Dimensionalidade
– Redes Neurais/Aprendizagem Profunda

8. Análise de Componentes Principais: ACP é um procedimento estatístico que usa uma transformação ortogonal para converter um conjunto de observações de variáveis possivelmente correlacionadas em um conjunto de valores de variáveis linearmente não correlacionadas chamadas componentes principais.

Algumas das aplicações do ACP incluem compressão, simplificando dados para facilitar a aprendizagem, a visualização. Observe que o conhecimento do domínio é muito importante ao escolher se deseja prosseguir com o ACP ou não. Não é adequado nos casos em que os dados são ruidosos (todos os componentes do ACP têm uma variação bastante alta).

9. Decomposição de valores singulares: na álgebra linear, DVS é uma factorização de uma matriz complexa real. Para uma dada m * n matriz M, existe uma decomposição tal que M = UΣV, onde U e V são matrizes unitárias e Σ é uma matriz diagonal.

O ACP é realmente uma simples aplicação de DVS. Na visão por computador, os primeiros algoritmos de reconhecimento de face usaram ACP e DVS para representar faces como uma combinação linear de “eigenfaces”, fazer redução de dimensionalidade e, em seguida, combinar faces para identidades através de métodos simples; embora os métodos modernos sejam muito mais sofisticados, muitos ainda dependem de técnicas similares.

10. Análise de Componentes Independentes: ACI é uma técnica estatística para revelar fatores ocultos que estão subjacentes a conjuntos de variáveis, medidas ou sinais aleatórios. A ACI define um modelo generativo para os dados multivariados observados, que normalmente é dado como um grande banco de dados de amostras. No modelo, as variáveis de dados são assumidas como misturas lineares de algumas variáveis latentes desconhecidas, e o sistema de mistura também é desconhecido. As variáveis latentes são assumidas não gaussianas e mutuamente independentes, e são chamadas de componentes independentes dos dados observados.

O ACI está relacionado ao ACP, mas é uma técnica muito mais poderosa que é capaz de encontrar os fatores subjacentes das fontes quando esses métodos clássicos falham completamente. Suas aplicações incluem imagens digitais, bancos de dados de documentos, indicadores econômicos e medidas psicométricas.

Agora vá adiante e exerça a sua compreensão de algoritmos para criar aplicações de aprendizagem de máquinas que melhorem as experiências de pessoas em todos os lugares, use o material como referencia e compartilhe os 10 Algorítimos de Aprendizagem de Maquina que devemos conhecer melhor !

Autorizado por : James Le – http://www.linkedin.com/in/khanhnamle94

Fonte: http://www.kdnuggets.com/2016/08/10-algorithms-machine-learning-engineers.html