感知机学习算法中的Novikoff定理证明中的隐含背景知识

2024-04-21 23:36

本文主要是介绍感知机学习算法中的Novikoff定理证明中的隐含背景知识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、引言

《统计学习方法》(李航著)第二章感知机学习时,其中的Novikoff定理是关于感知机算法收敛性的一个重要定理。这个定理保证了对于线性可分的数据集,感知机学习算法最终能够收敛到一个解,即存在一个权重向量 w 和偏置 b,它们定义了一个超平面,能够将所有的训练样本正确分类,对应的由输入空间到输出空间的映射函数如下:
f ( x ) = s i g n ( w x ˙ + b ) f(x)=sign(w\dot x+b) f(x)=sign(wx˙+b)
其中w是权重向量,为超平面的法向量,b为标量,为超平面的截距。

为了后面介绍的方便,定义:
1、 w ^ = ( w T , b ) T ,即将偏置 b 并入权重向量 w \hat{w} = (w^T,b)^T,即将偏置b并入权重向量w w^=(wT,b)T,即将偏置b并入权重向量w
2、将输入向量x扩充,加进常数1,记为 x ^ = ( x T , 1 ) T \hat{x} = (x^T,1)^T x^=(xT,1)T
显然 w ^ ⋅ x ^ = w ⋅ x + b \hat{w} \cdot \hat{x} = w \cdot x+b w^x^=wx+b

定理具体内容为:

  1. 存在性:对于线性可分包含N个数据的数据集,存在至少一个权重向量 w opt 和偏置 b opt w_{\text{opt}} 和偏置 b_{\text{opt}} wopt和偏置bopt,使得超平面
    w opt ⋅ x + b opt = 0 w_{\text{opt}} \cdot x + b_{\text{opt}} = 0 woptx+bopt=0

    w ^ o p t ⋅ x ^ = w o p t ⋅ x + b = 0 \hat{w}_{opt} \cdot \hat{x} = w_{opt} \cdot x + b=0 w^optx^=woptx+b=0
    能够将所有的训练样本正确分类,并且 ∣ ∣ w ^ opt ∣ ∣ = 1 ||\hat{w}_{\text{opt}}|| = 1 ∣∣w^opt∣∣=1
  2. 收敛性:感知机算法从任意权重 w 0 w_0 w0 (一般为向量0) 开始,通过不断迭代更新权重,最终能够在有限次迭代后找到一个权重向量 w k w_k wk ,使得所有的训练样本都被正确分类,k称为误分类次数;
  3. 误分类次数上界
    R = m a x 1 ≤ i ≤ N ∣ ∣ x ^ i ∣ ∣ ,存在 γ > 0 ,对所有 i = 1 , 2 , . . . , N R=\mathop{max}\limits_{1≤i≤N}||\hat{x}_i||,存在γ>0,对所有i=1,2,...,N R=1iNmax∣∣x^i∣∣,存在γ>0,对所有i=1,2,...,N,有
    y i ( w ^ o p t ⋅ x ^ i ) = y i ( w o p t ⋅ x i + b o p t ) ≥ γ ,且 k ≤ ( R γ ) 2 y_i(\hat{w}_{opt}\cdot\hat{x}_i)=y_i(w_{opt}\cdot x_i+b_{opt})≥γ,且k≤(\frac{_R}{^γ})² yi(w^optx^i)=yi(woptxi+bopt)γ,且k(γR)2

在书本对上述的Novikoff定理证明中,用到了如下知识:
假设训练数据集是线性可分的,即存在超平面 w ⋅ x + b = 0 w\cdot x+b=0 wx+b=0可以将数据完全分开,在这种情况下,可以取超平面为:
w ^ o p t ⋅ x ^ = w o p t ⋅ x + b o p t = 0 ,其中 ∣ ∣ w ^ o p t ∣ ∣ = 1 \hat{w}_{opt}\cdot \hat{x}=w_{opt}\cdot x+b_{opt}=0,其中||\hat{w}_{opt}||=1 w^optx^=woptx+bopt=0,其中∣∣w^opt∣∣=1

老猿在此产生了疑问,为什么一定存在这样的 ∣ ∣ w ^ o p t ∣ ∣ = 1 ||\hat{w}_{opt}||=1 ∣∣w^opt∣∣=1的超平面呢?经过查阅资料和仔细思考,才终于明白,下面将这个过程介绍一下。

备注
变量两边各有两根竖线表示变量对应向量的模长,是指不考虑方向的向量大小,在数学中,一个向量的模长是该向量从起点到终点的直线距离,其计算方法参考背景知识1。

二、背景知识1:向量标准化

2.1、概述

向量标准化(Vector Normalization),也称为单位化(Unit Vector),是指将一个非零向量的各个分量除以该向量的长度(或L2范数),从而得到一个新的向量,新向量的长度为1。标准化向量的一个关键性质是它保持了原始向量的方向,但长度变为1。这使得标准化向量在处理方向性问题时非常有用,同时简化了涉及长度计算的数学运算。

2.2、定义

假设有一个n维非零向量 v = [ v 1 , v 2 , . . . , v n ] \mathbf{v} = [v_1, v_2, ..., v_n] v=[v1,v2,...,vn],其长度(L2范数)为:

∥ v ∥ = v 1 2 + v 2 2 + . . . + v n 2 \|\mathbf{v}\| = \sqrt{v_1^2 + v_2^2 + ... + v_n^2} v=v12+v22+...+vn2

向量 v \mathbf{v} v 的标准化版本 u 定义为:

u = v ∥ v ∥ \mathbf{u} = \frac{\mathbf{v}}{\|\mathbf{v}\|} u=vv

标准化向量的每个分量是原始向量对应分量与原始向量长度的比值。如果 ∥v∥ 不为零,那么标准化向量的每个分量 v i v_i vi 计算如下:

