机器学习基础(四十一)—— KNN
2016-04-06 12:21
369 查看
K 近邻的数学表达
所谓 K 近邻的数学表达,也即统计计数(再进行表决)的数学表达。y=argmaxcj∑xi∈Nk(x)I(yi=cj),i=1,2,…,N;j=1,2,…,K
k 值的选择
k 值的选择会对 k 近邻法的结果产生重大影响。如果选择较小的 k 值,就相当于用较小的邻域中的训练实例(xi∈Nk(x))进行预测。“学习”的近似误差(approximation error)会减少,只有与输入实例较近的(相似的)训练实例才会对预测结果起作用,但缺点是“学习”的估计误差(estimation error)会增大,预测结果对近邻的实例点非常敏感。如果近邻的实例点恰巧是噪声,预测就会出错。换句话说,k 值的减小就意味着模型变得复杂,容易发生过拟合。
如果选择较大的 k 值,将相当于用较大邻域中的训练实例进行预测。其优点是可以减少学习的估计误差,但会增大学习的近似误差。这时与输入实例较远的(不相似)的训练实例也会对预测起作用,使预测发生错误。k 值的增大意味着整体的模型变得简单。
如果 k=N,那么无论输入实例是什么,都将简单地预测它属于在训练实例中出现最多的类,这时,模型过于简单,完全忽视训练实例中的大量有用信息。
在应用中,k 一般取一个较小的值,通常采用交叉验证法来选取最优的 k 值。
#
相关文章推荐
- 第五周项目1(3)
- 3、重新组织代码
- C#学习笔记(初级)
- 使用android:layout_weight属性消除视图中的空白
- 传感器--------屏幕方向检测
- compatible-screens
- 2、简化逻辑和循环
- 剑指offer 17 树的子结构
- Java中使用Jedis操作Redis
- python socket多线程通讯实例分析(聊天室)
- Mysql数据库环境搭建及Java访问简单demo
- 推荐系统学习05-libFM
- 1、简明、清晰的展示
- pidstat
- Android开发--WIFI实现
- JSON.parse()和JSON.stringify()
- 深度分析NandFlash—控制器参数TACLS、TWRPH0和TWRPH1的确定(以TQ2440开发板上的K9F2G08U0A为例)
- 切换选项卡tab效果
- 清晰代码和代码重构大纲
- ORclae编程(初级)