Aprendizado de Máquina


Se você acompanha notícias de tecnologia provavelmente já ouviu falar do termo Aprendizado de Máquina (Machine Learning) e os avanços que esta área da computação está passando. Porém, caso nunca tenha escutado sobre o assunto, aqui estão alguns exemplos dos avanços feitos em diferentes áreas: Diagnosticar doenças automáticas; Reconhecimento de rostos; Fazer código de computadores; Processamento de voz; Reconhecimento de fraudes e até mesmo Exposições de arte.

Diante de tantos avanços tecnológicos, podem ficar algumas dúvidas: o computador realmente aprende como um ser humano? Como funciona o aprendizado de máquina? Quão difícil é fazer um sistema de aprendizado de máquina? Vamos tentar responder nesse post todas essas questões.

O que é Machine Learning?

Machine Learning, ou aprendizado de máquina, é uma área da inteligência artificial na qual o computador consegue reconhecer padrões a partir de um grupo de dados. Em outras palavras, ela permite ao computador classificar um novo dado após analisar dados anteriores.

Por exemplo, possuímos uma tabela com dados de diversas pessoas com as seguintes informações: peso, altura e sexo. Ao recebermos um dado novo com apenas com peso e altura, o computador é capaz com o aprendizado de máquina classificar o sexo dessa nova pessoa como homem ou mulher a partir dos dados da tabela existente.

Machine Learning é um conceito bem antigo, porém tem se popularizado recentemente devido à grande quantidade de dados que temos gerado. Com isto, ela tem ganhando novas aplicações em diversas áreas da economia.

Como funciona?

Essa é a principal pergunta que muitos se fazem… Afinal, como ensinamos o computador? Existem várias técnicas diferentes de aprendizado de máquina (redes neurais, deep learning, árvore de decisão, SVM, entre outras). Algumas são bem confusas e complexas, porém, todas funcionam analisando dados entregues ao computador e os classificando. Como não queremos nos aprofundar neste post, vamos apresentar um modo simples de classificação desses dados.

Dado que temos a tabela abaixo com peso, altura e sexo de várias pessoas, podemos a representar o seguinte gráfico:

Analisando este gráfico, percebemos que há uma pequena diferença no posicionamento de pessoas do sexo masculino e feminino, permitindo criar uma linha que separe as duas classes de dados:

Caso tenhamos um novo dado cujo o peso é 82 e a altura é 1.78, podemos marcá-lo no grafico e classificá-lo conforme o hemisfério que estiver. Nesse caso seria no sexo feminino:

É exatamente essa tarefa que o computador faz utilizando cálculos matemáticos. Porém, nem sempre os dados são tão simples. Algumas vezes, as tabelas têm inúmeras colunas, o que acaba gerando um gráfico com diversas dimensões. Em outros casos, os dados não são separados por uma linha reta, obrigando cálculos bem mais complexos para determinar as classes de dados. Vamos ver como seria a separação da tabela no exemplo abaixo:

Código

Agora que já sabe como funciona a teoria, você pode estar querendo implementar seu próprio sistema de Machine Learning. Bem, vamos com calma, como disse existem várias técnicas para isto, alguns com cálculos e teorias muito difíceis. Não se preocupe, vamos te dar uma ajuda! A seguir, temos um pequeno código de sistema de classificação usando um algoritmo chamado SVM. Esse código está escrito em Python e pode ser executado em seu computador. Bom divertimento!

Não consegue entender o código em Python? Não se preocupe, temos um curso para te ajudar a conhecer mais sobre esse assunto. Maiores detalhes aqui.