机器学习 — k近邻算法

图片识别的难点

  从上到下依次为角度不同,光照不同,大小不同,变形,背景的干扰,遮挡,种类不同。

KNN

  k近邻算法(KNN)是一种简单的有监督的分类方法。
  训练时,只是简单地将所有训练数据集记录下来,时间复杂度为O(n)。
  预测时,在与测试样本距离最近的k个样本中投票,多者为预测的结果,一般k为奇数,如下图所示。
  k=1时(Nearest Neighbor, NN),将距离最近的训练样本作为分类的结果。

  k近邻算法有两个超参数,距离度量方法和k,距离一般使用L1或者L2距离。

L2范数计算

预测标签

完整代码

https://github.com/misads/cs231n_assignment/tree/master/knn

参考资料

https://blog.csdn.net/xieyi4650/article/details/53152421
https://blog.csdn.net/normol/article/details/84145071
cs231n-介绍 http://cs231n.github.io/classification/