MACHINE LEARNING
Antes de entender o que é machine learning é necessário entender o que é inteligência artificial.
Inteligência artificial
Após o fim da Segunda Guerra Mundial, o matemático Alan Turing, pensando na possibilidade de um computador tornar-se inteligente, propôs um teste para medir a "inteligência" da máquina.
Esse teste necessita de dois humanos e um computador, um dos humanos é o interrogador que faz perguntas simples para o outro humano e para a máquina que respondem às perguntas também de maneira simples e por escrito.
Caso o interrogador não consiga identificar quem está respondendo, o computador passa no teste.
Alan Turing publicou isso em seu artigo "Computing Machinery and Intelligence", na década de 50, e o teste ficou popularmente conhecido como "Teste de Turing".
Esse foi o início da ideia sobre o que seria uma IA (inteligência artificial), porém esse termo só foi utilizado em 1956 por um pesquisador chamado John McCarthy. De acordo com ele, uma IA refere-se à ciência e à engenharia de construir máquinas inteligentes.
Uma definição um pouco mais completa seria: inteligência artificial é o campo da ciência da computação que lida com a simulação de comportamento inteligente em computadores.
Existem subcampos sobre o estudo a respeito de IAs, que são:
- Robótica
- Sistemas Cognitivos
- Planejamento Automatizado
- Processamento de Linguagem Natural
- Redes Neurais
- Machine Learning
Esse último é o tema principal dessa postagem.
Machine Learning
Machine learning (aprendizado de máquina) é o campo de estudo sobre IA que fornece ao computador a capacidade de aprender sem ser explicitamente progamado. Como assim?
Bom, o que é a programação tradicional?
Trata-se do processo manual de escrever um conjunto de regras em uma sequência de passos, também chamado de algoritmo, utilizando uma linguagem de programação para que o computador execute-as sobre um conjunto de dados de entrada a fim de produzir um conjunto de resultados de saída.
O conceito é bem simples e a aplicação da programação tradicional é muito eficiente, mas somente até certo ponto. Imagine um software que recebe uma imagem aleatória e a sua função é identificar um cachorro nessa imagem. Quem é progamador sabe que criar um conjunto de passos para que a máquina identifique um cachorro nessa imagem não é simples...
Portanto, o machine learning ocorre de uma maneira praticamente inversa à programação tradicional. Continua-se entrando com dados, mas, em vez de um programador criar manualmente as regras, são inseridos exemplos de resultados passados. Já a saída de um algoritmo de aprendizado de máquina são justamente as regras.
Note que as entidades mudaram de lugar:
- Na programação tradicional:
Dados e regras --> COMPUTADOR --> Resultados
- No machine learning:
Dados e resultados --> COMPUTADOR --> Regras
No caso do software identificador de cachorros, imagens de entrada quaisquer continuariam sendo inseridas, mas também seriam inseridos diversos exemplos de resultados (isto é, imagens que efetivamente contêm cachorros). A saída do algoritmo de aprendizado de máquina seria capaz, de realizar, sozinha, um padrão entre os dados de entrada e os exemplos de resultados esperados para descobrir se existe ou não um cachorro na imagem. Em vez de um programador dizer quais são as regras, quem diz é o algoritmo.
De forma bem básica, é assim que funciona o machine learning, fiquem a vontade para apontar erros sobre o que foi escrito e complementar o conteúdo.