从KNN到Kernel

从KNN到Kernel

knn(k nearest neighbour)算法, 是个简单直观的分类算法, 相信大家也都有所了解. 现在我们脑洞大开, 聊一个knn变形的故事.

  1. knn是在一个邻域内, 统计一下哪个类别的点多. 不管离我远还是近, 只要在这个邻域内, 都算是一个点. 那我们能不能使用距离加权呢? 近的点更重要, 远的点作用小, 这么来做一个优化.
  2. 进一步, 这个邻域到底有多大呢? 我们优化一下, 将这个邻域取到无穷大, 即统计所有点的类别. 这个优化得和1配合使用, 不然所有预测结果都一样啦(样本总的先验概率, 特征都失效了).
  3. 如果要计算所有点到这里的距离, 太复杂了. 我们再做一个优化, 用一些”有代表性的点”来代替所有点. 以后我们只要计算跟这些”有代表性的点”之间的距离, 再按距离加权求和就好啦.
  4. 距离, 可长可短. 近的较重要, 远到一定程度就没作用了. 再做一个优化, 给这个(欧式)距离搞个归一化, 近的值大(1.0), 越远越没用(->0). 那么用什么函数呢? Gaussian呀! 万能的Gaussian, 岂不是正合适?
    ##RBF kernel 产生了…
  5. 进一步优化. 现在我们找到了一些”代表性的点”, 并用到它们的距离加权求和(线性)来判别分类. 既然我们知道了这些”到代表性点的距离”, 那么也可以将其作为特征, 套用一个高阶模型(NN)或好搞的线性模型(Linear R, SVM).
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值