k-近邻算法
1、有监督的算法,即需要依赖标签;
2、算法原理:、
(1)计算已知类别数据集中的点和当前点的距离;
(2)按照距离依次排序;
(3)选取与当前点距离最小的K个点;
(4)确定前K个点所在类别的出现概率;
(5)返回前K个点出现概率最高的类别作为当前点预测分类。
3、优点:
算法本身比较简单,不需要进行训练,训练复杂度为0
4、缺点:
KNN分类算法的计算复杂度和训练集中的文档数目成正比,即,如果训练集中的文档总数为n,那么KNN的分类时间复杂度为O(n);
不能积累训练经验,每预测一个,都需要重新计算。
5、应用:
cifar-10图像集分类。问题,如何计算图像之间的距离?使用两张图像之间对应的像素值的差值。
但是,KNN计算距离的时候,把背景也考虑进去了,而且大部分情况下背景起主导作用,所以不适合使用来做图像分类。
L1 distance(曼哈顿距离): d1(I1,I2)=求和(|I1-I2|)
L2 distance(欧式距离):相减后平方和再开方
超参数:指的是在训练策略中可以改变的参数,比如距离可以使用L1,也可以使用L2或者其他的度量方式。
训练的一些误区:
测试集只能在测试阶段使用,不要在训练期间使用来调整网络参数。
可以通过把训练集分成训练集和校正集,在训练阶段使用校正集进行网络参数调整,即交叉验证。