K-NN和K-means

一、k近邻法(K nearest neighbor,K-NN)(K=1:最近邻)
K-NN是有监督学习算法。给定一个训练数据集,对新输入的实例,在训练数据集中找到与该实例最邻近的k个实例,着k个实例的多数属于某一类,那么就把该实例分为哪一类。
当训练集、距离度量、k值和决策规则确定后,对于任何新输入的实例,它所属的类唯一地确定。

1.1 距离度量
欧氏距离(常用的方法),马氏距离,曼哈顿距离…

1.2 k值的选择(很重要
k比较小:用较近邻域中的训练样本来预测,近似误差比较小,估计误差比较大,对近邻的样本十分敏感。整体模型比较复杂,容易发生过拟合。
k比较大:用较远邻域中的训练样本来预测,近似误差比较大,估计误差比较小。整体模型比较简单。

1.3 决策规则
多数表决(等价于经验风险最小化)是常用的方法。

1.4 kd树
如果要计算输入实例与每个训练样本的实例,计算量就会非常大。这时,用kd树来存储训练样本,可以减少训练次数,
kd树是二叉树,表示对k维空间的划分,不断地用垂直于坐标轴的超平面将k维空间进行划分,构成一系列的k维超矩形区域。kd树的每个结点对应于一颗k维超矩形区域。

来看一个例子(李航《统计学习方法》):
给定一个二维空间的数据集:
T = { ( 2 , 3 ) T , ( 5 , 4 ) T , ( 9 , 6 ) T , ( 4 , 7 ) T , ( 8 , 1 ) T , ( 7 , 2 ) T } T=\{(2,3)^T,(5,4)^T,(9,6)^T,(4,7)^T,(8,1)^T,(7,2)^T\} T={(2,3)T,(5,4)T,(9,6)T,(4,7)T,(8,1)T,(7,2)T},构造kd平衡树。
第一步,选择x轴,六个数据点x坐标的中位数是7,以平面x=7将空间分为左右两个子矩形。
第二步,左距形以平面y=4分为两个子矩形
第三步,右矩形以平面y=6分为两个子矩形
第四步,如此递归,得到最后的kd平衡树
在这里插入图片描述
在这里插入图片描述
优点:可用于非线性分类;对异常点不敏感;适用于类域的交叉和重叠较多的分类样本集;适用于样本容量比较大的类域的自动分类。
缺点:计算量大;样本 不平衡的时候,对稀有类别的准确率低;需要大量内存;可解释性不强。

二、k-均值聚类(K-means)
K-means是无监督学习。将k个靠近彼此的不同样本聚类,用k维的one-hot编码向量h来表示输入x。当x属于聚类 x i x_i xi的时候,h的其他项为0。
首先,初始化k个不同的中心点();然后迭代以下步骤:
(1)每个训练样本分配到最近的中心点所代表的聚类
(2)加入新的样本后,对该聚类,更新聚类的中心为此类样本的均值
优点:简单快速;对于大数据集,保持可伸缩性和高效性
缺点:初始的k个值十分重要;对噪声和孤立点数据敏感;不适合非均匀分布的簇或者非凸形状的簇。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值