10 Algoritmos de Machine Learning que você precisa conhecer!
18 de dezembro de 2018

Os algoritmos de machine learning são considerados um aliado poderoso para fazer previsões ou sugestões calculadas com base em grandes volumes de dados que impactam nos resultados do negócio.

Não há dúvida que a Inteligência Artificial (apreendizado de máquina) está conquistando cada vez mais popularidade nos últimos nos anos, afinal tomar decisões baseada em dados com uso de plataformas de Big Data é uma estratégia eficiente já adotada por grandes players da indústria, varejo, financeiro, saúde e telecomunicações para aprimorar a eficiência comercial.

Como funcionam os algoritmos de machine learning?

Os algoritmos de Machine Learning podem ser divididos em 3 categorias: aprendizagem supervisionada, aprendizagem não supervisionada e aprendizado por 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). Ou seja, os dados de entradas e saídas são vetores conhecidos, por consequência, o algoritmo define como uma forma de prever o rótulo de saída com base na entrada das informações declaradas.

Sobretudo úteis para descobrir relacionamentos implícidos em análises não-rótulados (onde os itens não são pré-atribuídos), os algoritmos de aprendizado não supervisionados identificam semelhanças nos dados e reagem com base na presença ou ausência de tais semelhanças em cada novo dado.

Em contra partida o aprendizado de reforço está entre estes dois extremos, pois existe alguma forma de feedback disponível para cada passo ou ação preditiva, mas sem etiqueta precisa ou mensagem de erro. Existem três componentes principais: o agente, o ambiente e a forma de interação entes estes dois.

De certo um dos exemplos mais comuns de algoritmos de ML são os da Netflix, que fazem sugestões de filmes baseados naqueles que você assistiu no passado. E os da Amazon, que recomendam livros com base nos que você comprou anteriormente.

Apesar de existirem vários livros no tema, o livro clássico sobre machine learning “A Modern Approach”, de Peter Norvig, merece destaque por revelar tópicos importantes como: agentes inteligentes, solução de problemas por busca, pesquisa adversarial, teoria de probrobabilidade, sistemas multiagentes, IA social, filosofia, ética e o futuro da IA.

Com o fim de o introduzir no universo da machine learning apresentamos os 10 algoritmos que você precisa conhecer de aprendizagem supervisionada e não supervisionada.

Algoritmos de machine learning de aprendizagem supervisionada:

1. Árvores de Decisão.

Certamente utilizada em algoritmos de machine learning para técnicas de classificação e para regressão, uma árvore de decisão é uma ferramenta que utiliza um gráfico ou modelo de decisões e suas possíveis consequências, incluindo resultados de eventos fortuitos, custos de recursos e utilidade.

Assim como um fluxograma a árvore de decisão cria nós – decision nodes- que se ligam através de uma hierarquia, onde o nó mais valoroso é o nós raiz – root node – e os resultados apresentados são os nós folhas – leaf nodes.

Em suma o nó raiz é um dos atributos da base de dados e o nó folha é a classe ou valor que será gerado como resposta.

Certamente do ponto de vista da decisão de negócios, em um algortimo de machine learning uma árvore de decisão é o número mínimo de perguntas que devem ser respondidas para avaliar a probabilidade de tomar uma decisão correta. Como um método, ele permite abordar o problema de uma 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 classificadores probabilísticos simples com base na aplicação Bayes – teorema com forte independência entre as características.

Por consequência o algoritmo é muito utilizado para resolver problemas de classificação probabilística. Visto que ele prevê a probabilidade de uma hipótese com um conhecimento prévio dependendo a probabilidade condicional.

Seguindo a equação – em que P (A| B) é a probabilidade posterior, P (B|A) é a probabilidade, P (A) é a probabilidade prévia e P (B) é preditor de probabilidade prévia.

 Alguns exemplos reais de suas aplicabilidades no dia a dia são:

  • Para marcar um e-mail como spam ou não spam.
  • Classificar um artigo de notícias sobre tecnologia, política ou esportes com base na frequência das palavras.
  • Verificar um pedaço de texto expressando emoções positivas ou negativas.
  • Usado para software de reconhecimento facial.
  • Regularmente utilizado no processamento de linguagem neural em diagnósticos médicos

3. Regressão Linear de Mínimos Quadrados.

