机器学习公式推导【Day7】神经网络感知机


(本文为个人学习总结笔记)

5.1
w i ← w i + Δ w i w_{i} \leftarrow w_{i}+\Delta w_{i} wiwi+Δwi

5.2
Δ w i = η ( y − y ^ ) x i \Delta w_{i}=\eta(y-\hat{y}) x_{i} Δwi=η(yy^)xi

此公式是感知机学习算法中的参数更新公式,下面依次给出感知机模型、学习策略和学习算法的具体介绍。

1、感知机模型

已知感知机由两层神经元组成,故感知机模型的公式可表示为:

y = f ( ∑ i = 1 n w i x i − θ ) = f ( w T x − θ ) y=f\left(\sum_{i=1}^{n} w_{i} x_{i}-\theta\right)=f\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}-\theta\right) y=f(i=1nwixiθ)=f(wTxθ)

其中, x ∈ R n \boldsymbol{x} \in \mathbb{R}^{n} xRn为样本的特征向量,是感知机模型的输入; w , θ \boldsymbol{w}, \theta w,θ是感知机模型的参数, w ∈ R n \boldsymbol{w} \in \mathbb{R}^{n} wRn为权重, θ \theta θ为阈值。假定 f f f为阶跃函数,那么感知机模型的公式可进一步表示为:
y = sgn ⁡ ( w T x − θ ) = { 1 , w T x − θ ≥ 0 0 , w T x − θ < 0 y=\operatorname{sgn}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}-\theta\right)=\left\{\begin{array}{ll} 1, & \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}-\theta \geq 0 \\ 0, & \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}-\theta<0 \end{array}\right. y=sgn(wTxθ)={1,0,wTxθ0wTxθ<0
由于 n n n维空间中的超平面方程为:
w 1 x 1 + w 2 x 2 + ⋯ + w n x n + b = w T x + b = 0 w_{1} x_{1}+w_{2} x_{2}+\cdots+w_{n} x_{n}+b=\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b=0 w1x1+w2x2++wnxn+b=wTx+b=0

所以此时感知机模型公式中的 w T x − θ \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}-\theta wTxθ可以看作是 n n n维空间中的一个超平面,通过它将 n n n维空间划分为 w T x − θ ≥ 0 \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}-\theta \geq 0 wTxθ0 w T x − θ < 0 w^{\mathrm{T}} x-\theta<0 wTxθ<0两个子空间,落在前一个子空间的样本对应的模型输出值为1,落在后一个子空间的样本对应的模型输出值为0,以此来实现分类功能。

2、感知机学习策略

给定一个线性可分的数据集 T T T(参见附录①),感知机的学习目标是求得能对数据集 T T T中的正负样本完全正确划分的分离超平面:
w T x − θ = 0 \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}-\theta=0 wTxθ=0

假设此时误分类样本集合为 M ⊆ T M\subseteq T MT对任意一个误分类样本 ( x , y ) ∈ M (\boldsymbol{x},y)\in M (x,y)M来说,当 w T x − θ ≥ 0 w T \boldsymbol{w}^\mathrm{T}\boldsymbol{x}-\theta \geq 0w T wTxθ0wT时,模型输出值为 y ^ = 1 \hat{y}=1 y^=1,样本真实标记为 y = 0 y=0 y=0;反之,当 w T x − θ < 0 \boldsymbol{w}^\mathrm{T}\boldsymbol{x} −θ<0 wTxθ<0时,模型输出值为 y ^ = 0 \hat{y}=0 y^=0,样本真实标记为 y = 1 y=1 y=1。综合两种情形可知,以下公式恒成立
( y ^ − y ) ( w T x − θ ) ≥ 0 (\hat{y}-y)\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}-\theta\right) \geq 0 (y^y)(wTxθ)0
所以,给定数据集 T T T,其损失函数可以定义为:
L ( w , θ ) = ∑ x ∈ M ( y ^ − y ) ( w T x − θ ) L(\boldsymbol{w}, \theta)=\sum_{\boldsymbol{x} \in M}(\hat{y}-y)\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}-\theta\right) L(w,θ)=xM(y^y)(wTxθ)

显然,此损失函数是非负的。如果没有误分类点,损失函数值是0。而且,误分类点越少,误分类点离超平面越近,损失函数值就越小。因此,给定数据集 T T T,损失函数 L ( w , θ ) L(\boldsymbol{w},\theta) L(w,θ)是关于 w , θ \boldsymbol{w},{\theta} w,θ的连续可导函数。

