No aprendizado de máquina, as pessoas falam sobre função objetiva, função de custo, função de perda. Eles são apenas nomes diferentes da mesma coisa? Quando usá-los? Se eles nem sempre se referem à mesma coisa, quais são as diferenças?
No aprendizado de máquina, as pessoas falam sobre função objetiva, função de custo, função de perda. Eles são apenas nomes diferentes da mesma coisa? Quando usá-los? Se eles nem sempre se referem à mesma coisa, quais são as diferenças?
Respostas:
Estes não são termos muito rigorosos e estão altamente relacionados. Contudo:
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.
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.
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 ".
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.
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.
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
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
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.