O que o Machine Learning pode e não pode resolver
Basta olhar as buscas no Google Trends por "inteligência artificial", na Argentina e no mundo, para confirmar que o tema está presente em muitas conversas do dia a dia.
O mundo busca esses termos sistematicamente mais do que a Argentina, e a diferença aumenta com "aprendizado de máquina", um conceito ao qual costumam ser atribuídos poderes quase mágicos para resolver problemas de negócio.
A inteligência artificial (IA) busca fazer com que as máquinas imitem o ser humano e inclui o Machine Learning (ML) como uma de suas dimensões-chave. Por isso é importante entender o que o ML garante e o que não garante quando é usado para resolver problemas de negócio. Há quatro abordagens clássicas para definir a IA: uma máquina pode agir e pensar de forma humana e de forma racional.
Uma das capacidades básicas de que essa máquina precisa para agir e pensar é aprender. Para imitar o ser humano, ela deve primeiro interagir com o ambiente e, a partir dele, detectar e extrapolar padrões nos dados que recebe. Daí o termo aprendizado de máquina.
O que significa aprender nesses termos? Cada aspecto observável da realidade é gerado por uma série de causas instantâneas ou defasadas, que se acumulam e se amplificam por limiares de infinitas maneiras. Os dados observáveis mudam de estado quando todas ou algumas dessas causas se põem em movimento. Se pudéssemos entender o quê, quando, como e por que mudam os aspectos que nos interessam, teríamos a capacidade de influenciar os eventos à vontade.
Em termos matemáticos, isso significa que todas as variáveis explicativas que causam um evento observável, que chamaremos de alvo, se relacionam com ele por meio de uma função desconhecida.
O Machine Learning, no caso supervisionado, apenas tenta encontrar essa função com as variáveis que recebe. Isso dá origem a três situações muito comuns.
1. Dados ruins
Se os dados são lixo, o resultado é lixo, mesmo usando o algoritmo mais complexo e poderoso disponível. Nesse caso, o aprendizado de máquina não consegue aprender nada.
2. Alvo totalmente especificado
Se o alvo está totalmente especificado (todas as variáveis explicativas estão incluídas), o aprendizado de máquina poderia aprendê-lo com erro mínimo, apesar da enorme complexidade que isso possa implicar.
3. Alvo parcialmente especificado
É a situação mais comum: só é possível incluir algumas variáveis relevantes, aproximações das necessárias ou outras redundantes por sua alta interação com variáveis que não têm relação clara com o alvo.
O aprendizado de máquina só garante eliminar o viés e minimizar o erro, e é isso que costuma ser mal compreendido. Esse erro é o erro teórico alcançável quando as variáveis oferecidas ao algoritmo tentam aprender o alvo. Esse mínimo teórico não depende do Machine Learning, e sim das variáveis: o ML só garante se aproximar dele, que ainda assim pode ser inaceitável. O viés, por sua vez, representa a capacidade de memória da função ao ser treinada. Memorizar implica aprender detalhes não generalizáveis; é assim que ocorre o famoso sobreajuste, e o aprendizado de máquina falha.
Em resumo, dado um conjunto de variáveis explicativas e um alvo, o Machine Learning só garante que tentará aprender o alvo com o menor erro possível e generalizar esse aprendizado para dados futuros. Não promete aprender o alvo com perfeição, mesmo com modelos muito complexos: aprenderá muito, algo ou pouco, conforme o que as variáveis incluídas permitirem. Não faz mágica nem encontra nos dados padrões que não existem.
O aprendizado de máquina é um processo trabalhoso e interdisciplinar. Se um problema foi resolvido apenas carregando um conjunto de dados e rodando um algoritmo, o problema era trivial. E, em geral, não é o caso.