3、感知机学习算法

感知机模型的学习问题可以转化为求解损失函数的最优化问题,具体地,给定数据集
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x N , y N ) } T=\left\{\left(\boldsymbol{x}_{1}, y_{1}\right),\left(\boldsymbol{x}_{2}, y_{2}\right), \ldots,\left(\boldsymbol{x}_{N}, y_{N}\right)\right\} T={(x1,y1),(x2,y2),,(xN,yN)}
其中 x i ∈ R n , y i ∈ { 0 , 1 } \boldsymbol{x}_i \in \mathbb{R}^n,y_i \in \{0,1\} xiRn,yi{0,1},求参数 w , θ \boldsymbol{w},{θ} w,θ,使其为极小化损失函数的解:
min ⁡ w , θ L ( w , θ ) = min ⁡ w , θ ∑ x i ∈ M ( y ^ i − y i ) ( w T x i − θ ) \min _{\boldsymbol{w}, \theta} L(\boldsymbol{w}, \theta)=\min _{\boldsymbol{w}, \theta} \sum_{\boldsymbol{x}_{\boldsymbol{i}} \in M}\left(\hat{\boldsymbol{y}}_{i}-y_{i}\right)\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}-\theta\right) w,θminL(w,θ)=w,θminxiM(y^iyi)(wTxiθ)
其中 M ⊆ T M\subseteq T MT为误分类样本集合。若将阈值 θ \theta θ看作一个固定输入为 − 1 -1 1的“哑节点”,即:
− θ = − 1 ⋅ w n + 1 = x n + 1 ⋅ w n + 1 -\theta=-1 \cdot w_{n+1}=x_{n+1} \cdot w_{n+1} θ=1wn+1=xn+1wn+1

那么 w T x i − θ \boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i-\theta wTxiθ可化简为:
w T x i − θ = ∑ j = 1 n w j x j + x n + 1 ⋅ w n + 1 = ∑ j = 1 n + 1 w j x j = w T x i \begin{aligned} \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}-\theta &=\sum_{j=1}^{n} w_{j} x_{j}+x_{n+1} \cdot w_{n+1} \\ &=\sum_{j=1}^{n+1} w_{j} x_{j} \\ &=\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i} \end{aligned} wTxiθ=j=1nwjxj+xn+1wn+1=j=1n+1wjxj=wTxi

其中 x i ∈ R n + 1 , w ∈ R n + 1 \boldsymbol{x_i} \in \mathbb{R}^{n+1},\boldsymbol{w} \in \mathbb{R}^{n+1} xiRn+1,wRn+1 。根据该式,可将要求解的极小化问题进一步简化为:
min ⁡ w L ( w ) = min ⁡ w ∑ x i ∈ M ( y ^ i − y i ) w T x i \min _{\boldsymbol{w}} L(\boldsymbol{w})=\min _{\boldsymbol{w}} \sum_{\boldsymbol{x}_{\boldsymbol{i} \in M}}\left(\hat{y}_{i}-y_{i}\right) \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i} wminL(w)=wminxiM(y^iyi)wTxi

假设误分类样本集合 M M M固定,那么可以求得损失函数 L ( w ) L(\boldsymbol{w}) L(w)的梯度为:

∇ w L ( w ) = ∑ x i ∈ M ( y ^ i − y i ) x i \nabla_{\boldsymbol{w}} L(\boldsymbol{w})=\sum_{\boldsymbol{x}_{\boldsymbol{i} \in M}}\left(\hat{y}_{i}-y_{i}\right) \boldsymbol{x}_{i} wL(w)=xiM(y^iyi)xi

感知机的学习算法具体采用的是随机梯度下降法,也就是极小化过程中不是一次使 M M M中所有误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降。所以权重 w \boldsymbol{w} w的更新公式为:
w ← w + Δ w Δ w = − η ( y ^ i − y i ) x i = η ( y i − y ^ i ) x i \begin{array}{c} \boldsymbol{w} \leftarrow \boldsymbol{w}+\Delta \boldsymbol{w} \\ \Delta \boldsymbol{w}=-\eta\left(\hat{y}_{i}-y_{i}\right) \boldsymbol{x}_{i}=\eta\left(y_{i}-\hat{y}_{i}\right) \boldsymbol{x}_{i} \end{array} ww+ΔwΔw=η(y^iyi)xi=η(yiy^i)xi

相应地, w \boldsymbol{w} w中的某个分量 w i w_i wi的更新公式即为公式(5.2)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值