K 近邻:分类和回归、贝叶斯分类器和贝叶斯错误率

用离它最近的 K 个观测来预测一个新观测,K 取多大好?最好的分类器(贝叶斯分类器)能做到多低的错误率?

SOA SRMSOA PA按输入的参数计算
对过的标准答案
4 条
覆盖的考试公式
1 个
参数
12 个
开源库
2 个

01当场运行

改一个参数,当场重算

正在用默认参数运行,计算量大的方法最多要 20 秒。

04出处和说明

公式从哪里来,有什么限制

列出参考的教材、论文和考试公式条目。方法的限制和实现上的说明也写在这里。

参考

  • James、Witten、Hastie、Tibshirani:An Introduction to Statistical Learning(第 2 版)2.2 评估模型的精度:偏差-方差权衡、贝叶斯分类器、K 近邻
  • James 等 ISLR(第 2 版)练习 2.4.7 的 6 个观测(默认的自己输入的数据)

覆盖的考试公式

  • SML-003KNN 分类与回归、贝叶斯错误率SRMPA

公式条目按精算考试的公式表整理,编号和中文名是平台自己的。

这个方法算什么

自己输入训练点时,列出到要预测的点的距离、K 个邻居和预测(多数投票或平均)。模拟数据(两类各服从一个正态分布)时,训练 K 近邻、在大的测试集上算错误率,随 1/K 画出训练和测试错误率,和闭式的贝叶斯错误率 Φ(−Δ/2) 比较,用留一交叉验证选 K。

说明和限制

  • 距离是欧氏距离,变量没有标准化(量纲不同时要先标准化)。分类时两类票数相同,取最近的那个邻居的类别。
  • K = 1 时训练错误率是 0,测试错误率却不低;K 太大时决策边界太平滑。测试错误率随 1/K 先降后升(ISLR 图 2.17)。
  • 贝叶斯错误率是不可约的误差:两类都服从方差为 1 的正态分布、均值相距 Δ、先验各一半时,贝叶斯分类器按到两个均值的距离分类,错误率 Φ(−Δ/2)。
  • 模拟时测试集 5,000 个观测,K 的范围 1–100(不超过训练集的观测数)。

数据

模拟的数据或自己输入的训练点

开源库和版本

  • scipy1.17.1BSD分布拟合、统计检验
  • numpy2.4.6BSD-3-Clause数值计算

05同族的方法

统计学习,还有 9 个方法

同一个方法族里的其他方法。在智能体里,用一句话就能调用这些方法。

在智能体里这样问“用离它最近的 K 个观测来预测一个新观测,K 取多大好?最好的分类器(贝叶斯分类器)能做到多低的错误率?”