
Introdução à inferência em machine learning
Imagine que você treinou um ótimo modelo de machine learning para ajudar o time de negócios a atrair mais clientes com recomendações relevantes. O próximo passo lógico é incorporar esse modelo treinado à infraestrutura da empresa para que o negócio possa usá-lo e gerar previsões com base nas informações de novos clientes. Esse processo de usar um modelo já existente é chamado de inferência.
A inferência em machine learning é crucial porque permite usar o modelo em casos reais, como previsões, classificações ou recomendações.
Ao final deste artigo, você vai entender melhor como a inferência em machine learning funciona, como ela se diferencia do treinamento tradicional e terá uma visão geral das abordagens de inferência existentes, além de seus benefícios, desafios e algumas aplicações na prática.
Inferência vs. treinamento em machine learning
A primeira coisa a ter em mente é que inferência em machine learning e treinamento em machine learning não são a mesma coisa, e cada conceito se aplica a fases diferentes de qualquer projeto de machine learning. Esta seção traz uma explicação intuitiva para destacar as diferenças usando a analogia do restaurante, proposta por Cassie Kozyrkov.
Ela menciona que fazer uma boa pizza (um produto de valor) exige uma receita (modelo ou fórmula) que indique como preparar os ingredientes (dados de qualidade) e com quais utensílios/aparelhos (algoritmos).
Não há serviço se não sai comida da cozinha. E a cozinha (time de Data Science) não gera valor se os clientes não gostam da comida com frequência.
Para oferecer uma boa experiência ao cliente e um melhor retorno sobre o investimento, os dois times trabalham juntos.

Cozinha (time de Data Science) & salão (time de negócios)
Treinamento em machine learning
Treinar um modelo de machine learning exige dados de treino e de validação. Os dados de treino são usados para desenvolver o modelo, enquanto os dados de validação servem para ajustar os parâmetros e deixá-lo o mais robusto possível. Isso significa que, ao fim da fase de treinamento, o modelo deve conseguir prever novos dados com menos erros. Podemos considerar essa fase como o lado da cozinha.
No nosso guia completo, What is Machine Learning, você aprende o que é machine learning, como ele difere de IA e deep learning e por que é uma das áreas mais empolgantes em ciência de dados.
Inferência em machine learning
Os pratos só podem ser servidos quando estão prontos para consumo, assim como o modelo de machine learning precisa estar treinado e validado antes de ser usado para fazer previsões. A inferência em machine learning é semelhante ao cenário de um restaurante. Ambos exigem atenção para resultados melhores e mais precisos — e, consequentemente, satisfação do cliente e do negócio.
Importância de entender as diferenças
Conhecer a diferença entre inferência e treinamento em machine learning é fundamental porque ajuda a alocar melhor os recursos computacionais para treinamento e inferência depois da implantação em produção.
O desempenho do modelo geralmente cai no ambiente de produção. Entender bem essa diferença ajuda a adotar as estratégias certas de industrialização dos modelos e a mantê-los ao longo do tempo.
Fatores-chave ao escolher entre inferência e treinamento
Usar um modelo para inferência ou treinar um modelo do zero depende do tipo de problema, do objetivo final e dos recursos disponíveis.
Os principais fatores incluem, entre outros: tempo de lançamento, restrições de recursos ou custo de desenvolvimento, performance do modelo e expertise do time.
- Time to market. É importante considerar quanto tempo há disponível ao escolher entre treinar e usar um modelo existente. Em muitos casos, usar um modelo pré-treinado requer menos tempo e pode dar ao time de negócios uma vantagem competitiva.
- Restrições de recursos ou custo de desenvolvimento. Dependendo do caso de uso, treinar um modelo pode exigir uma quantidade significativa de dados e recursos de treinamento. Já usar um modelo para inferência, na maioria das vezes, demanda menos recursos — o que facilita alcançar até uma performance melhor em pouco tempo.
- Performance do modelo. Treinar um modelo de machine learning é um processo iterativo e nem sempre garante um modelo robusto. Usar um modelo para inferência pode oferecer melhor desempenho em comparação com um modelo interno. Hoje, explicabilidade e mitigação de vieses são cruciais, e modelos usados em inferência podem precisar ser atualizados para contemplar essas capacidades.
- Expertise do time. Construir um modelo de machine learning robusto exige alta expertise tanto em treinamento quanto em industrialização. Pode ser desafiador ter essa expertise disponível; por isso, contar com modelos para inferência pode ser a melhor alternativa.
Inferência bayesiana em machine learning
A inferência bayesiana é uma técnica em machine learning que permite que algoritmos façam previsões atualizando seu conhecimento prévio com base em novas evidências usando o teorema de Bayes.
Mas o que é o teorema de Bayes?
Ele descreve as probabilidades do evento A, dado que outro evento, B, ocorreu. A fórmula é a seguinte:

