Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Função de Perda | Rede Neural do Zero
Introdução às Redes Neurais

bookFunção de Perda

Durante o treinamento de uma rede neural, é necessário medir o quão precisamente o modelo prevê os resultados corretos. Isso é feito utilizando uma função de perda, que calcula a diferença entre as previsões do modelo e os valores-alvo reais. O objetivo do treinamento é minimizar essa perda, tornando as previsões o mais próximas possível dos resultados verdadeiros.

Para tarefas de classificação binária, uma das funções de perda mais utilizadas é a perda de entropia cruzada, especialmente eficaz para modelos que produzem probabilidades.

Derivação da Perda de Entropia Cruzada

Para compreender a perda de entropia cruzada, considere o princípio da máxima verossimilhança. Em um problema de classificação binária, o objetivo é treinar um modelo que estime a probabilidade y^\hat{y} de que uma determinada entrada pertença à classe 1. O rótulo verdadeiro yy pode assumir um de dois valores: 0 ou 1.

Um modelo eficaz deve atribuir altas probabilidades para previsões corretas. Essa ideia é formalizada por meio da função de verossimilhança, que representa a probabilidade de observar os dados reais dadas as previsões do modelo.

Para um único exemplo de treinamento, assumindo independência, a verossimilhança pode ser expressa como:

P(yx)=y^y(1y^)1yP(y|x) = \hat{y}^y(1 - \hat{y})^{1 - y}

Esta expressão significa o seguinte:

  • Se y=1y = 1, então P(yx)=y^P(y|x) = \hat{y} — o modelo deve atribuir uma alta probabilidade à classe 1;
  • Se y=0y = 0, então P(yx)=1y^P(y|x) = 1 - \hat{y} — o modelo deve atribuir uma alta probabilidade à classe 0.

Em ambos os casos, o objetivo é maximizar a probabilidade que o modelo atribui à classe correta.

Note
Nota

P(yx)P(y|x) significa a probabilidade de observar o rótulo de classe real yy dado as entradas xx.

Para simplificar a otimização, utiliza-se a log-verossimilhança em vez da função de verossimilhança, pois aplicar o logaritmo converte produtos em somas, facilitando a diferenciação:

logP(yx)=ylog(y^)+(1y)log(1y^)\log P(y|x) = y \log(\hat{y}) + (1 - y) \log(1 - \hat{y})

Como o treinamento visa maximizar a log-verossimilhança, a função de perda é definida como seu valor negativo para que o processo de otimização se torne um problema de minimização:

L=(ylog(y^)+(1y)log(1y^))L = -\big(y \log(\hat{y}) + (1 - y) \log(1 - \hat{y})\big)

Esta é a função de perda de entropia cruzada binária, comumente utilizada para problemas de classificação.

Considerando que a variável output representa y^\hat{y} para um determinado exemplo de treinamento, e a variável target representa yy para este exemplo, esta função de perda pode ser implementada da seguinte forma:

import numpy as np

loss = -(target * np.log(output) + (1 - target) * np.log(1 - output))

Por que esta fórmula?

A perda de entropia cruzada possui uma interpretação intuitiva clara:

  • Se y=1y = 1, a perda se simplifica para log(y^)-\log(\hat{y}), ou seja, a perda é baixa quando y^\hat{y} está próxima de 1 e muito alta quando y^\hat{y} está próxima de 0;
  • Se y=0y = 0, a perda se simplifica para log(1y^)-\log(1 - \hat{y}), ou seja, a perda é baixa quando y^\hat{y} está próxima de 0 e muito alta quando está próxima de 1.

Como os logaritmos crescem negativamente à medida que sua entrada se aproxima de zero, previsões incorretas são fortemente penalizadas, incentivando o modelo a fazer previsões corretas e confiantes.

Se múltiplos exemplos são passados durante a propagação para frente, a perda total é calculada como a média da perda entre todos os exemplos:

L=1Ni=1N(yilog(y^i)+(1yi)log(1y^i))L = -\frac1N \sum_{i=1}^N (y_i\log(\hat{y}_i) + (1-y_i)\log(1-\hat{y}_i))

onde NN é o número de amostras de treinamento.

question mark

Qual das alternativas a seguir melhor descreve o propósito da função de perda de entropia cruzada na classificação binária?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 6

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

Can you explain how cross-entropy loss differs from mean squared error?

