menu icon

Machine Learning

O machine learning se concentra em aplicativos que aprendem com a experiência e melhoram sua tomada de decisão ou precisão preditiva ao longo do tempo.

O que é machine learning?

O machine learning é um ramo da Inteligência Artificial (IA) focado no desenvolvimento de aplicativos que aprendem a partir de dados e melhoram sua precisão ao longo do tempo, sem que precisem ser programados para isso. 

Na ciência de dados, um algoritmo é uma sequência de etapas de processamento estatístico. No machine learning, os algoritmos são "treinados" para encontrar padrões e recursos em grandes quantias de dados, a fim de tomar decisões e previsões com base em novos dados. Quanto melhor for o algoritmo, mais precisas serão as decisões e previsões à medida que ele processa mais dados.

Atualmente, há vários exemplos de machine learning ao nosso redor. Assistentes digitais fazem buscas na web e tocam música em resposta aos nossos comandos de voz. Os sites recomendam produtos, filmes e músicas com base no que compramos, assistimos ou ouvimos anteriormente. Os robôs aspiram nosso chão enquanto nós fazemos... algo melhor com o nosso tempo. Os detectores de spam impedem que e-mails indesejados cheguem às nossas caixas de entrada. Os sistemas de análise de imagens médicas ajudam os médicos a localizar tumores que talvez tenham passado despercebidos. E os primeiros carros autônomos já estão pegando a estrada.

Podemos esperar mais. Conforme o big data fica cada vez maior, a computação se torna mais potente e acessível e os cientistas de dados continuam desenvolvendo algoritmos mais capazes, o machine learning proporcionará uma eficiência cada vez maior em nossas vidas pessoais e profissionais. 

Como o machine learning funciona

Existem quatro etapas básicas para o desenvolvimento de um aplicativo (ou modelo) de machine learning. Normalmente, elas são realizadas por cientistas de dados que trabalham em conjunto com os profissionais de negócios para os quais o modelo está sendo desenvolvido.

Etapa 1: Selecionar e preparar um conjunto de dados de treinamento

Os dados de treinamento são um conjunto de dados representativo dos dados que o modelo de machine learning consumirá para solucionar o problema que ele foi projetado para resolver. Em alguns casos, os dados de treinamento são dados rotulados , "marcados" para chamar recursos e classificações que o modelo precisa identificar. Outros dados não são rotulados, e o modelo precisará extrair esses recursos e atribuir classificações por conta própria.

Em ambos os casos, os dados de treinamento precisam ser preparados adequadamente, randomizados, deduplicados e verificados quanto a desequilíbrios ou propensões que possam impactar o treinamento. Eles também precisam ser divididos em dois subconjuntos: o subconjunto de treinamento , que será usado para treinar o aplicativo, e o subconjunto de avaliação, usado para testá-lo e refiná-lo.

Etapa 2: Escolher  um algoritmo para ser executado no conjunto de dados de treinamento

Novamente, um algoritmo é um conjunto de etapas de processamento estatístico. O tipo de algoritmo depende do tipo (rotulado ou não rotulado), da quantia de dados no conjunto de dados de treinamento e do tipo de problema a ser resolvido.

Tipos comuns de algoritmos de machine learning para uso com dados rotulados incluem o seguinte:

  • Algoritmos de regressão: regressão linear e logística são exemplos de algoritmos de regressão usados para entender as relações nos dados. A regressão linear é usada para prever o valor de uma variável dependente com base no valor de uma variável independente. A regressão logística pode ser usada quando a variável dependente é binária por natureza: A ou B. Por exemplo, um algoritmo de regressão linear pode ser treinado para prever as vendas anuais de um vendedor (a variável dependente) com base em sua relação com a formação ou com os anos de experiência do vendedor (as variáveis independentes). Outro tipo de algoritmo de regressão chamado de Support Vector Machine é útil quando as variáveis dependentes são mais difíceis de classificar.
  • Árvores de decisão: as árvores de decisão usam dados classificados para fazer recomendações com base em um conjunto de regras de decisão. Por exemplo, uma árvore de decisão que recomenda apostar em um determinado cavalo na modalidade vencedor, colocação ou mostrar poderia usar dados sobre o cavalo (por exemplo, idade, percentual de vitórias, pedigree) e aplicar regras a esses fatores para recomendar uma ação ou decisão.
  • Algoritmos com base em instância: um bom exemplo de algoritmo com base em instância é o K-Nearest Neighbor ou k-nn. Ele usa a classificação para estimar a probabilidade de um ponto de dados ser membro de um ou outro grupo com base em sua proximidade de outros pontos de dados.

