最近邻策略:k-means和KNN

假设我们已经利用一堆样本{(x,y)}进行了训练,得到了k个分类和k个分类的重心,那么对于待测数据x’,计算x’到k个分类重心的距离,距离最近的分类y‘即为x’的分类。这是最近邻策略的基本思路,从中衍生了k-means和KNN方法。如何度量距离是一个复杂的问题,一般情况下我们习惯使用欧氏距离来表征分类距离。如果我们要调整n个分类特征的权重,可以修改距离度量的定义;可以将n个分类特征变为特征的函数f(xn),从而衍生出高维特征。这里我们默认使用欧式距离。

K均值聚类(K-means):我习惯称k-means为黑洞聚类法,这个方法简单来说就是给定k个初始样本点作为k个起始集合(小黑洞),起始集合附近的样本点被吸引、合并形成新的更大的集合(黑洞吸食附近的黑洞形成大黑洞,重心是两个黑洞重心的函数),然后以新集合的重心的为中心继续吞并附近的样本点,从而把样本点集合分成k个集合。

K-means聚类方法的初始化,要求我们事先知道样本总体有多少个类别,取的k个初始点要尽量远;如果知道k个初始点的分类,那么我们最终能够得到每个样本确定的分类类别。

K最近邻分类法KNN:我们用足够的训练样本,通过诸如k-means的方法训练得到k个分类的重心和大致范围,如果待测数据x到第i个分类的距离最小,那么有理由认为x属于分类i。

 

《统计学习基础》介绍了一个应用最近邻策略的手写英文字符(256×256像素)识别方法,同时也说明距离度量的定义灵活性相当高。我们已经获取256×256像素标准的英文字符,然后对比手写字符和标准英文字符的匹配程度。手写字符可能与标准字符相比,可能有大有小有旋转,有一定扭曲,那么手写字符A到标准字符A的匹配程度可能还不如其他字符。这里书中引入不变性概念:如果我们将标准字符A进行放大缩小、旋转、扭曲变换,得到A的标准字符集,然后计算同样变换过的手写字符集A和B到标准字符集A的最大匹配程度,结果表明A肯定是比B高的。不变性最近邻方法的计算规模增加了几十倍,复杂度高,不过计算规模小于神经网络,正确率持平神经网络。

《统计学习基础》中还提到了自适应最近邻策略,这个策略会自适应变化每个已分类点的最近邻搜索范围,即精细地改变已分类集合往外合并样本点的规则。

你可能感兴趣的:(最近邻策略:k-means和KNN)