Chapter 6:Similarity-Based Methods

本文深入探讨了KNN(K-最近邻)算法,从相似度度量如欧几里得距离和余弦相似度开始,介绍了Nearest Neighbor原则、VC维、数据压缩方法以及如何选择合适的K值。文章还讨论了KNN在回归问题中的应用,RBF(径向基函数)网络,包括高斯核和窗口函数,并触及了过拟合和学习RBF网络的方法。此外,提到了概率密度估计和GMMs(高斯混合模型)在数据建模中的应用。
摘要由CSDN通过智能技术生成

①Similarity Measure

相似度的衡量方法:
Euclidean Distance(欧几里得距离):
Mahalanobi Distance(马氏距离):,其中Q是一个半正定的协方差矩阵,是多维度数据之间的方差。马氏距离比高斯距离考虑的更全面,因为他把数据的维度和数据的大小都考虑了进来。中间的Q矩阵就是起到这个作用,
Cossim Similarity:这个是余弦距离,常用于在文本向量相似度的比较之中。
Jccard Coeffcient:这个比较方法常用于在集合的对比,也就是推荐系统的优良性度量里面。

②Nearest Neighbor

Two competing Principles:
①拟合数据并且得到较低的in-sample error
②in-sample error必须是可信的,可以作为out-of-sample的估计
规则:用最近邻的k个点的变量的类别来指定当前点的类别
Voronoi图:是由一组连续的两邻点直接的垂直平分线组成的连续多边形。
最近邻算法不需要训练过程,所以它是可以实现In-sample error为0的,因为in-sample error就是训练集里面产生的。

③VC Dismension

由于kNN算法理论上是可以拟合任何数据,所以它是可以shatter任何数据,所以它的VC维是无限的,这和凸边型是一样的。

④Feasible of Nearest

在KNN里面的label是一个固定的值,它的概率是百分之一百,我们假设他和logistic regression一样,label是由一定的概率组成。,当
再假设



因为f(x)是我们的最优分类器,所以上面的就是我们能够对一个点做到最好的的结果了。

上面就是最好情况,现在来看看普通情况:


这个时候x的类别是由离x最近的那个点决定的。所以:



当N足够大的时候,在一个有限的空间里面,和可以无限接近,那么,两边取期望:


这只是一种大概的证明方法,如果要更加细致一点:
首先由,回到上面的式子:
,两边取期望:

如果上面的不等式满足N是非常大的一个数,而且是平滑的而且是连续的,那么,所以后面那一项就可以去掉了。

⑤The power of the nearest neighbor

KNN的能力上面已经证明过了,虽然VC维是无穷,以至于表面上看起来没有上面作用,但是实际证明已经表面他的最高错误界限是最优的两倍,也就是说他至少是可以做到最优化分类器的两倍。
K参数控制了这个模型的复杂度,大的K可以使我们得到更加平滑的结果。当k = N的时候,那么整一个分类器就是一个常数的了。

⑥Proper K value

一般是K = 3就够了:


10624272-977a4b00fb31870d.jpg
10624272-1ab9abe3e736b608.jpg

10624272-a2a8cd100d3817eb.jpg



很明显,k = 5的效果肯定是比k = 3要好的,但是相对来说,增长这么一点准确率根本不算什么,hardly worth the effort,不值得我们这么做。
但是这必须要满足两个假设:
这是为了保证这k个点一定要和当前点足够接近
k->+
是为了保证有足够多靠近的点
满足上面情况那么这个knn分类器是就是最优的。

⑧Improving the efficiency of Nearest Neighbor

对于KNN,有好处也有坏处。
不需要任何的训练过程,直接就可以运行,但是他的训练复杂度转移到了预测上面。优化方法有两个:

Data Condensing

数据压缩,按照最完美的方法,完美要求保留下来的数据集S要和原来的数据空间是一样的,也就是R整体实数,这是一个很苛刻的条件,基本达不到,所以退一步,只要求保留下来的数据集S和训练集空间上匹配就好了,也就是和训练集得到的预测结果一样即可。

Condensed nearest neighbor algorithm

1.初始化压缩数据集S为随机的K个来自训练集的点。
2.选择一个点,使得这个点在训练集合压缩集上的分类不是一致的。
3.把这个不一致点的最近的点放进压缩集
最多重复N步。

Data Editing and Data Condensing
Data Editing是数据编辑,是去掉噪音点,如果有一个点是和大致数据走向是不一致点的,那么这个点很有可能就是噪音点。
Data Condensing是数据压缩,把一些多余的点去掉减少计算复杂度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值