Função objetiva, função de custo, função de perda: são a mesma coisa?

Respostas:

130

Estes não são termos muito rigorosos e estão altamente relacionados. Contudo:

  • A função de perda é geralmente uma função definida em um ponto de dados, previsão e rótulo e mede a penalidade. Por exemplo:
    • perda quadrada , usada na regressão linearl(f(xi|θ),yi)=(f(xi|θ)yi)2
    • perda de dobradiça , usada no SVMl(f(xi|θ),yi)=max(0,1f(xi|θ)yi)
    • 0/1 perda , usada na análise teórica e na definição de precisãol(f(xi|θ),yi)=1f(xi|θ)yi
  • A função de custo é geralmente mais geral. Pode ser uma soma de funções de perda em seu conjunto de treinamento mais alguma penalidade de complexidade do modelo (regularização). Por exemplo:
    • Erro médioMSE(θ)=1Ni=1N(f(xi|θ)yi)2
    • Função de custo SVM (existem restrições adicionais que conectam a e com conjunto de treinamento)SVM(θ)=θ2+Ci=1NξiξiC
  • Função objetivo é o termo mais geral para qualquer função que você otimize durante o treinamento. Por exemplo, uma probabilidade de gerar um conjunto de treinamento na abordagem de máxima verossimilhança é uma função objetivo bem definida, mas não é uma função de perda nem de custo (no entanto, você pode definir uma função de custo equivalente). Por exemplo:
    • MLE é um tipo de função objetivo (que você maximiza)
    • A divergência entre classes pode ser uma função objetiva, mas é apenas uma função de custo, a menos que você defina algo artificial, como 1-Divergence, e o nomeie de custo

Para encurtar a história, eu diria que:

Uma função de perda é parte de uma função de custo, que é um tipo de função objetivo.

lejlot
fonte
9
+1. Não vi uma fonte para isso, mas acho que "objetivo" é o termo usado porque é seu objetivo ou objetivo otimizar essa função, o que pode significar maximizar algo bom ou minimizar algo ruim, embora essa diferença seja trivial, como qualquer função pode ser negada. Por outro lado, as implicações pejorativas de "perda" e "custo" mordem: eu diria que seria perverso usar qualquer um dos termos, com exceção de algo a ser minimizado. Esses pontos são tácitos na sua resposta perfeita, mas merecem um pouco mais de ênfase.
Nick Cox
1
O "M" em "MLE" significa "máximo" e não "mínimo". Eu só mencionar esse detalhe pedante porque esta questão foi migrado do stackoverflow, e eu fui mordido pelo bichinho de minimizar a função errado antes
Taylor
Na verdade, a função objetivo é a função (por exemplo, uma função linear) que você deseja otimizar (geralmente minimizando ou maximizando) sob a restrição de uma função de perda (por exemplo, L1, L2). Exemplos são regressão de crista ou SVM. Você também pode otimizar a função objetivo sem nenhuma função de perda, por exemplo, OLS simples ou logit.
G3o2
1
@ Nick Cox escreveu 'as implicações pejorativas de "perda" e "custo" mordem: eu diria que seria perverso usar qualquer um dos termos, exceto que algo seja minimizado. "Eu discordo, a perda ou o custo pode ser maximizado para encontre o pior caso possível (sujeito a quaisquer restrições). Isso pode ser útil para a análise do pior caso.
Mark L. Stone
Acho difícil manter a diferença entre "perda" e "custo" em linha reta, com exceção da memorização rotineira. O problema é que as definições em inglês das palavras não dão pistas sobre qual deveria ser qual, nem há mnemônicos óbvios. Todas as sugestões são bem-vindas.
Stephen
8

Segundo o professor Andrew Ng (veja slides na página 11),

A função h (X) representa sua hipótese. Para parâmetros de ajuste fixo teta, é uma função dos recursos X. Eu diria que isso também pode ser chamado de Função Objetiva.

A função Custo J é uma função dos parâmetros de ajuste teta. J = J (teta).

De acordo com o livro de Hastie et al., "Elements of Statistical Learning" , por p.37:

"Buscamos uma função f (X) para prever Y, dados os valores da entrada X." [...] a função de perda L (Y, f (X)) é "uma função para penalizar os erros na previsão",

Parece que "função de perda" é um termo um pouco mais geral do que "função de custo". Se você procura "perda" nesse PDF, acho que eles usam "função de custo" e "função de perda" de maneira um tanto sinônimo.

De fato, p. 502