What happens if the model predicts exactly 0 or 1 for the output?

Can you show how this loss function is used during neural network training?

Awesome!

Completion rate improved to 4

bookFunção de Perda

Deslize para mostrar o menu

Durante o treinamento de uma rede neural, é necessário medir o quão precisamente o modelo prevê os resultados corretos. Isso é feito utilizando uma função de perda, que calcula a diferença entre as previsões do modelo e os valores-alvo reais. O objetivo do treinamento é minimizar essa perda, tornando as previsões o mais próximas possível dos resultados verdadeiros.

Para tarefas de classificação binária, uma das funções de perda mais utilizadas é a perda de entropia cruzada, especialmente eficaz para modelos que produzem probabilidades.

Derivação da Perda de Entropia Cruzada

Para compreender a perda de entropia cruzada, considere o princípio da máxima verossimilhança. Em um problema de classificação binária, o objetivo é treinar um modelo que estime a probabilidade y^\hat{y} de que uma determinada entrada pertença à classe 1. O rótulo verdadeiro yy pode assumir um de dois valores: 0 ou 1.

Um modelo eficaz deve atribuir altas probabilidades para previsões corretas. Essa ideia é formalizada por meio da função de verossimilhança, que representa a probabilidade de observar os dados reais dadas as previsões do modelo.

Para um único exemplo de treinamento, assumindo independência, a verossimilhança pode ser expressa como:

P(yx)=y^y(1y^)1yP(y|x) = \hat{y}^y(1 - \hat{y})^{1 - y}

Esta expressão significa o seguinte:

  • Se y=1y = 1, então P(yx)=y^P(y|x) = \hat{y} — o modelo deve atribuir uma alta probabilidade à classe 1;
  • Se y=0y = 0, então P(yx)=1y^P(y|x) = 1 - \hat{y} — o modelo deve atribuir uma alta probabilidade à classe 0.

Em ambos os casos, o objetivo é maximizar a probabilidade que o modelo atribui à classe correta.

Note
Nota

P(yx)P(y|x) significa a probabilidade de observar o rótulo de classe real yy dado as entradas xx.

Para simplificar a otimização, utiliza-se a log-verossimilhança em vez da função de verossimilhança, pois aplicar o logaritmo converte produtos em somas, facilitando a diferenciação:

logP(yx)=ylog(y^)+(1y)log(1y^)\log P(y|x) = y \log(\hat{y}) + (1 - y) \log(1 - \hat{y})

Como o treinamento visa maximizar a log-verossimilhança, a função de perda é definida como seu valor negativo para que o processo de otimização se torne um problema de minimização:

L=(ylog(y^)+(1y)log(1y^))L = -\big(y \log(\hat{y}) + (1 - y) \log(1 - \hat{y})\big)

Esta é a função de perda de entropia cruzada binária, comumente utilizada para problemas de classificação.

Considerando que a variável output representa y^\hat{y} para um determinado exemplo de treinamento, e a variável target representa yy para este exemplo, esta função de perda pode ser implementada da seguinte forma:

import numpy as np

loss = -(target * np.log(output) + (1 - target) * np.log(1 - output))

Por que esta fórmula?

A perda de entropia cruzada possui uma interpretação intuitiva clara:

  • Se y=1y = 1, a perda se simplifica para log(y^)-\log(\hat{y}), ou seja, a perda é baixa quando y^\hat{y} está próxima de 1 e muito alta quando y^\hat{y} está próxima de 0;
  • Se y=0y = 0, a perda se simplifica para log(1y^)-\log(1 - \hat{y}), ou seja, a perda é baixa quando y^\hat{y} está próxima de 0 e muito alta quando está próxima de 1.

Como os logaritmos crescem negativamente à medida que sua entrada se aproxima de zero, previsões incorretas são fortemente penalizadas, incentivando o modelo a fazer previsões corretas e confiantes.

Se múltiplos exemplos são passados durante a propagação para frente, a perda total é calculada como a média da perda entre todos os exemplos:

L=1Ni=1N(yilog(y^i)+(1yi)log(1y^i))L = -\frac1N \sum_{i=1}^N (y_i\log(\hat{y}_i) + (1-y_i)\log(1-\hat{y}_i))

onde NN é o número de amostras de treinamento.

question mark

Qual das alternativas a seguir melhor descreve o propósito da função de perda de entropia cruzada na classificação binária?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 6
some-alt