当前位置:网站首页>从感知机到前馈神经网络的数学推导
从感知机到前馈神经网络的数学推导
2022-06-27 17:13:00 【巴涅波赫夫】
感知机
感知机是一种用来处理二分类的经典线性模型。其原理朴素直观,引入了学习概念,是神经网络的基本构成单元之一。
感知机的定义
假设输入空间为 X ∈ R n X\in \Bbb R^n X∈Rn,输出空间为 Y = { + 1 , − 1 } Y=\{+1,-1\} Y={ +1,−1}。输入的 x ∈ X x\in X x∈X表示示例中的特征向量,对应于输入空间中的某一点;输出 y ∈ Y y\in Y y∈Y表示实例的类别。则称公式 (1) 这种由输入空间到输出空间的函数为感知机模型。
f ( x ) = s i g n ( w ⋅ x + b ) (1) f(x) =sign(w\cdot x+b) \tag{1} f(x)=sign(w⋅x+b)(1)
其中, w w w和 b b b为感知机模型的参数, w ∈ R n w\in\Bbb R^n w∈Rn称为权值或权值向量, b ∈ R b\in \Bbb R b∈R称为偏置, w ⋅ x w\cdot x w⋅x表示 w w w和 x x x的内积, s i g n sign sign为符号函数,即:
s i g n ( x ) = { + 1 , x ≥ 0 − 1 , x < 0 (2) sign(x)=\begin{cases} +1,&x\ge 0\\ -1,&x\lt 0 \end{cases} \tag{2} sign(x)={ +1,−1,x≥0x<0(2)
感知机的几何含义
对于给定的样本集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\} T={ (x1,y1),(x2,y2),⋯,(xN,yN)},其中对式 (1) 中出现的线性方程 w ⋅ x + b = 0 w\cdot x+b=0 w⋅x+b=0对应于特征空间 R n \Bbb R^n Rn的一个超平面 S S S,其中 w w w是 S S S的法向量, b b b是 S S S的截距。若该特征空间线性可分,则该超平面可以恰好将特征空间分为两部分(如图1所示)。位于两部分的特征向量分别对应正负类样本。此时,该超平面𝑆又被称为分离超平面。
感知机的损失函数
综上,感知机的主要目标是确定出一个可以将数据集的正样本和负样本完全分开的超平面,而超平面则主要通过训练时不断调整参数 w w w和 b b b的值来确定。至于 w w w和 b b b则可以通过定义关于 w w w和 b b b的损失函数并将损失函数极小化来得到。
当使用误分类点的个数来作为损失函数时,该损失函数不是关于 w w w和 b b b的连续可导函数,实际操作时不易优化,因此可以使用所有误分类点到超平面 S S S的总距离来作为损失函数。输入空间 R n \Bbb R^n Rn中任意一点 x 0 x_0 x0到超平面 S S S的距离为:
1 ∣ ∣ w ∣ ∣ ∣ w ⋅ x + b ∣ (3) \frac{1}{||w||}|w\cdot x+b| \tag{3} ∣∣w∣∣1∣w⋅x+b∣(3)
当样本标签 y i y_i yi为 + 1 +1 +1时, w ⋅ x i + b > 0 w\cdot x_i+b\gt 0 w⋅xi+b>0表示分类正确;当样本标签 y i y_i yi为 − 1 −1 −1时, w ⋅ x i + b < 0 w\cdot x_i+b\lt 0 w⋅xi+b<0表示分类正确,因此将两式整合如下:
{ y i ( w ⋅ x i + b ) > 0 , 分类正确 y i ( w ⋅ x i + b ) < 0 , 分类错误 (4) \begin{cases} y_i(w\cdot x_i+b)\gt0,&\text{分类正确}\\ y_i(w\cdot x_i+b)\lt0,&\text{分类错误} \end{cases} \tag{4} { yi(w⋅xi+b)>0,yi(w⋅xi+b)<0,分类正确分类错误(4)
因此此时误分类点 x i x_i xi到超平面 S S S的距离是:
− 1 ∣ ∣ w ∣ ∣ y i ( w ⋅ x i + b ) (5) -\frac{1}{||w||}y_i(w\cdot x_i+b) \tag{5} −∣∣w∣∣1yi(w⋅xi+b)(5)
不妨设超平面 S S S的误分类点集合为 M M M,那么全体误分类点到超平面 S S S的总距离为:
− 1 ∣ ∣ w ∣ ∣ ∑ x i ∈ M y i ( w ⋅ x i + b ) (6) -\frac{1}{||w||}\sum_{x_i\in M}y_i(w\cdot x_i+b)\tag{6} −∣∣w∣∣1xi∈M∑yi(w⋅xi+b)(6)
不再考虑 1 ∣ ∣ w ∣ ∣ \frac{1}{||w||} ∣∣w∣∣1,就得到感知机学习训练时的损失函数 L ( w , b ) L(w,b) L(w,b):
L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) (7) L(w,b)=-\sum_{x_i\in M}y_i(w\cdot x_i+b) \tag{7} L(w,b)=−xi∈M∑yi(w⋅xi+b)(7)
感知机的学习算法
已知感知机的学习目标是得到使损失函数值最小时的参数 w w w和 b b b,即:
min w , b L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) (8) \min_{w,b}L(w,b)=-\sum_{x_i\in M}y_i(w\cdot x_i+b) \tag{8} w,bminL(w,b)=−xi∈M∑yi(w⋅xi+b)(8)
由于 L ( w , b ) L(w,b) L(w,b)是一个自变量为 w w w和 b b b的简单线性函数,且由于损失函数中只有误分类点参与了计算,因此不需要对所有的点都求导。故感知机所采用的下降方法是随机梯度下降(Stochastic Gradient Descent,SGD)。
在随机梯度下降法中,每次迭代只随机选取一个样本,如果该样本在当前超平面下分类正确,则不进行操作;如果分类错误,则对这个误分类样本 x i x_i xi求梯度:
∇ w = ∂ − y i ( w ⋅ x i + b ) ∂ w = − y i x i (9) \nabla w = \frac{\partial-y_i(w\cdot x_i+b)}{\partial w}=-y_ix_i \tag{9} ∇w=∂w∂−yi(w⋅xi+b)=−yixi(9) ∇ b = ∂ − y i ( w ⋅ x i + b ) ∂ b = − y i x i (10) \nabla b=\frac{\partial-y_i(w\cdot x_i+b)}{\partial b}=-y_ix_i \tag{10} ∇b=∂b∂−yi(w⋅xi+b)=−yixi(10)
利用求解的梯度对 w w w和 b b b进行更新,得:
w ← w + η y i x i (11) w\leftarrow w+\eta y_ix_i \tag{11} w←w+ηyixi(11) b ← w + η y i (12) b \leftarrow w+\eta y_i \tag{12} b←w+ηyi(12)
其中, η \eta η为学习率,代表学习速度的快慢,一般取 0 ∼ 1 0∼1 0∼1之间。再由Novikoff定理可知,经过有限次迭代后可以使得损失函数尽可能地小,直到为零,此时即可得到 w w w和 b b b的值,进而得到超平面 S S S。
感知机模型的缺陷与改进
感知机模型在进行二分类问题时简单直观且计算简单,但其具有很大的局限性,即只能处理线性可分问题。以逻辑学中的异或问题为例,对于输入 { A , B } \{A,B\} { A,B},当 A = B A=B A=B时输出为 1 1 1,当 A ≠ B A\ne B A=B时输出为 0 0 0。以 0 , 0 {0,0} 0,0、 0 , 0 {0,0} 0,0、 1 , 0 {1,0} 1,0, 1 , 1 {1,1} 1,1为例,输出结果如表1所示:
| A | B | A XOR B |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
异或问题看似非常简单,但其为非线性可分问题,因此对于感知机模型来说,该问题比较复杂。将表1在二维坐标上展示结果如图2所示。
由图2所示,由于去值相同的点分别占据了对角,因此无论如何都无法找到一个直线(超平面)使两类分开。当然,倘若使用两个感知机模型问题似乎就迎刃而解了。如图2所示,两个感知机模型对应的分割超平面就是图中的两条实线。设感知机1为 f 1 ( x ) = s i g n ( w 1 ⋅ x + b 1 ) f_1 (x)=sign(w_1⋅x+b_1) f1(x)=sign(w1⋅x+b1);感知机2为 f 2 ( x ) = s i g n ( w 2 ⋅ x + b 2 ) f_2 (x)=sign(w_2⋅x+b_2) f2(x)=sign(w2⋅x+b2)。并令感知机1对应的超平面右下方和感知机2对应的超平面左上方输出为 + 1 +1 +1;感知机1对应的超平面右上方和感知机2对应的超平面右下方输出为 − 1 -1 −1。
此时继续添加感知机3以整合感知机1与感知机2的输出结果,不妨设感知机3为 f 3 ( x 3 ) = s i g n ( w 3 ⋅ x 3 + b 3 ) f_3 (x_3)=sign(w_3⋅x_3+b_3) f3(x3)=sign(w3⋅x3+b3)。其中, w 3 = [ 1 , 1 ] w_3=[1,1] w3=[1,1], x 3 = [ f 1 ( x ) , f 2 ( x ) ] x_3=[f_1 (x),f_2 (x)] x3=[f1(x),f2(x)], b 3 = − 1 b_3=-1 b3=−1。
显然,当感知机3输出为 + 1 +1 +1时,表示该样本属于正类;输出为 − 1 -1 −1时,表示该样本属于负类。这三个感知机的运行架构图如图3所示:
实际上,异或问题只需两个感知机叠加值来判别就能解决,感知机3只是为了统一输出而添加的。推广来看,当问题更加复杂的时候,可以考虑用更多的感知机模型进行组合堆叠。虽然一个感知机能力有限,但是一旦感知机进行多层堆叠之后,其能力就会大大增强。实际应用中,为了更好的解决线性不可分的问题,感知机模型走向了多层化的道路,由此成为了各种神经网络的基石。这种每层神经元与下一层神经元全部相互连接,且不存在同层或跨层连接的神经网络结构被称为多层感知机或多层前馈神经网络。
边栏推荐
- CMS 执行的七个阶段
- SQL update批量更新
- 【建议收藏】ABAP随笔-EXCEL-4-批量导入-推荐
- 新中大冲刺科创板:年营收2.84亿 拟募资5.57亿
- Space calculation of information and innovation industry in 2022
- Gartner聚焦中国低代码发展 UniPro如何践行“差异化”
- 2022年第一季度消费金融APP用户洞察——总数达4479万人
- Four years of College for an ordinary graduate
- Keras深度学习实战(12)——面部特征点检测
- Characteristics of time series data
猜你喜欢

Bit. Store: long bear market, stable stacking products may become the main theme

Summary of domestic database certification test guide (updated on June 16, 2022)

破解仓储难题?WMS仓储管理系统解决方案

Open source summer 2022 | opengauss project selected and announced

基于STM32F103ZET6库函数蜂鸣器实验

MySQL数据库登录和退出的两种方式

Teach you how to install Oracle 19C on Windows 10 (detailed picture and text with step on pit Guide)

How to view the index information of MySQL tables?

实战回忆录:从Webshell开始突破边界

中国工业软件市场研究报告出炉,力控SCADA、MES丰富国产工业软件生态
随机推荐
CDGA|交通行业做好数字化转型的核心是什么?
Market status and development prospect forecast of global functional polyethylene glycol (PEG) industry in 2022
原创 | 2025实现“5个1”奋斗目标!解放动力全系自主非道路国四产品正式发布
广发期货开户安全吗?
脉脉热帖:为啥大厂都热衷于造轮子?
驾驭一切的垃圾收集器 -- G1
Teach you how to install Oracle 19C on Windows 10 (detailed picture and text with step on pit Guide)
binder hwbinder vndbinder
Win10 LTSC 2021 wsappx CPU 占用高
Making single test so simple -- initial experience of Spock framework
什么是 ICMP ?ping和ICMP之间有啥关系?
Redis Series 2: data persistence improves availability
Common errors and solutions of MySQL reading binlog logs
MySQL中的行转列和列转行
明美新能源冲刺深交所:年应收账款超6亿 拟募资4.5亿
Campus book resource sharing platform
2022年第一季度消费金融APP用户洞察——总数达4479万人
OpenSSL client programming: SSL session failure caused by an obscure function
openssl客户端编程:一个不起眼的函数导致的SSL会话失败问题
图扑数字孪生智慧能源一体化管控平台