Teorema de Bayes
P(A): prior → a probabilidade de o evento A ocorrer sem qualquer conhecimento sobre outros eventos.
P(B): a constante de normalização que permite calcular o evento posterior B.
P(A|B): posterior → a probabilidade de o evento A ocorrer, dado que o evento B ocorre.
P(B|A): verossimilhança → a probabilidade de o evento B ocorrer se A ocorrer.
Com essas informações, vamos explorar as vantagens da inferência bayesiana e algumas aplicações no mundo real.
No nosso Naive Bayes Classification Tutorial using Scikit-learn, você aprende a construir e avaliar um classificador Naive Bayes usando o Scikit-learn do Python.
Vantagens da inferência bayesiana
A inferência bayesiana tem várias vantagens, entre elas:
- Flexibilidade. Pode ser aplicada a modelos lineares e não lineares e a diversos problemas de machine learning, como regressão, classificação, clusterização, processamento de linguagem natural e mais.
- Mais intuitiva. A transição do conhecimento prévio (prior) para o posterior usando novos dados se assemelha à forma como as pessoas atualizam suas crenças com novas informações, o que é mais intuitivo. Por exemplo, se alguém tem a crença prévia de que vai nevar amanhã e verifica a previsão do tempo, essa pessoa ajustará essa crença conforme a nova informação.
- Interpretável. As distribuições de probabilidade geradas sobre os possíveis valores das previsões do modelo são fáceis de interpretar, o que ajuda decisores a agir de acordo com sua tolerância a risco.
Aplicações da inferência bayesiana em machine learning
Veja abaixo algumas aplicações reais da inferência bayesiana em machine learning:
- Detecção de fraudes em cartão de crédito. A inferência bayesiana pode ser aplicada para detectar atividades fraudulentas. O processo começa com uma crença prévia sobre a probabilidade de uma transação ser fraudulenta com base em dados históricos. Em seguida, conforme surgem novos dados, como valor da transação ou histórico de compras do cliente, a informação prévia é atualizada pelo teorema de Bayes para obter a probabilidade posterior de fraude e decidir se a transação é fraudulenta ou não.
- Diagnóstico médico. Em diagnósticos médicos, o teorema de Bayes é utilizado para analisar dados de casos anteriores e estimar a probabilidade de um paciente ter determinada doença. A abordagem bayesiana pode considerar diversos fatores que influenciam o resultado e gerar estimativas probabilísticas mais explicáveis do que apenas resultados binários.
- Processamento de imagens. A inferência bayesiana tem várias aplicações em processamento de imagens. Por exemplo, pode ser usada para remover ruído de imagens aplicando técnicas como Cadeias de Markov Monte Carlo e o teorema de Bayes.
- Processamento de fala. A clusterização bayesiana não paramétrica (BNC) é usada em redes neurais hierárquicas não paramétricas para realizar reconhecimento de fala e de emoções. Esse processo supera outros modelos de ponta em tarefas semelhantes.
Inferência causal em machine learning
A inferência causal é uma abordagem estatística usada em IA e machine learning para entender relações de causa e efeito entre atributos.
Por exemplo, em marketing, decisores podem querer entender qual campanha gera a maior taxa de conversão. A inferência causal ajuda a identificar a relação causal entre a taxa de conversão e a campanha de marketing para maximizar as conversões.
Nosso curso Statistical inference with R pode ajudar você a se familiarizar com o conjunto essencial de habilidades em inferência estatística necessárias para entender, interpretar e ajustar seus modelos estatísticos e de machine learning.
Importância da inferência causal em machine learning
A inferência causal é importante em machine learning por vários motivos, incluindo previsões mais eficientes e justiça. Vamos dar uma olhada rápida em cada um deles.
- Previsão eficiente. Em muitos casos de uso de machine learning, a análise de correlação não é suficiente, pois correlação não implica causalidade. A inferência causal permite que engenheiros de machine learning identifiquem as relações causais subjacentes entre variáveis, o que leva a previsões mais precisas.
- Justiça. Usar inferência causal em machine learning pode ajudar a identificar as causas de vieses em um determinado conjunto de dados. Isso orienta os tomadores de decisão a adotar ações para mitigar vieses nos dados e, assim, desenvolver modelos melhores.
Desafios na implementação de inferência causal em machine learning
Como outras técnicas de machine learning, a implementação de inferência causal traz seus próprios desafios, incluindo, mas não se limitando aos ilustrados abaixo:
- Grande volume de dados de qualidade. Fazer uma inferência causal válida requer muitos dados de qualidade. Porém, dados do mundo real são bagunçados, e pode ser desafiador encontrar a abordagem ideal para deixá-los sem erros.
- Interpretabilidade. Os métodos envolvidos na estimação da causalidade costumam ser complexos e exigem tanto forte expertise estatística quanto conhecimento aprofundado do domínio estudado para interpretar melhor os resultados.
- Variáveis de confusão. São variáveis relacionadas tanto às variáveis independentes quanto às dependentes. Esse fator pode enviesar o verdadeiro efeito causal das variáveis independentes, tornando desafiadora a estimação precisa do efeito causal.
Conclusão
Este artigo apresentou o que é inferência em machine learning, como ela difere do treinamento e algumas recomendações-chave ao escolher entre uma e outra. Além de destacar as inferências bayesiana e causal, também mostrou sua importância e seus desafios em machine learning.
É importante lembrar que a inferência é obrigatória para que qualquer modelo de machine learning seja útil na prática. Só por meio da inferência os modelos podem ser integrados a aplicações existentes e usados por empresas e diferentes stakeholders para gerar mais impacto no negócio.
Perguntas frequentes sobre inferência em machine learning
O que é inferência em machine learning?
É o processo de usar um modelo já treinado e implantado em produção para gerar previsões com novos dados do mundo real.
O que é necessário para fazer inferência em machine learning?
A inferência em machine learning requer: um modelo treinado, recursos computacionais, infraestrutura de implantação, ferramentas de monitoramento e dados reais.
Quais são os tipos de inferência?
Há três tipos principais de inferência: abdutiva, dedutiva e indutiva.
Quais são as etapas da inferência de um modelo?
A inferência do modelo envolve: (1) carregar o modelo treinado, (2) pré-processar os dados de entrada para uso pelo modelo, (3) alimentar o modelo com os dados de entrada, (4) pós-processar a previsão do modelo e (5) retornar o resultado no formato esperado.
Quais são as boas práticas para construir uma estrutura de inferência em machine learning?
Construir uma estrutura de inferência de machine learning confiável e robusta envolve as seguintes boas práticas: (1) considerar a escalabilidade para suportar múltiplos modelos e fluxos, (2) facilitar a integração a sistemas e componentes atuais ou futuros, (3) garantir que o fluxo suporte alta taxa de processamento, (4) oferecer acesso seguro aos recursos, (5) incluir monitoração e logging, (6) manter documentação clara e atualizada, (7) integrar um ciclo de feedback.




