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

news2024/11/15 12:03:56

一、引言

《统计学习方法》(李航著)第二章感知机学习时,其中的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 ░

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1612637.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

投稿没被采纳不是水平问题可能是投稿方法不对

每周一次的信息宣传投稿任务,如同一面镜子,映照出我们在媒体传播领域的探索与成长。起初,我在执行这项任务时,怀着满腔热情,挥洒汗水创作出一篇篇通信稿件,却在投稿阶段屡遭挫折,多次尝试均未果,一度让我质疑自己的写作能力是否足以胜任这项工作。 那时,我采用的是传统的邮箱投…

智慧煤矿/智慧矿区视频汇聚存储与安全风险智能分析平台建设思路

一、建设背景 目前我国非常重视煤矿安全生产,并投入大量资金用于煤矿安全综合远程监控系统的研发。视频监控系统作为实现煤矿智能化无人开采的关键系统与煤矿安全生产的多系统协同分析与处理的关键信息源,在智慧矿山管控平台的建设中发挥着重要的作用。…

【微信小程序】解决分页this.setData数据量太大的限制问题

1、原始方法,每请求一页都拿到之前的数据concat一下后整体再setData loadData() {let that thislet data {}data.page this.data.pagedata.size this.data.sizefindAll(data).then(res > {if (res.data.code 1) {this.setData({dataList: this.data.dataLi…

【嵌入式DIY实例】-称重计

DIY称重计 文章目录 DIY称重计1、硬件准备1.1 HX711 称重传感器模块2、硬件接线原理图3、代码实现在本文中,我们将使用数字体重秤 HX711 称重传感器模块来实现一个简易的称重计。 HX711 模块非常适合测量重量、力或任何其他可以以克为单位的东西。 该模块易于使用,可以连接到…

vue列表穿梭框,可进行前端查询

// 这是组件,可以直接用 <template><div class"box"><el-row><el-col :span"11"><div class"box_left"><SearchContent :queryParams"queryParams" query"handleQuery" reset"resetQ…

Vue 中 mixins(混入)的介绍和使用

目录 前言 什么是 mixins? 如何创建 mixins? 如何使用 mixins mixins 的特点 方法和参数在各组件中不共享 mixins 与组件冲突 冲突之 合并覆盖 冲突之 合并 全局 mixins mixins 中有异步请求的情况 与 vuex 的区别 与公共组件的区别 前言 在项目开发的时候&…

ARM为什么不直接造CPU呢?

1.ARM造CPU能力绝对有的&#xff0c;因为他就是提供各种微架构、软核、硬核的公司。 2.ARM公司之所以不自己造CPU&#xff0c;主要是考虑商业生态、商业竞争的问题。自己既当裁判、又下场踢球&#xff0c;这样的话&#xff0c;大家没法玩这个游戏的。同样的道理&#xff0c;就…

STL-list的使用及其模拟实现

在C标准库中&#xff0c;list 是一个双向链表容器&#xff0c;用于存储一系列元素。与 vector 和 deque 等容器不同&#xff0c;list 使用带头双向循环链表的数据结构来组织元素&#xff0c;因此list插入删除的效率非常高。 list的使用 list的构造函数 list迭代器 list的成员函…

VR全景:为户外游玩体验插上科技翅膀

随着VR全景技术的愈发成熟&#xff0c;无数人感到惊艳&#xff0c;也让各行各业看到了一片光明的发展前景。尤其是越来越多的文旅景区开始引入VR全景技术&#xff0c;相较于以往的静态风景图&#xff0c;显然现在的VR全景结合了动态图像和声音更加吸引人。 VR全景技术正在逐步改…

PACS/RIS影像管理系统源码,医院影像科室PACS系统源码,三维医学影像系统源码 支持图像后处理与重建

PACS/RIS影像管理系统源码&#xff0c;支持图像后处理与重建 医院影像科室PACS系统源码&#xff0c;三维医学影像系统源码 PACS&#xff0c;全称为Picture Archiving and Communication Systems&#xff0c;中文意思是医学影像存档与通讯系统。它主要是应用在医院影像科室中&a…

Guitar Pro简谱输入方法 Guitar Pro简谱音高怎么调整,Guitar Pro功能介绍

一、新版本特性概览 Guitar Pro v8.1.1 Build 17在保留了前版本强大功能的基础上&#xff0c;进一步优化了用户体验和功能性能。新版本主要更新包括以下几个方面&#xff1a; 界面优化&#xff1a;新版界面更加简洁美观&#xff0c;操作更加便捷&#xff0c;即使是初学者也能快…

Nodejs - 异步I/O

异步I/O 利用单线程&#xff0c;远离多线程死锁&#xff0c;状态同步等问题&#xff0c;利用异步I/O&#xff0c; 让单线程原理阻塞&#xff0c;更好的使用cpu异步I/O实现现状 阻塞IO 操作系统内对于I/O只有两种方式: 阻塞和非阻塞。在调用阻塞I/O的时候&#xff0c;应用程序需…

如何使用PHPStudy+Cloudreve搭建个人云盘并实现无公网IP远程访问——“cpolar内网穿透”

文章目录 1、前言2、本地网站搭建2.1 环境使用2.2 支持组件选择2.3 网页安装2.4 测试和使用2.5 问题解决 3、本地网页发布3.1 cpolar云端设置3.2 cpolar本地设置 4、公网访问测试5、结语 1、前言 自云存储概念兴起已经有段时间了&#xff0c;各互联网大厂也纷纷加入战局&#…

Java- Object根父类

在java中&#xff0c;所有的类都有一个公共的父类&#xff0c;这个java.lang.Object类 * * * Object所有类的根&#xff0c;成为超类。 1.证明Object是根 public class A_Object01 {public static void main(String[] args) {//证明Object是根//基本数据类型int a 0;Object…

4月21敲一篇猜数字游戏,封装函数,void,无限循环,快去体验体验

今天敲一篇猜数字游戏 目录 今天敲一篇猜数字游戏 1.打开先学goto语句&#xff1a; 2.开干&#xff1a; 首次我们学习随机数&#xff1a; 讲解一下&#xff1a; 改用srand; 加入时间变量&#xff1a; 获取时间&#xff1a;哈​编辑 3.我本来想已近够完美了&#xff0…

HAL STM32 SSI/SPI方式读取MT6701磁编码器获取角度例程

HAL STM32 SSI/SPI方式读取MT6701磁编码器获取角度例程 &#x1f4cd;相关篇《HAL STM32 I2C方式读取MT6701磁编码器获取角度例程》&#x1f4cc;当前最新MT6701数据手册&#xff1a;https://www.magntek.com.cn/upload/MT6701_Rev.1.8.pdf&#x1f4dc;SSI协议读角度&#xff…

企业数字化转型中的五大挑战及应对策略

一、引言 在数字化浪潮席卷全球的今天&#xff0c;数字化转型已成为企业生存和发展的关键所在。然而&#xff0c;尽管众多企业纷纷投身于这一进程&#xff0c;但失败的案例却屡见不鲜。数字化转型失败不仅浪费了企业大量的资源&#xff0c;还可能对企业的声誉和竞争力造成严重…

如何利用pg_dump和pg_restore迁移从一个PostgreSQL服务器到另一个服务器,同时保持一致性与高效性?

文章目录 解决方案1. 使用pg_dump导出数据2. 将导出的数据复制到目标服务器3. 使用pg_restore导入数据保持一致性与高效性的策略一致性高效性 示例代码导出数据复制数据到目标服务器在目标服务器上解压并导入数据 PostgreSQL数据库的迁移是一个常见的任务&#xff0c;特别是在升…

【办公类-21-16】 20240410三级育婴师 344多选题(题目与答案合并word)

作品展示 背景需求&#xff1a; 前文将APP题库里的育婴师题目下载到EXCEL&#xff0c;并进行手动整理【办公类-21-14】 20240406三级育婴师 344道多选题 UIBOT下载整理-CSDN博客文章浏览阅读287次&#xff0c;点赞8次&#xff0c;收藏9次。【办公类-21-14】 20240406三级育婴师…

实现联系人前后端界面,实现分页查询04.15

实现联系人前后端界面&#xff0c;实现分页查询项目包-CSDN博客 项目结构 数据库中建立两个表&#xff1a; 完整的后端目录 建立联系人People表&#xff0c;分组Type表&#xff0c;实现对应实体类 根据需求在mapper中写对应的sql语句 查询所有&#xff0c;删除&#xff0c;添…