Os algoritmos para uso com dados não rotulados incluem o seguinte:

  • Algoritmos de clustering: pense em clusters como grupos. O armazenamento em cluster se concentra na identificação de grupos de registros semelhantes e na rotulagem dos registros de acordo com o grupo ao qual pertencem. Isso é feito sem conhecimento prévio sobre os grupos e suas características. Tipos de algoritmos de armazenamento em cluster incluem K-médias, TwoStep e Kohonen.
  • Algoritmos de associação: os algoritmos de associação encontram padrões e relações nos dados e identificam os relacionamentos 'if-then' frequentes denominados como regras de associação. Elas são semelhantes às regras usadas na mineração de dados.
  • Redes neurais: a rede neural é um algoritmo que define uma rede em camadas de cálculos apresentando uma camada de entrada, em que os dados são ingeridos, pelo menos uma camada oculta, na qual os cálculos são realizados tirando conclusões diferentes sobre a entrada, e uma camada de saída, na qual cada conclusão é atribuída a uma probabilidade. Uma rede neural profunda define uma rede com várias camadas ocultas, cada uma das quais refinando sucessivamente os resultados da camada anterior. (Para obter informações adicionais, consulte a seção “Deep learning” a seguir.)

Etapa 3: Treinando o algoritmo para criar o modelo

Treinar o algoritmo é um processo iterativo, envolve a execução de variáveis por meio do algoritmo, comparando a saída com os resultados que deveriam ter sido produzidos, ajustando pesos e propensões dentro do algoritmo que possam produzir um resultado mais preciso, e executando as variáveis novamente até que o algoritmo retorne o resultado correto na maioria das vezes. O algoritmo treinado e apurado resultante é o modelo de machine learning, uma distinção importante a ser observada, porque "algoritmo" e "modelo" são usados indevidamente como sinônimos, mesmo por peritos em machine learning.

Etapa 4: Usar e aprimorar o modelo 

A etapa final é usar o modelo com novos dados e, na melhor das hipóteses, aprimorar sua precisão e eficácia ao longo do tempo. A origem dos novos dados dependerá do problema a ser resolvido. Por exemplo, um modelo de machine learning projetado para identificar spam consumirá mensagens de e-mail, enquanto um modelo que aciona um robô aspirador de pó consumirá dados resultantes da interação no mundo real com móveis deslocados ou novos objetos na sala.

Métodos de machine learning

Os métodos de machine learning (também chamados de estilos de machine learning) se enquadram em três categorias principais.

Para uma análise detalhada das diferenças entre essas abordagens, consulte"Aprendizado supervisionado versus não supervisionado: qual é a diferença?"

Machine learning supervisionado             

O machine learning supervisionado se treina em um conjunto de dados rotulados . Ou seja, os dados são rotulados com informações que o modelo de machine learning está sendo criado para determinar, e que podem até ser classificados da forma como o modelo deve classificar os dados. Por exemplo, um modelo de visão por computador projetado para identificar cães pastor alemão de raça pura pode ser treinado em um conjunto de dados rotulados com várias imagens de cães.

O machine learning supervisionado requer menos dados de treinamento do que outros métodos e torna o treinamento mais fácil porque os resultados do modelo podem ser comparados aos resultados rotulados reais. Porém, dados rotulados corretamente são caros de preparar, e há o perigo de sobreajuste ou de criação de um modelo tão intimamente vinculado e com propensão aos dados de treinamento que é incapaz de lidar com as variações dos novos dados com precisão.

Saiba mais sobre o aprendizado supervisionado.   

Machine learning não supervisionado

O machine learning não supervisionado consome dados não rotulados, em grandes quantidades, e usa algoritmos para extrair recursos significativos necessários para rotular, organizar e classificar os dados em tempo real, sem intervenção humana. O aprendizado não supervisionado tem menos a ver com automatizar decisões e previsões, e mais com identificar padrões e relações em dados que os humanos deixariam passar. Pegue a detecção de spam como exemplo: as pessoas geram mais e-mails do que uma equipe de cientistas de dados jamais poderia esperar rotular ou classificar em suas vidas. Um algoritmo de aprendizado não supervisionado consegue analisar grandes volumes de e-mails e descobrir os recursos e padrões que indicam spam (e melhora cada vez mais na sinalização de spam ao longo do tempo).

Saiba mais sobre o aprendizado não supervisionado.

Aprendizado semi-supervisionado 

O aprendizado semi-supervisionado oferece um bom meio-termo entre o aprendizado supervisionado e o não supervisionado. Durante o treinamento, ele usa um conjunto menor de dados rotulados para orientar a classificação e a extração de recursos de um conjunto maior de dados não rotulados. O aprendizado semi-supervisionado pode resolver o problema de não haver dados rotulados suficientes (ou não ser capaz de rotular dados suficientes) para o treinamento de um algoritmo de aprendizado supervisionado. 

Machine learning de reforço

O machine learning de reforço é um modelo comportamental semelhante ao aprendizado supervisionado, mas o algoritmo não é treinado usando dados de amostra. Este modelo aprende à medida que avança por meio de tentativa e erro. Uma sequência de resultados bem-sucedidos será reforçada para desenvolver a melhor recomendação ou política para um determinado problema.

O sistema IBM Watson® que venceu o desafioJeopardy!em 2011 é um bom exemplo. O sistemausou aprendizado por reforçopara decidir se tentava uma resposta (ou pergunta, por assim dizer), qual quadrado selecionar no tabuleiro e quanto apostar, especialmente nos "Daily doubles".

