O que é função de perda em machine learning?
Funções de perda são conceitos essenciais em machine learning. Modelos de machine learning precisam ser treinados. Através de seus treinamentos, eles aprendem a fazer predições e tomar decisões. O processo de treinamento de um modelo envolve a verificação de seu desempenho e o ajuste iterativo de seus parâmetros. Esse processo é a chave que possibilita que um modelo de machine learning aprenda com os dados. Mas, para o modelo aprender, existem algoritmos próprios que verificam seus erros e outros que otimizam seus parâmetros. Algoritmos de quantificação de erros são chamados de funções de perda.
Funções de perda (loss functions), também chamadas de funções de erro ou custo, desempenham papel central em machine learning. Elas são responsáveis por verificar a diferença entre a saída prevista de um modelo e a saída verdadeira ou esperada. É papel da função de erro quantificar o desempenho de um modelo durante seu treinamento e teste. Essa quantificação orienta o processo de otimização dos parâmetros do modelo para que ele adquira um bom desempenho.
Erro e otimização de modelos
O objetivo principal da maioria dos algoritmos de aprendizado de máquina é encontrar um conjunto ideal de parâmetros ou pesos que minimizam o erro entre as previsões de um modelo e os valores verdadeiros. A função de perda fornece uma medida numérica desse erro, permitindo que um algoritmo de otimização ajuste iterativamente os parâmetros do modelo para reduzir seu erro.
Por si só, o valor medido pela função da perda apenas informa o desempenho do modelo. Ele não fornece nenhuma orientação sobre como melhorá-lo. É aqui que entram os algoritmos de otimização como gradient descent (descida de gradiente).
Os gradientes de algoritmos de otimização são calculados usando a derivada da função de perda em relação a cada parâmetro de um modelo. Esses gradientes informam essencialmente a direção e a magnitude em que a alteração de cada parâmetro minimizará sua perda geral. Consequentemente, a forma matemática da função de perda afeta diretamente os gradientes e como os parâmetros são atualizados durante o treinamento.
Principais funções de perda
Certas funções de perda são mais adequadas para tarefas específicas. Existem funções de perda específicas para modelos de machine learning usados para regressão ou classificação e também funções mais apropriadas para algoritmos particulares. Conheça algumas delas a seguir.
Modelos de regressão
Erro quadrático médio (MSE): uma função de perda amplamente utilizada que calcula a diferença quadrática média entre os valores previstos e os valores-alvo reais. É adequada para tarefas de regressão. Algoritmos como regressão linear e regressão de laço a utilizam com frequência. Porém, é importante saber que ela é mais sensível a outliers em comparação a outras funções de perda.
Erro Absoluto Médio (Mean Absolute Error, MAE): calcula a diferença absoluta média entre os valores previstos e os valores-alvo reais. É menos sensível a outliers em comparação com o MSE e pode ser útil para tarefas de regressão com dados com ruído. É muito utilizada com Support Vector Regression (SVR).
Modelos de classificação
Perda binária de entropia cruzada (Binary Cross-Entropy Loss ou Log Loss): mede a diferença entre a distribuição de probabilidade dos rótulos previstos e os rótulos reais. É comumente usada para problemas de classificação binária, onde o objetivo é distinguir entre duas classes. Ela é frequentemente usada com algoritmos de regressão logística.
Hinge Loss: função que penaliza o modelo por fazer classificações incorretas e por classificações com margens de confiança baixas. Ela é usada principalmente em máquinas de vetor de suporte (Support Vector Machines, SVM) para tarefas de classificação.
Veja também:
O que é machine learning (aprendizado de máquina)?
Como machine learning (aprendizado de máquina) funciona?
Como machine learning (aprendizado de máquina) aprende?
Como implementar um modelo de machine learning?
Como escolher um bom modelo de machine learning?
Classificação e regressão em machine learning
O que é conjunto de dados (dataset) em machine learning?
Onde conseguir conjuntos de dados para machine learning?
Salve localmente conjuntos de dados para machine learning
Pré-processamento de dados em machine learning
Regressão Linear e Machine Learning
Conjuntos de treinamento e teste em machine learning
Função de perda em machine learning
Scikit-learn para machine learning
Matrizes de Confusão em Machine Learning
Floresta aleatória com Scikit-learn
Detecção de anomalias com Isolation Forest
Máquinas de vetores de suporte (SVMs)
Encontrou algum erro ou quer fazer uma sugestão? Por favor, entre em contato usando nosso formulário de contatos.