【机器学习课程-华盛顿大学】:2 回归 2.6 非参数化:最近邻和核回归

背景:如果想要局部平滑,而且数据量很大,我们可以有如下方法。


一、最简单方法:最近邻回归

1、1找1近邻的步骤

比如:卖房子的时候,房产中介会找一个最像的房子来定价我们的房子



2、距离

对于一些重要的特征,我们可以加大权重(下面是欧氏距离):


其他距离种类:曼哈顿距离、汉明距离等。



3、1NN:1近邻

初始化最小距离,最近邻为空,查询房屋为q

对所有的房屋进行遍历:

    求所有房屋与房屋q的距离

    如果距离<最小距离,则更新最小距离以及最相似房屋索引;否则最小距离保持不变,且最相似房屋索引不变;

全部遍历结束后,返回最相似房屋i。


缺点:

(1)对大块区域没有数据或很少数据时敏感,拟合的不好

(2)对噪声敏感


4、kNN:k近邻



优点:对噪声鲁棒

缺点:不连续,比如当待售房子是100平,跟它最相似的3个房子分别为101平,140平和180平。原则上,应该主要参考101平的房子,但是这种情况下没有这种倾向。


5、加权KNN


离得更近的具有更大的权重,离得远的具有更小的权重。权重最简单的计算方法为距离的倒数,如下:


继续升级权重,提出核权重的概念。其实就是把权重的公式概念化。



二、核回归

核回归其实就是升级版的加权KNN,区别就在于,核回归不是加权的N个邻居,而是所有的点。

要确定两个:(1)核,(2)lambda。其中,核的选择比lambda的选择更重要。

lambda的选择:根据验证集验证时的验证损失来确定。


三、计算复杂度

1NN的计算复杂度:O(N)

KNN的计算复杂度:O(N*logk)

如果N很大,则计算复杂度将非常高,因此,我们以后将引入聚类。

将KNN用来分类:比如邮件分类,使用KNN进行权重投票。


四、测试

  • 核回归的lambda选择



猜你喜欢

转载自blog.csdn.net/weixin_41770169/article/details/80658712