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

  • 相关阅读:
    BZOJ 1492 [NOI2007]货币兑换Cash
    BZOJ 2285 [Sdoi2011]保密
    BZOJ 2962 序列操作
    BZOJ 3197 [Sdoi2013]assassin
    BZOJ 3131 [Sdoi2013]淘金
    BZOJ 3532 [Sdoi2014]Lis
    BZOJ 1923 [Sdoi2010]外星千足虫
    BZOJ 4855 [Jsoi2016]轻重路径
    BZOJ 4289 PA2012 Tax
    微信开发之 微信支付
  • 原文地址:https://www.cnblogs.com/feynmania/p/12932763.html
Copyright © 2011-2022 走看看