《统计学习方法》重点内容
你好哇! 这是由追梦人整理的《统计学习方法》重点内容。其中大部分出自教材,也有一部分是本人总结。需要说明的是,由于本人目前的知识水平有限,文章可能存在疏忽之处。希望同大家交流讨论,共同进步呀~。
第1章:统计学习及监督学习概论
1.统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行分析与预测的一门学科。统计学习包括监督学习、非监督学习、半监督学习和强化学习。
2.统计学习方法三要素——模型、策略、算法,对理解统计学习方法起到提纲挈领的作用。
3.本书主要讨论监督学习,监督学习可以概括如下:从给定有限的训练数据出发, 假设数据是独立同分布的,而且假设模型属于某个假设空间,应用某一评价准则,从假设空间中选取一个最优的模型,使它对已给训练数据及未知测试数据在给定评价标准意义下有最准确的预测。
4.统计学习中,进行模型选择或者说提高学习的泛化能力是一个重要问题。如果只考虑减少训练误差,就可能产生过拟合现象。模型选择的方法有正则化与交叉验证。学习方法泛化能力的分析是统计学习理论研究的重要课题。
5.分类问题、标注问题和回归问题都是监督学习的重要问题。本书中介绍的统计学习方法包括感知机、 k k k近邻法、朴素贝叶斯法、决策树、逻辑斯谛回归与最大熵模型、支持向量机、提升方法、EM算法、隐马尔可夫模型和条件随机场。这些方法是主要的分类、标注以及回归方法。它们又可以归类为生成方法与判别方法。
第2章:感知机
1.感知机是根据输入实例的特征向量 x x x对其进行二类分类的线性分类模型:
f ( x ) = sign ( w ⋅ x + b ) f(x)=\operatorname{sign}(w \cdot x+b) f(x)=sign(w⋅x+b)
感知机模型对应于输入空间(特征空间)中的分离超平面 w ⋅ x + b = 0 w \cdot x+b=0 w⋅x+b=0。
2.感知机学习的策略是极小化损失函数:
min w , b L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) \min _{w, b} L(w, b)=-\sum_{x_{i} \in M} y_{i}\left(w \cdot x_{i}+b\right) w,bminL(w,b)=−xi∈M∑yi(w⋅xi+b)
损失函数对应于误分类点到分离超平面的总距离。
3.感知机学习算法是基于随机梯度下降法的对损失函数的最优化算法,有原始形式和对偶形式。算法简单且易于实现。原始形式中,首先任意选取一个超平面,然后用梯度下降法不断极小化目标函数。在这个过程中一次随机选取一个误分类点使其梯度下降。
4.当训练数据集线性可分时,感知机学习算法是收敛的。感知机算法在训练数据集上的误分类次数 k k k满足不等式:
k ⩽ ( R γ ) 2 k \leqslant\left(\frac{R}{\gamma}\right)^{2} k⩽(γR)2
当训练数据集线性可分时,感知机学习算法存在无穷多个解,其解由于不同的初值或不同的迭代顺序而可能有所不同。
第3章:k近邻法
1. k k k近邻法是基本且简单的分类与回归方法。 k k k近邻法的基本做法是:对给定的训练实例点和输入实例点,首先确定输入实例点的 k k k个最近邻训练实例点,然后利用这 k k k个训练实例点的类的多数来预测输入实例点的类。
2. k k k近邻模型对应于基于训练数据集对特征空间的一个划分。 k k k近邻法中,当训练集、距离度量、 k k k值及分类决策规则确定后,其结果唯一确定。
3. k k k近邻法三要素:距离度量、 k k k值的选择和分类决策规则。常用的距离度量是欧氏距离及更一般的pL距离。 k k k值小时, k k k近邻模型更复杂; k k k值大时, k k k近邻模型更简单。 k k k值的选择反映了对近似误差与估计误差之间的权衡,通常由交叉验证选择最优的 k k k。
常用的分类决策规则是多数表决,对应于经验风险最小化。
4. k k k近邻法的实现需要考虑如何快速搜索k个最近邻点。kd树是一种便于对k维空间中的数据进行快速检索的数据结构。kd树是二叉树,表示对 k k k维空间的一个划分,其每个结点对应于 k k k维空间划分中的一个超矩形区域。利用kd树可以省去对大部分数据点的搜索, 从而减少搜索的计算量。
第4章:朴素贝叶斯法
1.朴素贝叶斯法是典型的生成学习方法。生成方法由训练数据学习联合概率分布
P
(
X
,
Y
)
P(X,Y)
P(X,Y),然后求得后验概率分布
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)。具体来说,利用训练数据学习
P
(
X
∣
Y
)
P(X|Y)
P(X∣Y)和
P
(
Y
)
P(Y)
P(Y)的估计,得到联合概率分布:
P ( X , Y ) = P ( Y ) P ( X ∣ Y ) P(X,Y)=P(Y)P(X|Y) P(X,Y)=P(Y)P(X∣Y)
概率估计方法可以是极大似然估计或贝叶斯估计。
2.朴素贝叶斯法的基本假设是条件独立性,
P ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , ⋯ , X ( n ) = x ( n ) ∣ Y = c k ) = ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) \begin{aligned} P(X&=x | Y=c_{k} )=P\left(X^{(1)}=x^{(1)}, \cdots, X^{(n)}=x^{(n)} | Y=c_{k}\right) \\ &=\prod_{j=1}^{n} P\left(X^{(j)}=x^{(j)} | Y=c_{k}\right) \end{aligned} P(X=x∣Y=ck)=P(X(1)=x(1),⋯,X(n)=x(n)∣Y=ck)=j=1∏nP(X(j)=x(j)∣Y=ck)
这是一个较强的假设。由于这一假设,模型包含的条件概率的数量大为减少,朴素贝叶斯法的学习与预测大为简化。因而朴素贝叶斯法高效,且易于实现。其缺点是分类的性能不一定很高。
3.朴素贝叶斯法利用贝叶斯定理与学到的联合概率模型进行分类预测。
P ( Y ∣ X ) = P ( X , Y ) P ( X ) = P ( Y ) P ( X ∣ Y ) ∑ Y P ( Y ) P ( X ∣ Y ) P(Y | X)=\frac{P(X, Y)}{P(X)}=\frac{P(Y) P(X | Y)}{\sum_{Y} P(Y) P(X | Y)} P(Y∣X)=P(X)P(X,Y)=∑YP(Y)P(X∣Y)P(Y)P(X∣Y)
将输入 x x x分到后验概率最大的类 y y y。
y = arg max c k P ( Y = c k ) ∏ j = 1 n P ( X j = x ( j ) ∣ Y = c k ) y=\arg \max _{c_{k}} P\left(Y=c_{k}\right) \prod_{j=1}^{n} P\left(X_{j}=x^{(j)} | Y=c_{k}\right) y=argckmaxP(Y=ck)j=1∏nP(Xj=x(j)∣Y=ck)
后验概率最大等价于0-1损失函数时的期望风险最小化。
模型:
- 高斯模型
- 多项式模型
- 伯努利模型
第5章:决策树
1.分类决策树模型是表示基于特征对实例进行分类的树形结构。决策树可以转换成一个if-then规则的集合,也可以看作是定义在特征空间划分上的类的条件概率分布。
2.决策树学习旨在构建一个与训练数据拟合很好,并且复杂度小的决策树。因为从可能的决策树中直接选取最优决策树是NP完全问题。现实中采用启发式方法学习次优的决策树。
决策树学习算法包括3部分:特征选择、树的生成和树的剪枝。常用的算法有ID3、C4.5和CART。
3.特征选择的目的在于选取对训练数据能够分类的特征。特征选择的关键是其准则。常用的准则如下:
(1)样本集合 D D D对特征 A A A的信息增益(ID3)
g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D, A)=H(D)-H(D|A) g(D,A)=H(D)−H(D∣A)
H ( D ) = − ∑ k = 1 K ∣ C k ∣ ∣ D ∣ log 2 ∣ C k ∣ ∣ D ∣ H(D)=-\sum_{k=1}^{K} \frac{\left|C_{k}\right|}{|D|} \log _{2} \frac{\left|C_{k}\right|}{|D|} H(D)=−k=1∑K∣D∣∣Ck∣log2∣D∣∣Ck∣
H ( D ∣ A ) = ∑ i = 1 n ∣ D i ∣ ∣ D ∣ H ( D i ) H(D | A)=\sum_{i=1}^{n} \frac{\left|D_{i}\right|}{|D|} H\left(D_{i}\right) H(D∣A)=i=1∑n∣D∣∣Di∣H(Di)
其中, H ( D ) H(D) H(D)是数据集 D D D的熵, H ( D i ) H(D_i) H(Di)是数据集 D i D_i Di的熵, H ( D ∣ A ) H(D|A) H(D∣A)是数据集 D D D对特征 A A A的条件熵。 D i D_i Di是 D D D中特征 A A A取第 i i i个值的样本子集, C k C_k Ck是 D D D中属于第 k k k类的样本子集。 n n n是特征 A A A取 值的个数, K K K是类的个数。
(2)样本集合 D D D对特征 A A A的信息增益比(C4.5)
g R ( D , A ) = g ( D , A ) H ( D ) g_{R}(D, A)=\frac{g(D, A)}{H(D)} gR(D,A)=H(D)g(D,A)
其中, g ( D , A ) g(D,A) g(D,A)是信息增益, H ( D ) H(D) H(D)是数据集 D D D的熵。
(3)样本集合 D D D的基尼指数(CART)
Gini ( D ) = 1 − ∑ k = 1 K ( ∣ C k ∣ ∣ D ∣ ) 2 \operatorname{Gini}(D)=1-\sum_{k=1}^{K}\left(\frac{\left|C_{k}\right|}{|D|}\right)^{2} Gini(D)=1−k=1∑K(∣D∣∣Ck∣)2
特征 A A A条件下集合 D D D的基尼指数:
Gini ( D , A ) = ∣ D 1 ∣ ∣ D ∣ Gini ( D 1 ) + ∣ D 2 ∣ ∣ D ∣ Gini ( D 2 ) \operatorname{Gini}(D, A)=\frac{\left|D_{1}\right|}{|D|} \operatorname{Gini}\left(D_{1}\right)+\frac{\left|D_{2}\right|}{|D|} \operatorname{Gini}\left(D_{2}\right) Gini(D,A)=∣D∣∣D1∣Gini(D1)+∣D∣∣D2∣Gini(D2)
4.决策树的生成。通常使用信息增益最大、信息增益比最大或基尼指数最小作为特征选择的准则。决策树的生成往往通过计算信息增益或其他指标,从根结点开始,递归地产生决策树。这相当于用信息增益或其他准则不断地选取局部最优的特征,或将训练集分割为能够基本正确分类的子集。
5.决策树的剪枝。由于生成的决策树存在过拟合问题,需要对它进行剪枝,以简化学到的决策树。决策树的剪枝,往往从已生成的树上剪掉一些叶结点或叶结点以上的子树,并将其父结点或根结点作为新的叶结点,从而简化生成的决策树。
第6章:逻辑斯谛回归与最大熵
逻辑斯谛回归(LR)是经典的分类方法
1.逻辑斯谛回归模型是由以下条件概率分布表示的分类模型。逻辑斯谛回归模型可以用于二类或多类分类。
P ( Y = k ∣ x ) = exp ( w k ⋅ x ) 1 + ∑ k = 1 K − 1 exp ( w k ⋅ x ) , k = 1 , 2 , ⋯ , K − 1 P(Y=k | x)=\frac{\exp \left(w_{k} \cdot x\right)}{1+\sum_{k=1}^{K-1} \exp \left(w_{k} \cdot x\right)}, \quad k=1,2, \cdots, K-1 P(Y=k∣x)=1+∑k=1K−1exp(wk⋅x)exp(wk⋅x),k=1,2,⋯,K−1
P
(
Y
=
K
∣
x
)
=
1
1
+
∑
k
=
1
K
−
1
exp
(
w
k
⋅
x
)
P(Y=K | x)=\frac{1}{1+\sum_{k=1}^{K-1} \exp \left(w_{k} \cdot x\right)}
P(Y=K∣x)=1+∑k=1K−1exp(wk⋅x)1
这里,
x
x
x为输入特征,
w
w
w为特征的权值。
逻辑斯谛回归模型源自逻辑斯谛分布,其分布函数 F ( x ) F(x) F(x)是 S S S形函数。逻辑斯谛回归模型是由输入的线性函数表示的输出的对数几率模型。
2.最大熵模型是由以下条件概率分布表示的分类模型。最大熵模型也可以用于二类或多类分类。
P
w
(
y
∣
x
)
=
1
Z
w
(
x
)
exp
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
P_{w}(y | x)=\frac{1}{Z_{w}(x)} \exp \left(\sum_{i=1}^{n} w_{i} f_{i}(x, y)\right)
Pw(y∣x)=Zw(x)1exp(i=1∑nwifi(x,y))
Z
w
(
x
)
=
∑
y
exp
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
Z_{w}(x)=\sum_{y} \exp \left(\sum_{i=1}^{n} w_{i} f_{i}(x, y)\right)
Zw(x)=y∑exp(i=1∑nwifi(x,y))
其中, Z w ( x ) Z_w(x) Zw(x)是规范化因子, f i f_i fi为特征函数, w i w_i wi为特征的权值。
3.最大熵模型可以由最大熵原理推导得出。最大熵原理是概率模型学习或估计的一个准则。最大熵原理认为在所有可能的概率模型(分布)的集合中,熵最大的模型是最好的模型。
最大熵原理应用到分类模型的学习中,有以下约束最优化问题:
min − H ( P ) = ∑ x , y P ~ ( x ) P ( y ∣ x ) log P ( y ∣ x ) \min -H(P)=\sum_{x, y} \tilde{P}(x) P(y | x) \log P(y | x) min−H(P)=x,y∑P~(x)P(y∣x)logP(y∣x)
s . t . P ( f i ) − P ~ ( f i ) = 0 , i = 1 , 2 , ⋯ , n s.t. \quad P\left(f_{i}\right)-\tilde{P}\left(f_{i}\right)=0, \quad i=1,2, \cdots, n s.t.P(fi)−P~(fi)=0,i=1,2,⋯,n
∑ y P ( y ∣ x ) = 1 \sum_{y} P(y | x)=1 y∑P(y∣x)=1
求解此最优化问题的对偶问题得到最大熵模型。
4.逻辑斯谛回归模型与最大熵模型都属于对数线性模型。
5.逻辑斯谛回归模型及最大熵模型学习一般采用极大似然估计,或正则化的极大似然估计。逻辑斯谛回归模型及最大熵模型学习可以形式化为无约束最优化问题。求解该最优化问题的算法有改进的迭代尺度法、梯度下降法、拟牛顿法。
第7章:支持向量机
1.支持向量机最简单的情况是线性可分支持向量机,或硬间隔支持向量机。构建它的条件是训练数据线性可分。其学习策略是最大间隔法。可以表示为凸二次规划问题,其原始最优化问题为
min w , b 1 2 ∥ w ∥ 2 \min _{w, b} \frac{1}{2}\|w\|^{2} w,bmin21∥w∥2
s . t . y i ( w ⋅ x i + b ) − 1 ⩾ 0 , i = 1 , 2 , ⋯ , N s.t. \quad y_{i}\left(w \cdot x_{i}+b\right)-1 \geqslant 0, \quad i=1,2, \cdots, N s.t.yi(w⋅xi+b)−1⩾0,i=1,2,⋯,N
求得最优化问题的解为 w ∗ w^* w∗, b ∗ b^* b∗,得到线性可分支持向量机,分离超平面是
w ∗ ⋅ x + b ∗ = 0 w^{*} \cdot x+b^{*}=0 w∗⋅x+b∗=0
分类决策函数是
f ( x ) = sign ( w ∗ ⋅ x + b ∗ ) f(x)=\operatorname{sign}\left(w^{*} \cdot x+b^{*}\right) f(x)=sign(w∗⋅x+b∗)
最大间隔法中,函数间隔与几何间隔是重要的概念。
线性可分支持向量机的最优解存在且唯一。位于间隔边界上的实例点为支持向量。最优分离超平面由支持向量完全决定。
二次规划问题的对偶问题是
min
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
(
x
i
⋅
x
j
)
−
∑
i
=
1
N
α
i
\min \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j}\left(x_{i} \cdot x_{j}\right)-\sum_{i=1}^{N} \alpha_{i}
min21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαi
s . t . ∑ i = 1 N α i y i = 0 s.t. \quad \sum_{i=1}^{N} \alpha_{i} y_{i}=0 s.t.i=1∑Nαiyi=0
α i ⩾ 0 , i = 1 , 2 , ⋯ , N \alpha_{i} \geqslant 0, \quad i=1,2, \cdots, N αi⩾0,i=1,2,⋯,N
通常,通过求解对偶问题学习线性可分支持向量机,即首先求解对偶问题的最优值
a ∗ a^* a∗,然后求最优值 w ∗ w^* w∗和 b ∗ b^* b∗,得出分离超平面和分类决策函数。
2.现实中训练数据是线性可分的情形较少,训练数据往往是近似线性可分的,这时使用线性支持向量机,或软间隔支持向量机。线性支持向量机是最基本的支持向量机。
对于噪声或例外,通过引入松弛变量 ξ i \xi_{\mathrm{i}} ξi,使其“可分”,得到线性支持向量机学习的凸二次规划问题,其原始最优化问题是
min w , b , ξ 1 2 ∥ w ∥ 2 + C ∑ i = 1 N ξ i \min _{w, b, \xi} \frac{1}{2}\|w\|^{2}+C \sum_{i=1}^{N} \xi_{i} w,b,ξmin21∥w∥2+Ci=1∑Nξi
s . t . y i ( w ⋅ x i + b ) ⩾ 1 − ξ i , i = 1 , 2 , ⋯ , N s.t. \quad y_{i}\left(w \cdot x_{i}+b\right) \geqslant 1-\xi_{i}, \quad i=1,2, \cdots, N s.t.yi(w⋅xi+b)⩾1−ξi,i=1,2,⋯,N
ξ i ⩾ 0 , i = 1 , 2 , ⋯ , N \xi_{i} \geqslant 0, \quad i=1,2, \cdots, N ξi⩾0,i=1,2,⋯,N
求解原始最优化问题的解 w ∗ w^* w∗和 b ∗ b^* b∗,得到线性支持向量机,其分离超平面为
w ∗ ⋅ x + b ∗ = 0 w^{*} \cdot x+b^{*}=0 w∗⋅x+b∗=0
分类决策函数为
f ( x ) = sign ( w ∗ ⋅ x + b ∗ ) f(x)=\operatorname{sign}\left(w^{*} \cdot x+b^{*}\right) f(x)=sign(w∗⋅x+b∗)
线性可分支持向量机的解 w ∗ w^* w∗唯一但 b ∗ b^* b∗不唯一。对偶问题是
min α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i \min _{\alpha} \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j}\left(x_{i} \cdot x_{j}\right)-\sum_{i=1}^{N} \alpha_{i} αmin21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαi
s . t . ∑ i = 1 N α i y i = 0 s.t. \quad \sum_{i=1}^{N} \alpha_{i} y_{i}=0 s.t.i=1∑Nαiyi=0
0 ⩽ α i ⩽ C , i = 1 , 2 , ⋯ , N 0 \leqslant \alpha_{i} \leqslant C, \quad i=1,2, \cdots, N 0⩽αi⩽C,i=1,2,⋯,N
线性支持向量机的对偶学习算法,首先求解对偶问题得到最优解 α ∗ \alpha^* α∗,然后求原始问题最优解 w ∗ w^* w∗和 b ∗ b^* b∗,得出分离超平面和分类决策函数。
对偶问题的解 α ∗ \alpha^* α∗中满 α i ∗ > 0 \alpha_{i}^{*}>0 αi∗>0的实例点 x i x_i xi称为支持向量。支持向量可在间隔边界上,也可在间隔边界与分离超平面之间,或者在分离超平面误分一侧。最优分离超平面由支持向量完全决定。
线性支持向量机学习等价于最小化二阶范数正则化的合页函数
∑ i = 1 N [ 1 − y i ( w ⋅ x i + b ) ] + + λ ∥ w ∥ 2 \sum_{i=1}^{N}\left[1-y_{i}\left(w \cdot x_{i}+b\right)\right]_{+}+\lambda\|w\|^{2} i=1∑N[1−yi(w⋅xi+b)]++λ∥w∥2
3.非线性支持向量机
对于输入空间中的非线性分类问题,可以通过非线性变换将它转化为某个高维特征空间中的线性分类问题,在高维特征空间中学习线性支持向量机。由于在线性支持向量机学习的对偶问题里,目标函数和分类决策函数都只涉及实例与实例之间的内积,所以不需要显式地指定非线性变换,而是用核函数来替换当中的内积。核函数表示,通过一个非线性转换后的两个实例间的内积。具体地, K ( x , z ) K(x,z) K(x,z)是一个核函数,或正定核,意味着存在一个从输入空间x到特征空间的映射 X → H \mathcal{X} \rightarrow \mathcal{H} X→H,对任意 X \mathcal{X} X,有
K ( x , z ) = ϕ ( x ) ⋅ ϕ ( z ) K(x, z)=\phi(x) \cdot \phi(z) K(x,z)=ϕ(x)⋅ϕ(z)
对称函数 K ( x , z ) K(x,z) K(x,z)为正定核的充要条件如下:对任意 x i ∈ X , i = 1 , 2 , … , m \mathrm{x}_{\mathrm{i}} \in \mathcal{X}, \quad \mathrm{i}=1,2, \ldots, \mathrm{m} xi∈X,i=1,2,…,m,任意正整数 m m m,对称函数 K ( x , z ) K(x,z) K(x,z)对应的Gram矩阵是半正定的。
所以,在线性支持向量机学习的对偶问题中,用核函数 K ( x , z ) K(x,z) K(x,z)替代内积,求解得到的就是非线性支持向量机
f ( x ) = sign ( ∑ i = 1 N α i ∗ y i K ( x , x i ) + b ∗ ) f(x)=\operatorname{sign}\left(\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} K\left(x, x_{i}\right)+b^{*}\right) f(x)=sign(i=1∑Nαi∗yiK(x,xi)+b∗)
4.SMO算法
SMO算法是支持向量机学习的一种快速算法,其特点是不断地将原二次规划问题分解为只有两个变量的二次规划子问题,并对子问题进行解析求解,直到所有变量满足KKT条件为止。这样通过启发式的方法得到原二次规划问题的最优解。因为子问题有解析解,所以每次计算子问题都很快,虽然计算子问题次数很多,但在总体上还是高效的。
第8章:提升方法
1.提升方法是将弱学习算法提升为强学习算法的统计学习方法。在分类学习中,提升方法通过反复修改训练数据的权值分布,构建一系列基本分类器(弱分类器),并将这些基本分类器线性组合,构成一个强分类器。代表性的提升方法是AdaBoost算法。
AdaBoost模型是弱分类器的线性组合:
f ( x ) = ∑ m = 1 M α m G m ( x ) f(x)=\sum_{m=1}^{M} \alpha_{m} G_{m}(x) f(x)=m=1∑MαmGm(x)
2.AdaBoost算法的特点是通过迭代每次学习一个基本分类器。每次迭代中,提高那些被前一轮分类器错误分类数据的权值,而降低那些被正确分类的数据的权值。最后,AdaBoost将基本分类器的线性组合作为强分类器,其中给分类误差率小的基本分类器以大的权值,给分类误差率大的基本分类器以小的权值。
3.AdaBoost的训练误差分析表明,AdaBoost的每次迭代可以减少它在训练数据集上的分类误差率,这说明了它作为提升方法的有效性。
4.AdaBoost算法的一个解释是该算法实际是前向分步算法的一个实现。在这个方法里,模型是加法模型,损失函数是指数损失,算法是前向分步算法。
每一步中极小化损失函数
( β m , γ m ) = arg min β , γ ∑ i = 1 N L ( y i , f m − 1 ( x i ) + β b ( x i ; γ ) ) \left(\beta_{m}, \gamma_{m}\right)=\arg \min _{\beta, \gamma} \sum_{i=1}^{N} L\left(y_{i}, f_{m-1}\left(x_{i}\right)+\beta b\left(x_{i} ; \gamma\right)\right) (βm,γm)=argβ,γmini=1∑NL(yi,fm−1(xi)+βb(xi;γ))
得 到 参 数 β m , γ m \beta_{m}, \gamma_{m} βm,γm。
5.提升树是以分类树或回归树为基本分类器的提升方法。提升树被认为是统计学习中最有效的方法之一。
第9章:EM算法及其推广
likehood & maximum likehood
1.EM算法是含有隐变量的概率模型极大似然估计或极大后验概率估计的迭代算法。含有隐变量的概率模型的数据表示为
P
(
Y
,
Z
∣
θ
P(Y,Z|\theta
P(Y,Z∣θ )。这里,
Y
Y
Y是观测变量的数据,
Z
Z
Z是隐变量的数据,
θ
\theta
θ 是模型参数。EM算法通过迭代求解观测数据的对数似然函数
L
(
θ
)
=
log
P
(
Y
∣
θ
)
{L}(\theta)=\log {P}(\mathrm{Y} | \theta)
L(θ)=logP(Y∣θ)的极大化,实现极大似然估计。每次迭代包括两步:
E E E步,求期望,即求 l o g P ( Z ∣ Y , θ ) logP\left(Z | Y, \theta\right) logP(Z∣Y,θ) )关于$ P\left(Z | Y, \theta^{(i)}\right)$)的期望:
Q
(
θ
,
θ
(
i
)
)
=
∑
Z
log
P
(
Y
,
Z
∣
θ
)
P
(
Z
∣
Y
,
θ
(
i
)
)
Q\left(\theta, \theta^{(i)}\right)=\sum_{Z} \log P(Y, Z | \theta) P\left(Z | Y, \theta^{(i)}\right)
Q(θ,θ(i))=Z∑logP(Y,Z∣θ)P(Z∣Y,θ(i))
称为
Q
Q
Q函数,这里
θ
(
i
)
\theta^{(i)}
θ(i)是参数的现估计值;
M M M步,求极大,即极大化 Q Q Q函数得到参数的新估计值:
θ ( i + 1 ) = arg max θ Q ( θ , θ ( i ) ) \theta^{(i+1)}=\arg \max _{\theta} Q\left(\theta, \theta^{(i)}\right) θ(i+1)=argθmaxQ(θ,θ(i))
在构建具体的EM算法时,重要的是定义 Q Q Q函数。每次迭代中,EM算法通过极大化 Q Q Q函数来增大对数似然函数 L ( θ ) {L}(\theta) L(θ)。
2.EM算法在每次迭代后均提高观测数据的似然函数值,即
P ( Y ∣ θ ( i + 1 ) ) ⩾ P ( Y ∣ θ ( i ) ) P\left(Y | \theta^{(i+1)}\right) \geqslant P\left(Y | \theta^{(i)}\right) P(Y∣θ(i+1))⩾P(Y∣θ(i))
在一般条件下EM算法是收敛的,但不能保证收敛到全局最优。
3.EM算法应用极其广泛,主要应用于含有隐变量的概率模型的学习。高斯混合模型的参数估计是EM算法的一个重要应用,下一章将要介绍的隐马尔可夫模型的非监督学习也是EM算法的一个重要应用。
4.EM算法还可以解释为 F F F函数的极大-极大算法。EM算法有许多变形,如GEM算法。GEM算法的特点是每次迭代增加 F F F函数值(并不一定是极大化 F F F函数),从而增加似然函数值。
第10章:隐马尔可夫模型
1.隐马尔可夫模型。
- 隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态的序列,再由各个状态随机生成一个观测而产生观测的序列的过程。
- 隐马尔可夫模型由初始状态概率向量 π \pi π、状态转移概率矩阵 A A A和观测概率矩阵 B B B决定。因此,隐马尔可夫模型可以写成 λ = ( A , B , π ) \lambda=(A, B, \pi) λ=(A,B,π)。
- 隐马尔可夫模型是一个生成模型,表示状态序列和观测序列的联合分布,但是状态序列是隐藏的,不可观测的。
- 隐马尔可夫模型可以用于标注,这时状态对应着标记。标注问题是给定观测序列预测其对应的标记序列。
2.概率计算问题。
- 给定模型 λ = ( A , B , π ) \lambda=(A, B, \pi) λ=(A,B,π)和观测序列 O = ( o 1 , o 2 , … , o T ) O=(o_1,o_2,…,o_T) O=(o1,o2,…,oT),计算在模型 λ \lambda λ下观测序列 O O O出现的概率 P ( O ∣ λ ) P(O|\lambda) P(O∣λ)。
- 前向-后向算法是通过递推地计算前向-后向概率可以高效地进行隐马尔可夫模型的概率计算。
3.学习问题。
- 已知观测序列 O = ( o 1 , o 2 , … , o T ) O=(o_1,o_2,…,o_T) O=(o1,o2,…,oT),估计模型 λ = ( A , B , π ) \lambda=(A, B, \pi) λ=(A,B,π)参数,使得在该模型下观测序列概率 P ( O ∣ λ ) P(O|\lambda) P(O∣λ)最大。即用极大似然估计的方法估计参数。
- Baum-Welch算法,也就是EM算法可以高效地对隐马尔可夫模型进行训练。它是一种非监督学习算法。
4.预测问题。
- 已知模型 λ = ( A , B , π ) \lambda=(A, B, \pi) λ=(A,B,π)和观测序列 O = ( o 1 , o 2 , … , o T ) O=(o_1,o_2,…,o_T) O=(o1,o2,…,oT),求对给定观测序列条件概率 P ( I ∣ O ) P(I|O) P(I∣O)最大的状态序列 I = ( i 1 , i 2 , … , i T ) I=(i_1,i_2,…,i_T) I=(i1,i2,…,iT)。
- 维特比算法应用动态规划高效地求解最优路径,即概率最大的状态序列。
第11章:条件随机场
1.概率无向图模型是由无向图表示的联合概率分布。无向图上的结点之间的连接关系表示了联合分布的随机变量集合之间的条件独立性,即马尔可夫性。因此,概率无向图模型也称为马尔可夫随机场。
- 概率无向图模型或马尔可夫随机场的联合概率分布可以分解为无向图最大团上的正值函数的乘积的形式。
2.条件随机场是给定输入随机变量 X X X条件下,输出随机变量 Y Y Y的条件概率分布模型, 其形式为参数化的对数线性模型。条件随机场的最大特点是假设输出变量之间的联合概率分布构成概率无向图模型,即马尔可夫随机场。
- 条件随机场是判别模型。
3.线性链条件随机场是定义在观测序列与标记序列上的条件随机场。线性链条件随机场一般表示为给定观测序列条件下的标记序列的条件概率分布,由参数化的对数线性模型表示。模型包含特征及相应的权值,特征是定义在线性链的边与结点上的。线性链条件随机场的数学表达式是
P
(
y
∣
x
)
=
1
Z
(
x
)
exp
(
∑
i
,
k
λ
k
t
k
(
y
i
−
1
,
y
i
,
x
,
i
)
+
∑
i
,
l
μ
l
s
l
(
y
i
,
x
,
i
)
)
P(y | x)=\frac{1}{Z(x)} \exp \left(\sum_{i, k} \lambda_{k} t_{k}\left(y_{i-1}, y_{i}, x, i\right)+\sum_{i, l} \mu_{l} s_{l}\left(y_{i}, x, i\right)\right)
P(y∣x)=Z(x)1exp⎝⎛i,k∑λktk(yi−1,yi,x,i)+i,l∑μlsl(yi,x,i)⎠⎞
其中,
Z
(
x
)
=
∑
y
exp
(
∑
i
,
k
λ
k
t
k
(
y
i
−
1
,
y
i
,
x
,
i
)
+
∑
i
,
l
μ
l
s
l
(
y
i
,
x
,
i
)
)
Z(x)=\sum_{y} \exp \left(\sum_{i, k} \lambda_{k} t_{k}\left(y_{i-1}, y_{i}, x, i\right)+\sum_{i, l} \mu_{l} s_{l}\left(y_{i}, x, i\right)\right)
Z(x)=y∑exp⎝⎛i,k∑λktk(yi−1,yi,x,i)+i,l∑μlsl(yi,x,i)⎠⎞
4.线性链条件随机场的概率计算通常利用前向-后向算法。
5.条件随机场的学习方法通常是极大似然估计方法或正则化的极大似然估计,即在给定训练数据下,通过极大化训练数据的对数似然函数以估计模型参数。
- 具体的算法有改进的迭代尺度算法、梯度下降法、拟牛顿法等。
6.线性链条件随机场的一个重要应用是标注。维特比算法是给定观测序列求条件概率最大的标记序列的方法。
第12章:监督学习方法总结
1.适用问题
-
监督学习可以认为是学习一个模型,使它能对给定的输入预测相应的输出。监督学习包括分类、标注、回归。本篇主要考虑前两者的学习方法。
- 分类问题是从实例的特征向量到类标记的预测问题;
- 标注问题是从观测序列到标记序列(或状态序列)的预测问题。
- 可以认为分类问题是标注问题的特殊情况。分类问题中可能的预测结果是二类或多类;而标注问题中可能的预测结果是所有的标记序列,其数目是指数级的。
-
感知机、 k k k近邻法、朴素贝叶斯法、决策树是简单的分类方法,具有模型直观、方法简单、实现容易等特点;
-
逻辑斯谛回归与最大熵模型、支持向量机、提升方法是更复杂但更有效的分类方法,往往分类准确率更高;
-
隐马尔可夫模型、条件随机场是主要的标注方法。通常条件随机场的标注准确率更高。
2.模型
-
分类问题与标注问题的预测模型都可以认为是表示从输入空间到输出空间的映射。它们可以写成条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)或决策函数 Y = f ( X ) Y=f(X) Y=f(X)的形式。前者表示给定输入条件下输出的概率模型,后者表示输入到输出的非概率模型。
- 朴素贝叶斯法、隐马尔可夫模型是概率模型;
- 感知机、 k k k近邻法、支持向量机、提升方法是非概率模型;
- 而决策树、逻辑斯谛回归与最大熵模型、条件随机场既可以看作是概率模型,又可以看作是非概率模型。
-
直接学习条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)或决策函数 Y = f ( X ) Y=f(X) Y=f(X)的方法为判别方法,对应的模型是判别模型。
- 感知机、 k k k近邻法、决策树、逻辑斯谛回归与最大熵模型、支持向量机、提升方法、条件随机场是判别方法。
-
首先学习联合概率分布 P ( X , Y ) P(X,Y) P(X,Y),从而求得条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)的方法是生成方法,对应的模型是生成模型。
- 朴素贝叶斯法、隐马尔可夫模型是生成方法。
-
决策树是定义在一般的特征空间上的,可以含有连续变量或离散变量。
-
感知机、支持向量机、k近邻法的特征空间是欧氏空间(更一般地,是希尔伯特空间)。
-
提升方法的模型是弱分类器的线性组合,弱分类器的特征空间就是提升方法模型的特征空间。
-
感知机模型是线性模型;
-
而逻辑斯谛回归与最大熵模型、条件随机场是对数线性模型;
-
k k k近邻法、决策树、支持向量机(包含核函数)、提升方法使用的是非线性模型。
3.学习策略
在二类分类的监督学习中,支持向量机、逻辑斯谛回归与最大熵模型、提升方法各自使用合页损失函数、逻辑斯谛损失函数、指数损失函数,分别写为:
[
1
−
y
f
(
x
)
]
+
[1-y f(x)]_{+}
[1−yf(x)]+
log
[
1
+
exp
(
−
y
f
(
x
)
)
]
\log[1+\exp (-y f(x))]
log[1+exp(−yf(x))]
exp
(
−
y
f
(
x
)
)
\exp (-y f(x))
exp(−yf(x))
这3种损失函数都是0-1损失函数的上界,具有相似的形状。(见下图)
可以认为支持向量机、逻辑斯谛回归与最大熵模型、提升方法使用不同的代理损失函数(surrogateloas Punotion)表示分类的损失,定义经验风险或结构风险函数,实现二类分类学习任务。学习的策略是优化以下结构风险函数,
min f ∈ H 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) \min _{f \in H} \frac{1}{N} \sum_{i=1}^{N} L\left(y_{i}, f\left(x_{i}\right)\right)+\lambda J(f) f∈HminN1i=1∑NL(yi,f(xi))+λJ(f)
第1项为经验风险(经验损失),第2项为正则化项, L ( y , f ( x ) ) L(y,f(x)) L(y,f(x))为损失函数, J ( f ) J(f) J(f)为模型的复杂度, λ ≥ 0 \lambda \geq 0 λ≥0为系数。
- 支持向量机用 L 2 L_2 L2范数表示模型的复杂度。
- 原始的逻辑斯谛回归与最大熵模型没有正则化项,可以给它们加上 L 2 L_2 L2范数正则化项。
- 提升方法没有显式的正则化项,通常通过早停止(early stopping)的方法达到正则化的效果。
概率模型的学习可以形式化为极大似然估计或贝叶斯估计的极大后验概率估计。学习的策略是极小化对数似然损失或极小化正则化的对数似然损失。对数似然损失可以写成:
− l o g P ( y ∣ x ) -logP(y|x) −logP(y∣x)
极大后验概率估计时,正则化项是先验概率的负对数。
- 决策树学习的策略是正则化的极大似然估计,损失函数是对数似然损失,正则化项是决策树的复杂度。
- 逻辑斯谛回归与最大熵模型、条件随机场的学习策略既可以看成是极大似然估计(或正则化的极大似然估计),又可以看成是极小化逻辑斯谛损失(或正则化的逻辑斯谛损失)。
- 朴素贝叶斯模型、隐马尔可夫模型的非监督学习也是极大似然估计或极大后验概率估计,但这时模型含有隐变量。
4.学习算法
统计学习的问题有了具体的形式以后,就变成了最优化问题。
-
朴素贝叶斯法与隐马尔可夫模型的监督学习,最优解即极大似然估计值,可以由概率计算公式直接计算。
-
感知机、逻辑斯谛回归与最大熵模型、条件随机场的学习利用梯度下降法、拟牛顿法等一般的无约束最优化问题的解法。
-
支持向量机学习,可以解凸二次规划的对偶问题。有序列最小最优化算法等方法。
-
决策树学习是基于启发式算法的典型例子。可以认为特征选择、生成、剪枝是启发式地进行正则化的极大似然估计。
-
提升方法利用学习的模型是加法模型、损失函数是指数损失函数的特点,启发式地从前向后逐步学习模型,以达到逼近优化目标函数的目的。
-
EM算法是一种迭代的求解含隐变量概率模型参数的方法,它的收敛性可以保证,但是不能保证收敛到全局最优。
-
支持向量机学习、逻辑斯谛回归与最大熵模型学习、条件随机场学习是凸优化问题,全局最优解保证存在。而其他学习问题则不是凸优化问题。
第13章:无监督学习概论
1.机器学习或统计学习一般包括监督学习、无监督学习、强化学习。
- 无监督学习是指从无标注数据中学习模型的机器学习问题。
- 无标注数据是自然得到的数据,模型表示数据的类别、转换或概率。
- 无监督学习的本质是学习数据中的统计规律或潜在结构,主要包括聚类、降维、概率估计。
2.无监督学习可以用于对已有数据的分析,也可以用于对未来数据的预测。学习得到的模型有
- 函数 z = g ( x ) z=g(x) z=g(x),
- 条件概率分布 P ( z ∣ x ) P(z|x) P(z∣x)或条件概率分布 P ( x ∣ z ) P(x|z) P(x∣z)。
无监督学习的基本想法是对给定数据(矩阵数据)进行某种“压缩”,从而找到数据的潜在结构,假定损失最小的压缩得到的结果就是最本质的结构。
- 可以考虑发掘数据的纵向结构,对应聚类。
- 也可以考虑发掘数据的横向结构,对应降维。
- 还可以同时考虑发掘数据的纵向与横向结构,对应概率模型估计。
3.聚类是将样本集合中相似的样本(实例)分配到相同的类,不相似的样本分配到不同的类。
- 聚类分硬聚类和软聚类。
- 聚类方法有层次聚类和 k k k均值聚类。
4.降维是将样本集合中的样本(实例)从高维空间转换到低维空间。假设样本原本存在于低维空间,或近似地存在于低维空间,通过降维则可以更好地表示样本数据的结构,即更好地表示样本之间的关系。
- 降维有线性降维和非线性降维。
- 降维方法有主成分分析。
5.概率模型估计假设训练数据由一个概率模型生成,同时利用训练数据学习概率模型的结构和参数。
- 概率模型包括混合模型、概率图模型等。
- 概率图模型又包括有向图模型和无向图模型。
6.话题分析是文本分析的一种技术。给定一个文本集合,话题分析旨在发现文本集合中每个文本的话题,而话题由单词的集合表示。
- 话题分析方法有潜在语义分析、概率潜在语义分析和潜在狄利克雷分配。
7.图分析的目的是发掘隐藏在图中的统计规律或潜在结构。链接分析是图分析的一种,主要是发现有向图中的重要结点,包括 PageRank算法。
第14章:聚类方法
1.聚类是针对给定的样本,依据它们属性的相似度或距离,将其归并到若干个“类”或“簇”的数据分析问题。一个类是样本的一个子集。直观上,相似的样本聚集在同类,不相似的样本分散在不同类。
2.距离或相似度度量在聚类中起着重要作用。
- 常用的距离度量有闵可夫斯基距离,包括欧氏距离曼哈顿距离、切比雪夫距离以及马哈拉诺比斯距离。用距离度量相似度时,距离越小表示样本越相似;
- 常用的相似度度量有相关系数、夹角余弦。用相关系数时,相关系数越大表示样本越相似。
3.类是样本的子集,比如有如下基本定义:
用
G
G
G表示类或簇,用
x
i
x_i
xi,
x
j
x_j
xj;等表示类中的样本,用
d
i
j
d_{ij}
dij表示样本
x
i
x_i
xi与样本
x
j
x_j
xj之间的距离。如果对任意的
x
i
,
x
j
∈
G
x _ { i } , x _ { j } \in G
xi,xj∈G,有
d
i
j
≤
T
d _ { i j } \leq T
dij≤T则称
G
G
G为一个类或簇。
- 描述类的特征的指标有中心、直径、散布矩阵、协方差矩阵。
4.聚类过程中用到类与类之间的距离也称为连接类与类之间的距离包括最短距离、最长距离、中心距离、平均距离。
5.层次聚类假设类别之间存在层次结构,将样本聚到层次化的类中层次聚类又有聚合或自下而上、分裂或自上而下两种方法。
- 聚合聚类开始将每个样本各自分到一个类;之后将相距最近的两类合并,建立一个新的类,重复此操作直到满足停止条件;得到层次化的类别。
- 分裂聚类开始将所有样本分到一个类;之后将已有类中相距最远的样本分到两个新的类,重复此操作直到满足停止条件;得到层次化的类别。
聚合聚类需要预先确定下面三个要素:
(1)距离或相似度;
(2)合并规则;
(3)停止条件。
根据这些概念的不同组合,就可以得到不同的聚类方法。
6. k k k均值聚类是常用的聚类算法,有以下特点:
- 基于划分的聚类方法;
- 类别数k事先指定;
- 以欧氏距离平方表示样本之间的距离或相似度,以中心或样本的均值表示类别;
- 以样本和其所属类的中心之间的距离的总和为优化的目标函数;
- 得到的类别是平坦的、非层次化的;
- 算法是迭代算法,不能保证得到全局最优。
k k k均值聚类算法,首先选择k个类的中心,将样本分到与中心最近的类中,得到一个聚类结果;然后计算每个类的样本的均值,作为类的新的中心;重复以上步骤,直到收敛为止。
第15章:奇异值分解
1.矩阵的奇异值分解是指将
m
×
n
m \times n
m×n实矩阵
A
A
A表示为以下三个实矩阵乘积形式的运算
A
=
U
Σ
V
T
A = U \Sigma V ^ { T }
A=UΣVT
其中
U
U
U是
m
m
m阶正交矩阵,
V
V
V是
n
n
n阶正交矩阵,
Σ
\Sigma
Σ是
m
×
n
m \times n
m×n矩形对角矩阵
Σ
=
diag
(
σ
1
,
σ
2
,
⋯
,
σ
p
)
,
p
=
min
{
m
,
n
}
\Sigma = \operatorname { diag } ( \sigma _ { 1 } , \sigma _ { 2 } , \cdots , \sigma _ { p } ) , \quad p = \operatorname { min } \{ m , n \}
Σ=diag(σ1,σ2,⋯,σp),p=min{m,n}
其对角线元素非负,且满足
σ
1
≥
σ
2
≥
⋯
≥
σ
p
≥
0
\sigma _ { 1 } \geq \sigma _ { 2 } \geq \cdots \geq \sigma _ { p } \geq 0
σ1≥σ2≥⋯≥σp≥0
2.任意给定一个实矩阵,其奇异值分解一定存在,但并不唯一。
3.奇异值分解包括紧奇异值分解和截断奇异值分解。
- 紧奇异值分解是与原始矩阵等秩的奇异值分解,
- 截断奇异值分解是比原始矩阵低秩的奇异值分解。
4.奇异值分解有明确的几何解释。奇异值分解对应三个连续的线性变换:一个旋转变换,一个缩放变换和另一个旋转变换第一个和第三个旋转变换分别基于空间的标准正交基进行。
5.设矩阵 A A A的奇异值分解为 A = U Σ V T A = U \Sigma V ^ { T } A=UΣVT,则有 A T A = V ( Σ T Σ ) V T A A T = U ( Σ Σ T ) U T \left. \begin{array} { l } { A ^ { T } A = V ( \Sigma ^ { T } \Sigma ) V ^ { T } } \\ { A A ^ { T } = U ( \Sigma \Sigma ^ { T } ) U ^ { T } } \end{array} \right. ATA=V(ΣTΣ)VTAAT=U(ΣΣT)UT
即对称矩阵 A T A A^TA ATA和 A A T AA^T AAT的特征分解可以由矩阵 A A A的奇异值分解矩阵表示。
6.矩阵 A A A的奇异值分解可以通过求矩阵 A T A A^TA ATA的特征值和特征向量得到:
- A T A A^TA ATA的特征向量构成正交矩阵 V V V的列;
- 从
A
T
A
A^TA
ATA的特征值
λ
j
\lambda _ { j }
λj的平方根得到奇异值
σ
\sigma
σ _ { i }
,
即
,即
,即
σ
j
=
λ
j
,
j
=
1
,
2
,
⋯
,
n
\sigma _ { j } = \sqrt { \lambda _ { j } } , \quad j = 1,2 , \cdots , n
σj=λj,j=1,2,⋯,n
对其由大到小排列,作为对角线元素,构成对角矩阵 Σ \Sigma Σ; - 求正奇异值对应的左奇异向量,再求扩充的 A T A^T AT的标准正交基,构成正交矩阵 U U U的列。
7.矩阵 A = [ a i j ] m × n A = [ a _ { i j } ] _ { m \times n } A=[aij]m×n的弗罗贝尼乌斯范数定义为 ∥ A ∥ F = ( ∑ i = 1 m ∑ j = 1 n ( a i j ) 2 ) 1 2 \| A \| _ { F } = ( \sum _ { i = 1 } ^ { m } \sum _ { j = 1 } ^ { n } ( a _ { i j } ) ^ { 2 } ) ^ { \frac { 1 } { 2 } } ∥A∥F=(i=1∑mj=1∑n(aij)2)21
- 在秩不超过 k k k的 m × n m \times n m×n矩阵的集合中,存在矩阵 A A A的弗罗贝尼乌斯范数意义下的最优近似矩阵 X X X。
- 秩为 k k k的截断奇异值分解得到的矩阵 A k A_k Ak能够达到这个最优值。
- 奇异值分解是弗罗贝尼乌斯范数意义下,也就是平方损失意义下的矩阵最优近似。
8.任意一个实矩阵
A
A
A可以由其外积展开式表示
A
=
σ
1
u
1
v
1
T
+
σ
2
u
2
v
2
T
+
⋯
+
σ
n
u
n
v
n
T
A = \sigma _ { 1 } u _ { 1 } v _ { 1 } ^ { T } + \sigma _ { 2 } u _ { 2 } v _ { 2 } ^ { T } + \cdots + \sigma _ { n } u _ { n } v _ { n } ^ { T }
A=σ1u1v1T+σ2u2v2T+⋯+σnunvnT
其中
u
k
v
k
T
u _ { k } v _ { k } ^ { T }
ukvkT为
m
×
n
m \times n
m×n矩阵,是列向量
u
k
u _ { k }
uk和行向量
v
k
T
v _ { k } ^ { T }
vkT的外积,
σ
k
\sigma _ { k }
σk为奇异值,
u
k
,
v
k
T
,
σ
k
u _ { k } , v _ { k } ^ { T } , \sigma _ { k }
uk,vkT,σk通过矩阵
A
A
A的奇异值分解得到。
第16章:主成分分析
1.假设 x x x为 m m m 维随机变量,其均值为 μ \mu μ,协方差矩阵为 Σ \Sigma Σ。
考虑由
m
m
m维随机变量
x
x
x到
m
m
m维随机变量
y
y
y的线性变换
y
i
=
α
i
T
x
=
∑
k
=
1
m
α
k
i
x
k
,
i
=
1
,
2
,
⋯
,
m
y _ { i } = \alpha _ { i } ^ { T } x = \sum _ { k = 1 } ^ { m } \alpha _ { k i } x _ { k } , \quad i = 1,2 , \cdots , m
yi=αiTx=k=1∑mαkixk,i=1,2,⋯,m
其中 α i T = ( α 1 i , α 2 i , ⋯ , α m i ) \alpha _ { i } ^ { T } = ( \alpha _ { 1 i } , \alpha _ { 2 i } , \cdots , \alpha _ { m i } ) αiT=(α1i,α2i,⋯,αmi)。
如果该线性变换满足以下条件,则称之为总体主成分:
(1) α i T α i = 1 , i = 1 , 2 , ⋯ , m \alpha _ { i } ^ { T } \alpha _ { i } = 1 , i = 1,2 , \cdots , m αiTαi=1,i=1,2,⋯,m;
(2) cov ( y i , y j ) = 0 ( i ≠ j ) \operatorname { cov } ( y _ { i } , y _ { j } ) = 0 ( i \neq j ) cov(yi,yj)=0(i=j);
(3)变量 y 1 y_1 y1是 x x x的所有线性变换中方差最大的; y 2 y_2 y2是与 y 1 y_1 y1不相关的 x x x的所有线性变换中方差最大的;一般地, y i y_i yi是与 y 1 , y 2 , ⋯ , y i − 1 , ( i = 1 , 2 , ⋯ , m ) y _ { 1 } , y _ { 2 } , \cdots , y _ { i - 1 } , ( i = 1,2 , \cdots , m ) y1,y2,⋯,yi−1,(i=1,2,⋯,m)都不相关的 x x x的所有线性变换中方差最大的;这时分别称 y 1 , y 2 , ⋯ , y m y _ { 1 } , y _ { 2 } , \cdots , y _ { m } y1,y2,⋯,ym为 x x x的第一主成分、第二主成分、…、第 m m m主成分。
2.假设 x x x是 m m m维随机变量,其协方差矩阵是 Σ \Sigma Σ, Σ \Sigma Σ的特征值分别是 λ 1 ≥ λ 2 ≥ ⋯ ≥ λ m ≥ 0 \lambda _ { 1 } \geq\lambda _ { 2 } \geq \cdots \geq \lambda _ { m } \geq 0 λ1≥λ2≥⋯≥λm≥0,特征值对应的单位特征向量分别是 α 1 , α 2 , ⋯ , α m \alpha _ { 1 } , \alpha _ { 2 } , \cdots , \alpha _ { m } α1,α2,⋯,αm,则 x x x的第2主成分可以写作
y
i
=
α
i
T
x
=
∑
k
=
1
m
α
k
i
x
k
,
i
=
1
,
2
,
⋯
,
m
y _ { i } = \alpha _ { i } ^ { T } x = \sum _ { k = 1 } ^ { m } \alpha _ { k i } x _ { k } , \quad i = 1,2 , \cdots , m
yi=αiTx=k=1∑mαkixk,i=1,2,⋯,m
并且,
x
x
x的第
i
i
i主成分的方差是协方差矩阵
Σ
\Sigma
Σ的第
i
i
i个特征值,即
var
(
y
i
)
=
α
i
T
Σ
α
i
=
λ
i
\operatorname { var } ( y _ { i } ) = \alpha _ { i } ^ { T } \Sigma \alpha _ { i } = \lambda _ { i }
var(yi)=αiTΣαi=λi
3.主成分有以下性质:
主成分 y y y的协方差矩阵是对角矩阵 cov ( y ) = Λ = diag ( λ 1 , λ 2 , ⋯ , λ m ) \operatorname { cov } ( y ) = \Lambda = \operatorname { diag } ( \lambda _ { 1 } , \lambda _ { 2 } , \cdots , \lambda _ { m } ) cov(y)=Λ=diag(λ1,λ2,⋯,λm)
主成分
y
y
y的方差之和等于随机变量
x
x
x的方差之和
∑
i
=
1
m
λ
i
=
∑
i
=
1
m
σ
i
i
\sum _ { i = 1 } ^ { m } \lambda _ { i } = \sum _ { i = 1 } ^ { m } \sigma _ { i i }
i=1∑mλi=i=1∑mσii
其中
σ
i
i
\sigma _ { i i }
σii是
x
2
x_2
x2的方差,即协方差矩阵
Σ
\Sigma
Σ的对角线元素。
主成分
y
k
y_k
yk与变量
x
2
x_2
x2的相关系数
ρ
(
y
k
,
x
i
)
\rho ( y _ { k } , x _ { i } )
ρ(yk,xi)称为因子负荷量(factor loading),它表示第
k
k
k个主成分
y
k
y_k
yk与变量
x
x
x的相关关系,即
y
k
y_k
yk对
x
x
x的贡献程度。
ρ
(
y
k
,
x
i
)
=
λ
k
α
i
k
σ
i
i
,
k
,
i
=
1
,
2
,
⋯
,
m
\rho ( y _ { k } , x _ { i } ) = \frac { \sqrt { \lambda _ { k } } \alpha _ { i k } } { \sqrt { \sigma _ { i i } } } , \quad k , i = 1,2 , \cdots , m
ρ(yk,xi)=σiiλkαik,k,i=1,2,⋯,m
4.样本主成分分析就是基于样本协方差矩阵的主成分分析。
给定样本矩阵
X
=
[
x
1
x
2
⋯
x
n
]
=
[
x
11
x
12
⋯
x
1
n
x
21
x
22
⋯
x
2
n
⋮
⋮
⋮
x
m
1
x
m
2
⋯
x
m
n
]
X = \left[ \begin{array} { l l l l } { x _ { 1 } } & { x _ { 2 } } & { \cdots } & { x _ { n } } \end{array} \right] = \left[ \begin{array} { c c c c } { x _ { 11 } } & { x _ { 12 } } & { \cdots } & { x _ { 1 n } } \\ { x _ { 21 } } & { x _ { 22 } } & { \cdots } & { x _ { 2 n } } \\ { \vdots } & { \vdots } & { } & { \vdots } \\ { x _ { m 1 } } & { x _ { m 2 } } & { \cdots } & { x _ { m n } } \end{array} \right]
X=[x1x2⋯xn]=⎣⎢⎢⎢⎡x11x21⋮xm1x12x22⋮xm2⋯⋯⋯x1nx2n⋮xmn⎦⎥⎥⎥⎤
其中 x j = ( x 1 j , x 2 j , ⋯ , x m j ) T x _ { j } = ( x _ { 1 j } , x _ { 2 j } , \cdots , x _ { m j } ) ^ { T } xj=(x1j,x2j,⋯,xmj)T是 x x x的第 j j j个独立观测样本, j = 1 , 2 , … , n j=1,2,…,n j=1,2,…,n。
X
X
X的样本协方差矩阵
S
=
[
s
i
j
]
m
×
m
,
s
i
j
=
1
n
−
1
∑
k
=
1
n
(
x
i
k
−
x
‾
i
)
(
x
j
k
−
x
‾
j
)
i
=
1
,
2
,
⋯
,
m
,
j
=
1
,
2
,
⋯
,
m
\left. \begin{array} { c } { S = [ s _ { i j } ] _ { m \times m } , \quad s _ { i j } = \frac { 1 } { n - 1 } \sum _ { k = 1 } ^ { n } ( x _ { i k } - \overline { x } _ { i } ) ( x _ { j k } - \overline { x } _ { j } ) } \\ { i = 1,2 , \cdots , m , \quad j = 1,2 , \cdots , m } \end{array} \right.
S=[sij]m×m,sij=n−11∑k=1n(xik−xi)(xjk−xj)i=1,2,⋯,m,j=1,2,⋯,m
给定样本数据矩阵
X
X
X,考虑向量
x
x
x到
y
y
y的线性变换
y
=
A
T
x
y = A ^ { T } x
y=ATx
这里
A
=
[
a
1
a
2
⋯
a
m
]
=
[
a
11
a
12
⋯
a
1
m
a
21
a
22
⋯
a
2
m
⋮
⋮
⋮
a
m
1
a
m
2
⋯
a
m
m
]
A = \left[ \begin{array} { l l l l } { a _ { 1 } } & { a _ { 2 } } & { \cdots } & { a _ { m } } \end{array} \right] = \left[ \begin{array} { c c c c } { a _ { 11 } } & { a _ { 12 } } & { \cdots } & { a _ { 1 m } } \\ { a _ { 21 } } & { a _ { 22 } } & { \cdots } & { a _ { 2 m } } \\ { \vdots } & { \vdots } & { } & { \vdots } \\ { a _ { m 1 } } & { a _ { m 2 } } & { \cdots } & { a _ { m m } } \end{array} \right]
A=[a1a2⋯am]=⎣⎢⎢⎢⎡a11a21⋮am1a12a22⋮am2⋯⋯⋯a1ma2m⋮amm⎦⎥⎥⎥⎤
如果该线性变换满足以下条件,则称之为样本主成分。样本第一主成分 y 1 = a 1 T x y _ { 1 } = a _ { 1 } ^ { T } x y1=a1Tx是在 a 1 T a 1 = 1 a _ { 1 } ^ { T } a _ { 1 } = 1 a1Ta1=1条件下,使得 a 1 T x j ( j = 1 , 2 , ⋯ , n ) a _ { 1 } ^ { T } x _ { j } ( j = 1,2 , \cdots , n ) a1Txj(j=1,2,⋯,n)的样本方差 a 1 T S a 1 a _ { 1 } ^ { T } S a _ { 1 } a1TSa1最大的 x x x的线性变换;
样本第二主成分 y 2 = a 2 T x y _ { 2 } = a _ { 2 } ^ { T } x y2=a2Tx是在 a 2 T a 2 = 1 a _ { 2 } ^ { T } a _ { 2 } = 1 a2Ta2=1和 a 2 T x j a _ { 2 } ^ { T } x _ { j } a2Txj与 a 1 T x j ( j = 1 , 2 , ⋯ , n ) a _ { 1 } ^ { T } x _ { j } ( j = 1,2 , \cdots , n ) a1Txj(j=1,2,⋯,n)的样本协方差 a 1 T S a 2 = 0 a _ { 1 } ^ { T } S a _ { 2 } = 0 a1TSa2=0条件下,使得 a 2 T x j ( j = 1 , 2 , ⋯ , n ) a _ { 2 } ^ { T } x _ { j } ( j = 1,2 , \cdots , n ) a2Txj(j=1,2,⋯,n)的样本方差 a 2 T S a 2 a _ { 2 } ^ { T } S a _ { 2 } a2TSa2最大的 x x x的线性变换;
一般地,样本第 i i i主成分 y i = a i T x y _ { i } = a _ { i } ^ { T } x yi=aiTx是在 a i T a i = 1 a _ { i } ^ { T } a _ { i } = 1 aiTai=1和 a i T x j a _ { i } ^ { T } x _ { j } aiTxj与 a k T x j ( k < i , j = 1 , 2 , ⋯ , n ) a _ { k } ^ { T } x _ { j } ( k < i , j = 1,2 , \cdots , n ) akTxj(k<i,j=1,2,⋯,n)的样本协方差 a k T S a i = 0 a _ { k } ^ { T } S a _ { i } = 0 akTSai=0条件下,使得 a i T x j ( j = 1 , 2 , ⋯ , n ) a _ { i } ^ { T } x _ { j } ( j = 1,2 , \cdots , n ) aiTxj(j=1,2,⋯,n)的样本方差 a k T S a i a _ { k } ^ { T } S a _ { i } akTSai最大的 x x x的线性变换。
5.主成分分析方法主要有两种,可以通过相关矩阵的特征值分解或样本矩阵的奇异值分解进行。
(1)相关矩阵的特征值分解算法。针对
m
×
n
m \times n
m×n样本矩阵
X
X
X,求样本相关矩阵
R
=
1
n
−
1
X
X
T
R = \frac { 1 } { n - 1 } X X ^ { T }
R=n−11XXT
再求样本相关矩阵的
k
k
k个特征值和对应的单位特征向量,构造正交矩阵
V
=
(
v
1
,
v
2
,
⋯
,
v
k
)
V = ( v _ { 1 } , v _ { 2 } , \cdots , v _ { k } )
V=(v1,v2,⋯,vk)
V
V
V的每一列对应一个主成分,得到
k
×
n
k \times n
k×n样本主成分矩阵
Y
=
V
T
X
Y = V ^ { T } X
Y=VTX
(2)矩阵
X
X
X的奇异值分解算法。针对
m
×
n
m \times n
m×n样本矩阵
X
X
X
X
′
=
1
n
−
1
X
T
X ^ { \prime } = \frac { 1 } { \sqrt { n - 1 } } X ^ { T }
X′=n−11XT
对矩阵
X
′
X ^ { \prime }
X′进行截断奇异值分解,保留
k
k
k个奇异值、奇异向量,得到
X
′
=
U
S
V
T
X ^ { \prime } = U S V ^ { T }
X′=USVT
V
V
V的每一列对应一个主成分,得到
k
×
n
k \times n
k×n样本主成分矩阵
Y
Y
Y
Y
=
V
T
X
Y = V ^ { T } X
Y=VTX
第17章:潜在语义分析
1.单词向量空间模型通过单词的向量表示文本的语义内容。以单词-文本矩阵
X
X
X为输入,其中每一行对应一个单词,每一列对应一个文本,每一个元素表示单词在文本中的频数或权值(如TF-IDF)
X
=
[
x
11
x
12
⋯
x
1
n
x
21
x
22
⋯
x
2
n
⋮
⋮
⋮
x
m
1
x
m
2
⋯
x
m
n
]
X = \left[ \begin{array} { c c c c } { x _ { 11 } } & { x _ { 12 } } & { \cdots } & { x _ { 1 n } } \\ { x _ { 21 } } & { x _ { 22 } } & { \cdots } & { x _ { 2 n } } \\ { \vdots } & { \vdots } & { } & { \vdots } \\ { x _ { m 1 } } & { x _ { m 2 } } & { \cdots } & { x _ { m n } } \end{array} \right]
X=⎣⎢⎢⎢⎡x11x21⋮xm1x12x22⋮xm2⋯⋯⋯x1nx2n⋮xmn⎦⎥⎥⎥⎤
单词向量空间模型认为,这个矩阵的每一列向量是单词向量,表示一个文本,两个单词向量的内积或标准化内积表示文本之间的语义相似度。
2.话题向量空间模型通过话题的向量表示文本的语义内容。假设有话题文本矩阵
Y
=
[
y
11
y
12
⋯
y
1
n
y
21
y
22
⋯
y
2
n
⋮
⋮
⋮
y
k
1
y
k
2
⋯
y
k
n
]
Y = \left[ \begin{array} { c c c c } { y _ { 11 } } & { y _ { 12 } } & { \cdots } & { y _ { 1 n } } \\ { y _ { 21 } } & { y _ { 22 } } & { \cdots } & { y _ { 2 n } } \\ { \vdots } & { \vdots } & { } & { \vdots } \\ { y _ { k 1 } } & { y _ { k 2 } } & { \cdots } & { y _ { k n } } \end{array} \right]
Y=⎣⎢⎢⎢⎡y11y21⋮yk1y12y22⋮yk2⋯⋯⋯y1ny2n⋮ykn⎦⎥⎥⎥⎤
其中每一行对应一个话题,每一列对应一个文本每一个元素表示话题在文本中的权值。话题向量空间模型认为,这个矩阵的每一列向量是话题向量,表示一个文本,两个话题向量的内积或标准化内积表示文本之间的语义相似度。假设有单词话题矩阵
T
T
T
T
=
[
t
11
t
12
⋯
t
1
k
t
21
t
22
⋯
t
2
k
⋮
⋮
⋮
t
m
1
t
m
2
⋯
t
m
k
]
T = \left[ \begin{array} { c c c c } { t _ { 11 } } & { t _ { 12 } } & { \cdots } & { t _ { 1 k } } \\ { t _ { 21 } } & { t _ { 22 } } & { \cdots } & { t _ { 2 k } } \\ { \vdots } & { \vdots } & { } & { \vdots } \\ { t _ { m 1 } } & { t _ { m 2 } } & { \cdots } & { t _ { m k } } \end{array} \right]
T=⎣⎢⎢⎢⎡t11t21⋮tm1t12t22⋮tm2⋯⋯⋯t1kt2k⋮tmk⎦⎥⎥⎥⎤
其中每一行对应一个单词,每一列对应一个话题,每一个元素表示单词在话题中的权值。
给定一个单词文本矩阵
X
X
X
X
=
[
x
11
x
12
⋯
x
1
n
x
21
x
22
⋯
x
2
n
⋮
⋮
⋮
x
m
1
x
m
2
⋯
x
m
n
]
X = \left[ \begin{array} { c c c c } { x _ { 11 } } & { x _ { 12 } } & { \cdots } & { x _ { 1 n } } \\ { x _ { 21 } } & { x _ { 22 } } & { \cdots } & { x _ { 2 n } } \\ { \vdots } & { \vdots } & { } & { \vdots } \\ { x _ { m 1 } } & { x _ { m 2 } } & { \cdots } & { x _ { m n } } \end{array} \right]
X=⎣⎢⎢⎢⎡x11x21⋮xm1x12x22⋮xm2⋯⋯⋯x1nx2n⋮xmn⎦⎥⎥⎥⎤
潜在语义分析的目标是,找到合适的单词-话题矩阵
T
T
T与话题文本矩阵
Y
Y
Y,将单词文本矩阵
X
X
X近似的表示为
T
T
T与
Y
Y
Y的乘积形式。
X
≈
T
Y
X \approx T Y
X≈TY
等价地,潜在语义分析将文本在单词向量空间的表示X通过线性变换 T T T转换为话题向量空间中的表示 Y Y Y。
潜在语义分析的关键是对单词-文本矩阵进行以上的矩阵因子分解(话题分析)
3.潜在语义分析的算法是奇异值分解。通过对单词文本矩阵进行截断奇异值分解,得到
X
≈
U
k
Σ
k
V
k
T
=
U
k
(
Σ
k
V
k
T
)
X \approx U _ { k } \Sigma _ { k } V _ { k } ^ { T } = U _ { k } ( \Sigma _ { k } V _ { k } ^ { T } )
X≈UkΣkVkT=Uk(ΣkVkT)
矩阵 U k U_k Uk表示话题空间,矩阵 ( Σ k V k T ) ( \Sigma _ { k } V _ { k } ^ { T } ) (ΣkVkT)是文本在话题空间的表示。
4.非负矩阵分解也可以用于话题分析。非负矩阵分解将非负的单词文本矩阵近似分解成两个非负矩阵
W
W
W和
H
H
H的乘积,得到
X
≈
W
H
X \approx W H
X≈WH
矩阵 W W W表示话题空间,矩阵 H H H是文本在话题空间的表示。
非负矩阵分解可以表为以下的最优化问题:
min
W
,
H
∥
X
−
W
H
∥
2
s.t.
W
,
H
≥
0
\left. \begin{array} { l } { \operatorname { min } _ { W , H } \| X - W H \| ^ { 2 } } \\ { \text { s.t. } W , H \geq 0 } \end{array} \right.
minW,H∥X−WH∥2 s.t. W,H≥0
非负矩阵分解的算法是迭代算法。乘法更新规则的迭代算法,交替地对
W
W
W和
H
H
H进行更新。本质是梯度下降法,通过定义特殊的步长和非负的初始值,保证迭代过程及结果的矩阵
W
W
W和
H
H
H均为非负。
第18章:概率潜在语义分析
1.概率潜在语义分析是利用概率生成模型对文本集合进行话题分析的方法。概率潜在语义分析受潜在语义分析的启发提出两者可以通过矩阵分解关联起来。
给定一个文本集合,通过概率潜在语义分析,可以得到各个文本生成话题的条件概率分布,以及各个话题生成单词的条件概率分布。
概率潜在语义分析的模型有生成模型,以及等价的共现模型。其学习策略是观测数据的极大似然估计,其学习算法是EM算法。
2.生成模型表示文本生成话题,话题生成单词从而得到单词文本共现数据的过程;假设每个文本由一个话题分布决定,每个话题由一个单词分布决定。单词变量
w
w
w与文本变量
d
d
d是观测变量话题变量
z
z
z是隐变量。生成模型的定义如下:
P
(
T
)
=
∏
(
w
,
d
)
P
(
w
,
d
)
n
(
w
,
d
)
P ( T ) = \prod _ { ( w , d ) } P ( w , d ) ^ { n ( w , d ) }
P(T)=(w,d)∏P(w,d)n(w,d)
P
(
w
,
d
)
=
P
(
d
)
P
(
w
∣
d
)
=
P
(
d
)
∑
α
P
(
z
∣
d
)
P
(
w
∣
z
)
P ( w , d ) = P ( d ) P ( w | d ) = P ( d ) \sum _ { \alpha } P ( z | d ) P ( w | z )
P(w,d)=P(d)P(w∣d)=P(d)α∑P(z∣d)P(w∣z)
3.共现模型描述文本单词共现数据拥有的模式。共现模型的定义如下:
P
(
T
)
=
∏
(
w
,
d
)
P
(
w
,
d
)
n
(
w
,
d
)
P ( T ) = \prod _ { ( w , d ) } P ( w , d ) ^ { n ( w , d ) }
P(T)=(w,d)∏P(w,d)n(w,d)
P ( w , d ) = ∑ z ∈ Z P ( z ) P ( w ∣ z ) P ( d ∣ z ) P ( w , d ) = \sum _ { z \in Z } P ( z ) P ( w | z ) P ( d | z ) P(w,d)=z∈Z∑P(z)P(w∣z)P(d∣z)
4.概率潜在语义分析的模型的参数个数是 O ( M ⋅ K + N ⋅ K ) O ( M \cdot K + N \cdot K ) O(M⋅K+N⋅K)。现实中 K ≪ M K \ll M K≪M,所以概率潜在语义分析通过话题对数据进行了更简洁地表示,实现了数据压缩。
5.模型中的概率分布 P ( w ∣ d ) P ( w | d ) P(w∣d)可以由参数空间中的单纯形表示。 M M M维参数空间中,单词单纯形表示所有可能的文本的分布,在其中的话题单纯形表示在 K K K个话题定义下的所有可能的文本的分布。话题单纯形是单词单纯形的子集,表示潜在语义空间。
6.概率潜在语义分析的学习通常采用EM算法通过迭代学习模型的参数, P ( w ∣ z ) P ( w | z ) P(w∣z)和 P ( z ∣ d ) P ( z| d ) P(z∣d),而 P ( d ) P(d) P(d)可直接统计得出。
第19章:马尔可夫链蒙特卡罗法
- 蒙特卡罗法是通过基于概率模型的抽样进行数值近似计算的方法,蒙特卡罗法可以用于概率分布的抽样、概率分布数学期望的估计、定积分的近似计算。
随机抽样是蒙特卡罗法的一种应用,有直接抽样法、接受拒绝抽样法等。接受拒绝法的基本想法是,找一个容易抽样的建议分布,其密度函数的数倍大于等于想要抽样的概率分布的密度函数。按照建议分布随机抽样得到样本,再按要抽样的概率分布与建议分布的倍数的比例随机决定接受或拒绝该样本,循环执行以上过程。
马尔可夫链蒙特卡罗法数学期望估计是蒙特卡罗法的另一种应用,按照概率分布 p ( x ) p(x) p(x)抽取随机变量 x x x的 n n n个独立样本,根据大数定律可知,当样本容量增大时,函数的样本均值以概率1收敛于函数的数学期望
f ^ n → E p ( x ) [ f ( x ) ] , n → ∞ \hat { f } _ { n } \rightarrow E _ { p ( x ) } [ {f ( x )} ] , \quad n \rightarrow \infty f^n→Ep(x)[f(x)],n→∞
计算样本均值$\hat { f } _ { n } , 作 为 数 学 期 望 ,作为数学期望 ,作为数学期望E _ { p ( x ) } [ {f ( x )} ] $的估计值。
- 马尔可夫链是具有马尔可夫性的随机过程
P
(
X
t
∣
X
0
X
1
⋯
X
t
−
1
)
=
P
(
X
t
∣
X
t
−
1
)
,
t
=
1
,
2
,
⋯
P ( X _ { t } | X _ { 0 } X _ { 1 } \cdots X _ { t - 1 } ) = P ( X _ { t } | X _ { t - 1 } ) , \quad t = 1,2 , \cdots
P(Xt∣X0X1⋯Xt−1)=P(Xt∣Xt−1),t=1,2,⋯
通常考虑时间齐次马尔可夫链。有离散状态马尔可夫链和连续状态马尔可夫链,分别由概率转移矩阵 P P P和概率转移核 p ( x , y ) p(x,y) p(x,y)定义。
满足 π = P π \pi = P \pi π=Pπ或 π ( y ) = ∫ p ( x , y ) π ( x ) d x \pi ( y ) = \int p ( x , y ) \pi ( x ) d x π(y)=∫p(x,y)π(x)dx的状态分布称为马尔可夫链的平稳分布。
马尔可夫链有不可约性、非周期性、正常返等性质。一个马尔可夫链若是不可约、非周期、正常返的,则该马尔可夫链满足遍历定理。当时间趋于无穷时,马尔可夫链的状态分布趋近于平稳分布,函数的样本平均依概率收敛于该函数的数学期望。
lim
t
→
∞
P
(
X
t
=
i
∣
X
0
=
j
)
=
π
i
,
i
=
1
,
2
,
⋯
;
j
=
1
,
2
\operatorname { lim } _ { t \rightarrow \infty } P ( X _ { t } = i | X _ { 0 } = j ) = \pi _ { i } , \quad i = 1,2 , \cdots ; \quad j = 1,2
limt→∞P(Xt=i∣X0=j)=πi,i=1,2,⋯;j=1,2
f
^
t
→
E
π
[
f
(
X
)
]
,
t
→
∞
\hat { f } _ { t } \rightarrow E _ { \pi } [ {f ( X )} ] , \quad t \rightarrow \infty
f^t→Eπ[f(X)],t→∞
可逆马尔可夫链是满足遍历定理的充分条件。
- 马尔可夫链蒙特卡罗法是以马尔可夫链为概率模型的蒙特卡罗积分方法,其基本想法如下:
(1)在随机变量 x x x的状态空间 χ \chi χ上构造一个满足遍历定理条件的马尔可夫链,其平稳分布为目标分布 p ( x ) p(x) p(x);
(2)由状态空间的某一点 X 0 X_0 X0出发,用所构造的马尔可夫链进行随机游走,产生样本序列 X 1 , X 2 , ⋯ , X t , ⋯ X _ { 1 } , X _ { 2 } , \cdots , X _ { t } , \cdots X1,X2,⋯,Xt,⋯;
(3)应用马尔可夫链遍历定理,确定正整数
m
m
m和
n
(
m
<
n
)
n(m<n)
n(m<n),得到样本集合
{
x
m
+
1
,
x
m
+
2
,
⋯
,
x
n
}
\{ x _ { m + 1 } , x _ { m + 2 } , \cdots , x _ { n } \}
{xm+1,xm+2,⋯,xn},进行函数
f
(
x
)
f(x)
f(x)的均值(遍历均值)估计:
E
^
f
=
1
n
−
m
∑
i
=
m
+
1
n
f
(
x
i
)
\hat { E } f = \frac { 1 } { n - m } \sum _ { i = m + 1 } ^ { n } {f ( x _ { i } )}
E^f=n−m1i=m+1∑nf(xi)
-
Metropolis-Hastings算法是最基本的马尔可夫链蒙特卡罗法。假设目标是对概率分布 p ( x ) p ( x ) p(x)进行抽样,构造建议分布 q ( x , x ′ ) q ( x , x ^ { \prime } ) q(x,x′),定义接受分布 α ( x , x ′ ) \alpha ( x , x ^ { \prime } ) α(x,x′)进行随机游走,假设当前处于状态 x x x,按照建议分布 q ( x , x ′ ) q ( x , x ^ { \prime } ) q(x,x′)机抽样,按照概率 α ( x , x ′ ) \alpha ( x , x ^ { \prime } ) α(x,x′)接受抽样,转移到状态 x ′ x ^ { \prime } x′,按照概率 1 − α ( x , x ′ ) 1- \alpha ( x , x ^ { \prime } ) 1−α(x,x′)拒绝抽样,停留在状态 x x x,持续以上操作,得到一系列样本。这样的随机游走是根据转移核为 p ( x , x ′ ) = q ( x , x ′ ) α ( x , x ′ ) p ( x , x ^ { \prime } ) = q ( x , x ^ { \prime } ) \alpha ( x , x ^ { \prime } ) p(x,x′)=q(x,x′)α(x,x′)的可逆马尔可夫链(满足遍历定理条件)进行的,其平稳分布就是要抽样的目标分布 p ( x ) p ( x ) p(x)。
-
吉布斯抽样(Gibbs sampling)用于多元联合分布的抽样和估计吉布斯抽样是单分量 Metropolis-Hastings-算法的特殊情况。这时建议分布为满条件概率分布 q ( x , x ′ ) = p ( x j ′ ∣ x − j ) q ( x , x ^ { \prime } ) = p ( x _ { j } ^ { \prime } | x _ { - j } ) q(x,x′)=p(xj′∣x−j)
吉布斯抽样的基本做法是,从联合分布定义满条件概率分布,依次从满条件概率分布进行抽样,得到联合分布的随机样本。假设多元联合概率分布为 p ( x ) = p ( x 1 , x 2 , ⋯ , x k ) p ( x ) = p ( x _ { 1 } , x _ { 2 } , \cdots , x _ { k } ) p(x)=p(x1,x2,⋯,xk),吉布斯抽样从一个初始样本 x ( 0 ) = ( x 1 ( 0 ) , x 2 ( 0 ) , ⋯ , x k ( 0 ) ) T x ^ { ( 0 ) } = ( x _ { 1 } ^ { ( 0 ) } , x _ { 2 } ^ { ( 0 ) } , \cdots , x _ { k } ^ { ( 0 ) } ) ^ { T } x(0)=(x1(0),x2(0),⋯,xk(0))T出发,不断进行迭代,每一次迭代得到联合分布的一个样本 x ( i ) = ( x 1 ( i ) , x 2 ( i ) , ⋯ , x k ( i ) ) T x ^ { ( i ) } = ( x _ { 1 } ^ { ( i ) } , x _ { 2 } ^ { ( i ) } , \cdots , x _ { k } ^ { ( i ) } ) ^ { T } x(i)=(x1(i),x2(i),⋯,xk(i))T,在第 i i i次迭代中,依次对第 j j j个变量按照满条件概率分布随机抽样 p ( x j ∣ x 1 ( i ) , ⋯ , x j − 1 ( i ) , x j + 1 ( i − 1 ) , ⋯ , x k ( i − 1 ) ) , j = 1 , 2 , ⋯ , k p ( x _ { j } | x _ { 1 } ^ { ( i ) } , \cdots , x _ { j - 1 } ^ { ( i ) },x _ { j + 1 } ^ { ( i - 1 ) } , \cdots , x _ { k } ^ { ( i - 1 ) } ) , j = 1,2 , \cdots , k p(xj∣x1(i),⋯,xj−1(i),xj+1(i−1),⋯,xk(i−1)),j=1,2,⋯,k,得到 x j ( i ) x _ { j } ^ { ( i ) } xj(i)最终得到样本序列 { x ( 0 ) , x ( 1 ) , ⋯ , x ( n ) } \{ x ^ { ( 0 ) } , x ^ { ( 1 ) } , \cdots , x ^ { ( n ) } \} {x(0),x(1),⋯,x(n)}。
第20章:潜在狄利克雷分配
1.狄利克雷分布的概率密度函数为
p
(
θ
∣
α
)
=
Γ
(
∑
i
=
1
k
α
i
)
∏
i
=
1
k
Γ
(
α
i
)
∏
i
=
1
k
θ
i
α
i
−
1
p ( \theta | \alpha ) = \frac { \Gamma ( \sum _ { i = 1 } ^ { k } \alpha _ { i } ) } { \prod _ { i = 1 } ^ { k } \Gamma ( \alpha _ { i } ) } \prod _ { i = 1 } ^ { k } \theta _ { i } ^ { \alpha _ { i } - 1 }
p(θ∣α)=∏i=1kΓ(αi)Γ(∑i=1kαi)i=1∏kθiαi−1
其中$\sum _ { i = 1 } ^ { k } \theta _ { i } = 1 , \theta _ { i } \geq 0 , \alpha = ( \alpha _ { 1 } , \alpha _ { 2 } , \cdots , \alpha _ { k } ) , \alpha _ { i } > 0 , i = 1,2 , \cdots , $狄利克雷分布是多项分布的共轭先验。
2.潜在狄利克雷分配2.潜在狄利克雷分配(LDA)是文本集合的生成概率模型。模型假设话题由单词的多项分布表示,文本由话题的多项分布表示,单词分布和话题分布的先验分布都是狄利克雷分布。LDA模型属于概率图模型可以由板块表示法表示LDA模型中,每个话题的单词分布、每个文本的话题分布、文本的每个位置的话题是隐变量,文本的每个位置的单词是观测变量。
3.LDA生成文本集合的生成过程如下:
(1)话题的单词分布:随机生成所有话题的单词分布,话题的单词分布是多项分布,其先验分布是狄利克雷分布。
(2)文本的话题分布:随机生成所有文本的话题分布,文本的话题分布是多项分布,其先验分布是狄利克雷分布。
(3)文本的内容:随机生成所有文本的内容。在每个文本的每个位置,按照文本的话题分布随机生成一个话题,再按照该话题的单词分布随机生成一个单词。
4.LDA模型的学习与推理不能直接求解。通常采用的方法是吉布斯抽样算法和变分EM算法,前者是蒙特卡罗法而后者是近似算法。
5.LDA的收缩的吉布斯抽样算法的基本想法如下。目标是对联合概率分布 p ( w , z , θ , φ ∣ α , β ) p ( w , z , \theta , \varphi | \alpha , \beta ) p(w,z,θ,φ∣α,β)进行估计。通过积分求和将隐变量 θ \theta θ和 φ \varphi φ消掉,得到边缘概率分布 p ( w , z ∣ α , β ) p ( w , z | \alpha , \beta ) p(w,z∣α,β);对概率分布 p ( w ∣ z , α , β ) p ( w | z , \alpha , \beta ) p(w∣z,α,β)进行吉布斯抽样,得到分布 p ( w ∣ z , α , β ) p ( w | z , \alpha , \beta ) p(w∣z,α,β)的随机样本;再利用样本对变量 z z z, θ \theta θ和 φ \varphi φ的概率进行估计,最终得到LDA模型 p ( w , z , θ , φ ∣ α , β ) p ( w , z , \theta , \varphi | \alpha , \beta ) p(w,z,θ,φ∣α,β)的参数估计。具体算法如下对给定的文本单词序列,每个位置上随机指派一个话题,整体构成话题系列。然后循环执行以下操作。对整个文本序列进行扫描,在每一个位置上计算在该位置上的话题的满条件概率分布,然后进行随机抽样,得到该位置的新的话题,指派给这个位置。
6.变分推理的基本想法如下。假设模型是联合概率分布
p
(
x
,
z
)
p ( x , z )
p(x,z),其中
x
x
x是观测变量(数据),
z
z
z是隐变量。目标是学习模型的后验概率分布
p
(
z
∣
x
)
p ( z | x )
p(z∣x)。考虑用变分分布
q
(
z
)
q ( z )
q(z)近似条件概率分布
p
(
z
∣
x
)
p ( z | x )
p(z∣x),用KL散度计算两者的相似性找到与
p
(
z
∣
x
)
p ( z | x )
p(z∣x)在KL散度意义下最近的
q
∗
(
z
)
q ^ { * } ( z )
q∗(z),用这个分布近似
p
(
z
∣
x
)
p ( z | x )
p(z∣x)。假设
q
(
z
)
q ( z )
q(z)中的
z
z
z的所有分量都是互相独立的。利用Jensen不等式,得到KL散度的最小化可以通过证据下界的最大化实现。因此,变分推理变成求解以下证据下界最大化问题:
L
(
q
,
θ
)
=
E
q
[
log
p
(
x
,
z
∣
θ
)
]
−
E
q
[
log
q
(
z
)
]
L ( q , \theta ) = E _ { q } [ \operatorname { log } p ( x , z | \theta ) ] - E _ { q } [ \operatorname { log } q ( z ) ]
L(q,θ)=Eq[logp(x,z∣θ)]−Eq[logq(z)]
7.LDA的变分EM算法如下。针对LDA模型定义变分分布,应用变分EM算法。目标是对证据下界 L ( γ , η , α , φ ) L ( \gamma , \eta , \alpha , \varphi ) L(γ,η,α,φ)进行最大化,其中 α \alpha α和 φ \varphi φ是模型参数, γ \gamma γ和 η \eta η是变分参数。交替迭代E步和M步,直到收敛。
- (1)E步:固定模型参数 α \alpha α, φ \varphi φ,通过关于变分参数 γ \gamma γ, η \eta η的证据下界的最大化,估计变分参数 γ \gamma γ, η \eta η。
- (2)M步:固定变分参数 γ \gamma γ, η \eta η,通过关于模型参数 α \alpha α, φ \varphi φ的证据下界的最大化,估计模型参数 α \alpha α, φ \varphi φ。
第21章:PageRank算法
-
PageRank是互联网网页重要度的计算方法,可以定义推广到任意有向图结点的重要度计算上。其基本思想是在有向图上定义随机游走模型,即一阶马尔可夫链,描述游走者沿着有向图随机访问各个结点的行为,在一定条件下,极限情况访问每个结点的概率收敛到平稳分布,这时各个结点的概率值就是其 PageRank值,表示结点相对重要度。
-
有向图上可以定义随机游走模型,即一阶马尔可夫链,其中结点表示状态,有向边表示状态之间的转移,假设一个结点到连接出的所有结点的转移概率相等。转移概率由转移矩阵 M M M表示
M = [ m i j ] n × n M = [ m _ { i j } ] _ { n \times n } M=[mij]n×n
第 i i i行第 j j j列的元素 m i j m _ { i j } mij表示从结点 j j j跳转到结点 i i i的概率。 -
当含有 n n n个结点的有向图是强连通且非周期性的有向图时,在其基础上定义的随机游走模型,即一阶马尔可夫链具有平稳分布,平稳分布向量 R R R称为这个有向图的 PageRank。若矩阵 M M M是马尔可夫链的转移矩阵,则向量R满足 M R = R MR=R MR=R向量 R R R的各个分量称 PageRank为各个结点的值。
R = [ P R ( v 1 ) P R ( v 2 ) ⋮ P R ( v n ) ] R = \left[ \begin{array} { c } { P R ( v _ { 1 } ) } \\ { P R ( v _ { 2 } ) } \\ { \vdots } \\ { P R ( v _ { n } ) } \end{array} \right] R=⎣⎢⎢⎢⎡PR(v1)PR(v2)⋮PR(vn)⎦⎥⎥⎥⎤
其中 P R ( v i ) , i = 1 , 2 , ⋯ , n P R ( v _ { i } ) , i = 1,2 , \cdots , n PR(vi),i=1,2,⋯,n,表示结点 v i v_i vi的 PageRank值。这是 PageRank的基本定义。 -
PageRank基本定义的条件现实中往往不能满足,对其进行扩展得到 PageRank的一般定义。任意含有 n n n个结点的有向图上,可以定义一个随机游走模型,即一阶马尔可夫链,转移矩阵由两部分的线性组合组成,其中一部分按照转移矩阵 M M M,从一个结点到连接出的所有结点的转移概率相等,另一部分按照完全随机转移矩阵,从任一结点到任一结点的转移概率都是 1 / n 1/n 1/n。这个马尔可夫链存在平稳分布,平稳分布向量R称为这个有 PageRank向图的一般,满足
R = d M R + 1 − d n 1 R = d M R + \frac { 1 - d } { n } 1 R=dMR+n1−d1
其中 d ( 0 ≤ d ≤ 1 ) d ( 0 \leq d \leq 1 ) d(0≤d≤1)是阻尼因子,1是所有分量为1的 n n n维向量。
- PageRank的计算方法包括迭代算法、幂法、代数算法。
幂法将 PageRank的等价式写成
R
=
(
d
M
+
1
−
d
n
E
)
R
=
A
R
R = ( d M + \frac { 1 - d } { n } E ) R = A R
R=(dM+n1−dE)R=AR
其中
d
d
d是阻尼因子,
E
E
E是所有元素为1的
n
n
n阶方阵。
PageRank算法可以看出
R
R
R是一般转移矩阵
A
A
A的主特征向量,即最大的特征值对应的特征向量。
幂法就是一个计算矩阵的主特征值和主特征向量的方法。
步骤是:选择初始向量
x
0
x_0
x0;计算一般转移矩阵
A
A
A;进行迭代并规范化向量
y
t
+
1
=
A
x
t
y _ { t + 1 } = A x _ { t }
yt+1=Axt
x
t
+
1
=
y
t
+
1
∥
y
t
+
1
∥
x _ { t + 1 } = \frac { y _ { t + 1 } } { \| y _ { t + 1 } \| }
xt+1=∥yt+1∥yt+1
直至收敛。
第22章:无监督学习方法总结
第2篇详细介绍了八种常用的统计机器学习方法,即聚类方法(包括层次聚类与k均值聚类)、奇异值分解(SVD)、主成分分析(PCA)、无监督学习方法总结
22.1无监潜在语义分析(LSA)、概率潜在语义分析(PLSA)、马尔可夫链蒙特卡罗法(CMC,包括 Metropolis-Hastings-算法和吉布斯抽样)、潜在狄利克雷分配(LDA)、 PageRank算法。此外,还简单介绍了另外三种常用的统计机器学习方法,即非负矩阵分解(NMF)变分推理、幂法。这些方法通常用于无监督学习的聚类、降维、话题分析以及图分析。
表 无监督学习方法的特点
方法 | 模型 | 策略 | 算法 | |
---|---|---|---|---|
聚类 | 层次聚类 | 聚类树 | 类内样本距离最小 | 启发式算法 |
k均值聚类 | k中心聚类 | 样本与类中心距离最小 | 迭代算法 | |
高斯混合模型 | 高斯混合模型 | 似然函数最大 | EM算法 | |
降维 | PCA | 低维正交空间 | 方差最大 | SVD |
话题分析 | LSA | 矩阵分解模型 | 平方损失最小 | SVD |
NMF | 矩阵分解模型 | 平方损失最小 | 非负矩阵分解 | |
PLSA | PLSA模型 | 似然函数最大 | EM算法 | |
LDA | LDA模型 | 后验概率估计 | 吉布斯抽样,变分推理 | |
图分析 | PageRank | 有向图上的马尔可夫链 | 平稳分布求解 | 幂法 |
表 含有隐变量概率模型的学习方法的特点
算法 | 基本原理 | 收敛性 | 收敛速度 | 实现难易度 | 适合问题 |
---|---|---|---|---|---|
EM算法 | 迭代计算、后验概率估计 | 收敛于局部最优 | 较快 | 容易 | 简单模型 |
变分推理 | 迭代计算、后验概率近似估计 | 收敛于局部最优 | 较慢 | 较复杂 | 复杂模型 |
吉布斯抽样 | 随机抽样、后验概率估计 | 依概率收敛于全局最优 | 较慢 | 容易 | 复杂模型 |
表 矩阵分解的角度看话题模型
方法 | 一般损失函数 B ( D ∥ U V ) B ( D \| U V ) B(D∥UV) | 矩阵 U U U的约束条件 | 矩阵 V V V的约束条件 |
---|---|---|---|
LSA | ∥ D − U V ∥ F 2 \| D - U V \| _ { F } ^ { 2 } ∥D−UV∥F2 | U T U = I U^TU=I UTU=I | V V T = Λ 2 V V ^ { T } = \Lambda ^ { 2 } VVT=Λ2 |
NMF | ∥ D − U V ∥ F 2 \| D - U V \| _ { F } ^ { 2 } ∥D−UV∥F2 | u m k ≥ 0 u _ { m k } \geq 0 umk≥0 | v k n ≥ 0 v _ { k n } \geq 0 vkn≥0 |
PLSA | ∑ m n d m n log d m n ( U V ) m n \sum _ { m n } d _ { m n } \operatorname { log } \frac { d _ { m n } } { ( U V ) _ { m n } } mn∑dmnlog(UV)mndmn | U T 1 = 1 u m k ≥ 0 \left. \begin{array} { l } { U ^ { T } 1 = 1 } \\ { u _ { m k } \geq 0 } \end{array} \right. UT1=1umk≥0 | V T 1 = 1 v k n ≥ 0 \left. \begin{array} { l } { V ^ { T } 1 = 1 } \\ { v _ { k n } \geq 0 } \end{array} \right. VT1=1vkn≥0 |
文章正在更新中~~