Saiba mais sobre o aprendizado de reforço.     

Deep learning

O deep learning é um subconjunto do machine learning (todo deep learning é machine learning, mas nem todo machine learning é deep learning). Os algoritmos de deep learning definem uma rede neural artificial projetada para aprender da mesma maneira que o cérebro humano. Os modelos de deep learning requerem grandes quantias de dados que passam por várias camadas de cálculos, aplicando pesos e propensões em cada camada sucessiva para ajustar e melhorar continuamente os resultados.

Os modelos de deep learning normalmente são não supervisionados ou semi-supervisionados. Modelos de aprendizagem de reforço também podem ser modelos de deep learning. Certos tipos de modelos de deep learning, incluindo as redes neurais convolucionais (CNNs) e as redes neurais recorrentes (RNNs), estão impulsionando o progresso em áreas como visão por computador, processamento de linguagem natural (incluindo reconhecimento de fala) e carros autônomos. 

Veja o post do blog “ IA versus machine learning versus Deep Learning versus redes neurais: qual é a diferença entre eles?”, para obter uma análise mais detalhada de como os diferentes conceitos se relacionam.

Saiba mais sobre deep learning.                                                               

Casos de uso de machine learning do mundo real

Conforme observado no início, o machine learning está em toda parte. Aqui estão apenas alguns exemplos de machine learning que talvez você encontre todos os dias:

  • Assistentes digitais: Siri da Apple, Alexa da Amazon, Google Assistant e outros assistentes digitais são movidos por processamento de linguagem natural (PNL), um aplicativo de machine learning que permite que os computadores processem texto e dados de voz e "entendam" a linguagem humana da mesma maneira que as pessoas. O processamento de linguagem natural também impulsiona aplicativos orientados por voz, como GPS e software de reconhecimento de voz (conversão de voz para texto).
  • Recomendações: os modelos de deep learning geram os tipos de recomendações como "as pessoas também gostaram" e "só para você" oferecidas pela Amazon, Netflix, Spotify e outros serviços de varejo, entretenimento, viagens, busca de emprego e notícias.
  • Publicidade on-line contextual: os modelos de machine learning e deep learning conseguem avaliar o conteúdo de uma página da web, não apenas o tópico, mas nuances como a opinião ou atitude do autor, e veicular anúncios personalizados de acordo com os interesses do visitante.
  • Robôs de chat: os robôs de chat podem usar uma combinação de reconhecimento de padrões, processamento de linguagem natural e redes neurais profundas para interpretar textos de entrada e fornecer respostas adequadas.
  • Detecção de fraude: os modelos de regressão e classificação de machine learning substituíram os sistemas de detecção de fraude com base em regras, que apresentam um alto número de falsos positivos ao sinalizar o uso de cartão de crédito roubado e raramente são bem-sucedidos na detecção do uso criminoso de dados financeiros roubados ou comprometidos.
  • Segurança cibernética: o machine learning pode extrair inteligência de relatórios de incidentes, alertas, postagens de blog e mais para identificar ameaças potenciais, aconselhar analistas de segurança e acelerar a resposta.
  • Análise de imagens médicas: os tipos e o volume de dados de imagens médicas digitais dispararam, trazendo mais informações disponíveis para apoiar diagnósticos, mas também mais oportunidades de erro humano na leitura dos dados. As redes neurais convolucionais (CNNs), as redes neurais recorrentes (RNNs) e outros modelos de deep learning têm se mostrado cada vez mais bem-sucedidos na extração de recursos e informações de imagens médicas para ajudar a dar suporte a diagnósticos precisos.
  • Carros autônomos: os carros autônomos exigem um tour de force de machine learning, eles precisam identificar continuamente os objetos no ambiente ao redor do carro, prever como eles mudarão ou se moverão e guiar o carro ao redor dos objetos, bem como na direção de destino do motorista. Praticamente todas as formas de algoritmos de machine learning e de deep learning mencionados acima desempenham algum papel na condução automática de um automóvel autônomo.

Machine learning e IBM Cloud

IBM Watson Machine Learning oferece suporte ao ciclo de vida do machine learning de ponta a ponta. Ele está disponível em uma variedade de ofertas que permitem criar modelos de machine learning onde quer que seus dados estejam e implementá-los em qualquer lugar em seu ambiente de multicloud híbrida. 

IBM Watson Machine Learning on IBM Cloud Pak for Data ajuda as equipes de ciência de dados corporativos e de IA a acelerar o desenvolvimento e a implementação de IA em qualquer lugar, em dados nativos de cloud e plataforma de IA. IBM Watson Machine Learning Cloud, um serviço gerenciado no ambiente da IBM Cloud, é a maneira mais rápida de migrar modelos de experimentação da área de trabalho para a implementação de cargas de trabalho de produção. Para equipes menores que buscam ajustar a escala de implementações de machine learning, o IBM Watson Machine Learning Server oferece uma instalação simples em qualquer cloud privada ou pública.

Para começar a usar, cadastre-se para obter um IBMid e crie a sua conta IBM Cloud.