Se você conhece estatísticas, provavelmente já ouviu falar de regressão linear antes. Linear Least Squares é um método para a realização de regressão linear, que usa de um conjunto estatístico incluindo variantes para resíduos ordinários (não ponderados), ponderados e generalizados (correlacionados).

Você pode pensar em regressão linear como a tarefa de encaixar uma linha reta através de um conjunto de pontos.

Posto que existem várias estratégias possíveis para isso, e a de “mínimos quadrados comuns”, se desenha uma linha e, em seguida, para cada um dos pontos de dados, mede a distância vertical entre o ponto e a linha e os soma. A linha ajustada seria aquela em que esta soma de distâncias é a menor possível.

Em suma linear se refere ao tipo de modelo que está sendo usado para ajustar os dados, enquanto mínimos quadrados refere-se ao tipo de métrica de erro que está sendo minimizado.

4. Regressão logística.

A regressão logística é uma poderosa forma estatística de modelar um resultado binomial com uma ou mais variáveis explicativas. Ela mede a relação entre a variável dependente categórica e uma ou mais variáveis independentes, estimando as 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 reais, tais como:

  • Pontuação de crédito.
  • Medir as taxas de sucesso das campanhas de marketing.
  • Prever as receitas de um determinado produto.
  • Haverá um terremoto em um determinado dia?

5. Support Vector Machine.

SVM – é um algoritmo binário usado para classificação, regressão e detecção de outliers muito utilizado com sucesso para reconhecimento de imagens, diagnósticos médicos e análises de textos.

O objetivo do algoritmo da máquina de vetores de suporte é encontrar um hiperplano em um espaço N-dimensional (N – o número de recursos) que classifica distintamente os pontos de dados.

Dado um conjunto de pontos de 2 tipos em lugar N dimensional, SVM gera um hiperplano (N – 1) dimensional para separar esses pontos em 2 grupos. Digamos que você tem alguns pontos de 2 tipos em um papel que são linearmente separáveis. SVM encontrará uma linha reta que separa esses pontos em 2 tipos e situados o mais longe possível de todos esses pontos.

Em termos de escala, alguns dos maiores problemas que foram resolvidos usando SVMs (com implementações adequadamente modificadas) são publicidades em display, reconhecimento de site de splice humano, detecção de gênero baseada em imagem, classificação de imagem em grande escala etc.

6. Ensemble Methods.

São algoritmos de aprendizagem que constroem um conjunto de classificadores e, em seguida, classificam novos pontos de dados, tendo um ponderado voto de suas previsões.

O método de conjunto original é a média bayesiana, mas os algoritmos mais recentes incluem codificação de saída, correção de erros, bagging e reforço.

Então, como funcionam os métodos de conjunto e por que eles são superiores aos modelos individuais?

  • Eles 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 diversificação – uma carteira mista de muitas ações será muito menos variável do que apenas um dos estoques sozinho. É por isso que seus modelos serão melhores com mais pontos de dados do que menos.
  • É improvável que eles se sobrepõem: se você tem modelos individuais que não se sobrepõem e está combinando as previsões de cada modelo de uma maneira simples (média, média ponderada, regressão logística), então não há espaço para sobrecarga.

Algoritmos de machine learning que você precisa conhecer de aprendizagem sem supervisão:

7. Algoritmos de Agrupamento (Clustering).

 O agrupamento  é a tarefa de agrupar um conjunto de objetos de tal forma que os do mesmo grupo (cluster) são mais semelhantes uns aos outros do que aqueles em outros grupos. Com isto é possível descobrir semelhanças e desigualdades entre os padrões dos cluters e consequentemente produzir conclusões úteis ao seu respeito.

Cada algoritmo de agrupamento é diferente, e aqui estão alguns deles:

  • Baseados em Centroid, conectividade e densidade.
  • Probabilístico.
  • Redução da Dimensionalidade.
  • Redes Neurais / Aprendizagem Profunda.

8. Decomposição em valores singulares.

A decomposição de valores singulares ajuda a reduzir conjuntos de dados contendo muitos valores. Na álgebra linear, a SVD é uma fatoração de uma matriz complexa real, na qual para uma dada matriz m* n M, existe uma decomposição tal que M = UΣV, onde U e V são matrizes unitárias e Σ é uma matriz diagonal.

