当前位置: 首页 > news >正文

机器学习7——神经网络上

神经网络

Intro

人工神经网络(Artificial Neural Network,ANN)是一种计算模型,灵感来源于生物神经系统,特别是人脑的工作方式。

其核心思想:

  • 用**大量简单的“神经元”**作为信息处理单元;
  • 这些神经元通过连接(连接权重)形成网络;
  • 网络通过学习数据中的规律(训练),实现识别、预测、控制等功能。

两个关键特点:

  1. 知识是通过学习过程获得的(类似于人类通过经验积累知识);
  2. 知识保存在连接权重中(类似于生物突触的可塑性)。
神经网络的类型
分类方式说明
结构前馈网络(Feedforward)、反馈网络(Recurrent)
学习方法有监督学习、无监督学习
信号类型连续、离散
人工神经元的结构(The Neuron)
  1. 输入权重(Synapses)

每个输入 x j x_j xj 通过一个连接权重 w j w_j wj 与神经元连接:
u = ∑ j = 1 m w j x j u = \sum_{j=1}^{m} w_j x_j u=j=1mwjxj
这里 u u u 是输入的加权和。

  1. 偏置项(Bias)

偏置 b b b 是一个外部常量项,相当于控制“阈值”:
v = u + b v = u + b v=u+b
可以看作是加了一个固定值的输入,常被写成一个输入 x 0 = 1 x_0 = 1 x0=1,其权重为 b b b

3. 激活函数(Activation Function)

作用:将加权输入 v v v 转换为输出 y = φ ( v ) y = \varphi(v) y=φ(v),用于引入非线性

激活函数类型(Activation Functions)
1. 线性函数

f ( x ) = a x f(x) = ax f(x)=ax

线性,无非线性表达能力,通常不单独使用。

2. 阶跃函数(Step Function)

