机器学习算法——手动搭建KNN分类器(代码+作图)

KNN分类器原理

D D D 为一个包含 n n n 个点 x i ∈ R d x_{i}\in R^{d} xiRd 的数据集,其中 D i D_{i} Di 为类标签为 c i c_i ci 的点的子集, n i = ∣ D i ∣ n_{i}=|D_i| ni=Di

现给定一个测试点 x j ∈ R d x_{j}\in R^{d} xjRd以及需要考虑的邻居节点数为 K K K,令 r r r 代表从 x j x_j xj 到它的第 K K K 个最近邻居的距离。

根据这个距离我们可以画出一个以测试点 x j x_j xj 为中心,半径为 r r r d d d 维超球体,表示为
B d ( x j , r ) = { x i ∈ D ∣ δ ( x j , x m ) ⩽ r } B_{d}\left( x_{j},r\right) =\left\{ x_{i}\in D\mid \delta \left( x_{j},x_{m}\right) \leqslant r\right\} Bd(xj,r)={ xiDδ(xj,xm)r} 本式中 δ ( x j , x m ) \delta \left( x_{j},x_{m}\right) δ(xj,xm) 表示测试点 x j x_j xj 到 集合 D D D 中的点 x m x_m xm 的距离。我们这里选取的是欧式距离,即 δ ( x j , x m ) = ∥ x j − x m ∥ 2 \delta \left( x_{j},x_{m}\right)=\parallel x_{j}-x_{m}\parallel_{2} δ(xj,xm)=xjxm2

K i K_i Ki 表示 x j x_j x

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值