赞
踩
传统的梯度下降方法是在欧氏空间进行、并与时序过程结合的优化方法,但这样的更新过程无法度量由于参数变化引起的概率属性的变化(这一点也可以认为是传统梯度下降方法的缺点)。在如强化学习等很多应用领域关注模型输出的概率分布,优化过程常常需要在一定概率属性的约束下完成,这就需要自然梯度。
若度量模型参数变化引起的概率分布变化,常用的“距离”度量是KL散度(Kullback-Leibler divergence)。设模型概率分布为
p
(
x
;
θ
)
p(x;\theta)
p(x;θ),其与参数变动后的概率分布间的KL散度为:
D
K
L
(
p
(
x
;
θ
)
∣
∣
p
(
x
;
θ
+
δ
θ
)
)
=
∫
p
(
x
;
θ
)
l
o
g
p
(
x
;
θ
)
p
(
x
;
θ
+
δ
θ
)
d
x
D_{KL}(p(x;\theta)||p(x;\theta+\delta\theta))=\int p(x;\theta)log\frac {p(x;\theta)}{p(x;\theta+\delta\theta)}dx
DKL(p(x;θ)∣∣p(x;θ+δθ))=∫p(x;θ)logp(x;θ+δθ)p(x;θ)dx
我们令
f
(
θ
+
δ
θ
)
=
l
o
g
p
(
x
;
θ
+
δ
θ
)
f(\theta+\delta\theta)=log p(x;\theta+\delta\theta)
f(θ+δθ)=logp(x;θ+δθ),做泰勒展开取二阶近似(忽略高阶余项)得到:
f
(
θ
+
δ
θ
)
≈
f
(
θ
)
+
δ
θ
T
∂
f
(
θ
)
∂
θ
+
1
2
δ
θ
T
∂
f
(
θ
)
∂
θ
∂
f
(
θ
)
T
∂
θ
δ
θ
f(\theta+\delta\theta)\approx f(\theta)+\delta\theta^T\frac{\partial f(\theta)}{\partial\theta}+\frac{1}{2}\delta\theta^T\frac{\partial f(\theta)}{\partial\theta}\frac{\partial f(\theta)^T}{\partial\theta}\delta\theta
f(θ+δθ)≈f(θ)+δθT∂θ∂f(θ)+21δθT∂θ∂f(θ)∂θ∂f(θ)Tδθ
带入到
D
K
L
(
p
(
x
;
θ
)
∣
∣
p
(
x
;
θ
+
δ
θ
)
)
D_{KL}(p(x;\theta)||p(x;\theta+\delta\theta))
DKL(p(x;θ)∣∣p(x;θ+δθ))中可得到:
KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ D_{KL}(p(x;\th…
我们记在KL散度意义下的参数增量为
δ
θ
G
\delta\theta_G
δθG,接下来我们寻求在
∣
∣
δ
θ
G
∣
∣
2
=
ϵ
||\delta\theta_G||^2=\epsilon
∣∣δθG∣∣2=ϵ约束下
δ
θ
G
\delta\theta_G
δθG的方向,使得目标函数
J
(
θ
)
J(\theta)
J(θ)下降最快,即
J
(
θ
+
δ
θ
)
−
J
(
θ
)
J(\theta+\delta\theta)-J(\theta)
J(θ+δθ)−J(θ)最大。应用拉格朗日乘子法:
max
δ
θ
J
(
θ
+
δ
θ
)
−
J
(
θ
)
−
λ
(
∣
∣
δ
θ
G
∣
∣
2
−
ϵ
)
\max_{\delta\theta}J(\theta+\delta\theta)-J(\theta)-\lambda(||\delta\theta_G||^2-\epsilon)
δθmaxJ(θ+δθ)−J(θ)−λ(∣∣δθG∣∣2−ϵ)
应用一阶泰勒展开等价于:
max
δ
θ
∇
δ
θ
T
J
(
θ
)
−
1
2
λ
δ
θ
T
G
δ
θ
\max_{\delta\theta}\nabla \delta\theta^T J(\theta)-\frac{1}{2}\lambda\delta\theta^TG\delta\theta
δθmax∇δθTJ(θ)−21λδθTGδθ
对
δ
θ
\delta\theta
δθ求导得
∇
J
(
θ
)
−
λ
G
δ
θ
=
0
\nabla J(\theta)-\lambda G\delta\theta=0
∇J(θ)−λGδθ=0,即
δ
θ
=
1
λ
G
−
1
∇
J
(
θ
)
\delta\theta=\frac{1}{\lambda}G^{-1}\nabla J(\theta)
δθ=λ1G−1∇J(θ),其中
G
−
1
∇
J
(
θ
)
G^{-1}\nabla J(\theta)
G−1∇J(θ)称为自然梯度,相应的自然梯度下降公式为
θ
k
+
1
=
θ
k
−
α
k
G
−
1
(
θ
k
)
∇
J
(
θ
K
)
\theta_{k+1}=\theta_k-\alpha_kG^{-1}(\theta_k)\nabla J(\theta_K)
θk+1=θk−αkG−1(θk)∇J(θK)。
首先我们对一个模型进行建模,成为以 θ \theta θ为参数的概率分布 p ( x ; θ ) p(x;\theta) p(x;θ)。为求出一个合理的 θ \theta θ我们需要一个评分函数(score function): s ( θ ) = ∇ θ l o g p ( x ; θ ) s(\theta)=\nabla_{\theta}logp(x;\theta) s(θ)=∇θlogp(x;θ),意为对数似然的梯度,当分数为0时(对数似然梯度为0),对数似然达到极值。对评分函数求关于 p ( x ; θ ) p(x;\theta) p(x;θ)数学期望 p E p_E pE不难发现期望为0。接下来求估计误差的界,我们用评分函数的方差来确定,即 E p ( x ; θ ) [ ( s ( θ ) − p E ) ( s ( θ − p E ) T ) ] E_{p(x;\theta)}[(s(\theta)-p_E)(s(\theta-p_E)^T)] Ep(x;θ)[(s(θ)−pE)(s(θ−pE)T)]。带入评分函数的数学表达形式则等价于Fisher信息矩阵 G ( θ ) = ∫ p ( x ; θ ) ∂ f ( θ ) ∂ θ ∂ f ( θ ) T ∂ θ d x G(\theta)=\int p(x;\theta)\frac{\partial f(\theta)}{\partial\theta}\frac{\partial f(\theta)^T}{\partial\theta}dx G(θ)=∫p(x;θ)∂θ∂f(θ)∂θ∂f(θ)Tdx。特别地,Fisher信息矩阵与评分函数 ∇ θ l o g p ( x ; θ ) \nabla_{\theta}logp(x;\theta) ∇θlogp(x;θ)的Hessian似然的负数等价。
证明:首先求出评分函数的Hessian矩阵,由梯度的Jacobian决定
KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ H_{logp(x;\the…
等式两边同时求关于
p
(
x
;
θ
)
p(x;\theta)
p(x;θ)的数学期望:
KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ E_{p(x;\theta)…
而Hessian矩阵刻画着对数似然函数的曲率,所以本质上自然梯度下降法是在一个消除了不同概率分布的曲率后,在同一个“平坦”曲面上进行迭代更新,步长等于原概率分布空间的步长按照曲率折合到新的“平坦曲面”的大小。
值得注意的一点是,一般来说似然函数获取很难,在实际问题中,我们可以用采样的方法从数据集中采样数据,将Fisher信息矩阵原始表达式的积分变为求和来近似估计,这样的方式得到的Fisher信息矩阵称为经验Fisher。
线性判别分析(Linear Discriminant Analysis,LDA)是一种经典的降维方法。和主成分分析PCA不考虑样本类别输出的无监督降维技术不同,LDA是一种监督学习的降维技术,数据集的每个样本有类别输出。
LDA分类思想简单总结如下:
如果用一句话概括LDA思想,即“投影后类内方差最小,类间方差最大”。
假设有红、蓝两类数据,这些数据特征均为二维,如下图所示。我们的目标是将这些数据投影到一维,让每一类相近的数据的投影点尽可能接近,不同类别数据尽可能远,即图中红色和蓝色数据中心之间的距离尽可能大。
左图和右图是两种不同的投影方式。
左图思路:让不同类别的平均点距离最远的投影方式。
右图思路:让同类别的数据挨得最近的投影方式。
从上图直观看出,右图红色数据和蓝色数据在各自的区域来说相对集中,根据数据分布直方图也可看出,所以右图的投影效果好于左图,左图中间直方图部分有明显交集。
以上例子是基于数据是二维的,分类后的投影是一条直线。如果原始数据是多维的,则投影后的分类面是一低维的超平面。
输入:数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } D=\{(\boldsymbol x_1,\boldsymbol y_1),(\boldsymbol x_2,\boldsymbol y_2),...,(\boldsymbol x_m,\boldsymbol y_m)\} D={(x1,y1),(x2,y2),...,(xm,ym)},其中样本 x i \boldsymbol x_i xi 是n维向量, y i ϵ { 0 , 1 } \boldsymbol y_i \epsilon \{0, 1\} yiϵ{0,1},降维后的目标维度 d d d。定义
N j ( j = 0 , 1 ) N_j(j=0,1) Nj(j=0,1) 为第 j j j 类样本个数;
X j ( j = 0 , 1 ) X_j(j=0,1) Xj(j=0,1) 为第 j j j 类样本的集合;
u j ( j = 0 , 1 ) u_j(j=0,1) uj(j=0,1) 为第 j j j 类样本的均值向量;
∑ j ( j = 0 , 1 ) \sum_j(j=0,1) ∑j(j=0,1) 为第 j j j 类样本的协方差矩阵。
其中
u
j
=
1
N
j
∑
x
ϵ
X
j
x
(
j
=
0
,
1
)
,
∑
j
=
∑
x
ϵ
X
j
(
x
−
u
j
)
(
x
−
u
j
)
T
(
j
=
0
,
1
)
u_j = \frac{1}{N_j} \sum_{\boldsymbol x\epsilon X_j}\boldsymbol x(j=0,1), \sum_j = \sum_{\boldsymbol x\epsilon X_j}(\boldsymbol x-u_j)(\boldsymbol x-u_j)^T(j=0,1)
uj=Nj1xϵXj∑x(j=0,1),j∑=xϵXj∑(x−uj)(x−uj)T(j=0,1)
假设投影直线是向量
w
\boldsymbol w
w,对任意样本
x
i
\boldsymbol x_i
xi,它在直线
w
w
w上的投影为
w
T
x
i
\boldsymbol w^Tx_i
wTxi,两个类别的中心点
u
0
u_0
u0, $u_1 $在直线
w
w
w 的投影分别为
w
T
u
0
\boldsymbol w^Tu_0
wTu0 、
w
T
u
1
\boldsymbol w^Tu_1
wTu1。
LDA的目标是让两类别的数据中心间的距离
∥
w
T
u
0
−
w
T
u
1
∥
2
2
\| \boldsymbol w^Tu_0 - \boldsymbol w^Tu_1 \|^2_2
∥wTu0−wTu1∥22 尽量大,与此同时,希望同类样本投影点的协方差
w
T
∑
0
w
\boldsymbol w^T \sum_0 \boldsymbol w
wT∑0w、
w
T
∑
1
w
\boldsymbol w^T \sum_1 \boldsymbol w
wT∑1w 尽量小,最小化
w
T
∑
0
w
+
w
T
∑
1
w
\boldsymbol w^T \sum_0 \boldsymbol w + \boldsymbol w^T \sum_1 \boldsymbol w
wT∑0w+wT∑1w 。
定义
类内散度矩阵
S
w
=
∑
0
+
∑
1
=
∑
x
ϵ
X
0
(
x
−
u
0
)
(
x
−
u
0
)
T
+
∑
x
ϵ
X
1
(
x
−
u
1
)
(
x
−
u
1
)
T
S_w = \sum_0 + \sum_1 = \sum_{\boldsymbol x\epsilon X_0}(\boldsymbol x-u_0)(\boldsymbol x-u_0)^T + \sum_{\boldsymbol x\epsilon X_1}(\boldsymbol x-u_1)(\boldsymbol x-u_1)^T
Sw=0∑+1∑=xϵX0∑(x−u0)(x−u0)T+xϵX1∑(x−u1)(x−u1)T
类间散度矩阵
S
b
=
(
u
0
−
u
1
)
(
u
0
−
u
1
)
T
S_b = (u_0 - u_1)(u_0 - u_1)^T
Sb=(u0−u1)(u0−u1)T
据上分析,优化目标为
KaTeX parse error: Got function '\boldsymbol' with no arguments as subscript at position 20: …thop{\arg\max}_\̲b̲o̲l̲d̲s̲y̲m̲b̲o̲l̲ ̲w J(\boldsymbol…
根据广义瑞利商的性质,矩阵
S
w
−
1
S
b
S^{-1}_{w} S_b
Sw−1Sb 的最大特征值为
J
(
w
)
J(\boldsymbol w)
J(w) 的最大值,矩阵
S
w
−
1
S
b
S^{-1}_{w} S_b
Sw−1Sb 的最大特征值对应的特征向量即为
w
\boldsymbol w
w。
LDA算法降维流程如下:
输入:数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } D = \{ (x_1,y_1),(x_2,y_2), ... ,(x_m,y_m) \} D={(x1,y1),(x2,y2),...,(xm,ym)},其中样本 $x_i $ 是n维向量, y i ϵ { C 1 , C 2 , . . . , C k } y_i \epsilon \{C_1, C_2, ..., C_k\} yiϵ{C1,C2,...,Ck},降维后的目标维度 d d d 。
输出:降维后的数据集 $\overline{D} $ 。
步骤:
异同点 | LDA | PCA |
---|---|---|
相同点 | 1. 两者均可以对数据进行降维; 2. 两者在降维时均使用了矩阵特征分解的思想; 3. 两者都假设数据符合高斯分布; | |
不同点 | 有监督的降维方法; | 无监督的降维方法; |
降维最多降到k-1维; | 降维多少没有限制; | |
可以用于降维,还可以用于分类; | 只用于降维; | |
选择分类性能最好的投影方向; | 选择样本点投影具有最大方差的方向; | |
更明确,更能反映样本间差异; | 目的较为模糊; |
优缺点 | 简要说明 |
---|---|
优点 | 1. 可以使用类别的先验知识; 2. 以标签、类别衡量差异性的有监督降维方式,相对于PCA的模糊性,其目的更明确,更能反映样本间的差异; |
缺点 | 1. LDA不适合对非高斯分布样本进行降维; 2. LDA降维最多降到分类数k-1维; 3. LDA在样本分类信息依赖方差而不是均值时,降维效果不好; 4. LDA可能过度拟合数据。 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。