PCA – based anomaly detector- resolve o problema analisando os recursos disponíveis para determinar o que constitui uma classe “normal”. O módulo então aplica métricas de distância para identificar casos que representam anomalias. Essa abordagem permite treinar um modelo usando dados desequilibrados existentes.

Na visão computacional, os algoritmos de reconhecimento de primeira face usaram PCA e SVD para representar faces como uma combinação linear de “eigenfaces”, fazer redução de dimensionalidade e, em seguida, corresponder faces a identidades através de métodos simples. Embora os métodos modernos sejam muito mais sofisticados, muitos ainda dependem de técnicas semelhantes.

9. Análise de Componentes Principais.

PCA é 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 PCA incluem compressão, simplificação de dados para facilitar o aprendizado e visualização. Observe que o conhecimento do domínio é muito importante ao escolher se deseja avançar com PCA ou não. Não é adequado nos casos em que os dados são ruidosos (todos os componentes da PCA têm uma variação bastante alta).

10. Análise de componentes independentes.

ICA é uma técnica estatística para revelar fatores ocultos que estão subjacentes a conjuntos de variáveis aleatórias, medições ou sinais.

Em resumo ICA 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 consideradas não-gaussianas e mutuamente independentes, e são chamadas de componentes independentes dos dados observados.    

A ICA está relacionada ao PCA, mas é uma técnica muito mais poderosa, 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 medições psicométricas. Agora siga em frente e use sua compreensão de algoritmos para criar aplicações de aprendizagem de máquina que possibilitam melhores experiências para as pessoas em todos os lugares.

Quer saber mais sobre data Science, mergulhar no ecossistema de big data?

Fique atento aos cursos gratuitos da Semantix Academy.

Cursos: Big Data Foundations, Data Administration, Data Science, Big Data Business, Big Data Engineer entre outros.

Inicie sua jornada de dados com a Semantix Data Platform!

6 Comentários

  1. Lucas Massotti

    Olá. Sou o Lucas Massotti.
    Olhei esse artigo (httpssssss://semantix.com.br/blog/10-algoritmos-de-machine-learning-que-voce-precisa-conhecer/) e achei muito bom. Gostaria da ajuda de vocês para as seguintes duvidas.

    Gostaria de saber de vocês qual algoritmo de Machine Learning vocês recomendam para trabalhar com previsões baseados em dados da bolsa de valores.

    Gostaria de saber de vocês qual solução é melhor quando se fala em analise e previsão de preços na bolsa de valores: Deep Learning ou Machine Learning?

    Responder
    • karina.rodrigues

      Olá Lucas! Agradecemos pelo seu comentário. Seguem as respostas fornecidas pelo Daniel Tyszka – Cientista de Dados na Semantix:
      Resposta 1: Atualmente as técnicas mais utilizadas para análise de séries temporais envolvem deep learning (redes neurais recorrentes), machine learning (ensembles com boosting, usualmente árvores) e estatística (modelos auto regressivos).

      Resposta 2: O tema “previsão de preços na bolsa de valores” tem atuações mais abrangentes do que um algoritmo único. Este tópico requer modelagens muito mais complexas, como modelos hierárquicos/compostos, uso de outras fontes de dados (economia, política, setorial, etc), incorporação de composição de carteira e recursos disponíveis na modelagem, etc.

      Responder
  2. Gilberto Menezes

    Ola, muito boa a publicação da Semantix.
    Trabalhei por algum tempo com BigData e sou entusiasta na area de tecnologia em geral. Uma pequena dúvida e/ou curiosidade me assola quando se trata de “machine learning”, “IA”… etc.:
    Existe algum algoritimo (ou um conjunto deles) que se possa usar de forma eficiente pra previsão em jogos ?
    Ficarei grato se conseguirem elucidar algo à respeito.
    Atenciosamente,
    Gilberto G.M.

    Responder
    • Gilberto Menezes
      • Gilberto Menezes

        Obrigado por responder.

        Responder
  3. Artur Heck

    Boa noite, acabei de ler o artigo sobre 10 Algorítmos de machine learning, muito interessante. Sou novato na área e gostaria de saber se existe algum algorítmo ou sistema de Big Data que possa ser utilizado para previsão de jogos aleatórios, tipo Teoria dos Jogos. Muito obrigado!

    Responder

Enviar um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Enviar Mensagem
Fale com a Semantix pelo WhatsApp!