机器学习7——神经网络上
神经网络
Intro
人工神经网络(Artificial Neural Network,ANN)是一种计算模型,灵感来源于生物神经系统,特别是人脑的工作方式。
其核心思想:
- 用**大量简单的“神经元”**作为信息处理单元;
- 这些神经元通过连接(连接权重)形成网络;
- 网络通过学习数据中的规律(训练),实现识别、预测、控制等功能。
两个关键特点:
- 知识是通过学习过程获得的(类似于人类通过经验积累知识);
- 知识保存在连接权重中(类似于生物突触的可塑性)。
神经网络的类型
分类方式 | 说明 |
---|---|
结构 | 前馈网络(Feedforward)、反馈网络(Recurrent) |
学习方法 | 有监督学习、无监督学习 |
信号类型 | 连续、离散 |
人工神经元的结构(The Neuron)
每个输入 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=1∑mwjxj
这里 u u u 是输入的加权和。
偏置 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λx−e−λ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)=e−x2/σ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 x∈T1⇒d=+1
- x ∈ T 2 ⇒ d = − 1 \mathbf{x} \in T_2 \Rightarrow d = -1 x∈T2⇒d=−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
-
更一般地,我们可以这么定义 Δ 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=di−yi=⎩ ⎨ ⎧0+2−2di=yicorrectdi=1,yi=−1incorrectdi=−1,yi=1incorrectΔwi(t)=η(di−yi)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 的每个输入向量 xwTx≤0对于属于类别 C2 的每个输入向量 x(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)
- 否则,感知机的权重向量按照如下规则更新:
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} ∥wo∥2∥w(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} ∥wo∥2∥w(n+1)∥2≥n2α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)∥2≥∥wo∥2n2α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)∥2≤∥w(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)∥2≤k=1∑n∥x(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)∈C1max∥x(k)∥2(16)
结合公式 (15) 和 (16),我们有:
∥ w ( n + 1 ) ∥ 2 ≤ n β (17) \|w(n+1)\|^{2} \leq n \beta \tag{17} ∥w(n+1)∥2≤nβ(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β∥wo∥2(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=c11p1∫X1px(x∣C1)dx+c22p2∫X2px(x∣C2)dx+c21p1∫X2px(x∣C1)dx+c12p2∫X1px(x∣C2)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(c12−c22)px(x∣C2)−p1(c21−c11)px(x∣C1)]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(c21−c11)px(x∣C1)>p2(c12−c22)px(x∣C2)(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(x∣C2)px(x∣C1)(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(c21−c11)p2(c12−c22)(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(x∣Ci)=(2π)m/2∣det(C)∣1/21exp(−21(x−μi)TC−1(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)TC−1(x−μ1)+21(x−μ2)TC−1(x−μ2)=(μ1−μ2)TC−1x+21(μ2TC−1μ2−μ1TC−1μ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)=C−1(μ1−μ2)=21(μ2TC−1μ2−μ1TC−1μ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=1∑p(d(k)−y(k))2=21k=1∑p(d(k)−wTx(k))2=21k=1∑p(d(k)−l=1∑mwlxl(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=(∂w1∂f,∂w2∂f,...,∂wm∂f)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)} ∂wj∂E=−k=1∑p(d(k)−wTx(k))xj(k)=−k=1∑pδ(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)= ∂w1∂E⋮∂wm∂E =−k=1∑pδ(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=1∑pδ(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=1∑pδ(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)