f ( x ) = { a 1 , x ≥ θ a 2 , x < θ f(x) = \begin{cases} a_1, & x \geq \theta \\ a_2, & x < \theta \end{cases} f(x)={a1,a2,xθx<θ

用来模拟是否“激活”,类似生物神经元是否触发。

3. 斜坡函数(Ramp Function)

f ( x ) = { α , x ≥ θ x , − θ < x < θ − α , x ≤ − θ f(x) = \begin{cases} \alpha, & x \geq \theta \\ x, & -\theta < x < \theta \\ -\alpha, & x \leq -\theta \end{cases} f(x)= α,x,α,xθθ<x<θxθ

是阶跃函数的“平滑版本”,防止学习不稳定。

4. Logistic 函数(Sigmoid 函数)

f ( x ) = 1 1 + e − λ x f(x) = \frac{1}{1 + e^{-\lambda x}} f(x)=1+eλx1

  • 输出范围: ( 0 , 1 ) (0, 1) (0,1)
  • 可导,适合反向传播算法
  • 非零导数 → 可学习
5. 双曲正切函数(Tanh)

f ( x ) = e λ x − e − λ x e λ x + e − λ x = tanh ⁡ ( λ x ) f(x) = \frac{e^{\lambda x} - e^{-\lambda x}}{e^{\lambda x} + e^{-\lambda x}} = \tanh(\lambda x) f(x)=eλx+eλxeλxeλx=tanh(λx)

  • 输出范围: ( − 1 , 1 ) (-1, 1) (1,1)
  • 零中心 → 通常收敛更快
6. 高斯函数(Gaussian)

f ( x ) = e − x 2 / σ 2 f(x) = e^{-x^2 / \sigma^2} f(x)=ex2/σ2

常用于径向基函数网络(RBFN),对离中心越远的点响应越弱。

感知机

感知机模型定义

感知机接受一个向量作为输入:
x = ( x 0 , x 1 , x 2 , . . . , x m ) T , x 0 = 1 ( bias ) \mathbf{x} = (x_0, x_1, x_2, ..., x_m)^T, \quad x_0 = 1 \ (\text{bias}) x=(x0,x1,x2,...,xm)T,x0=1 (bias)
使用线性函数生成输出:
y = sgn ( w T x ) y = \text{sgn}(\mathbf{w}^T \mathbf{x}) y=sgn(wTx)
其中权重向量:
w = ( w 0 , w 1 , . . . , w m ) T \mathbf{w} = (w_0, w_1, ..., w_m)^T w=(w0,w1,...,wm)T
如果:

  • x ∈ T 1 ⇒ d = + 1 \mathbf{x} \in T_1 \Rightarrow d = +1 xT1d=+1
  • x ∈ T 2 ⇒ d = − 1 \mathbf{x} \in T_2 \Rightarrow d = -1 xT2d=1

则目标是:
sgn ( w T x ) = d \text{sgn}(\mathbf{w}^T \mathbf{x}) = d sgn(wTx)=d
即正确将 T 1 T_1 T1 T 2 T_2 T2 分类(前提是线性可分!!!)。

几何直观

感知机本质上是在高维空间中寻找一个超平面 w T x = 0 \mathbf{w}^T \mathbf{x} = 0 wTx=0 w \mathbf{w} w是该平面的法向量,该向量乘所有正样本应当大于0,乘所有负样本应该小于0):

  • 使得所有正样本 T 1 T_1 T1 落在一侧
  • 所有负样本 T 2 T_2 T2 落在另一侧

这个分界面把数据线性划分(线性可分假设是成立前提)。

在这里插入图片描述

在这里插入图片描述

上面的图中的w是有效的,而下图中的w是错误的(乘以正样本却小于0)。我们应该如何调整这个w?

学习规则(Learning Rule)
  • 我们发现,在w错误地把正样本分类为负样本时,把错误的w向量加上一个跟x同向的向量,可以让w往正确的方向靠近。

  • w把负样本错误地分类为正样本时,即w与x同向时,应该在w上减去一个跟x同向的向量,可以让w往正确的方向靠近。

  • 形式化地定义,我们有:

    情况 1:正样本被错分为负样本

    • d = + 1 d = +1 d=+1,但 y = − 1 y = -1 y=1
    • 所以: w T x < 0 \mathbf{w}^T \mathbf{x} < 0 wTx<0
    • 我们希望 w T x ↑ \mathbf{w}^T \mathbf{x} \uparrow wTx,也就是让 w \mathbf{w} w 更接近 x \mathbf{x} x 方向 → x \mathbf{x} x 方向更新
    • 所以:

    Δ w = + α x \Delta \mathbf{w} = +\alpha \mathbf{x} Δw=+αx

    情况 2:负样本被错分为正样本

    • d = − 1 d = -1 d=1,但 y = + 1 y = +1 y=+1
    • 所以: w T x > 0 \mathbf{w}^T \mathbf{x} > 0 wTx>0
    • 我们希望 w T x ↓ \mathbf{w}^T \mathbf{x} \downarrow wTx,也就是让 w \mathbf{w} w远离 x \mathbf{x} x − x -\mathbf{x} x 方向更新
    • 所以:

    Δ w = − α x \Delta \mathbf{w} = -\alpha \mathbf{x} Δw=αx

    image-20250518182930262
  • 更一般地,我们可以这么定义 Δ w \Delta w Δw:
    Δ w i ( t ) = η r i x i ( t ) r i = d i − y i = { 0 d i = y i correct + 2 d i = 1 , y i = − 1 incorrect − 2 d i = − 1 , y i = 1 incorrect Δ w i ( t ) = η ( d i − y i ) x i ( t ) \begin{aligned} & \Delta w_i(t)=\eta r_i x_i(t) \\ & r_i = d_i - y_i = \begin{cases} 0 & d_i = y_i \quad \text{correct} \\ +2 & d_i = 1, y_i = -1 \quad \text{incorrect} \\ -2 & d_i = -1, y_i = 1 \quad \text{incorrect} \end{cases} \\ & \Delta w_i(t)=\eta\left(d_i-y_i\right) x_i(t) \end{aligned} Δwi(t)=ηrixi(t)ri=diyi= 0+22di=yicorrectdi=1,yi=1incorrectdi=1,yi=1incorrectΔwi(t)=η(diyi)xi(t)

感知机收敛的相关证明

作者:xuxinshun@sdu.edu.cn (Xin-Shun Xu),School of Software,Shandong University, Jinan 250101, China

1. 感知机收敛定理(Perceptron Convergence Theorem)

假设两个类别 C 1 C_1 C1 C 2 C_2 C2 是线性可分的。存在一个权重向量 w w w,使得我们可以表述如下:
w T x > 0 对于属于类别  C 1 的每个输入向量  x w T x ≤ 0 对于属于类别  C 2 的每个输入向量  x \begin{align*} & w^{T} x > 0 \quad \text{对于属于类别 } C_1 \text{ 的每个输入向量 } x \tag{1} \\ & w^{T} x \leq 0 \quad \text{对于属于类别 } C_2 \text{ 的每个输入向量 } x \end{align*} wTx>0对于属于类别 C1 的每个输入向量 xwTx0对于属于类别 C2 的每个输入向量 x(1)
更新规则如下:

  1. 如果训练集中第 n n n 个样本 x ( n ) x(n) x(n) 被当前权重向量 w ( n ) w(n) w(n) 正确分类,则不进行权重的修正。也就是说:

w ( n + 1 ) = w ( n ) 若  w T x ( n ) > 0 且  x ( n ) 属于  C 1 w ( n + 1 ) = w ( n ) 若  w T x ( n ) ≤ 0 且  x ( n ) 属于  C 2 \begin{align*} & w(n+1)=w(n) \quad \text{若 } w^{T} x(n) > 0 \text{ 且 } x(n) \text{ 属于 } C_1 \tag{2} \\ & w(n+1)=w(n) \quad \text{若 } w^{T} x(n) \leq 0 \text{ 且 } x(n) \text{ 属于 } C_2 \end{align*} w(n+1)=w(n) wTx(n)>0  x(n) 属于 C1w(n+1)=w(n) wTx(n)0  x(n) 属于 C2(2)

  1. 否则,感知机的权重向量按照如下规则更新:

w ( n + 1 ) = w ( n ) − η ( n ) x ( n ) 若  w T x ( n ) > 0 且  x ( n ) 属于  C 2 w ( n + 1 ) = w ( n ) + η ( n ) x ( n ) 若  w T x ( n ) ≤ 0 且  x ( n ) 属于  C 1 \begin{align*} & w(n+1)=w(n)-\eta(n) x(n) \quad \text{若 } w^{T} x(n) > 0 \text{ 且 } x(n) \text{ 属于 } C_2 \\ & w(n+1)=w(n)+\eta(n) x(n) \quad \text{若 } w^{T} x(n) \leq 0 \text{ 且 } x(n) \text{ 属于 } C_1 \tag{3} \end{align*} w(n+1)=w(n)η(n)x(n) wTx(n)>0  x(n) 属于 C2w(n+1)=w(n)+η(n)x(n) wTx(n)0  x(n) 属于 C1(3)

接下来,我们将证明一个固定增量(fixed-increment)自适应规则的收敛性,对其设定为: η = 1 \eta = 1 η=1。此外,我们假设初始条件 w ( 0 ) = 0 w(0) = 0 w(0)=0。这意味着对于所有的 x x x,我们有 w x = 0 w x = 0 wx=0。因此,对于所有属于 C 1 C_1 C1 x x x,我们有:
w ( n + 1 ) = w ( n ) + x ( n ) 对于  x ( n ) ∈ C 1 (4) w(n+1)=w(n)+x(n) \quad \text{对于 } x(n) \in C_1 \tag{4} w(n+1)=w(n)+x(n)对于 x(n)C1(4)
如果在类别 C 1 C_1 C1 中存在 n n n 个这样的向量,则我们有:
w ( n + 1 ) = x ( 1 ) + x ( 2 ) + … + x ( n ) (5) w(n+1)=x(1)+x(2)+\ldots+x(n) \tag{5} w(n+1)=x(1)+x(2)++x(n)(5)
由于假设 C 1 C_1 C1 C 2 C_2 C2 是线性可分的,存在一个解向量 w o w_o wo,使得对所有属于 C 1 C_1 C1 的向量 x ( n ) x(n) x(n) w T x ( n ) > 0 w^T x(n) > 0 wTx(n)>0。于是我们可以定义一个正数 α \alpha α 为:
α = min ⁡ x ( n ) ∈ C 1 w o T x ( n ) (6) \alpha=\min _{x(n) \in C_1} w_{o}^{T} x(n) \tag{6} α=x(n)C1minwoTx(n)(6)
若将公式 (5) 的两边乘以行向量 w o T w_o^T woT,我们得到:
w o T w ( n + 1 ) = w o T x ( 1 ) + w o T x ( 2 ) + … + w o T x ( n ) (7) w_{o}^{T} w(n+1)=w_{o}^{T} x(1)+w_{o}^{T} x(2)+\ldots+w_{o}^{T} x(n) \tag{7} woTw(n+1)=woTx(1)+woTx(2)++woTx(n)(7)
因此,结合公式 (6) 的定义,我们有:
w o T w ( n + 1 ) ≥ n α (8) w_{o}^{T} w(n+1) \geq n \alpha \tag{8} woTw(n+1)nα(8)
接下来我们使用柯西-施瓦茨不等式(Cauchy-Schwarz Inequality)。给定两个向量 w o w_o wo w ( n + 1 ) w(n+1) w(n+1),不等式表示为:
∥ w o ∥ 2 ∥ w ( n + 1 ) ∥ 2 ≥ [ w o T w ( n + 1 ) ] 2 (9) \left\|w_{o}\right\|^{2}\|w(n+1)\|^{2} \geq\left[w_{o}^{T} w(n+1)\right]^{2} \tag{9} wo2w(n+1)2[woTw(n+1)]2(9)
结合公式 (8) 和 (9),我们得到:
∥ w o ∥ 2 ∥ w ( n + 1 ) ∥ 2 ≥ n 2 α 2 (10) \left\|w_{o}\right\|^{2}\|w(n+1)\|^{2} \geq n^{2} \alpha^{2} \tag{10} wo2w(n+1)2n2α2(10)
或者,等价地:
∥ w ( n + 1 ) ∥ 2 ≥ n 2 α 2 ∥ w o ∥ 2 (11) \|w(n+1)\|^{2} \geq \frac{n^{2} \alpha^{2}}{\left\|w_{o}\right\|^{2}} \tag{11} w(n+1)2wo2n2α2(11)
接下来,我们采用另一条推导路径。首先,我们将公式 (4) 重写为以下形式:
w ( k + 1 ) = w ( k ) + x ( k ) 对于  k = 1 , … , n 且  x ( k ) ∈ C 1 (12) w(k+1)=w(k)+x(k) \quad \text{对于 } k=1, \ldots, n \text{ 且 } x(k) \in C_1 \tag{12} w(k+1)=w(k)+x(k)对于 k=1,,n  x(k)C1(12)
对公式 (12) 的两边求欧几里得范数的平方,得到:
∥ w ( k + 1 ) ∥ 2 = ∥ w ( k ) ∥ 2 + ∥ x ( k ) ∥ 2 + 2 w T ( k ) x ( k ) (13) \|w(k+1)\|^{2}=\|w(k)\|^{2}+\|x(k)\|^{2}+2 w^{T}(k) x(k) \tag{13} w(k+1)2=w(k)2+x(k)2+2wT(k)x(k)(13)
但由于 w T ( k ) x ( k ) ≤ 0 w^T(k) x(k) \leq 0 wT(k)x(k)0,我们可推出:
∥ w ( k + 1 ) ∥ 2 ≤ ∥ w ( k ) ∥ 2 + ∥ x ( k ) ∥ 2 (14) \|w(k+1)\|^{2} \leq \|w(k)\|^{2} + \|x(k)\|^{2} \tag{14} w(k+1)2w(k)2+x(k)2(14)
将这些不等式从 k = 1 k=1 k=1 n n n 相加,并利用初始条件 w ( 0 ) = 0 w(0)=0 w(0)=0,我们得到:
∥ w ( n + 1 ) ∥ 2 ≤ ∑ k = 1 n ∥ x ( k ) ∥ 2 (15) \|w(n+1)\|^{2} \leq \sum_{k=1}^{n}\|x(k)\|^{2} \tag{15} w(n+1)2k=1nx(k)2(15)
然后,我们定义一个正数 β \beta β 为:
β = max ⁡ x ( k ) ∈ C 1 ∥ x ( k ) ∥ 2 (16) \beta=\max _{x(k) \in C_1}\|x(k)\|^{2} \tag{16} β=x(k)C1maxx(k)2(16)
结合公式 (15) 和 (16),我们有:
∥ w ( n + 1 ) ∥ 2 ≤ n β (17) \|w(n+1)\|^{2} \leq n \beta \tag{17} w(n+1)2nβ(17)
这个结果与公式 (11) 相冲突。实际上,我们可以说 n n n 不可能大于某个最大值 n max n_{\text{max}} nmax,使得公式 (11) 和 (17) 同时取等号。即:
n max ⁡ 是满足如下方程的解: n_{\max} \text{ 是满足如下方程的解:} nmax 是满足如下方程的解:
解得 n max ⁡ n_{\max} nmax(在已知解向量 w o w_o wo 的前提下),我们得到:
n max ⁡ = β ∥ w o ∥ 2 α 2 (19) n_{\max} = \frac{\beta \|w_o\|^2}{\alpha^2} \tag{19} nmax=α2βwo2(19)

2. 感知机与高斯环境下贝叶斯分类器的关系
2.1 贝叶斯分类器

在贝叶斯分类器中,我们最小化的是平均风险,记作 R \mathcal{R} R。对于一个二分类问题(类别为 C 1 C_1 C1 C 2 C_2 C2),风险可以定义为:
R = c 11 p 1 ∫ X 1 p x ( x ∣ C 1 ) d x + c 22 p 2 ∫ X 2 p x ( x ∣ C 2 ) d x + c 21 p 1 ∫ X 2 p x ( x ∣ C 1 ) d x + c 12 p 2 ∫ X 1 p x ( x ∣ C 2 ) d x \begin{align*} \mathcal{R} = & c_{11} p_{1} \int_{\mathcal{X}_{1}} p_{x}(x \mid C_{1}) dx + c_{22} p_{2} \int_{\mathcal{X}_{2}} p_{x}(x \mid C_{2}) dx \tag{20} \\ & + c_{21} p_{1} \int_{\mathcal{X}_{2}} p_{x}(x \mid C_{1}) dx + c_{12} p_{2} \int_{\mathcal{X}_{1}} p_{x}(x \mid C_{2}) dx \end{align*} R=c11p1X1px(xC1)dx+c22p2X2px(xC2)dx+c21p1X2px(xC1)dx+c12p2X1px(xC2)dx(20)
其中 c 11 < c 21 c_{11} < c_{21} c11<c21 c 22 < c 12 c_{22} < c_{12} c22<c12

它可简化为:
R = c 21 p 1 + c 22 p 2 + ∫ X 1 [ p 2 ( c 12 − c 22 ) p x ( x ∣ C 2 ) − p 1 ( c 21 − c 11 ) p x ( x ∣ C 1 ) ] d x \begin{align*} \mathcal{R} = & c_{21} p_{1} + c_{22} p_{2} \tag{21} \\ & + \int_{\mathcal{X}_{1}} \left[ p_{2}(c_{12}-c_{22}) p_{x}(x \mid C_{2}) - p_{1}(c_{21}-c_{11}) p_{x}(x \mid C_{1}) \right] dx \end{align*} R=c21p1+c22p2+X1[p2(c12c22)px(xC2)p1(c21c11)px(xC1)]dx(21)
变换后,贝叶斯分类器可以表述如下:若
p 1 ( c 21 − c 11 ) p x ( x ∣ C 1 ) > p 2 ( c 12 − c 22 ) p x ( x ∣ C 2 ) (22) p_{1}(c_{21} - c_{11}) p_{x}(x \mid C_{1}) > p_{2}(c_{12} - c_{22}) p_{x}(x \mid C_{2}) \tag{22} p1(c21c11)px(xC1)>p2(c12c22)px(xC2)(22)
则将 x x x 判为 C 1 C_1 C1,否则判为 C 2 C_2 C2

为了简化,定义:
Λ ( x ) = p x ( x ∣ C 1 ) p x ( x ∣ C 2 ) (23) \Lambda(x) = \frac{p_{x}(x \mid C_{1})}{p_{x}(x \mid C_{2})} \tag{23} Λ(x)=px(xC2)px(xC1)(23)
以及
ξ = p 2 ( c 12 − c 22 ) p 1 ( c 21 − c 11 ) (24) \xi = \frac{p_{2}(c_{12} - c_{22})}{p_{1}(c_{21} - c_{11})} \tag{24} ξ=p1(c21c11)p2(c12c22)(24)
则:若 Λ ( x ) > ξ \Lambda(x) > \xi Λ(x)>ξ,判为 C 1 C_1 C1,否则为 C 2 C_2 C2

2.2 高斯分布下的贝叶斯分类器

考虑一个二分类问题,其特征分布为高斯分布,其均值和协方差矩阵如下:
类别  C 1 : E [ X ] = μ 1 E [ ( x − μ 1 ) ( x − μ 1 ) T ] = C 类别  C 2 : E [ X ] = μ 2 E [ ( x − μ 2 ) ( x − μ 2 ) T ] = C (25) \begin{array}{ll} \text{类别 } C_1: & E[X] = \mu_1 \\ & E[(x - \mu_1)(x - \mu_1)^T] = C \tag{25} \\ \text{类别 } C_2: & E[X] = \mu_2 \\ & E[(x - \mu_2)(x - \mu_2)^T] = C \end{array} 类别 C1:类别 C2:E[X]=μ1E[(xμ1)(xμ1)T]=CE[X]=μ2E[(xμ2)(xμ2)T]=C(25)
假设 C C C 是非奇异的(即可逆),于是有:
p x ( x ∣ C i ) = 1 ( 2 π ) m / 2 ∣ det ⁡ ( C ) ∣ 1 / 2 exp ⁡ ( − 1 2 ( x − μ i ) T C − 1 ( x − μ i ) ) , i = 1 , 2 (26) p_{x}(x \mid C_i) = \frac{1}{(2\pi)^{m/2} |\det(C)|^{1/2}} \exp\left( -\frac{1}{2}(x - \mu_i)^T C^{-1}(x - \mu_i) \right), i=1,2 \tag{26} px(xCi)=(2π)m/2det(C)1/21exp(21(xμi)TC1(xμi)),i=1,2(26)
其中 m m m x x x 的维度。进一步假设:
p 1 = p 2 = 1 2 (27) p_1 = p_2 = \frac{1}{2} \tag{27} p1=p2=21(27)
以及:
c 21 = c 12 , c 11 = c 22 = 0 (28) c_{21} = c_{12}, \quad c_{11} = c_{22} = 0 \tag{28} c21=c12,c11=c22=0(28)
将公式 (26) 代入公式 (23),再取自然对数,得:
log ⁡ Λ ( x ) = − 1 2 ( x − μ 1 ) T C − 1 ( x − μ 1 ) + 1 2 ( x − μ 2 ) T C − 1 ( x − μ 2 ) = ( μ 1 − μ 2 ) T C − 1 x + 1 2 ( μ 2 T C − 1 μ 2 − μ 1 T C − 1 μ 1 ) \begin{align*} \log \Lambda(x) & = -\frac{1}{2}(x - \mu_1)^T C^{-1}(x - \mu_1) + \frac{1}{2}(x - \mu_2)^T C^{-1}(x - \mu_2) \tag{29} \\ & = (\mu_1 - \mu_2)^T C^{-1} x + \frac{1}{2} \left( \mu_2^T C^{-1} \mu_2 - \mu_1^T C^{-1} \mu_1 \right) \end{align*} logΛ(x)=21(xμ1)TC1(xμ1)+21(xμ2)TC1(xμ2)=(μ1μ2)TC1x+21(μ2TC1μ2μ1TC1μ1)(29)
将公式 (27) 和 (28) 代入公式 (24),再取对数:
log ⁡ ξ = 0 (30) \log \xi = 0 \tag{30} logξ=0(30)
由公式 (29) 和 (30),我们发现贝叶斯分类器在该问题下是一个线性分类器,可描述如下:
y = w T x + b (31) y = w^T x + b \tag{31} y=wTx+b(31)
其中:
y = log ⁡ Λ ( x ) w = C − 1 ( μ 1 − μ 2 ) b = 1 2 ( μ 2 T C − 1 μ 2 − μ 1 T C − 1 μ 1 ) \begin{align*} y &= \log \Lambda(x) \\ w &= C^{-1} (\mu_1 - \mu_2) \tag{32} \\ b &= \frac{1}{2} \left( \mu_2^T C^{-1} \mu_2 - \mu_1^T C^{-1} \mu_1 \right) \end{align*} ywb=logΛ(x)=C1(μ1μ2)=21(μ2TC1μ2μ1TC1μ1)(32)
从上述可知,在这种情形下,贝叶斯分类器是一个感知机。

最小均方学习(Least Mean Square Learning, LMS)
什么是最小均方学习(LMS)?

LMS 是一种经典的神经网络权重更新方法,目标是:

最小化输出与目标之间的误差平方和

即最小化以下损失函数(或称代价函数):
E ( w ) = 1 2 ∑ k = 1 p ( d ( k ) − y ( k ) ) 2 = 1 2 ∑ k = 1 p ( d ( k ) − w T x ( k ) ) 2 = 1 2 ∑ k = 1 p ( d ( k ) − ∑ l = 1 m w l x l ( k ) ) 2 E(\mathbf{w}) = \frac{1}{2} \sum_{k=1}^{p} \left(d^{(k)} - y^{(k)}\right)^2 = \frac{1}{2} \sum_{k=1}^{p} \left(d^{(k)} - \mathbf{w}^T \mathbf{x}^{(k)}\right)^2 = \frac{1}{2} \sum_{k=1}^{p} \left(d^{(k)} - \sum_{l=1}^{m} w_l x_l^{(k)}\right)^2 E(w)=21k=1p(d(k)y(k))2=21k=1p(d(k)wTx(k))2=21k=1p(d(k)l=1mwlxl(k))2
其中:

  • w = ( w 1 , w 2 , . . . , w m ) T \mathbf{w} = (w_1, w_2, ..., w_m)^T w=(w1,w2,...,wm)T:权重向量
  • x ( k ) = ( x 1 ( k ) , . . . , x m ( k ) ) T \mathbf{x}^{(k)} = (x_1^{(k)}, ..., x_m^{(k)})^T x(k)=(x1(k),...,xm(k))T:第 k k k 个样本
  • d ( k ) d^{(k)} d(k):样本的期望输出(目标)
  • y ( k ) = w T x ( k ) y^{(k)} = \mathbf{w}^T \mathbf{x}^{(k)} y(k)=wTx(k):模型输出
  • p p p:样本总数
梯度下降法:如何“下山”?

目标:找到使 E ( w ) E(\mathbf{w}) E(w) 最小的权重 w \mathbf{w} w

梯度方向:

  • 梯度是函数增长最快的方向,向梯度反方向走就是下降最快的方向。
  • 梯度定义:

∇ f = ( ∂ f ∂ w 1 , ∂ f ∂ w 2 , . . . , ∂ f ∂ w m ) T \nabla f = \left( \frac{\partial f}{\partial w_1}, \frac{\partial f}{\partial w_2}, ..., \frac{\partial f}{\partial w_m} \right)^T f=(w1f,w2f,...,wmf)T

  • 梯度下降更新规则:

Δ w = − η ∇ f \Delta \mathbf{w} = -\eta \nabla f Δw=ηf

其中 η > 0 \eta > 0 η>0 是学习率,控制“走多远”。

最小均方误差的梯度推导

对损失函数 E ( w ) E(\mathbf{w}) E(w) 求偏导:
∂ E ∂ w j = − ∑ k = 1 p ( d ( k ) − w T x ( k ) ) x j ( k ) = − ∑ k = 1 p δ ( k ) x j ( k ) \frac{\partial E}{\partial w_j} = -\sum_{k=1}^{p} \left(d^{(k)} - \mathbf{w}^T \mathbf{x}^{(k)}\right) x_j^{(k)} = -\sum_{k=1}^{p} \delta^{(k)} x_j^{(k)} wjE=k=1p(d(k)wTx(k))xj(k)=k=1pδ(k)xj(k)
其中:

  • δ ( k ) = d ( k ) − y ( k ) \delta^{(k)} = d^{(k)} - y^{(k)} δ(k)=d(k)y(k):误差

梯度形式:
∇ w E ( w ) = ( ∂ E ∂ w 1 ⋮ ∂ E ∂ w m ) = − ∑ k = 1 p δ ( k ) x ( k ) \nabla_{\mathbf{w}} E(\mathbf{w}) = \begin{pmatrix} \frac{\partial E}{\partial w_1} \\ \vdots \\ \frac{\partial E}{\partial w_m} \end{pmatrix} = - \sum_{k=1}^{p} \delta^{(k)} \mathbf{x}^{(k)} wE(w)= w1EwmE =k=1pδ(k)x(k)

权重更新规则(Weight Update Rule)

Δ w = − η ∇ w E ( w ) = η ∑ k = 1 p δ ( k ) x ( k ) \Delta \mathbf{w} = -\eta \nabla_{\mathbf{w}} E(\mathbf{w}) = \eta \sum_{k=1}^{p} \delta^{(k)} \mathbf{x}^{(k)} Δw=ηwE(w)=ηk=1pδ(k)x(k)

每次迭代中,将误差加权输入叠加后更新权重。

多层感知机
  • 单层感知机无法解决非线性可分问题(如 XOR)。

  • 多层感知机(MLP)通过引入隐藏层、非线性激活函数,可拟合任意函数。本质是多层感知机对输入的样本的分布进行变换,将其变换到线性可分空间再进行线性分类。

  • LMS 是最基本的权重更新思想,后续的反向传播(BP)算法也基于梯度下降。

两种学习模式
1. 批量学习(Batch Learning):

一次性利用所有样本进行更新:
Δ w j = η ∑ k = 1 p δ ( k ) x j ( k ) \Delta w_j = \eta \sum_{k=1}^{p} \delta^{(k)} x_j^{(k)} Δwj=ηk=1pδ(k)xj(k)

2. 增量学习(Online / Stochastic Learning):

每看到一个样本就更新一次:
Δ w j = η δ ( k ) x j ( k ) \Delta w_j = \eta \delta^{(k)} x_j^{(k)} Δwj=ηδ(k)xj(k)

相关文章:

  • 高频SQL50题 第九天 | 1164. 指定日期的产品价格、1204. 最后一个能进入巴士的人、1907. 按分类统计薪水
  • pytorch--模型训练的一般流程
  • 1 Studying《Computer Vision: Algorithms and Applications 2nd Edition》11-15
  • MySQL之全场景常用工具链
  • MYSQL与PostgreSQL的差异
  • (Arxiv-2025)Qwen2.5-VL 技术报告
  • mybatis-plus从入门到入土(一):快速开始
  • Embedding模型微调实战(ms-swift框架)
  • 医疗AI智能基础设施构建:向量数据库矩阵化建设流程分析
  • 领域驱动设计(DDD)【28】之实践或推广DDD的学习
  • 左神算法之矩阵旋转90度
  • <STC32G12K128入门第二十二步>STC32G驱动DS18B20(含代码)
  • IDE/IoT/实践小熊派LiteOS工程配置、编译、烧录、调试(基于 bearpi-iot_std_liteos 源码)
  • 2025.1版本PyCharam找不到已存在的conda虚拟环境
  • 领域驱动设计(DDD)【27】之CQRS四个层面的策略
  • Ubuntu服务器(公网)- Ubuntu客户端(内网)的FRP内网穿透配置教程
  • Spring Cloud 服务追踪实战:使用 Zipkin 构建分布式链路追踪
  • Python爬虫:Requests与Beautiful Soup库详解
  • MATLAB变音系统设计:声音特征变换(男声、女声、童声互转)
  • Windows 环境下设置 RabbitMQ 的 consumer_timeout 参数