您的位置:首页 > 其它

统计学习方法笔记(三)

2016-07-19 14:16 218 查看
K近邻法:(分类回归方法)

       k 近邻算法简单、直观给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的k 个3比例,这k 个实例的多数属于某个类,就把该输入实例分为这个类。

      当K=1时,又称为最近邻算法,这时候就是将训练数据集中与x最邻近点作为x的类。

      k近邻法主要考虑三个基本要素——距离度量(就是两个点之间怎么才算相似呢,要给出个距离计算公式),k值(要考虑近邻多少个点),分类决策规则(找出这个k个点之后,怎么确定x最终属于哪个分类)

      1,距离度量

       一般来说用的比较多的是欧式距离,当然也可以用别的,这没什么好说的。

       这里就给出一张书里的图,表示的是取不同距离时,与原点的距离为1的点的图形,



      从图中,也可看出,对于不同的距离计算公式,所得到的点也是不同的。

      2,k值的选择

      k 值的选择会对k 近邻法的结果产生重大影响。如果选择较小的k 值,就相当于用较小的邻域中的训练实例进行预测"学习"的近似误差(approximation error) 会减小,只有与输入实例较近的(相似的)训练实例才会对预测结果起作用但缺点是"学习"的估计误差(estimation error)会增大,预测结果会对近邻的实例点非常敏感山如果邻近的实例点恰巧是噪声,预测就会出错。

      也就是说,k值月小,相当于模型越复杂,容易发生过拟合,当k=N的时候,那么无论输入什么,都是简单的预测特为含实例最多的类,模型太简单。

      一般用交叉验证法来选取最优k指。

     3,分类决策规则

     一般都为多数表决,就是看k个近邻中的多数类。

     这里提一下,多数表决等价于经验风险最小化。

     4, 最后书中提到了kd树

     kd树的用途是减少距离的计算次数。下面给出平衡kd树的构造过程和最近邻搜索算法

     








       刚看算法比较难理解,书中还给出了例子。



      构造平衡kd树,其实就是确定一个坐标轴后,以中位数为切分点将空间一分为2,再分别在2个字空间中,以另一坐标轴的中位数为切分点一份为2,一直这样,知道分出来的字空间中没有实例点为止。



     而搜索方法,就是对于输入点S,先找到包含S的叶节点D,画一个以S为中心,SD为半径的圆,先放着,然后再回到D节点的父节点B,在B的另一个区域(不是一分为2了吗,就是没有D的另一半)找是否有比D更接近S的点(就看另一半区域与圆是否相交,有相交点就说明,有其他点比D更接近S,更新那个点为最近点),就这样一步步找父节点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息