considered KNN, it seems that a machine learning algorithm does not have to have weights, a training process, loss function or optimization, so, what is the common ingredients of a machine learning algorithm?
it seems that what a machine learning algorithm does have to have includes a training set, prediction functionality, distance metric, what else?
A lot of machine learning books/tutorials use KNN as the 1st example of supervised machine learning without telling the keys we can get from KNN, So, I am trying to figure it out.