O KNN tem uma função de perda?

9

Não encontrei uma definição de função de perda no wiki no contexto de aprendizado de máquina.

este é menos formal, porém, é claro o suficiente.

Na sua essência, uma função de perda é incrivelmente simples: é um método de avaliar quão bem seu algoritmo modela seu conjunto de dados. Se suas previsões estiverem totalmente desativadas, sua função de perda produzirá um número maior. Se eles forem muito bons, o resultado será um número menor. À medida que você altera partes do seu algoritmo para tentar melhorar seu modelo, sua função de perda informa se você está chegando a algum lugar.

parece que a taxa de erro do KNN não é a função que poderia guiar o próprio modelo a otimizar, como a descida do gradiente.

então, o KNN tem uma função de perda?

fu DL
fonte

Respostas:

11

kk

Tim
fonte
4
não kNN não usar uma função de perda durante o "treinamento", mas isso não significa que não é uma perda de função que define kNN. Por exemplo: é sabido que a mediana minimiza a perda média absoluta da diferença. Mas você nunca calcula a perda média de abs e também não usa a otimização como a descida do gradiente para calcular a mediana. Ainda é um fato útil que, às vezes, minimiza a perda média de abs. Da mesma forma, você provavelmente poderia construir uma função perda que kNN sempre minimiza
Nikie
@nikie isso é verdade, mas no kNN as usa apenas como funções de agregação local entre os vizinhos (difícil de traduzir para minimizar a perda geral). Também para k = 1, você não usa essa função. Além disso, não é usado para treinamento. Chamar isso de função de perda é apenas um exercício mental para forçar o kNN a se encaixar em alguma definição de classificador, não acho razões convincentes para defini-lo dessa maneira.
Tim
-2

Eu discordo da resposta aceita (um pouco).

O KNN é um algoritmo de classificação e não faz sentido executar um algoritmo de classificação sem uma função de perda: você estaria interessado em saber como o algoritmo foi bem. No caso do KNN, você poderia, por exemplo, avaliar a qualidade das classificações observando a soma das precisões médias em cada classe. Ou você pode se concentrar apenas na precisão do algoritmo.

O método de otimização que aciona o KNN não depende da função de perda; portanto, durante o treinamento, ele nunca apela para a função de perda e nem usa descida de gradiente para treinar.

KK

Alex R.
fonte
5
Uma métrica para avaliar o desempenho do algoritmo e a perda para minimizar são duas coisas diferentes. De fato, você pode minimizar a perda que difere da métrica que você procura (por exemplo, por razões computacionais).
Tim
@ Tim: Acho que estamos na mesma página, exatamente o que estou tentando enfatizar no último parágrafo, onde uma métrica é usada para treinar. Porém, você ainda deseja uma função de perda após o treinamento para avaliar o algoritmo. Um algoritmo de classificação treinado sem apelar para algum tipo de função de perda (durante ou depois) nas classes é, por definição, não supervisionado.
Alex R.