首页 > 其他 > 详细

matlabKNN多分类

时间:2020-05-21 20:04:58      阅读:65      评论:0      收藏:0      [点我收藏+]

1.KNN简介:

KNN:(K nearest neighbor)也叫K近邻算法,主要用于处理机器学习中的分类问题。

 

2.算法思想:统计得到距离目标点最近的K个点中个数最多某个标签,作为目标点的类标签。

即假设给定k=8,计算每个样本点对测试点的距离,并从小到大排序,选出前8个样本点,统计得出前8个样本中有5个属于第一类,2个属于第二类,1个属于第三类,则目标点可归为第一类。【这就是多数表决的概念】

 

3.KNN三要素:距离度量(根据特征选择),K值选择,决策规则(比如上述的多数表决规则)

3.1关于距离选择:

1)闵可夫斯基距离:可分为三种。空间(欧式距离);路径(曼哈顿距离);国际象棋国王?(切比雪夫距离);

2)加权:标准化欧式距离

3)排除量纲和依存:马氏距离;

4)向量差距:夹角余弦;

5)编码差别:汉明距离;

6)集合近似度:杰卡德类似系数与距离;

7)相关:相关系数与距离

3.2关于k值选择:

k值与近似误差成正相关,与估计误差成负相关,(一般选择5~10左右?)

近似误差和估计误差的形象理解:

k取3,k较小,相当于只度量目标点周围最近的3个样本点,目标点对这三个节点的信任度高,近似误差低。但是k取3对噪声点敏感。

k取8,k较大,相当于度量了目标点周围最近的8个样本点,因为参考了多个节点的信息,所以这种情况下对噪声点和错误数据点等等不敏感,估计误差小。

3.3关于决策规则:

一般有全体一致(一票否决制)和多数表决两种方式。

 

4.KNN和K-means对比(有监督/无监督)

 

参考资料:

1.KNN_matlab代码:https://blog.csdn.net/queyuze/article/details/70195087?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase, 作者:新青年hans

2.概念理解:https://blog.csdn.net/weixin_40657079/article/details/82958976

3.K近邻python简单示例:https://www.cnblogs.com/eczhou/p/7860462.html

4.距离选择:https://blog.csdn.net/weixin_40657079/article/details/82958976,作者:weixin_40657079

 

matlabKNN多分类

原文:https://www.cnblogs.com/feynmania/p/12932763.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!