KNN,K近邻算法
K Nearest Neighbor算法,就是找K个最近的邻居,当K=1时,退化成找最近的那个邻居。(Supervoxel的k-means聚类过程中就是找最近的一个点加标为该类,再更新中心点。)
它最简单的在分类上的应用,是这样描述的:以二分类为例,要判断某点属于哪类,先找到这点附近最近的k点,用这k个点投票决定待判定点属于哪类,如果多数都投A类,那么待判定点被判为A类,反之B类。
K值的选择
K值的选择很关键,不能过大,不能过小,一般用
交叉验证法
:选取一部分做训练集,一部分做测试集来选取最优的K值。
过小的话:相当于用较小部分的数据做训练集,只有在输入数据离训练集很接近的情况才能比较符合预测的分类;
优点:“学习”
近似误差
会减小;
缺点:“学习”的
估计误差
会增大,整体模型变复杂,容易发生