Machine learning ou aprendizado de máquina é um ramo da Inteligência Artificial e, como tal, é um campo da ciência que tenta criar modelos para tomar decisões melhores ou mais rápidas. Especificamente, os algoritmos de aprendizado de máquina fazem isso analisando dados e adaptando-se a eles. À medida que o modelo se adapta, ele se torna, idealmente, mais preciso nas suas previsões.
Ok, mas como isso é útil?
Os casos mais úteis de aprendizado de máquina são casos em que é muito difícil formular um algoritmo para resolver o problema. Um exemplo é a classificação de objetos em imagens. Imagine tentar criar um algoritmo para classificar os grãos de café como podres ou saudáveis, a cor é importante, mas também é como os grãos podem estar orientados na foto, a que distância eles estão da câmera (pois isso afetaria seu tamanho na imagem) e muitos outros fatores. Isso pode se tornar uma tarefa quase impossível.
Mas como nós, humanos, podemos fazer isso sem nem pensar? Temos todas essas regras e padrões em nossas mentes que foram aprendidos. E é exatamente isso que os modelos de aprendizado de máquina farão. Essencialmente, todos os aspectos relevantes dos dados (chamados de features), serão utilizados pelo modelo de forma que ele tente “entender” o efeito deles no resultado esperado.
Como você pode imaginar, a primeira coisa a descobrir é a pergunta que está sendo feita. Isso é um problema de previsão ou classificação? Em que estou interessado? Estou interessado em saber um número, por exemplo, a temperatura para amanhã na minha cidade ou quero saber se os grãos de café em uma imagem estão estragados ou bons para consumo?
Uma vez formulada a questão, deve haver a garantia de que os dados em mãos são confiáveis, limpos e suficientes para a precisão necessária do modelo. À medida que a complexidade do problema aumenta, também aumenta o tamanho da amostra de treinamento necessário. Algoritmos também não são inteligentes como humanos (ainda), então eles geralmente precisam de MUITO dado para entender e generalizar bem. Muito mais que um humano precisaria.
Os métodos de aprendizagem
Os algoritmos de aprendizado de máquina têm 4 tipos de métodos de aprendizado: aprendizado supervisionado (supervised), não supervisionado (unsupervised), semissupervisionado (semi-supervised) e por reforço (reinforcement learning).
Aprendizado supervisionado (supervised)
O modelo usa dados rotulados para aprender. O que isso significa é que: algo (geralmente um ser humano) tem que dizer ao modelo o que é o quê nos exemplos da amostra de treinamento/teste. Este método de aprendizado geralmente oferece melhor precisão do que o método não supervisionado, mas como ele tem o requisito de que os dados precisam ser rotulados, o processo de coleta de dados pode ser inviável. Os alvos deste tipo de modelos são classes ou valores numéricos. Os casos de uso são muito amplos e os modelos podem ser usados teoricamente para qualquer coisa que seja dividida em classes ou seja medida como um número.
Aprendizado não supervisionado (unsupervised)
Nesse método de aprendizado, o modelo aprende com dados não rotulados, o que significa que ele tenta identificar semelhanças com os dados fornecidos. Embora esse método de aprendizado produza resultados menos confiáveis do que os supervisionados, eles aproveitam o fato de que dados não rotulados são muito mais fáceis de obter. Os alvos desses modelos são associações (entre pontos de dados) ou clusters (grupos). Exemplos de casos de uso são perfis de clientes de marketing (agrupamento) para comportamento semelhante e itens de compra relacionados (associação).
Aprendizado semissupervisionado (semi-supervised)
Este método é uma mistura dos dois, parte dos dados é rotulada, mas a maioria não é. Pode ser útil se houver muitos dados não rotulados e dados rotulados suficientes para tirar algumas conclusões sobre os dados não rotulados. Os dados rotulados são usados para ajustar um modelo para prever os rótulos dos dados não rotulados. Então, um modelo supervisionado pode aprender usando os dados totais.
Aprendizado por reforço (reinforcement)
O aprendizado por reforço usa uma abordagem diferente para aprender padrões: um agente realiza diferentes ações em um ambiente e depois avalia se o resultado dessas ações foi bom ou ruim, desta forma, reforça os bons padrões e penaliza os padrões ruins. Situações em que não se pode determinar se uma ação é boa ou ruim são casos de uso desse método. O melhor e mais comum exemplo é um jogo, porque as regras são claras, o objetivo do resultado é claro, mas a qualidade das jogadas nem sempre é clara. Outros exemplos são caminhar (ou voar) do ponto A ao ponto B.
Espero que tenha gostado desse post, sinta-se convidado a comentar e mandar mensagens!