"A situação [no Clustering] é um pouco semelhante à especificação de uma função de perda ou custo em problemas de previsão (aprendizado supervisionado)".

Talvez esses termos existam porque evoluíram independentemente em diferentes comunidades acadêmicas. "Função Objetiva" é um termo antigo usado em Pesquisa Operacional e Matemática em Engenharia. "Função de perda" pode ser mais usada entre estatísticos. Mas estou especulando aqui.

knb
fonte
5
a função de perda não chega nem perto de ser "mais geral" que a função de custo. f (X) é em particular a função de seus parâmetros (portanto, J (teta)), tornando-o (função de perda) um tipo específico de função de custo. Além disso, Hastie tem uma simplificação lá, ele assume funções de perda de aditivos , que criam uma classe particular de funções de custo
lejlot
Apenas tentei responder a essa pergunta com referências da literatura acadêmica, fontes fáceis de entender. O seu ponto de "funções de perda aditiva" pode estar certo, mas está muito além do escopo da pergunta, e não consigo encontrar esse termo específico no livro de ESL
knb
3
Esl é um ótimo livro, mas não é a única fonte de conhecimento sobre Ml.
lejlot
Isso é "eu diria" de Ng ou você? h é o modelo (h para hipótese). O objetivo é que h tenha um bom desempenho. A função objetivo mede o desempenho de h e geralmente é diferente de h.
Joachim Wagner
link para esl está quebrado
Talespin_Kit 06/01
4

Nas palavras de Andrew NG:

"Por fim, a função de perda foi definida com relação a um único exemplo de treinamento. Ele mede o desempenho de um único exemplo de treinamento. Agora vou definir algo chamado função de custo, que mede quão bem você está fazendo todo um conjunto de treinamento. Portanto, a função de custo J aplicada aos seus parâmetros W e B será a média com um m da soma da função de perda aplicada a cada um dos exemplos de treinamento e gire ".

Mukul Khanna
fonte
3

Da seção 4.3 em "Aprendizado Profundo" - Ian Goodfellow, Yoshua Bengio, Aaron Courville http://www.deeplearningbook.org/

"A função que queremos minimizar ou maximizar é chamada de função ou critério objetivo. Quando a estamos minimizando, também podemos chamá-la de função de custo, função de perda ou função de erro. Neste livro, usamos esses termos de forma intercambiável, embora algumas publicações de aprendizado de máquina atribuam significado especial a alguns desses termos ".

Neste livro, pelo menos, perda e custo são os mesmos.

François Brault
fonte
0

Para lhe dar uma resposta curta, de acordo comigo, eles são sinônimos. No entanto, a função de custo é mais usada no problema de otimização e a função de perda é usada na estimativa de parâmetros.

Rohan Chikorde
fonte
0

Os termos funções de custo e perda são sinônimos, algumas pessoas também chamam de função de erro. O cenário mais geral é definir uma função objetiva primeiro, que queremos otimizar. Esta função objetivo pode ser

  1. maximizar as probabilidades posteriores (por exemplo, Bayes ingênuo)
  2. maximizar uma função de condicionamento físico (programação genética)
  3. maximizar a função de recompensa / valor total (aprendizado por reforço)
  4. maximizar o ganho de informação / minimizar as impurezas do nó filho (classificação da árvore de decisão CART) 5. minimizar uma função de custo (ou perda) de erro quadrático médio (CART, regressão em árvore de decisão, regressão linear, neurônios lineares adaptativos,…
  5. maximizar a probabilidade de log ou minimizar a função de perda de entropia cruzada (ou custo) minimizar a perda de dobradiça (máquina de vetores de suporte)
Abhishek Sharma
fonte
0

Na verdade, para ser simples Se você possui m dados de treinamento como este (x (1), y (1)), (x (2), y (2)),. . . (x (m), y (m)) Usamos a função de perda L (ycap, y) para encontrar perdas entre ycap e y de um único conjunto de treinamento. Se queremos encontrar perda entre ycap e y de todo um conjunto de treinamento, usamos função de custo.

Nota: - ycap significa saída do nosso modelo E y significa saída esperada

Nota: - O crédito continua Andrew ng Recurso: rede neural do curso e aprendizado profundo

Mohan S
fonte
-1

A função de perda calcula o erro para um único exemplo de treinamento, enquanto a função de custo é a média das funções de perda de todo o conjunto de treinamento.

Levan
fonte
Veja o link de Nick Cox.
Michael Chernick