Introdução a Aprendizado de Máquina

Gravatar publicou em

Ciência de Dados

De maio a agosto de 2014, estagiei na Infosimples e tive a oportunidade de estudar o curso de Introdução à Inteligência Artificial oferecido pelos professores Sebastian Thrun e Peter Norvig, disponível na Udacity. Abrangendo uma grande variedade de assuntos, suas aulas sobre aprendizado de máquina são sem dúvida as mais empolgantes. Esse artigo de três partes busca repassar alguns dos conhecimentos adquiridos e demonstrar algumas aplicações de técnicas de aprendizado de máquina apresentadas no curso.

Inteligência Artificial e Aprendizado de Máquina

Presentes atualmente em diversos campos de atuação, programas de inteligência artificial vêm apresentando avanços surpreendentes nos últimos anos e são cada vez mais parte do dia-a-dia. Seja na medicina, robótica, internet ou até mesmo na área de finanças, podem ser identificados diversos exemplos de programas que utilizam inteligência artificial para realizar o trabalho adequadamente. Além de grandes marcos como o computador Deep Blue da IBM, que em 1997 derrotou o então campeão mundial de xadrez Garry Kasparov, até o recém anunciado carro que dispensa motorista pelo Google, há milhares de outras aplicações para técnicas dessa área.

Um agente inteligente, como podem ser chamados esses programas, é capaz de interagir com o ambiente e, a partir das informações recebidas, determinar qual ação deve ser realizada a seguir. Construir um bom programa de inteligência artificial está diretamente relacionado a encontrar a melhor função que mapeie os diversos dados de entrada com os de saída.

Na grande maioria dos casos, o agente trabalha com espaços em que não há uma maneira eficiente de se programar manualmente uma função que lide com todos os casos possíveis, seja porque o ambiente em que atua não é discreto, por possuir uma certa aleatoriedade ou por não ser possível observá-lo completamente.   

Diante de problemas como esse, a utilização de aprendizado de máquina em aplicações de inteligência artificial muitas vezes destaca-se pela eficiência nos resultados e por permitir que se cubra um grande número de estados sem ser necessário programar individualmente cada um deles. Essas aplicações passam por um período de "aprendizado", em que recebem as informações necessárias para determinar como devem se comportar em situações futuras.

As aplicações de aprendizado de máquina podem ser divididas em três categorias: 

Aprendizado supervisionado é utilizado quando se conhece o modelo que o programa deve seguir e a partir dele generaliza-se de modo a conseguir aplicá-lo a qualquer entrada. Um exemplo é a classificação de e-mails como spam: a partir de alguns spams como referência, determina-se uma função que procura por certas características em um e-mail qualquer e verifica a probabilidade de se tratar de um spam.

Já em aprendizado não supervisionado, não há conhecimento adequado de como os dados se comportam, e são utilizados algoritmos que tentam organizá-los de modo a classificá-los. Procura-se um certo padrão que consiga descrever um comportamento aproximado dos dados recebidos.

Por fim, em aprendizado por reforço realiza-se um feedback sobre os resultados obtidos, atribuindo pontuações positivas a resultados considerados corretos e penalizando os incorretos. Diante dessa pontuação, o agente consegue ajustar seu comportamento de modo a buscar o melhor resultado.

Nas próximas partes desse artigo, planeja-se demonstrar duas aplicações simples de aprendizado de máquina, uma de aprendizado supervisionado e outra de aprendizado por reforço.

Segmentação de Strings com Aprendizado de Máquina

Inteligência Artificial para Jogo da Velha





Leia mais sobre: