zoukankan      html  css  js  c++  java
  • matlabKNN多分类

    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

  • 相关阅读:
    关于字典中可迭代的一个问题
    关于python字典还不错的一个总结
    代码17
    python文件读写,以后就用with open语句
    myeclipse配置内存
    android官网被封掉了,仅仅好用这个站点进谷歌了!嘎嘎
    IE input X 去掉文本框的叉叉和password输入框的眼睛图标
    【Bootstrap】一个PC、平板、手机同一时候使用并且美观的登陆页面
    110个经常使用Oracle函数总结
    索引
  • 原文地址:https://www.cnblogs.com/feynmania/p/12932763.html
Copyright © 2011-2022 走看看