v i = v i v 1 2 + v 2 2 + . . . + v n 2 v_i = \frac{v_i}{\sqrt{v_1^2 + v_2^2 + ... + v_n^2}} vi=v12+v22+...+vn2 vi
对于二维向量 v = [ v x , v y ] \mathbf{v} = [v_x, v_y] v=[vx,vy],标准化过程如下:
u = [ v x v x 2 + v y 2 , v y v x 2 + v y 2 ] \mathbf{u} = \left[ \frac{v_x}{\sqrt{v_x^2 + v_y^2}}, \frac{v_y}{\sqrt{v_x^2 + v_y^2}} \right] u= vx2+vy2 vx,vx2+vy2 vy

2.3、用途

向量标准化在多个领域中非常有用,包括:

  • 物理学:在表示速度、力等矢量时,标准化向量可以提供方向信息而忽略大小
  • 计算机图形学:标准化向量常用于光线跟踪、着色和渲染算法
  • 机器学习:在计算余弦相似度或欧几里得距离时,标准化输入特征向量可以消除不同量纲的影响
  • 数据挖掘:在聚类分析或主成分分析(PCA)中,标准化数据可以提高算法的性能
  • 优化问题:在某些优化算法中,使用标准化向量可以避免因变量的不同量纲而产生的数值问题

三、背景知识2:一个向量方程的变换

对于可变向量x和向量w1和标量b1,如果有 w 1 x + b 1 = 0 w_1 x+b_1=0 w1x+b1=0 ,是否存在一个可由w1缩放的向量w2以及对应的标量b2,使得 ∣ ∣ w ^ 2 ∣ ∣ = 1 ,且 w 2 x + b 2 = 0 ||\hat{w}_2||=1,且w_2x+b_2 = 0 ∣∣w^2∣∣=1,且w2x+b2=0? 如果存在,怎么证明?

答:是存在这样的w2和b2,具体推导过程如下:
令 w = w 1 ∣ ∣ w 1 ∣ ∣ , b = b 1 ∣ ∣ w 1 ∣ ∣ ,对原方程两边同时除以 ∣ ∣ w 1 ∣ ∣ 令w=\frac{w_1}{{||w1||}},b= \frac{b_1}{{||w1||}},对原方程两边同时除以||w_1|| w=∣∣w1∣∣w1b=∣∣w1∣∣b1,对原方程两边同时除以∣∣w1∣∣
根据向量标准化的知识即可保证||w||=1,且 w x + b = 0 wx+b= 0 wx+b=0。对于将 b 扩充到 w 的表现形式 w ^ 2 b扩充到w的表现形式\hat{w}_2 b扩充到w的表现形式w^2,可以看成是比w高一维的向量,相关映射函数也变换为截距为0的特殊形式,因此也存在对应 ∣ ∣ w ^ 2 ∣ ∣ = 1 ||\hat{w}_2||=1 ∣∣w^2∣∣=1的情况满足要求。

四、结论

经过向量标准化和方程两边同除以权重的模长对权重向量标准化后,wx+b= 0定理中使用的权重可以转换模长为1的w2权重,对应的超平面与变换前是相同的,因为满足条件的可变向量x的值都是一样的。

在这里插入图片描述

四、小结

本文介绍了《统计学习方法》(李航著)第二章感知机学习中的Novikoff定理证明过程的隐含知识,好方便大家理解证明过程,相关知识总结起来就是两点,一是任何非零向量都可以标准化为模长为1的向量,二是对于线性映射函数,对权重向量进行标准化同时对截距进行相应变换后不影响映射函数其所表达的超平面,即权重向量标准化(含截距处理)前后所代表的超平面是同一个。

更多统计学习基础知识请参考专栏《统计学习基础知识》。

更多人工智能基础知识请参考专栏《人工智能基础知识》。

写博不易,敬请支持:

如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!

关于老猿的付费专栏

  1. 付费专栏《https://blog.csdn.net/laoyuanpython/category_9607725.html 使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,对应文章目录为《 https://blog.csdn.net/LaoYuanPython/article/details/107580932 使用PyQt开发图形界面Python应用专栏目录》;
  2. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10232926.html moviepy音视频开发专栏 )详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/107574583 moviepy音视频开发专栏文章目录》;
  3. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10581071.html OpenCV-Python初学者疑难问题集》为《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的伴生专栏,是笔者对OpenCV-Python图形图像处理学习中遇到的一些问题个人感悟的整合,相关资料基本上都是老猿反复研究的成果,有助于OpenCV-Python初学者比较深入地理解OpenCV,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/109713407 OpenCV-Python初学者疑难问题集专栏目录 》
  4. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10762553.html Python爬虫入门 》站在一个互联网前端开发小白的角度介绍爬虫开发应知应会内容,包括爬虫入门的基础知识,以及爬取CSDN文章信息、博主信息、给文章点赞、评论等实战内容。

前两个专栏都适合有一定Python基础但无相关知识的小白读者学习,第三个专栏请大家结合《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的学习使用。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《https://blog.csdn.net/laoyuanpython/category_9831699.html 专栏:Python基础教程目录)从零开始学习Python。

如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

老猿Python,跟老猿学Python!

☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython ░

这篇关于感知机学习算法中的Novikoff定理证明中的隐含背景知识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/924313

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

康拓展开(hash算法中会用到)

康拓展开是一个全排列到一个自然数的双射(也就是某个全排列与某个自然数一一对应) 公式: X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0! 其中,a[i]为整数,并且0<=a[i]<i,1<=i<=n。(a[i]在不同应用中的含义不同); 典型应用: 计算当前排列在所有由小到大全排列中的顺序,也就是说求当前排列是第

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始