机器学习之KNN算法

KNN,即k-近邻算法。


概念

k近邻是一种监督学习算法,其工作机制简单:给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个“邻居”的信息来进行预测。

通常,分类任务中可使用“投票法”,即选择这k个样本中出现最多的类别标记作为预测结果,在回归任务中可使用“平均法”,即将这k个样本的实值输出标记的平均值作为预测结果,还可基于距离远近进行加权平均或加权投票,距离越近样本权重越大。

 

k近邻分类:一个样本在特征空间中,总会有k个最相似的样本。其中大多数的样本属于某个类别,则该样本也属于某个类别。

一般应用于客户流失预测、欺诈侦测,更适用于稀有事件的分类问题。

计算步骤

1.算距离:给定测试对象,计算它与训练集中每个对象的距离

2.找邻居:圈定距离最近的k个对象,作为测试对象的邻居

3.做分类:根据这k个对象的主要类别,来给测试对象分类

 

k-近邻是一种懒惰学习算法,考试才临阵磨枪,似乎没有显式的训练过程。

模型简单,计算开销大。

 

假设能够恰当的做出k个近邻,我们来对“最近邻分类器”(1NN,即k=1)在二分类问题上的性能做一个简单的讨论。

给定测试样本x,若其最近邻样本为z,则最近邻分类器出错的概率就是xz类别标记不同的概率,即:

                                                            P(err)=1-\sum_{c\epsilon y}P(c\mid x)P(c\mid z)

最近邻分类器虽简单,但它的泛化错误率不超过贝叶斯最优分类器的错误率的两倍。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值