Técnicas e Algoritmos de Machine Learning: quais tipos de problemas podem ser resolvidos usando Machine Learning

Este artigo é o primeiro de uma série de postagens nas quais discutirei o assunto de Inteligência Artificial e Machine Learning. Neste post falaremos sobre alguns algoritmos usados ​​no Machine Learning. AVISO: Post com alto conteúdo técnico

Introdução O tema Machine Learning é um tópico de grande interesse na agenda atual devido aos rápidos avanços que teve nos últimos anos, principalmente com técnicas conhecidas atualmente como Deep Learning. Hoje, todos os principais players do mercado oferecem soluções de Machine Learning, em alguns casos com soluções de alto nível já empacotadas e em outros com funções de nível inferior. Grandes provedores de computação em nuvem (Google, Amazon, Microsoft, IBM, entre outros; além de Alibaba, Baidu e Tencent, na China.) possuem soluções na nuvem, mas soluções que funcionam em dispositivos móveis também estão aparecendo (tanto da Apple quanto do Google). Embora com toda essa oferta de serviços de aprendizado de máquina seja possível desenvolver uma solução sem ter que conhecer profundamente a tecnologia, é sempre bom ter um certo nível de conhecimento para entender o que está acontecendo quando usamos esses serviços. A ideia desta nota é contar que tipo de problemas podem ser resolvidos usando o Machine Learning, seja no campo da automação, produção ou identificação.

Definições Para começar, precisamos definir três conceitos que são amplamente usados ​​e, às vezes, misturados, confusos ou usados ​​de forma intercambiável: Artificial Intelligence, Machine Learning e Deep Learning. Por um lado, Inteligência Artificial refere-se à inteligência que as máquinas podem exibir. Não se refere a nenhuma técnica específica. É o conceito mais amplo que abrange todos os outros. O Machine Learning, sobre o qual falaremos neste post, é dedicado a dar aos computadores a capacidade de aprender sem precisar programá-los especificamente para a tarefa que eles farão. Por fim, o Deep Learning é basicamente o Machine Learning usando um tipo de rede neural chamada Deep Neural Networks, com muitos dados. Essa tecnologia é o que levou a grandes avanços nos últimos anos.

Tipos de problemas de Machine Learning e seus algoritmos

Os tipos de problemas que podem ser resolvidos aplicando Machine Learning são basicamente de duas classes:

  • Supervised Learning ou aprendizado supervisado
  • Unsupervised Learning o aprendizado não supervisado
  • Reinforcement Learning o aprendizado por reforço 

É um Supervised Learning quando o que temos é um conjunto de dados e sabemos a resposta correta para esses dados. O que não sabemos é como obter os dados para a resposta. No caso de Unsupervised Learning, o que temos é um conjunto de dados e o que procuramos é extrair informações dele, mas sem que ninguém diga ao algoritmo o que esperamos encontrar.

Poderíamos dizer que esses são os extremos; pode haver nuances em que conhecemos parte dos valores esperados e, nesse caso, teríamos um Partially Supervised Learning, mas nos concentraremos nas principais categorias.

Aprendizado supervisionado Na categoria Aprendizado supervisionado, temos dois tipos de problemas: Regression e Classification. Regression é quando queremos prever um resultado que varia em um intervalo contínuo. Por exemplo, dada a foto de uma pessoa, determine sua idade. Outro exemplo pode ser dado às características de uma casa que está à venda, prevendo qual é o preço de venda correto. Classification é prever resultados discretos. Por exemplo, dado um paciente com um tumor, determine se o tumor é maligno ou não. Outro problema que se enquadra nessa categoria é, por exemplo, a imagem de um número de um dígito manuscrito, identificando qual é o dígito.

Aprendizado não supervisionado Com o Unsupervised Learning, procuramos identificar estruturas nos dados. Como não temos a resposta conhecida para cada caso, é necessário que o algoritmo procure os relacionamentos entre as variáveis ​​envolvidas. Um exemplo disso pode ser visualizado assim: dado um conjunto de genes, encontre uma maneira de agrupá-los de acordo com as relações entre eles.

Uma das técnicas de aprendizado não supervisionado usadas é o Clustering, onde o algoritmo agrupa os valores de entrada de acordo com determinados critérios. Por exemplo, isso pode ser usado para sugerir produtos relacionados em um site ou aplicativo de vendas de produtos. Nesse caso, os clusters podem ser produtos relacionados, usados ​​para sugerir ao usuário que eles estão visualizando ou comprando um determinado produto. Outra técnica que pode ser usada é a Anomaly Detection, onde o algoritmo aprende com os dados de treinamento quais são os valores “normais” de certos parâmetros e, após o treinamento, pode indicar se algum elemento está fora dos limites normais. Esse tipo de algoritmo pode ser usado, por exemplo, para detectar possíveis fraudes no uso de cartões de crédito ou para detectar operações anormais em determinadas máquinas.

Por último Reinforcement Learning: 

Aprendizado por reforço é aprender o que fazer – como atribuir ações a situações – para maximizar um sinal de recompensa numérico. O aluno não é informado sobre quais ações executar, como na maioria das formas de aprendizado automático, mas deve descobrir quais ações produzem a maior recompensa ao testá-las. O aprendizado por reforço é diferente do aprendizado supervisionado. Aprendizado supervisionado é aprender com exemplos fornecidos por um supervisor externo especialista. Em problemas interativos, muitas vezes é impraticável obter exemplos do comportamento desejado corretos e representativos de todas as situações em que o agente precisa agir. Em território desconhecido, onde se espera que a aprendizagem seja mais benéfica, um agente deve ser capaz de aprender com sua própria experiência.

Atualmente, o aprendizado por reforço é tão conhecido porque é o principal algoritmo usado para resolver diferentes jogos e, às vezes, alcançar um desempenho sobre-humano. Os mais famosos devem ser AlphaGo e AlphaGo Zero. O AlphaGo, treinado em inúmeros jogos humanos, já alcançou desempenho sobre-humano usando a rede de valor e o Monte Carlo Tree Search (MCTS) em sua rede de políticas. No entanto, mais tarde, os pesquisadores pensaram e testaram uma abordagem mais pura de aprendizado por reforço: treinamento a partir do zero. Os investigadores permitem que o novo agente, o AlphaGo Zero, jogue sozinho e, eventualmente, derrote o AlphaGo 100-0.

Este artigo examinou primeiro alguns dos algoritmos usados ​​no Machine Learning, explicando as características de cada um e dando exemplos de seus casos de uso.

Em um post futuro, veremos quais problemas já foram resolvidos com o Machine Learning, e também mais adiante explicarei o que estamos fazendo em GeneXus para facilitar sua integração em nossas aplicações.

2 thoughts on “Técnicas e Algoritmos de Machine Learning: quais tipos de problemas podem ser resolvidos usando Machine Learning

Deixe uma resposta

%d blogueiros gostam disto: