K近邻

news/2024/11/8 16:39:36/

K近邻

  1. k近邻法(k-Nearest Neighbor,简称kNN)是一种基本的分类与回归方法。
  • 分类问题:对新的样本,根据其k个最近邻的训练样本的类别,通过多数表决等方式进行预测。
  • 回归问题:对新的样本,根据其k个最近邻的训练样本标签值的均值作为预测值。
  1. k近邻法不具有显式的学习过程,它是直接预测。它是惰性学习(lazy learning)的著名代表。

    • 它实际上利用训练数据集对特征向量空间进行划分,并且作为其分类的"模型"。

    • 这类学习技术在训练阶段仅仅将样本保存起来,训练时间开销为零,等到收到测试样本后再进行处理。

      那些在训练阶段就对样本进行学习处理的方法称作急切学习(eager learning)。

  2. k近邻法是个非参数学习算法,它没有任何参数(k是超参数,而不是需要学习的参数)。

    • k近邻模型具有非常高的容量,这使得它在训练样本数量较大时能获得较高的精度。

    • 它的缺点有:

      • 计算成本很高。因为需要构建一个 N × N N\times N N×N的距离矩阵,其计算量为 O ( N 2 ) O(N^2) O(N2),其中N为训练样本的数量。

        当数据集是几十亿个样本时,计算量是不可接受的。

      • 在训练集较小时,泛化能力很差,非常容易陷入过拟合。

      • 无法判断特征的重要性。

  3. k近邻法的三要素:

    • k值选择。
    • 距离度量。
    • 决策规则。

1. k值选择

  1. k = 1 k=1 k=1时的k近邻算法称为最近邻算法,此时将训练集中与 x \mathbf x x最近的点的类别作为 x \mathbf x x的分类。

  2. k值的选择会对k近邻法的结果产生重大影响。

    • 若k值较小,则相当于用较小的邻域中的训练样本进行预测,"学习"的偏差减小。

      只有与输入样本较近的训练样本才会对预测起作用,预测结果会对近邻的样本点非常敏感。

      若近邻的训练样本点刚好是噪声,则预测会出错。即:k值的减小意味着模型整体变复杂,易发生过拟合。

      • 优点:减少"学习"的偏差。
      • 缺点:增大"学习"的方差(即波动较大)。
    • 若k值较大,则相当于用较大的邻域中的训练样本进行预测。

      这时输入样本较远的训练样本也会对预测起作用,使预测偏离预期的结果。

      即: k值增大意味着模型整体变简单。

      • 优点:减少"学习"的方差(即波动较小)。
      • 缺点:增大"学习"的偏差。
  3. 应用中,k值一般取一个较小的数值。通常采用交叉验证法来选取最优的k值。

2. 距离度量

  1. 特征空间中两个样本点的距离是两个样本点的相似程度的反映。

    近邻模型的特征空间一般是n维实数向量空间 R n \mathbb R^n Rn,其距离一般为欧氏距离,也可以是一般的 L p L_p Lp距离:
    (1) L p ( x i , x j ) = ( ∑ l = 1 N ∣ x i , l − x j , l ∣ p ) 1 / p , p ⩾ 1 x i , x j ∈ X = R n ; x i = ( x i , 1 , x i , 2 , . . . , x i , n ) T L_p(\mathbf x_i,\mathbf x_j)=(\sum_{l=1}^{N}|\mathbf x_{i,l}-\mathbf x_{j,l}|^p)^{1/p},\ p\geqslant1\\ \mathbf x_i,\mathbf x_j\in \mathcal X=\mathbb R^n;\mathbf x_i=(x_{i,1},x_{i,2},...,x_{i,n})^T\tag{1} Lp(xi,xj)=(l=1Nxi,lxj,lp)1/p, p1xi,xjX=Rn;xi=(xi,1,xi,2,...,xi,n)T(1)

    • p = 2 p=2 p=2时,为欧氏距离: L 2 ( x i , x j ) = ( ∑ l = 1 N ∣ x i , l − x j , l ∣ 2 ) 1 / 2 L_2(\mathbf x_i,\mathbf x_j)=(\sum_{l=1}^{N}|\mathbf x_{i,l}-\mathbf x_{j,l}|^2)^{1/2} L2(xi,xj)=(l=1Nxi,lxj,l2)1/2
    • p = 1 p=1 p=1时,为曼哈顿距离: L ( x i , x j ) = ∑ l = 1 N ∣ x i , l − x j , l ∣ L(\mathbf x_i,\mathbf x_j)=\sum_{l=1}^{N}|\mathbf x_{i,l}-\mathbf x_{j,l}| L(xi,xj)=l=1Nxi,lxj,l
    • p = ∞ p=\infty p=时,为各维度距离中的最大值: L ∞ ( x i , x j ) = m a x l ∣ x i , l − x j , l ∣ L_{\infty}(\mathbf x_i,\mathbf x_j)=max_l\ |\mathbf x_{i,l}-\mathbf x_{j,l}| L(xi,xj)=maxl xi,lxj,l
  2. 不同的距离度量所确定的最近邻点是不同的。

3. 决策规则

  1. 分类决策通常采用多数表决,也可以基于距离的远近进行加权投票:距离越近的样本权重越大。

  2. 回归决策通常采用均值回归,也可以基于距离的远近进行加权投票:距离越近的样本权重越大。

转自:

  • AI算法工程师手册

http://www.ppmy.cn/news/233115.html

相关文章

华为机顶盒E6108 V9-V9U-V92-V97免拆机-刷机固件及教程

固件特点: 1、不带ROOT权限,适用于华为EC6108V9 4.4.2版本 非高安版(CA) ; 2、调出原厂固件屏蔽的wifi,开放原厂固件屏蔽的市场安装和u盘安装apk; 3、无开机广告,无系统更新…

android机顶盒root,[Android]机顶盒root脚本:SupersuSU获取完美Root权限万能方法,解决二进制更新问题 | 樱花庄...

本方法是自己结合网络方法改良来的无需U盘,电脑一键搞定前提:打开adb(目前测试安卓4.4,其他高版本没测试环境,理论上高版本安装 换高版本SuperSU也适用)网络方法的弊端是在某些盒子上,特别是四川电信等盒子限制安装软件…

电信机顶盒ty1208-z刷linux(armbian)

前情:某天我在电信的仓库的垃圾堆里面翻到了一台电信的机顶盒,是烽火的ty1208-z,查了一下配置,是1g ram 8g emmc,s905m的cpu,于是突发奇想能不能像N1、玩客云一样刷入armbian。 折腾的大致过程&#xff1a…

华为盒子EC6108V9A-RK3128-1+4G 免拆机 卡刷固件及教程

固件特点: 1、调出原厂固件屏蔽的wifi,开放原厂固件屏蔽的市场安装和u盘安装apk; 2、无开机广告,无系统更新,不在被强制升级;修改dns,三网通用; 3、大量精简内置的没用的软件&am…

aaa服务器显示认证失败,华为aaa认证案例-电信华为机顶盒50%通路故障或AAA认证失败怎么回...

华为交换机AAA配置与管理 内容来自用户:wanhyl 一、基础 1、AAA是指:authentication(认证)、authorization(授权)、accounting(计费)的简称,是网络安全的一种管理机制;Authentication是本地认证/授权,authorization和accounting是…

无线网盒子怎么连接电脑连接服务器,网络机顶盒怎么用设置连接wifi?图文详解手把手教你...

小编是过来人,最先接触机顶盒的时候,不知如何将盒子联网,ADSL连接到机顶盒上并不能自动获取IP,这给初次接触盒子的用户造成了不小的困惑。想必大家的家里都有WiFi吧,就是无线路由器,有了它,就好…

电视显示通路故障或服务器不可用,我家的华为机顶盒连不上网,显示50%通路故障或AAA认证失败,这是怎回事?...

满意答案 dongbing_ 2020.02.17 采纳率:59% 等级:8 已帮助:461人 一、进入无线路由器的设置界面 1、正常连接路由器的情况下(路由器通电,一条网线连接在路由器的LAN任何一个口,另一端连接到电脑),打开浏览器并输入无线路由器的IP。此IP地址会因为路由器的品牌不同而略…

华为悦盒EC6109U(联通IPTV机顶盒)

破解后 使用光猫的非IPTV口(上网口)可以看网络直播电视(电视家APP),也可以任何任意安装APP。 想看原来的IPTV 网线还原到光猫IPTV口即可。 从当贝桌面直接点IPTV图标可以进IPTV,需要换网络链接方式。 从IPTV不能直接进当贝桌面,需要断电重启。 华为运营商定制盒部份:E…