第三部分
数据挖掘与机器学习
89
!"#
数据挖掘,又称知识发现(Knowledge Discovery in Database, KDD), 科 ,
括人工智能Artificial Intelligence, AI、机器学习Machine Learning, ML、模式识别Pattern
Recognition统计学数据库可视化等技术,能够从数据源(如数据库文本图片因特网
等)中揭示出隐含的,并有潜在价值的模式或规律的复杂过程
$%"&'#(
91
)!*+",$
第十一章 回归分析
回归分析是一种监督型学习方法,从给定观测数据{x
i
,y
i
}
n
i=1
中,训练出一个回归模f(ω,x)
建立起自变量x R
m
与因变量y R之间潜在的因果关系回归模型在观测数据集上的回归误差可
用于衡量模型对数据拟合的效果:
L(ω)=
1
n
"
i
L(y
i
,f(ω,x
i
)) (11.1)
其中L(y, f(ω,x))表示回归模型f(ω,x)的预测结果与因变量真实值y的偏一般地,偏差越大
则拟合效果越差
为了实现对数据集的最佳拟合,我们通过最小化(规则化的)经验损失函数估计模型参数:
ˆω = arg min
ω
L(ω)+λR(f) (11.2)
其中,第二项是规则化项,λ表示权衡因子,体现模型精度与模型复杂度之间的权衡
如果回归模型是线性的,则称回归分析为线性回归在训练回归模型时,如果使用的损失函数
或规则化项不同,则学习得到的回归模型亦不同,常见的损失函数有:
平方损失:
L(y, ˆy)=(y ˆy)
2
(11.3)
绝对值损失:
L(y, ˆy)=|y ˆy| (11.4)
0 1损失:
L(y, ˆy)=I(y ̸y) (11.5)
合页损失(Hinge Loss):
L(y, ˆy) = max(0, 1 yˆy) (11.6)
伯努利负对数损失(Bernoulli Negative Log-likelihood Loss):
L(y, ˆy) = log(1 + e
yˆy
) (11.7)
对于二元分类,伯努利负对数损失实际上就是0 1损失的一个上界
93
搜索与排名 Searching and Ranking
!"#
如果损失函数是平方损失函数,对经验损失函数做Tikhonov 规则化,也就是R(f)=ω
2
2
对应的回归分析方法称作岭回归 Bridge Regression); 如 果 规 则 化 R(f)=ω
1
,则对应回
归分析方法称为Lasso[49]
11.1 线性回归
1805年,法国数学家Adrien-Marie Legendre发明了最小二乘法Least Squares Method),
一直不为人知1809年,Carl F. Gauss《天论》中对最小二乘法做了介
绍,并于1829年从统计学的角度证明最小二乘法的优越性:最小二乘解在所有无偏估计中方差最小
Gauss-Markov定理)
给定一组数据S = {x
i
,y
i
}
n
i=1
,其中x
i
R
m
y
i
R,假设目标值与输入值之间的关系可以用
下面的等式表示:
y
i
= f(ω,x
i
)+ϵ
i
(11.8)
其中ϵ
i
表示误差项,可以捕获随机噪声假设预测误差项ϵ
i
服从均值为0,方差为σ
2
的正态分布
(高斯分布钟形分布),并且相互独立(i.i.d),
记作ϵ
i
N(0, σ
2
),那么它们的概率密度函数为
p(ϵ
i
)=
1
2πσ
exp
,
ϵ
2
i
2σ
2
-
. (11.9)
根据正态分布的性质可知
p(y
i
|x
i
; θ)=
1
2πσ
exp
,
(y
i
f (ω,x
i
))
2
2σ
2
-
, (11.10)
可简记:y
i
|x
i
; θ N(ω
T
x
i
, σ
2
)
我们使用最大似然估计,最大化对数似然函数
L(θ) = log
9
i
p(y
i
|x
i
; θ),
=
(
i
log
1
2πσ
exp
,
(y
i
f(ω,x
i
))
2
2σ
2
-
,
=
(
i
log
1
2πσ
1
2σ
2
(
i
(y
i
f (ω,x
i
))
2
,
(11.11)
等价于最小化误差平方和:
min
ω
L(θ)=
"
i
#
y
i
f (ω,x
i
)
$
2
,
从理论上证明了最小二乘法合理之处假设回归模型是线性的,则有
min
ω
L(θ)=
"
i
(y
i
ω
T
x
i
)
2
=(y Xω)
T
(y Xω). (11.12)
目标函数是ω的一个凸函数,根据极值必要性条件可知
X
T
Xω = X
T
y.
独立同分布:Independent and Identically Distributedi.i.d
$%"&'#(
94
)!*+",$
11.2. 岭回归
!"#
我们可以证明,最小二乘法恒有且存在唯一解的充要条件是rank(X)=m。此
析解(Closed Form Solution):
ˆω =(X
T
X)
1
X
T
y. (11.13)
根据最小二乘法的解析解,可以得到原始数据的预测值:
ˆy = X ˆω = X(X
T
X)
1
X
T
y = Hy, (11.14)
其中,矩阵H = X(X
T
X)
1
X
T
= XX
仿佛是在给y戴顶帽子,故又名帽子矩阵Hat Matrix)。
X
! (X
T
X)
1
X
T
称作矩阵X伪逆矩阵Pseduo-inverse Matrix)。
最小二乘估计量ˆω对真实参数ω的近似程度,能够反映回归模型的估计效果,通常使用均方误
差(Mean Square Error, MSE)度量二者的近似程度
MSEω)=E(ˆω ω
2
)=E((ˆω ω)
T
ω ω)). (11.15)
可以证明
MSEω)=E(ˆω ω
2
)=σ
2
"
i
1
λ
i
, var(ˆω ω
2
)=2σ
4
"
i
1
λ
2
i
, (11.16)
其中λ
1
λ
2
... λ
m
> 0是正定矩阵X
T
X的特征值如果输入样本矩阵X的列存在复共线
时,X
T
X的最小特征值λ
m
0,从而1/λ
m
→∞,造成均方误差与误差方差增,表明最小二
乘估计是不稳定的
11.2 岭回归
20世纪70年代,统计学家HoerlKennard[50]󰄁出并系统发展岭回归Bridge Regression)方
法,可以显著改善输入样本矩阵(也称设计矩阵Design Matrix)列复共线时最小二乘估计的均
方误差,增强估计的稳定性
原始线性回归模型的参数反映模型的复杂度,通过添加一个
2
正则化项,可以建立下面形式
的优化模型
min
ω
"
i
(y
i
ω
T
x
i
)
2
+ λω
T
ω =(y Xω)
T
(y Xω)+λω
T
ω (11.17)
根据极值必要性条件可以确定解析解形式
ˆω =(X
T
X + λI)
1
X
T
y, (11.18)
利用
2
正则化项训练得到的线性回归模型又称岭回归,正则化因子λ > 0也称Tikhonov
则化常量可以控制X
T
X最小特征值对岭估计量ˆω 的扰动,保证了它的稳定性岭估计ˆω =
(X
T
X + λI)
1
X
T
yλ的函数,在二维坐标平面上以横轴表示λ,纵轴表示岭估,绘制的曲线称
岭迹通过分析岭迹的变化趋势,可以选择出最佳的λ
$%"&'#(
95
)!*+",$
搜索与排名 Searching and Ranking
!"#
11.3 Lasso
在统计数据建模流程中,首先会从高维的自变量(特征)空间中选出一组最能解释因变量的子
集,󰄁高模型的解释能力和预测精度,这个子集选取的过程就是模型选择,也称变量选择或特征选
标准的模型选择问题
min
ω R
m
1
2
y Xω
2
2
+ λω
0
(11.19)
对所有可能的变量(特征)子集做最小二乘估计,属于蛮力搜索(Brute-Force Search), 计 算
度过高研究人员另辟新径,通过其他方法间接求解,如Lasso回归算法,将非凸的
0
范数替换成
凸的
1
范数
min
ω R
m
1
2
y Xω
2
2
+ λω
1
(11.20)
Lasso回归算法与标准模型选择问题在权衡因子λ的选临相题:若的值小,
会有大量无关的变量入选,损害模型的性能;若选择的值偏大,则变量的选取具有倾向性
1996年,Robert Tibshirani [49] 发明了Lasso算法(Least Absolute Shrinkage and Selection Oper-
ator,通稀疏型,线(特性)
的数据2004年,Tibshirani的恩师Bradley Efron [51] 󰄁出最小角回归Least Angle Regression
LAR), Lasso算法的等价性,并建立同Boosting的联系,把Lasso
计算复杂度降低至最小二乘法水平,开辟了稀疏模型选择研究的新方向2007 年,Friedman
[52] 利用逐路径坐标下降法(Pathwise Coordinate Descent)将Lasso问题的求解推向极致
2013年,Bogdan等人[53]󰄁出一种新的变量选择方法称作有序Lasso算法。不
且权衡因子能随模型系数的稀疏度适应地调整,可用于处理大型分类与排序问题它将标准
1
规则化项换成“有序
1
范数”形式:
min
ω R
m
1
2
y Xω
2
2
+ R
λ
(ω) (11.21)
其中规则化项
R
λ
(ω)=
m
"
i=1
λ
i
|ω|
(i)
(11.22)
参数λ
1
··· λ
m
表示权衡因子,|ω|
(i)
表示|ω|中第i个最大的元素,值越大则权衡因子越大(惩罚
力度越强)λ 各个元素相等时,则有序Lasso算法即普通Lasso算法
11.4 最小角回归
11.5 前向逐步回归
11.6 有序回归
$%"&'#(
96
)!*+",$
11.7. 保序回归
!"#
11.7 保序回归
假设集合G是一个有序坐标集
G = {y R
n
| y
1
y
2
... y
n
} (11.23)
给定输入向量x R
n
与输入权值向量ω R
n
,如果向量ˆy G满足单调性,即
ˆy = arg min
y G
"
i
ω
i
(x
i
y
i
)
2
(11.24)
就称它是x保序回归Isotonic Regression)或单调回归Monotone Regression)。
假设符号 " 是集合X上定义的一种序关系f : X -→ RωX上的一种加权模型,保序回归
可以归结为下面形式的二次规划问题
ˆg = arg min
g G
"
xX
ω(x)[f(x) g(x)]
2
(11.25)
其中,
G = {g | g(x) g(y),x " y, x, y X} (11.26)
保序回归是一种加权最小二乘估计方法,可以看做是在内积
(
i
ω
i
(x
i
y
i
) 下,xG 上的投
影。 PAVAPool Adjacent Violators Algorithm[54, 55]迭代算
法,复杂度是O(n)
$%"&'#(
97
)!*+",$
第十二章 分类
给定训练集S = {x
i
,y
i
}
n
i=1
x
i
R
m
是样本特征向量y
i
C = {c
1
,c
2
,...,c
κ
}是样本类
别。 f : R
m
-→ C,准确预测未知样本的类别标记如果类别集
C 只含两个类(κ =2), 二元分类Binary Classification); 如 果 集 合 含 多 种 分
κ > 2), 多元分类Multiclass or Multinomial Classification
。分
训练集上的󰔁种形式的损失函数,搜索最优的模型参数,建立分类模型,从而能够预测未知数据
样本的类别二元分类算法最原始发展也最成熟研究人员已经󰄁出大量性能各异的二元分类模
型(如支持向量机辑回归等)对于多元分类问题,除可以直接应用的决策树经网络与贝
叶斯方法,人们经常使用两种基本策略:OvR One v.s. Rest)与OvO One v.s. One,也All
Pairs
All v.s. All
,将多元分类转化为多个二元分类问题来处理
1. OvR略:对c C训练出一个能够区分类别c与其他类别的二元分类器f
c
。在
模型时,可以将类别c的样本作为正例,其他类别的样本作为负例,使用二元分类算法训练出
对应二元分类器f
c
,则我们可以从训练集中训练得到κ个二元分类器在分类时,我们可以根
据二元分类器在训练集上正确估计对应类别正例样本的比例作为此分类器正确分类的置信度,
并将置信度最高的类别赋给样本:
ˆy = arg max
cC
Pr[f
c
(x)=c].
在计算置信度时,由于潜在的类别不均衡,我们应当使用对应类别样例的数目做相应调整
2. OvO略:C中任意两个类别c
s
c
t
,且c
s
̸= c
t
,训练一个能够两者的二元分类f
st
=
f
ts
。在c
s
类作正例c
t
类作负例,则我们可从训
练集中习得κ(κ 1)/2个二元分类器在分类时,我们可以使用投票方法,各分类器根据预测
值投票给预测类别,并以得票最多的类别作为测试样本的类别:
ˆy = arg max
c
s
C
"
c
t
C
f
st
(x).
多元分类与多标签分类(Multilabel Classification[56]容易混淆,前者输出的是标量,后者输出的是一个向量,因此又称传统的分类
为单标签分类由于分类的模糊性,各个类别之间不可能是完全独立的,每个样本都可能存在多个类标,多标签分类的目标即在于此,它
是一个崭新的研究领域,在多个领域都有应用,与排序问题也有紧密联系
99
搜索与排名 Searching and Ranking
!"#
12.1 KNN算法
K近邻算法(K-Nearest Neighbors), KNN,形式上最简单而理论上最成熟,由Tomas
CoverPeter Hart1967年联合󰄁出[57]。给
KNN算法根据新样本与已标记数据集中各样本之间的距离,搜索距离最近的K个样本,利用多数
表决确定其类别KNN存在三个基本要素:K值的选择距离度量及分类决策准则
KNN要处理大量的近邻搜索问题,也即最近点对问题(Closet Pair Problem)。
方法是线性扫󰄀所有训练数据,排序选择出距离最近的近邻,复杂度达到O(n
2
)。为󰄁
率,使据,数,广使kd
k-dimensional tree)方法[58],可以将复杂度降至O(n log k)
KNN略:Skewed
Distribution
,则可能有部分类别的样本占有绝对优势,根据多数表决确定的新样本类别属于偏
置类别的概率偏大
12.2 贝叶斯分类
贝叶斯分类是一种基于概率的分类算法,广泛应用于机器学习模式识别自然语言处理等问
题。
朴素贝叶斯分类(Na
¨
ıve Bayesian Classification)属于贝叶斯分类中最简单的一种,常用于处
理文本分类问题在󰔁些场景,朴素贝叶斯分类算法足以和决策树神经网络分类算法相媲美,速
度快且精度高,适合处理海量数据的分类问题
素贝算法基本设:预测于所变量,征变
间彼此相互独立给定训练数据集{(x
i
,y
i
)}
n
i=1
,样本的输入特x
i
R
m
,目标类别y
i
存在K种取
C = {c
1
,c
2
,...,c
K
}给定待定类别的数据样本x =(z
1
,z
2
,...,z
m
),朴素贝叶斯算法的基本思想
是确定数据样本x属于各个类别的后验概率p(y = c
k
|x),然后将最大后验概率值所对应的类别作
测试样本x的类别
根据贝叶斯定理,特征变量之间的独立性假设,我们改写后验概率并整理可得:
p(y = c
k
|x)=
p(y = c
k
)p(x|y = c
k
)
p(x)
=
p(y = c
k
)
m
9
j=1
p(z
j
|y = c
k
)
p(x)
. (12.1)
对于同一个测试样本,公式中分母部分对最终结果没有影响,直接免于计算我们由此可以确定如
下形式的朴素贝叶斯分类器:
ˆc = arg max
cC
p(y = c)
m
!
j=1
p(z
j
|y = c) = ar g max
cC
#
log p(y = c)+
m
"
j=1
log p(z
j
|y = c)
$
. (12.2)
相对于正态分布而言,所有分布有偏的都可以称作偏态分布
$%"&'#(
100
)!*+",$
12.3. 标签传递算法
!"#
我们下文使用一个具体实例,介绍朴素贝叶斯在实际场景中的应用:文本语种分类
在朴素贝叶斯分类中,特征属性划分的重要性显而易见对于离散型特征属性,类别条件概
p(z
j
|y = c
k
)可以直接根据训练数据集在各个类别上的分布状况进行统计对于连续型特征属性
可以假设对应特征服从正态分布N(µ
jk
, σ
jk
),并直接使用概率密度函数估计类别条件概率
p(z
j
|y = c
k
)=
1
2πσ
jk
exp
(z
j
µ
jk
)
2
2σ
2
jk
, (12.3)
其中类别均值µ
jk
和类别标准差σ
jk
都是在类别为c
k
的部分训练数据集上估计所得此外,我们也可
以对连续特征属性按值分段,进行离散化处理
如果测试样本在一个类别下的󰔁个特征属性划分不存在,则有p(z|y)=0,对应的类别条件概
p(z|y)=0,这种现象称作零概率问题,会大大降低分类器的准确性研究人员为此对类别条件
概率的计算进行修正,诸多方法中最古老的一种是拉普拉斯平滑Laplace Smoothing亦称“加
一平滑”
p(z
j
|y = c
k
)=
t
jk
+1
n
(
i=1
I(y
i
= c
k
)+|s
j
|
, (12.4)
其中t
jk
表示类别为c
k
的训练数据中第j个特征值为z
j
(或分)目,
|s
j
|表示第j特征的取值数目(离型)或划分区间的数目(连性)此外,在词性注中使用
Good-Turning平滑算法也不错
对于文档分类问题,类别条件概率的计算则根据词频进行计算多项式模型根据下式计算分类
条件概率
p(z
j
|c
k
)=
t
jk
+1
(
z
i
V
T
ik
+ |V |
(12.5)
其中t
jk
表示单词z
j
在类别为c
k
的训练文档集中的词频总数V 表示训练文档集词典,|V |表示词
典大小在伯努利模型(Bernoulli Model)下,文档类别的先验概率p(y = c
k
)定义“训练
集类别为c
k
的文档比例”,而分类条件概率则定义为如下形式的数学公式:
p(z
j
|c
k
)=
t
jk
+1
n
(
i=1
I(y
i
= c
k
)+2
(12.6)
这里,t
jk
表示类别为c
k
的训练文档集含有单词z
j
的文档数目(文档频率)V 表示训练文档集词典
文档每个特征对应一个单词,只有两个值{0, 1},分母部分含有一个值为2的加法项
12.3 标签传递算法
标签传递算法(Label Propagation Algorithm, LPA)是一种经典的半监督分类算法,其核心
思想是构建一个基于标签平滑性假设的图标签传递算法利用相似度刻画数据间疏密关系,假设相
似性高的数据节点标签相似,则可通过图的网络结构将标签信息从带标签的数据节点传递至无标
$%"&'#(
101
)!*+",$
搜索与排名 Searching and Ranking
!"#
签的数据节点由于算法简单易于实现,复杂度低且分类效果显著,已经被广泛应用于图像与文本
分类社区发现等领域
在保证已标注数据标签不变的前󰄁下,每个节点的标签根据相似度传递给相邻节点,根据相邻
节点的标签更新自己的标签,并且节点间相似度越高,则相邻节点对标签的影响权值越大,实现相
似节点的标签趋于一致
假设数据集X = {x
1
,...,x
l
,x
l+1
,...,x
l+u
},其中(x
1
,y
1
),...,(x
l
,y
l
)表示已标记数据Y
L
=
{y
1
,...,y
l
}签;(x
l+1
,y
l+1
),...,(x
l+u
,y
l+u
)表示未标记数据Y
U
= {y
l+1
,...,y
l+u
}是待
标记或待预测的数据标签,x
i
R
d
,i=1, 2,...,l+ u为简单起见,我们取n ! l + u一般地,未
标记数据量远大于带标记数据量,即有l u。此W R
n×n
表示数据节点间的相似性矩
阵,且有w
ii
=0标签传递算法将数据集X中的所有数据作为节点,以数据间的相似性作为边的权
值,我们可以构造出数据集X上的一个带权值的无向图G =(V,E)
12.4 逻辑回归
逻辑回归Logistic Regression又称Logit回归,常用于预测一个事件的几率odds
。逻
辑回归本质上等价于一个简单双层神经网络,输出层使用Sigmoid做激活函数果将逻辑回归
扩展至多元分类,则称作SoftMax 回归;如果扩展到序列数据,它就是条件随机场Conditional
Random Fields, CRF)。 c,负例记作c,逻辑回归模型直接对后
验概率P (Y |X; θ)建模,有如下形式的概率表示:
P (c|x; θ)=
#
1+e
f(x;θ )
$
1
, (12.7)
对应一个Sigmoid函数h(z)=1/[1 + e
z
],单调递增且函数值始终落在(0, 1)区间由于变量Y 只有
两个取值cc,则有
P (c|x; θ)=
#
1+e
f(x;θ)
$
1
. (12.8)
假设c, c R,且c < c,我们可以统一变量Y 的后验概率分布的形式
P (y|x; θ)=P (c|x; θ)
I(y=c)
P (c|x; θ)
I(y=c)
. (12.9)
当我们使用不同编码组合表示两个类别时,相应概率分布的形式也略有不同
c =1c =0时,则P (y|x; θ)=P (c|x; θ)
y
P (c|x; θ)
1y
正是伯努利分布B(P (c|x; θ))
c =1c = 1时,P (y|x; θ)=[1+e
yf(x;θ)
]
1
,模型更为简洁
“几率”,也称“发生比”一个事件的几率是指该事件发生的概率与该事件不发生的概率的比如果事件发生的概率是p,那么该
事件的几率为odds = p/(1 p),该事件的对数几率(log odds)称作logit函数logit(p)=log[p/(1 p)]
伯努利分布,也称两点分布0 1分布,如果变量X服从伯努利分布,如投掷硬币时头像朝上还是图案朝上,变量取值只有两种:0
1,设变量X取值为1的概率是p,则其概率分布为P (X = x)=p
x
(1 p)
1x
$%"&'#(
102
)!*+",$
12.4. 逻辑回归
!"#
假设训练样本彼此相互独立,根据输出变量Y 的条件概率分布,我们可以建立对数似然函数
L(y
1
,...,y
n
|x
1
,...,x
n
; θ) = log
!
i
P (y
i
|x
i
; θ) = log
!
i
P (c|x
i
; θ)
I(y
i
=c)
P (c|x
i
; θ)
I(y
i
=c)
, (12.10)
然后利用最大似然方法估计模型参数为了搜索最优的模型参数,我们先计算对数似然函数的梯度
L =
(
i
#
I(y
i
= c)log P (c|x
i
; θ)+I(y
i
= c)log P (c|x
i
; θ)
$
,
=
(
i
#
I(y
i
= c) P (c|x
i
; θ)
$
f(x
i
; θ).
(12.11)
目前,确定最优模型参数的方法有很多,如梯度法牛顿法拟牛顿法等最方便的是梯度法,直
接根据批量(或随机)梯度上升法更新模型参数,累积所有样本损失执行一次性更新或每次随机选
取单个样本并执行,具体如下:
θ θ +
η
(
i
#
I(y
i
= c) P (c|x
i
; θ)
$
f(x
i
; θ), 批量梯度上升,
η
#
I(y
i
= c) P (c|x
i
; θ)
$
f(x
i
; θ), 随机梯度上升.
(12.12)
为了避免逻辑回归模型出现过拟合,我们可以为对数似然函数L添加一个规则化项,则有
L(y
1
,...,y
n
|x
1
,...,x
n
; θ) = log
!
i
P (c|x
i
; θ)
I(y
i
=c)
P (c|x
i
; θ)
I(y
i
=c)
λR(θ), λ > 0.
如果决策函数是线性模型f(x; θ)=θ
T
x,则有f(x
i
; θ)=x
i
以及
L =
"
i
#
I(y
i
= c) P (c|x
i
; θ)
$
x
i
+ λR(θ).
注解12.1. 我们在应用逻辑回归模型进行二元分类时,当P (y = c|x ; θ) > 0.5时,判定样本x是正例,
反之则判定其为负例由于Sigmoid函数是单调递增,实际计算时只要根据真实决策函数f(x; θ)
符号可对本分类:f(x; θ) > 0时,x属于正例,反之属于负例如此,逻辑回归模型
本质上是一个简单的线性模型对决策函数f(x; θ)Sigmoid变换,其根本目的在于能够在分类时
同时估计分类的可可信信度逻辑回归模型线性或非线性的认定是由决策函数f(x; θ) 的形式所决定
逻辑回归模型可以处理非线性可分问题,主要体现在决策平面f(x; θ)=0的形式上此外,我们可
以证明
log
P (y = c|x; θ)
P (y = c|x; θ)
= f(x; θ).
为了解决实际应用中出现的大量多元分类问题,研究人员将原始逻辑回归模型从二元分类推广
至多元分类问题,并称其SoftMax回归SoftMax回归模型与二元逻辑回归模型相似,在对数据样
本分类的同时还能估计样本在各个类别上的置信度它基于“非相关目标独立性”Independence
of Irrelevant Alternatives, IIA)假定,使用κ 1个二元逻辑回归模型,实现κ类预测如果我们选
择类别c
κ
的预测值作为基准,可产生如下κ 1个独立的二元回归模型:
log
P (c
t
|x; Θ)
P (c
κ
|x; Θ)
= f(x; θ
t
), 1 t κ 1, (12.13)
$%"&'#(
103
)!*+",$
搜索与排名 Searching and Ranking
!"#
从而可使用c
κ
的预测值表示其他类别的预测P (c
t
|x; Θ)=P (c
κ
|x; Θ)e
f(x;θ
t
)
,根据概率分布的基本
性质
(
1tκ
P (c
t
|x; Θ)=1,可推导出后验概率分布
P (c
κ
|x; Θ)=
%
1+
(
1sκ1
e
f(x;θ
s
)
&
1
,
P (c
t
|x; Θ)=e
f(x;θ
t
)
%
1+
(
1sκ1
e
f(x;θ
s
)
&
1
, 1 t κ 1,
(12.14)
其中Θ =(θ
1
,...,θ
κ1
)表示所有决策模型的参数集在训练集上构建对数似然函数
L(y
1
,...,y
n
|x
1
,...,x
n
; Θ) = log
9
i
P (y
i
|x
i
; Θ)=
(
i
log P (y
i
|x
i
; Θ)
=
(
i
log
9
1tκ
P (y
i
|x
i
; Θ)
I(y
i
=c
t
)
=
(
1tκ
(
i
I(y
i
= c
t
) log P (y
i
|x
i
; Θ),
(12.15)
然后使用梯度法牛顿法或L-BFGS法等迭代优化算法,搜索最大化对数似然函数的模型参数
ˆ
Θ
12.5 线性判别分析
线性判别分析Linear Discriminant Analysis, LDA)的思想是搜索恰当的投影方向,使得不
同类别的训练样本数据投影到低维空间后,类别相同的数据保持集中,类别不同的数据尽量分散
线性判别分析的基本思想可追溯到统计学家Ronald Fisher[59],常用于维数约减和分类预测问题
12.5.1. 线性判别分析与二次判别分析
假设训练集含有n个训练数据样本{(x
i
,y
i
)}
n
i=1
样本输入x
i
R
m
类别y
i
C = {c
1
,...,c
K
}
如果按照类别划分训练数据可产生K个子集如果记样本x的条件密度函数为
p
k
(x)=P (X = x|Y = c
k
)
类别先验概率记作
p
k
= P (Y = c
k
)
根据贝叶斯公式则有后验概率
P (Y = c
k
|X = x)=
p
k
(x)p
k
p(x)
.
如果使用后验概率作为判别模型,则可以预测未知输入x的类别
ˆc = arg max
cC
P (Y = c|X = x) = arg max
cC
p
k
(x)p
k
.
假设X|Y = c
k
N(µ
k
, Σ
k
),则有
p
k
(x)=
1
(2π)
m/2
|Σ
k
|
1/2
exp
,
1
2
(x µ
k
)
T
Σ
1
k
(x µ
k
)
-
.
$%"&'#(
104
)!*+",$
12.5. 线性判别分析
!"#
由于条件密度函数含有指数项,我们可以对p
k
(x)p
k
取对数并忽略常数项,则有
f(x; µ
k
, Σ
k
) = log[p
k
(x)p
k
]=
1
2
log |Σ
k
|
1
2
(x µ
k
)
T
Σ
1
k
(x µ
k
) + log p
k
. (12.16)
它是输入x的二次函数,由此称作二次判别函数Quadratic Discriminant Function)。
类别的协方差矩阵相同,即对任意的1 k K,都Σ
k
= Σ。我
1
2
log |Σ|x
T
Σ
1
x,舍弃因子项,从而可以确定一个关于输入x的线性函数
f(x; µ
k
, Σ)=µ
T
k
Σ
1
x
1
2
µ
T
k
Σ
1
µ
k
+ log p
k
.
称作线性判别函数Linear Discriminant Function,参数(µ
k
, Σ)可由最大似然估计方法确定
12.5.2. 费希尔判别分析
从维数越减的角度来看,线性分类模型f(x ; ω,b)=ω
T
x + b是通过将m维输入映射到一维空间,
根据一维空间上的预设阈值判断输入x的类别由于从高维向低维映射多数情况下会造成不同类别
的输入数据在一维空间产生重叠为了降低重叠性,研究人员设计出一个离散度指标
J(ω)=
ω
T
S
B
ω
ω
T
S
W
ω
(12.17)
其中S
W
称作类内离散度矩阵S
B
称作类间离散度矩阵,定义如下
S
W
=
K
(
k=1
p
k
Σ
k
,
S
B
=
K
(
k=1
p
k
(µ
k
µ)(µ
k
µ)
T
.
(12.18)
其中p
k
= n
k
/n表示类别c
k
在所有样本中所占比例µ
k
表示类别为c
k
的所有样本输入均值µ
示所有数据样本的输入特征均值,Σ
k
表示类别为c
k
的所有样本协方差假设I
k
表示训练集中类别
c
k
的所有样本指标集,则有
µ
k
=
(
iI
k
x
i
/|I
k
|,
Σ
k
=
(
iI
k
(x µ
k
)(x µ
k
)
T
,
µ =
n
(
i=1
x
i
/n =
K
(
k=1
|I
k
|µ
k
/n.
(12.19)
为了确保训练数据集在一维空间上“类间离散程度最大,类内离散程度最小”,
指标J(ω),等价于解下面含有约束条件的优化问题
max ω
T
S
B
ω
s.t. ω
T
S
W
ω =1.
(12.20)
根据KKT条件可知
S
B
ω = λS
W
ω, (12.21)
$%"&'#(
105
)!*+",$
搜索与排名 Searching and Ranking
!"#
如果将指标J(ω)分子分母同时乘以λ,则有
J(ω)=
λω
T
S
B
ω
ω
T
λS
W
ω
=
λω
T
S
B
ω
ω
T
S
B
ω
= λ. (12.22)
假设类内离散度矩阵S
W
是可逆的,则有
S
1
W
S
B
ω = λω,
参数λ是矩阵S
1
W
S
B
的特征值,ω是对应特征向量由于S
B
是正定矩阵,可以将其分解成对角形
S
B
= UΛU
T
S
1
2
B
= UΛ
1
2
U
T
,
从而有
S
1
2
B
S
1
W
S
1
2
B
(S
1
2
B
ω)=λ(S
1
2
B
ω)
成立,最大化指标J( ω)等价于解正定矩阵S
1
2
B
S
1
W
S
1
2
B
的最大特征值λ和对应的特征向量S
1
2
B
ω
费希尔线性判别法普遍存在两个基本问题:1)对于小样本数据,类内离散度矩阵通常是不可
逆的;2)秩限制问题,即对于K分类问题最多只能󰄁取K 1个最优判别向量
12.6 纠错输出编码
1995年,Thomas DietterichGhulum Bakiri设计󰄁出一种解决多元分类的集成算法:纠错输
出编码(Error Correcting Output Codes)。
12.7 感知器算法
如果训练集是二元线性可分的C = {1, 1},定义线性分类模型:
f(x) = sgn(ω
T
x + b) (12.23)
理想情况下,对所有的训练样本i =1,...,n,都有等式f(x
i
)=y
i
成立,分类错误率为零
1957年,Frank Rosenblatt [60] 发明了一种在线学习算法:感知器算法(Perceptron Algorith-
m), 可 视 最 简 单 层 馈 式 经 网 模 型 生 错 类 ( i, s.t. f (x
i
) ̸= y
i
)时,即
时对参数做相应调整算法每次迭代都需要遍历整个训练集,直到模型可以将样本完全区分开来
它仅适用于线性可分的数据集,不能处理线性不可分问题
我们根据超平面旋转角的变化,证明感知器算法能够持续改善模型的分类效果,并且在有限步
内就能够达到收敛状态
定理12.1 ([61]). 假设存在ρ > 0(ω
0
,b
0
),满足不等式
y
i
(ω
T
0
x
i
+ b
0
) ρ,i=1,...,n (12.25)
则对任意的收敛率η > 0,算法最多经过(b
2
0
+ 1)(u
2
+ 1)/ρ
2
次迭代收敛其中,u = max
i
x
i
2
$%"&'#(
106
)!*+",$
12.7. 感知器算法
!"#
Algorithm 2 感知器算法
Input: 训练集S = {x
i
,y
i
}
n
i=1
,学习率η
选择初始权重向量ω = 0,阈值(偏置)b =0
repeat
for i =1,...,ndo
1. 计算:f(x
i
) = sgn(ω
T
x
i
+ b)
2. 更新参数:
ω ω +(η/ 2) ( y
i
f (x
i
))x
i
b b +(η/2)(y
i
f (x
i
))
(12.24)
end for
until 对任意的i =1,...,n,都有f(x
i
)=y
i
Output: 分类模型f : x -→ sgn(ω
T
x + b)
证明: 假设当前迭代的参数状态为(ω
t
,b
t
)存在错误分类的样本(x
i
,y
i
),令f
t
(x
i
) = sgn(ω
T
t
x
i
+b
t
)
y
i
f
t
(x
i
)=2y
i
y
i
(ω
T
t
x
i
+ b
t
) < 0,进行参数更新:
ω
t+1
= ω
t
+(η/ 2) ( y
i
f
t
(x
i
))x
i
b
t+1
= b
t
+(η/ 2) ( y
i
f
t
(x
i
))
(12.26)
分析参数更新引发的(ω
t
,b
t
)(ω
0
,b
0
)内积变化:
(ω
t+1
,b
t+1
)
T
(ω
0
,b
0
)=(ω
t
,b
t
)
T
(ω
0
,b
0
)+(η/2) ( y
i
f
t
(x
i
))(x
i
, 1)
T
(ω
0
,b
0
)
=(ω
t
,b
t
)
T
(ω
0
,b
0
)+ηy
i
(x
T
i
ω
0
+ b
0
)
tηρ
(12.27)
以(ω
t
,b
t
)
2
的变化情况:
(ω
t+1
,b
t+1
)
2
2
= (ω
t
,b
t
)+(η/2) ( y
i
f
t
(x
i
))(x
i
, 1)
2
2
= (ω
t
,b
t
)
2
2
+ η
2
(x
i
, 1)
2
2
+2ηy
i
f
t
(x
i
)
≤∥(ω
t
,b
t
)
2
2
+ η
2
(x
i
, 1)
2
2
≤∥(ω
t
,b
t
)
2
2
+ η
2
(u
2
+ 1)
tη
2
(u
2
+ 1)
(12.28)
由此,我们可以跟踪两者之间的夹角变化:
1 cos θ =
(ω
t+1
,b
t+1
)
T
(ω
0
,b
0
)
)
(ω
t+1
,b
t+1
)
2
(b
2
0
+ 1)
ρ
t
)
(u
2
+ 1)(b
2
0
+ 1)
(12.29)
可以证明,感知器算法可持续改善分类效果,它最多迭代(b
2
0
+ 1)(u
2
+ 1)/ρ
2
次到达收敛状态
感知器算法每次迭代至少需要更新一次,涉及到的计算量是O(m),根据最大迭代次数,则感
知器算法的计算复杂度为O((b
2
0
+ 1)(u
2
+ 1)mn/ρ
2
)
$%"&'#(
107
)!*+",$
搜索与排名 Searching and Ranking
!"#
根据感知器的收敛性定理,可知ρ是个关键的量,不仅决定了分类模型对正负例的分隔程度,
还对算法收敛速度产生重要影响
定义12.1 (函数间隔[62, 63]). 假设f : R
m
-→ R是用于分类问题的一个假设,则称
ρ
f
(x, y)=yf(x) (12.30)
是能够对输入特征向量x正确分类的“函函数数间间隔隔”Functional Margin)。
ρ
f
=min
i
ρ
f
(x
i
,y
i
) (12.31)
为整个训练集上的“最最小小间间隔隔”
根据间隔的定义,由于间隔越大则分类假设做出的预测越可信,并且对模型参数训练样本的
微小扰动不敏感,我们因此更期望假设模型产生大间隔 Large Margin,由此可以展开对“大间
隔”范畴的分类模型进行研究
12.8 大间隔分类器
“大间隔”Large Margin)对分类算法设计和理论分析的作用,远比粗糙的训练误差更加
要,已成类问个重 型的法,SVMANNBoosting都与
“间隔”概念存在千丝万缕的联系,从而能够基于“大间隔”对它们进行统一的分析
“大间隔”分类算法就是要寻找能够最大化最小间隔的假设模型,可归结为如下优化问题:
ˆ
f = arg max
fF
ρ
f
= arg max
fF
min
i
y
i
f(x
i
) (12.32)
其中,F表示假设空间
假设模型f是一个标准化的线性模型:
f(x)=
ω
T
x + b
ω
(12.33)
它的最大间隔就是要寻找最优的ω,
ˆ
b)使得
ω,
ˆ
b) = arg max
ω,b
min
i
y
i
(ω
T
x
i
+ b)
ω
(12.34)
仿照下确界(arg inf x = arg max
ρ
min x ρ)的定义,将其转化为等价的约束优化问题:
ω,
ˆ
b, ˆρ)
= arg max
ω,b,ρ
ρ s.t.
y
i
(ω
T
x
i
+b)
ω
ρ,i=1,...,n
= arg max
ω,b,ρ
ρ s.t. ω =1,y
i
(ω
T
x
i
+ b) ρ,i=1,...,n
(12.35)
$%"&'#(
108
)!*+",$
12.8. 大间隔分类器
!"#
对于第一个等式,令ρω =1,则它等价于下面的优化问题:
min
ω ,b
1
2
ω
2
s.t. y
i
(ω
T
x
i
+ b) 1,i=1,...,n
(12.36)
它就是最原始的支持向量机Support Vector Machine, SVM)模,其有效束(Active
Constraints)上的点称作支持向量,支持向量的个数一般很少,因此支持向量机是由少数训练样
本决定的,支持向量与最优超平面的距离称作最大间隔ˆρ =1/ˆω
定理12.2 (最大间隔分离超平面的唯一性). 若训练集线性可分,则能够将训练集中所有样本准确区
分的最大间隔分离超平面存在并且唯一
明: 性:由线分,(12.36) 存在可行解由于目标函数存在下界
最大间隔分离超平面的存在性显然,记作ω,
ˆ
b),并且满足ˆω∦=0性:
ω
1
,
ˆ
b
1
)ω
2
,
ˆ
b
2
),则ˆω
1
= ˆω
2
,则有ˆω
1
= ±ˆω
2
。若ω =(ˆω
1
ω
2
)/2,b =(
ˆ
b
1
+
ˆ
b
2
)/2,显
(ω,b) 是问题的可行解分析ωˆω
1
之间的关系可知
ˆω
1
∥≤∥ω∥≤
1
2
ˆω
1
+
1
2
ˆω
2
= ˆω
1
从而可得ˆω
1
ω
2
。下
ˆ
b
1
=
ˆ
b
2
,设x
+
1
,x
+
2
是两个有效约束正例数据点,x
1
,x
2
是两个有效约
束负例数据点,则有ˆω
T
x
+
i
+
ˆ
b
i
=1, ˆω
T
x
i
+
ˆ
b
i
= 1,i =1, 2,那么
ˆ
b
1
ˆ
b
2
=
1
2
ω
T
(x
+
1
x
+
2
)+
ˆω
T
(x
1
x
2
)]由于
ˆω
T
x
+
1
+
ˆ
b
1
1=ˆω
T
x
+
2
+
ˆ
b
2
ˆω
T
x
+
2
+
ˆ
b
2
1=ˆω
T
x
+
1
+
ˆ
b
1
(12.37)
所以ˆω
T
(x
+
1
x
+
2
)=0同理可以证明ˆω
T
(x
1
x
2
)=0所以
ˆ
b
1
=
ˆ
b
2
,证毕
在实际问题中,由于数据中包含大量的噪声,数据集是不可分的,最大间隔模型可能根本就不
存在为此,研究人员[64, 65] 给每个样本引入一个松弛变量,学习最大软间隔模型:
min
ω,b
1
2
ω
2
+ C
n
(
i=1
ξ
i
s.t. y
i
(ω
T
x
i
+ b) 1 ξ
i
ξ
i
0,i=1,...,n
(12.38)
我们将在下节重点介绍支持向量机模型
$%"&'#(
109
)!*+",$
第十三章 支持向量机
支持向量机Support Vector Machine, SVM[66, 65]是解决非线性分类和回归问题的一
个强有力的工具,它以统计学习理论[67, 68, 69, 70] VC维理论和结构风险最小化为基础,借
Mercer核展理和论,通线性射,把间映个高空间(再
核希尔伯特空间Reproducing Kernel Hilbert SpaceRKHS),
隔的可分离超平面一般地,在高维特征空间上学习会增加模型的复杂度,然而借助于核技巧,可
以避免“维数灾难(Curse of Dimensionality)”
对模型训练的负面影响
SVM根据有限的样本信息在模型的复杂性和学习能力之间寻求平,以期获得最好的泛化能
力(Generalization Ability,可以出色地解决小样本非线性高维度和局部极小点等实际问
题,成为机器学习中的研究热点之一如今,已经在时间序列预测人脸识别手写数字识别
音识别以及网页分类等问题中得到广泛应用
13.1 统计学习理论
统计学习理论Statistical Learning TheorySLT[70]是由前苏联科学家Vladimir Vap-
nikAlexey Chervonenkis
20世纪60年代至90年代期间建立的一套机器学习理论,尝试从统
计的视角解释学习过程统计学习理论主要内容包括下面四个方面:
1 一致性理论:基于经验风险最小化准则,研究统计学习的一致性条件;
2 泛化能力控制理论:基于一致性条件,研究泛化界的问题;
3 非渐进理论:基于泛化界,研究小样本归纳推理准则和收敛速率问题;
4 学习模型构造理论:研究构造具有高泛化能力与强收敛性质的模型或算法
其中,最具有指导意义的是泛化界,与之相关的核心概念是VC
维数灾难最早是由Bellman1961年󰄁出的一个概念,用于󰄀述以下事实:许多在低维空间表现良好算法在高维空间上可能不可行
为了纪念Vladimir VapnikAlexey Chervonenkis两位科学家的杰出贡献,统计学习理论也称“VC理论”按照Michael Jordan 的说
法,机器学习两个热门的研究方向,一个是频率学派的统计学习理论,一个是贝叶斯学派的图模型
111
搜索与排名 Searching and Ranking
!"#
13.2 VC
VC维(Vapnik-Chervonenks Dimension)是统计学习理论的一个核心概念,定义为算法能够
碎化的最大点集或样本数目,用于度量分类模型的容量(Capacity)。 VC维越大,表明模型越复
杂,其容量越大在介绍VC维之前,需要了解一下碎化集Shattered Set)的概念
定义13.1 (碎化集). 给定集合类A和有限集S = {x
1
,...,x
n
},如果对于任意U S,都存在A A
使得A S = U,则称A能够碎碎化化(Shattering)集合S,并且S的幂集可以表示如下:
2
S
= {A S | A A}. (13.1)
根据碎化集的定义,可知A = {(a, b) | a b}能够碎化S = {x
1
,...,x
n
},x
i
R:对于S的任意
子集U = {x
01
,...,x
0m
},假设s
u
=min{x
0j
}
m
j=1
s
v
= max{x
0j
}
m
j=1
,则有A =(s
u
,s
v
) S = U
定义13.2 (生长函数). 对于集合类A,其子集大小可以使用生生长长函函数数(Growth Function,也称“碎
化因子”)来度量每个A 都对应多个生长函数,其中第n个生生长长函函数数可由下式给出:
s(A,n) = max
x
1
,...,x
n
Ξ{A {x
1
,...,x
n
}|A A}, (13.2)
其中Ξ称作“势”Cardinality,也称“基”表示集合中元素的数目由定义,通过变A的集合
元素A确定的(A S) S存在一个上界,即
s(A,n) Ξ(2
S
)=
n
"
i=0
.
n
i
/
=2
n
. (13.3)
定义13.3 (VC). 根据生长函数,集合类AVC维定义如下:
V
A
=sup{n N|s(A,n)=2
n
}. (13.4)
引理13.1 (Sauer引理). 假设集合类AVC维有限,即V
A
< ,则对任意的n N都有
s(A,n)
V
A
(
i=0
*
n
i
+
,
s(A,n) (n + 1)
V
A
.
定义13.4 (分类器的VC). 假设F = {f : R
d
{0, 1}}是二元分类函数集,定义
A = {{x : f(x)=0} × {1} {x : f(x)=1} × {0},f F},
A的容量反映F的多样性F的第n个生长函数定义为s(F,n)=s(A,n),其VC 维为V
F
= V
A
假设样本集合S = {x
1
,x
2
,...,x
n
}的势Ξ(S)=h,如果对所有n个样本按照正例负例进行标
记,则最多有2
h
种可能的标记组合如果对于每种标记组合,总存在分类函数f F能够将正确无
误地区分此组合下的正例和负例,我们就称函数集F 能够碎化样本集SF 能够碎化的样本集的最
$%"&'#(
112
)!*+",$
13.3. 期望风险与经验风险
!"#
13.1: 二维空间线性模型的VC
大“势”就是其VC维度它只要能够碎化一个势等于h的样本集,但无法碎化任意势等于h +1
样本集,那么F 的势就是h
图例13.1左侧三个子图:对给定的三个点的点集,无论正负例如何分布,总存在线性模型可以
将其精确地分开,线性分类模型可以将此点集碎化对于四个点的点集,线性模型无法将右侧子图
中分布的正负例精确分类,可以推断二维空间上的线性模型的VC 维等于3。根
断得同的论:对图中点的集,线模型长函s(F, 3) = 8 = 2
3
,而对于四
个点的点集,生长函数为s(F, 4) = 14 < 2
4
,故V
F
=3
目前尚无计算任意函数集VC维的通用理论,对于一些特殊的函数集,根据定义可以直接确定
它们的VC维。 n维空间上的线性模型的VC维是h = n +1;正弦函数{sin(ωx)} VC
h = 。对VC维不仅与网络结构有关,还受学习算
法的影响,因此其VC维的确定更加困难通过理论或实验计算VC 维是目前统计学习理论有待研
究的一个重要问题
注解13.1. F俨然是S的克星,纵然S有那八十二般变化,F总有能人可以见招拆招,一准将其降住
正所谓,道高一尺魔高一丈S 唯有长叹:既生瑜何生亮,呜呼哀哉F的法术等级(VC维)可以
根据其降服对手的最高等级(势)来确定:降服对手“势力”越强大,则其自身的等级越高
13.3 期望风险与经验风险
假设X是输入向量空间Y 是输出向量空间,乘积空间Z = X × Y 存在󰔁种未知的概率分
P (z)=P (x, y),统计学习的目标是从假设空间F = {f : X Y }中搜索一个最佳函数,使得
望风险(Expected Risk
R
exp
(f)=
>
X×Y
L(f(x),y)p(x, y)dxdy (13.5)
最小,其中L表示损失函数假设
ˆ
f是假设空间中能够对概率分布P (x, y)做最佳逼近的函数,那么
ˆ
f = arg inf
fF
R
exp
(f). (13.6)
$%"&'#(
113
)!*+",$
搜索与排名 Searching and Ranking
!"#
由于概率分布P(x, y)未知,人们只能通过从未知分布中抽取样本集合S = {x
i
,y
i
}
n
i=1
,间接估
计出期望风险,这种风险损失又称为经验风险 Empirical Risk):
R
emp
(f)=
1
n
"
i
L(f(x
i
),y
i
) (13.7)
机器学习模型大多是基于经验风险最小化展开:
ˆ
f = arg inf
fF
R
emp
(f) (13.8)
通常,经验风险最小化的模型可能过于复杂,比如参数过多,从而产生过拟合问题,不利于模
型泛化推广模型过拟合是不稳定性的一种表现,训练数据集上的微小波动可能给最终训练得到的
模型造成根本性的变化研究表明,确保模型的稳定性,则模型的泛化能力与一致性也能得到保
通过为经验风险增加一个正则化项,实际上限制了模型选择的范围,降低模型的复杂度,实现
结构风险最小化的目的正则化一般是在经验风险的基础上添加惩罚项:
min
fF
1
n
"
i
L(f(x
i
),y
i
)+λR(f) (13.9)
其中,R(f)表示正则化项,λ 0表示惩罚系数,反映对复杂模型选择的约束力度
13.4 泛化界
统计学习理论系统地研究了经验风险R
emp
(训练误差)和实R
exp
(期望风险)之间
关系,也即泛化界Generalization Bound,也称“推广性的界”函数集FVC维反映了集合中
函数的复杂程度,使用VC维可以确定函数f 的泛化界假设测试数据与训练数据独立同分布F
是二元分类函数集,我们可以使用VC维预测二元分类模型f F测试误差的概率上界
P
?
R
exp
(f) R
emp
(f)+Φ(n/h)
@
1 η. (13.10)
其中,n是训练样本容量,h表示函数集FVC维,
Φ(n/h)=
'
h[ln(2n/h) + 1] ln(η/4)
n
表示置信范围(或置信误差)0 < η < 1表示置信度
如果训练样本有限VCh越大,则模型越复杂,并且置信范围Φ(n/h)越大,导致期望风险
同经验风险之间的差别越大,从而产生常见的过拟合问题在机器学习过程中,不仅要控制经验风
险,还要VC维度以缩小置信范围,实现期望风险最小化,从而取得良好的泛化能力当无法
计算函数集的VC维时,可以采用交叉验证的方法,将样本集分为训练集和验证集,使用训练集样
本训练模型,用验证集做测试,并选择验证集上误差最小的模型参数作为训练结果
泛化界是基于最坏情况下的结论,多数情况下都是松弛的,并且不同模型泛化界的比较只有属
于同一类函数集时才是有意义的
$%"&'#(
114
)!*+",$
13.5. 结构风险最小化
!"#
13.5 结构风险最小化
传统的机器学习方法,选择以经验风险最小化作为目标,可能在训练集上可以达到100%的准
确率,但是泛化能力却很弱,执行预测时出现很高的误差在选择学习模型与算法的过程是在调整
置信范围,如果模型与训练样本匹配(h/n恰当)则可取得的效型的择根
验做出,过分倚重于“技巧”而缺乏理论指导
略:集,VC 维大小,即置信范
Φ(h/n)的大小顺次排列,构成一个函数子集序列:
F
1
F
2
... F
m
h
1
h
2
... h
m
(13.11)
从函数子集中搜索能够最小化经验风险与置信范围之和的子集,实现最小化期望风险,这种思想称
结构风险最小化Structural Risk Minimization,简称SRM准则
实现SRM准则思路:是计子集经验险,并选择险与
范围之和最小的子集这种思路计算开销巨大,不可取二是设计一种特殊的函数集结构,使得每
个子集都能够取得最小的经验风险(训练误差为0,从中选择置信范围最小的子集支持向量机正
是第二种思想的实现
13.6 支持向量机分类器
对于一个包含n个样本的训练数据集
S = {x
i
,y
i
}
n
i=1
其中,x
i
R
m
是样本特征向量,y
i
{1, 1} 是样本的类标SVM模型就是求解下面的二次规划问
题:
min
ω ,b,ξ
1
2
ω
T
ω + C
n
(
i=1
ξ
i
s.t. y
i
(ω
T
φ(x
i
)+b) 1 ξ
i
ξ
i
0,i=1, 2,...,n
(13.12)
其中,样本x
i
经由φ映射到高维特征空间ω称作超平面法向量b为超平面的截距ξ表示松弛因
子,C>0
1
正则化项(Regularization Term)的惩罚系数
引入拉格朗日乘子向量α, β 0,构造拉格朗日函数
L(ω,b,ξ, α, β)=
1
2
ω
T
ω + C
n
"
i=1
ξ
i
n
"
i=1
α
i
#
y
i
(ω
T
φ(x
i
)+b) 1+ξ
i
$
n
"
i=1
β
i
ξ
i
(13.13)
$%"&'#(
115
)!*+",$
搜索与排名 Searching and Ranking
!"#
若记Θ
d
(α, β)=min
ω ,b,ξ
L(ω,b,ξ, α, β),由于二次规(13.12)具有强对偶性,存在全局最优解一个解
是最优解的充要条件是Karush-Kuhn-Tucker条件成立根据KKT最优解的平稳性条件
L
∂ω
= ω
n
(
i=1
α
i
y
i
φ(x
i
)=0
L
b
=
n
(
i=1
α
i
y
i
=0
L
∂ξ
i
= C α
i
β
i
=0
(13.14)
解得最优解ˆω,
ˆ
b,
ˆ
ξ
ˆω =
n
(
i=1
α
i
y
i
φ(x
i
)
n
(
i=1
α
i
y
i
=0
α
i
+ β
i
= C
(13.15)
将其代入拉格朗日函数,整理后得:
Θ
d
(α, β)=Lω,
ˆ
b,
ˆ
ξ, α, β)=
n
"
i=1
α
i
1
2
n
"
i=1
n
"
j=1
α
i
α
j
y
i
y
j
φ(x
i
)
T
φ(x
j
) (13.16)
β完全无关,根据α
i
+ β
i
= C对偶可行性条件α
i
0, β
i
0,可得下面形式的对偶模型:
max
α
n
(
i=1
α
i
1
2
n
(
i=1
n
(
j=1
α
i
α
j
y
i
y
j
φ(x
i
)
T
φ(x
j
)
s.t.
n
(
i=1
α
i
y
i
=0
0 α
i
C, i =1,...,n
(13.17)
完全消除了松弛变量对模型的影响假设对偶模型的最优解是ˆα,
ˆ
β,根据KKT最优解的松弛互补条
可得
ˆα
i
#
y
i
ω
T
φ(x
i
)+
ˆ
b) 1+
ˆ
ξ
i
$
=0
ˆ
β
i
ˆ
ξ
i
=0
(13.18)
对任意的i =1,...,n成立由于
ˆ
β
i
= C ˆα
i
ˆα
i
=0时,
ˆ
β
i
= C,则
ˆ
ξ
i
=0y
i
ω
T
φ(x
i
)+
ˆ
b) 1
0 < ˆα
i
<C时,
ˆ
β
i
> 0,则
ˆ
ξ
i
=0y
i
ω
T
φ(x
i
)+
ˆ
b)=1
ˆα
i
= C时,
ˆ
β
i
=0,则
ˆ
ξ
i
=1 y
i
ω
T
φ(x
i
)+
ˆ
b) 0y
i
ω
T
φ(x
i
)+
ˆ
b) 1
SVM从训练集中选择一组特征子集,使得对特征子集的划分等价于对整个数据集的划
分, 支持向量Support Vector)。 ˆα
i
=0时,
点, 面;ˆα
i
= C时, 误;
0 < ˆα
i
<C时,y
i
ω
T
φ(x
i
)+
ˆ
b)=1对应的样本数据位于最大间隔边界上,属于支持向量
ˆα利用ˆω =
(
i
α
i
y
i
φ(x
i
) 可以计算最优的法向量ˆα 与截距
ˆ
b根据SVM 模型在训练数据集上训练出
$%"&'#(
116
)!*+",$
13.7. 核方法
!"#
一个最佳超平面分类模型:
f(x) = sgn(ˆω
T
φ(x)+
ˆ
b) = sgn(
"
i
ˆα
i
y
i
φ(x
i
)
T
φ(x)+
ˆ
b) (13.19)
对于部分ˆα
i
= C的样本可能分类错误,可应用于异常点检测问题[71]
最大化分类间隔是控制泛化能力的一个举措,也是SVM的一个核心思想根据统计学习理
[72, 70],在m维空间中,如果所有样本都分布在半径为r的超球内,则满足条件ω ∥≤z的指示函
数集f(ω,b) = sgn(ω
T
x + b)VCh有如下上界:
h min {r
2
z
2
,m}+1 (13.20)
实际上最小化ω
2
的目标体现了最小化VC维上界的SRM准则,有利于选择一个泛化能力强的模
型。
13.7 核方法
1964Aizermann等人 [73]在研究势函数方法时最先使用核方法,1992Vapnik等人 [66]同时
利用核函数与最大间隔超平面,基于结构风险最小化原理󰄁出SVM。核SVM 成功的关键
赋予SVM处理非线性问题的能力在具体问题中,选择合适的核函数仍然存在许多实际困难
定义13.5 (Gram矩阵). 假设K(x, y)X × X上的一个对称函数,对于输入空间X上的一组向
x
1
,...,x
n
,则称矩阵(K(x
i
,x
j
))
n×n
为函数K(x, y)关于向量组x
1
,...,x
n
Gram矩阵
定义13.6 (核函数与核矩阵). 给定输入空间X,对称函数K : X × X -→ R,如果存在一个希尔伯特
特征空间H,及XH的映射
φ : X -→ H (13.21)
使得任意x, y X,都有
K(x, y)=φ(x)
T
φ(y) (13.22)
则称K(x, y)X × X上的一个核核函函数φ(x)为映射函数对于X上的一组向量x
1
,...,x
n
,核函
K
(
x, y
)
关于向量组
x
1
,...,x
n
Gram
矩阵
K =
K
11
K
12
··· K
1n
K
21
K
22
··· K
2n
.
.
.
.
.
.
.
.
.
.
.
.
K
n1
K
n2
··· K
nn
(13.23)
称作核核矩矩阵阵,其中K
ij
= K(x
i
,x
j
)
$%"&'#(
117
)!*+",$
搜索与排名 Searching and Ranking
!"#
对于给定的核函数K(x, y),特征空间H和映射函数φ的选取并不唯一,可以取不同的特征空
间,即便是在同一个特征空间上也可以取不同的映射通过核函数构造映射函数通常比较复杂,研
人员󰄁一个的问题:不用映射φ(x),能否直接判断一个给定的函数K(x, y)是不
是核函数?换而言之,函数K(x, y)满足什么条件时才能成为核函数?
定理13.1 (Mercer条件[74]). 对称函数K : X × X -→ R (或Mercer 核)
关于X上任意一组向量x
1
,...,x
n
Gram矩阵K =[K(x
i
,x
j
)]
n×n
都是半正定Positive Semi-
definitive)矩阵
证明: 必要性:若K(x, y)X × X上的正定核,则存在映射φ : X -→ H使得
K(x, y)=φ(x)
T
φ(y), x, y X,
那么,对于任意一组X上的向量x
1
,...,x
n
,我以根K(x, y)构造对应的Gram
K =[K
ij
]
n×n
=[K(x
i
,x
j
)]
n×n
,对任意的c
i
R,i=1,...,n,都有
"
i,j
c
i
c
j
K(x
i
,x
j
)=
"
i,j
c
i
c
j
φ(x)
T
φ(y)=[
"
i
c
i
φ(x
i
)]
T
[
"
j
c
j
φ(x
j
)] =
"
i
c
i
φ(x
i
)
2
0 (13.24)
表明核矩阵都是半正定矩阵
性: x
i
X, i =1,...,n,函K(x, y)关于x
1
,...,x
n
Gram 矩阵K =
[K(x
i
,x
j
)]
n×n
是半正定矩阵我们使用构造性证明方法通过三个步骤在函数K(x, y)的基础
上构造出一个希尔伯特空间H输入空间X到希尔伯特空间H的一个映射φ
1向量空间:定义映射φ : x -→ K(·,x),则对任意x
i
X, α
i
R,i=1,...,n,可以定义线性组合
f(·)=
n
"
i=1
α
i
K(·,x
i
) (13.25)
构成集合S由于集合S对加法和数乘运算封闭,因此构成向量空间
2内积空间:对S上的任意两个元素
f(·)=
n
"
i=1
α
i
K(·,x
i
),g(·)=
m
"
j=1
β
j
K(·,y
j
)
定义一个二元运算×
f × g =
n
"
i=1
m
"
j=1
α
i
β
j
K(x
i
,y
j
)
可以证明运算×是空间S的内积,满足如下五个性质:
(cf) × g = c( f × g), (13.26)
(f + g) × h = f × h + g × h, (13.27)
f × g = g × f, (13.28)
f × f 0, (13.29)
f × f =0 f =0. (13.30)
$%"&'#(
118
)!*+",$
13.7. 核方法
!"#
根据函数K(x, y)的对称性,容易证明前三个等式由于
f × f =
n
"
i=1
n
"
j=1
α
i
α
j
K(x
i
,x
j
)
根据Gram矩阵的半正定性可知等式右端非负,从而可证f × f 0。对
然,下面证明必要性
由于S是向量空间则对任意的λ R,若f, g S,则f +λg S。根据(f +λg)×(f +λg) 0
展开可以得到一个关于λ 的二次函数
f × f +2λf × g + λ
2
g × g 0
λ的任意性知
(f × g )
2
(f × f)(g × g).
根据运算×的定义,对任意的x X都有
K(·,x) × f =
m
"
i=1
α
i
K(x, x
i
)=f(x),
从而有
f(x)
2
=(K(·,x) × f)
2
[K(·,x) ×K(·,x)](f × f).
如果f × f =0,则对任意x X,都有f(x)=0,那么f =0。由×是向量空间S的内
积,S为一个内积空间为表述方便,我们统一记
f
T
g = f × g =
n
"
i=1
m
"
j=1
α
i
β
j
K(x
i
,y
j
).
3完备的内积空间――希尔伯特空间:根据内积空间S定义的内积运算可以自然地诱导出范数
f =(f
T
f)
1/2
因此内积空间S也是一个赋范空间根据泛函分析理论,对于不完备的内积空间S,一定可以完备
化成为希尔伯特空间(完备的内积空间)H对于给定的函数K(x, y),可以构造从X到某个希尔伯
特空间H的映射φ : x -→ K(·,x),并且满足
K(·,x)
T
f = f(x),K(·,x)
T
K(·,y)=K(x, y)
则根据映射定义可知K(x, y)=φ(x)
T
φ(y),表明K(x, y) X × X上的核函数
定义13.7 (正定核). 如果对称函数K(x, y)关于x
i
X, i =1,...,nGram矩阵是半正定矩阵,则称
它是正定核
推论13.1. 正定核的非负线性组合仍然是正定核
$%"&'#(
119
)!*+",$
搜索与排名 Searching and Ranking
!"#
定义13.8 (再生核希尔伯特空间). 假设H是由函数f : X -→ R构成的希尔伯特空间,如果函
K : X × X -→ R满足再再生生性性,对任意x X都有K(·,x) H,且对任意f H都有
f(x)=K(·,x)
T
f (13.31)
则称KH的再再生生核如果H = span{K(·,x),x X}(或Dirac泛函δ
x
(f)=f(x)连续)
¯
A 表示集
A 的闭包,则称空间H是再再生生核核希希尔尔伯伯特特空空间间(Reproducing Kernel Hilbert Space, RKHS)。
定理13.2 (表示定理). Tikhonov正则化问题
min
fH
1
2
n
"
i=1
L(f(x
i
),y)+
1
2
λf
2
K
(13.32)
的解可以写作
f =
n
"
i=1
α
i
K(·,x
i
) (13.33)
的形式其中,L(·, ·)是损失函数, ·
2
K
是正则化项,同输入空间X × X上的核函数K(·, ·)有关
假设核函数K(x, y)关于{x
1
,x
2
,...,x
n
}生成的核矩阵为K = K
T
,根据表示定理,任选一个向
x
j
,都有
f(x
j
)=
n
"
i=1
α
i
K(x
i
,x
j
)=α
T
K
j
. (13.34)
其中,K
j
表示矩阵K的第j 由内积定义,我们可以推断知
f
2
K
=[
n
"
i=1
α
i
K(·,x
i
)]
T
[
n
"
i=1
α
i
K(·,x
i
)] =
n
"
i=1
n
"
j=1
α
i
α
j
K(x
i
,x
j
)=α
T
Kα. (13.35)
如果假设损失函数L为平方差损失,则原始Tikhonov正则化问题可等价地写作
min
αR
n
1
2
Kα y
2
+
1
2
λα
T
Kα, (13.36)
根据极值必要性条件有解
α =(K + λI)
1
y. (13.37)
只要正则化因子λ选择恰当,就可以保证K + λI的非奇异/正定性当使用线性核K(x, y)=x
T
y时,
K = X
T
X,问题就转化为岭回归问题:
α =(X
T
X + λI)
1
y (13.38)
Tikhonov正则化方法有助于控制模型的平滑性,避免欠拟合与过拟合问题
在机器学习领域,常用的核函数有如下几种:
1 线性核函数(Linear Kernel): K(x, y)=x
T
y
2 多项式核函数(Polynomial Kernel): K(x, y)=(γx
T
y + r)
d
$%"&'#(
120
)!*+",$
13.8. 块算法
!"#
3 高斯径向基函数(Gaussian Radial Basis Function, RBF): K(x, y)=e
−∥xy
2
/2γ
2
4 Sigmoid核函数:K(x, y) = tanh{γx
T
y + r}
根据核函数的性质,我们还可以组合多个核函数构成复杂的核函数
利用标准二次优化技术训练SVM模型有诸多不便,存在模型复杂不易实现核矩阵的存储与
计算开销大训练速度慢等问题为了解决训练速度问题,人们󰄁出很多改进算法,包括块算法
Chunking Algorithm[72]Osuna算法[75]SMO算法[76]SVMLight算法[77, 78]Pegasos
[79] 等。
13.8 块算法
由于支持向量机分类模型只与支持向量有关,同其他所有训练样本都无关,如果仅使用支持向
量作为训练集,可以训练得到一致的分类模型1982年,Vladimir VapnikSamuel Kotz根据这
种思想󰄁出了块算法(Chunking Algorithm[72]块算法将训练数据集分成两部分:工作样本集
与测试样本集,在工作样本集上应用二次规划优化算法,得到由支持向量表示的分类模型,再利用
它从余下所有样本中筛选出违反KKT条件的样本,并入支持向量构成新的工作样本集,然后重新
训练根据这种分解策略,如果样本中支持向量数目很少,工作集样本的数目远小于总样本个数,
则可以节省大量的训练时间在实际应用中,支持向量的数目可能很多,随着迭代的不断推进,工
作样本集的规模将逐渐扩大,增加了训练的负担
13.9 Osuna分解算法
1997年,Edgar Osuna等人[80, 75]󰄁出Osuna分解算法,在每次迭代训练时固定工作样本集
(工作集,Working Set)的规模,将非工作集上违反KKT 条件最严重的样本与工作样本集中的样
本进行等量交换,无论支持向量数目多大,都不会改变工作样本集的规模由于Osuna算法涉及到
一个工作样本换出问题,换出的工作样本可能是一个支持向量,那么此算法的关键就在于选择一种
合适的样本换入换出策略,确保算法能够收敛并且快速地收敛到最优结果
Osuna算法固定工作集的规模,并假设其规模足以包含所有的支持向量(α
i
> 0),
会超出计算机解决子问题的能力范围(内存计算复杂度)它将数据集分解成两部分:工作集B
非工作集N,相应地乘子集也分成两部,保持非工作集对应的乘子不变,在工作集上定义下面形
式的子问题:
max
α
B
Θ(α
B
, α
N
)
s.t.
(
iB
α
i
y
i
+
(
iN
α
i
y
i
=0
0 α
i
C, i B
(13.39)
tanh x =
e
x
e
x
e
x
+e
x
$%"&'#(
121
)!*+",$
搜索与排名 Searching and Ranking
!"#
根据工作集B与非工作集N,原问题的目标函数可以表示成下面的形式:
Θ(α
B
, α
N
)=
#
"
iB
α
i
1
2
"
iB
"
jB
α
i
α
j
y
i
y
j
K
ij
"
iB
"
jN
α
i
α
j
y
i
y
j
K
ij
$
+ (13.40)
#
"
iN
α
i
1
2
"
iN
"
jN
α
i
α
j
y
i
y
j
K
ij
$
. (13.41)
在子问题中α
B
是所有工作集对应乘子构成的列向量,非工作集N上的乘子保持固定为常数,子
问题的目标函数可以将其忽略子问题的规模与非工作集的大小支持向量的数目无关
定理13.3 (Osuna定理). 如果从工作集B中换出一个变量到非工作集N,则原问题的目标函数值不
变,原问题新解也是子问题的可行如果非工作集N中存在一个违反KKT条件的变量,将其换
入到工作集B,则重新优化子问题后,原问题的目标函数值严格递增
明: B中换出的样本为x
v
,则新工作集为B
= B \{v},新的非工作集N
=
N {v},则有
Θ(α
B
, α
N
)
=
(
iB
α
i
1
2
(
iB
(
jB
α
i
α
j
y
i
y
j
K
ij
(
iB
(
jN
α
i
α
j
y
i
y
j
K
ij
+
(
iN
α
i
1
2
(
iN
(
jN
α
i
α
j
y
i
y
j
K
ij
=
(
iB
α
i
1
2
(
iB
(
jB
α
i
α
j
y
i
y
j
K
ij
(
iB
(
jN
α
i
α
j
y
i
y
j
K
ij
+
(
iN
α
i
1
2
(
iN
(
jN
α
i
α
j
y
i
y
j
K
ij
= Θ(α
B
, α
N
)
(13.42)
表明原问题目标函数值不变对于原问题的新解(α
B
, α
N
),满足子问题的等式约束
"
iB
α
i
y
i
+
"
iN
α
i
y
i
=
"
iB
α
i
y
i
+
"
iN
α
i
y
i
=0 (13.43)
且满足子问题的不等式约束,则新解α
B
也是子问题的可行解对于反向操作,我们可以得到相同
的结论
对于非工作集N,如果存在违反KKT条件的样本x
u
,则它必然满足如下某个条件:
α
u
=0, y
u
[ω
T
u
φ(x
u
)+b] < 1
0 < α
u
<C, y
u
[ω
T
u
φ(x
u
)+b] ̸=1
α
u
= C, y
u
[ω
T
u
φ(x
u
)+b] > 1
(13.44)
将其换入到工作集B,显然不会改变原问题的目标函数值,并且原问题的新解对于新的子问题可
对于工作集B
上新的子问题
max
α
B
Θ(α
B
, α
N
)
s.t.
(
iB
α
i
y
i
+
(
iN
α
i
y
i
=0
0 α
i
C, i B
(13.45)
$%"&'#(
122
)!*+",$
13.10. 序列最小优化算法
!"#
经过优化求解以后,必然有
Θ(α
B
, α
N
)=Θ(α
B
, α
N
) max
α
B
Θ(α
B
, α
N
) (13.46)
能够逐步改善原问题的目标函数值
Osuna算法将原问题分解为一系列子问题,通过求解所有子问题实现求解原问题的目的,它包
括三个基本步骤:
从数据集中任意固定数目的样本构成工作集B
优化求解定义在工作集B上的子问题
对于非工作集,如果存在违反KKT条件的样本x
j
,从工作B中任选一个样本x
i
与之交换,并
优化求解新工作集B
= B \{x
i
} {x
j
} 上的子问题
由于原问题与子问题都具有凸可行域,并且目标函数为凸二次函数,则目标函数有界
Osuna算法一定可以在有限次迭代后收敛到全局最优解Osuna算法与块算法的主要区别在于目标
函数的构成Osuna算法包含全部训练本(工作与非工作集)标函数在保持上次迭代结果
的基础上,优化新工作集上定义的子问题块算法每次迭代直接设定工作集以外的拉格朗日乘子为
零,收敛效率低且目标函数值并非最优
13.10 序列最小优化算法
1998年, John Platt[76]󰄁出著名的序列最小优化算法Sequential Minimal
Optimization,简称SMO), 线 SVM模型,易于实现和扩展,尤其适合处理大型
稀疏数据SMO算法吸收Osuna算法的分治思想将二次规划问题分解成一系列存在解析解的最
小子问题,通过子问题实现求解原始凸优化问题2001年,Chih-Jen Lin[81]给出SMO算法严格的
收敛性证明
如果我们将正定核K(x, y)引入到模型(13.17),可以得到下面形式的凸优化问题:
max
α
Θ(α)=
n
(
i=1
α
i
1
2
n
(
i=1
n
(
j=1
α
i
α
j
y
i
y
j
K
ij
s.t.
n
(
i=1
α
i
y
i
=0
0 α
i
C, i =1,...,n
(13.47)
每个拉格朗日乘子都对应一个训练样本,模型中的不等式约束条件构成典型的凸包SMO算法
Osuna算法类似,将原始数据集分解成两部分:工作集与非工作集,并且固定工作集的规模至最
当工作集降至只有一个变量时,根据等式约束条件,工作集对应的乘子变量直接固定,无法实
现优化子问题目标函数的目的SMO算法将工作集固定为两个变量(|B| =2,根据等式约束与变
量界的不等式约束,可以直接通过解析式优化子问题的目标函数
$%"&'#(
123
)!*+",$
搜索与排名 Searching and Ranking
!"#
13.10.1. 解析方法:优化拉格朗日乘子对
假定当前满足全部约束条件的拉格朗日乘子向量α
t
,根据Osuna法(或坐标上升法)的
想,我们选定工作集为B = {i, j}。不i<j,则非工作集N = {1, 2,...,i 1,i+
1,...,j1,j+1,...,n}在下次迭代时,SMO算法保持非工作集当前状态不变,则目标函数变成
一个形式简单的二元二次函数:
Θ(α)=Θ(α
t
1
,...,α
t
i1
, α
i
, α
t
i+1
,...,α
t
j1
, α
j
, α
t
j+1
,...,α
t
n
)
= α
i
#
1 y
i
(
kN
α
t
k
y
k
K
ik
$
+ α
j
#
1 y
j
(
kN
α
t
k
y
k
K
jk
$
α
i
α
j
y
i
y
j
K
ij
1
2
α
2
i
K
ii
1
2
α
2
j
K
jj
+ Θ
N
(13.48)
其中Θ
N
是只与非工作集N有关,但与α
i
, α
j
无关的常量根据问题的约束条件,可行域被限定在矩
形区域[0,C] × [0,C] 内的线段上
α
i
y
i
+ α
j
y
j
=
"
kN
α
t
k
y
k
= α
t
i
y
i
+ α
t
j
y
j
(13.49)
等式两端同时乘以y
j
可得
α
j
= α
t
j
+ y
i
y
j
(α
t
i
α
i
). (13.50)
我们由此将原始的二元目标函数化为一元二次函数,从而获取解析形式的最优解根据工作集中两
个变量的线性关系,以及变量的边界条件
0 α
i
C
0 α
j
C
(13.51)
可以确定变量α
j
的范围[L, H]
y
i
y
j
=1时,α
j
= α
t
j
+ α
t
i
α
i
,则有
L = max{0, α
t
i
+ α
t
j
C},H=min{C, α
t
i
+ α
t
j
} (13.52)
y
i
y
j
= 1时,α
j
= α
t
j
α
t
i
+ α
i
,则有
L = max{0, α
t
j
α
t
i
},H=min{C, α
t
j
α
t
i
+ C} (13.53)
对于单变量函数,根据极值必要性条件,令一阶导函数
j
Θ(α)=0,可以算得Θ(α)的无约束最优
ˆα
j
= α
t
j
+
y
j
(e
i
e
j
)
K
ii
+ K
jj
2K
ij
. (13.54)
它由两部分构成,第一部分为上次迭代结果,第二部分
j
=
y
j
(e
i
e
j
)
K
ii
+ K
jj
2K
ij
(13.55)
$%"&'#(
124
)!*+",$
13.10. 序列最小优化算法
!"#
可以视为变量α
j
更新的步长,其中
e
k
=
#
n
"
l=1
y
l
α
t
l
K
kl
+ b
$
y
k
,k= i, j (13.56)
表示模型的预测误差从目标函数的凹凸性来看,一般地都有
2
jj
Θ(α)=2K
ij
K
ii
K
jj
= −∥φ(x
i
) φ(x
j
)
2
< 0, (13.57)
表明目标函数在(−∞, ˆα
j
)范围单调递增,在α
j
, )范围单调递减由于可行域在[L, H],则ˆα
j
未必
是可行解为确保目标函数的最优解可行,我们在边界LH处作如下处理
α
t+1
j
=
H, ˆα
j
>H
ˆα
j
,L ˆα
j
H
L, ˆα
j
<L
(13.58)
根据α
i
α
j
的关系可以根据下式更新α
t
i
α
t+1
i
= α
t
i
+ y
i
y
j
(α
t
j
α
t+1
j
). (13.59)
如果如果核函数不满足Mercer条件,则可能导致η
ij
=2K
ij
K
ii
K
jj
> 0如果数据集中存
在多个相同的输入样本,可能出现η
ij
=0。当η
ij
0 时,可行线个验证,
够给目标函数带来最大󰄁升的位置
如果ˆα
j
是可行解,那么可以保证目标函数在更新后有所改善如果ˆα
j
不可行,根据边界确定
的可行解可能无法保证目标函数的改善,若没有改善,则恢复到上次迭代的结果,重新选择新的工
作集,确保目标函数随迭代次数的增加单调递增
13.10.2. 启发式方法:选取拉格朗日乘子对
根据Osuna定理[75]SMO算法只要在每一步迭代都能够选择优化两个工作样本,在优化前工
作集至少包含一个违反KKT条件的样本,就可以保证目标函数稳步󰄁升算法的收敛性也可以得
到保证为了󰄁高收敛的速度,SMO算法使用启发式的方式选择并联合优化两个工作样本α
i
α
j
遍历整个样本空间,选出在一定阈值范围ϵ > 0内违反KKT条件的样本作为第一个工作样本α
i
;遍
历所有的非边界数据集,选择出最大化更新步长的样本作为第二个工作样本α
j
(如果非数据
集为空,则随机选择一个不同于α
i
的工作样本)选择α
i
的工作计算密集,主要开销集中在对样本,
尤其是非边界样本上的KKT 条件检验
KKT条件是凸优化问题收敛的充要条件,当所有样本都满足KKT条件时,就说明算法已经收
敛,从而可以止迭在具实现时,KKT 条件的检验都存在一定范围的误ϵ > 0,只要样
本在阈值范围内满足KKT条件,都认定是样本满足KKT条件此外,我们通过分析原问题与对偶
问题的对偶间隙,可以发现KKT条件的判定法则与最小化对偶间隙优化目标的一致性
$%"&'#(
125
)!*+",$
搜索与排名 Searching and Ranking
!"#
假设原问题的最优目标函数值为p,对偶问题的最优目标函数值为d,人们称两者之间的差为对
偶间隙
δ = p d
=
*
1
2
ω
T
ω + C
n
(
i=1
ξ
i
+
*
n
(
i=1
α
i
1
2
n
(
i=1
n
(
j=1
α
i
α
j
y
i
y
j
K
ij
+
=
n
(
i=1
n
(
j=1
α
i
α
j
y
i
y
j
K
ij
n
(
i=1
α
i
+ C
n
(
i=1
ξ
i
(13.60)
对于任意一个样本x
i
,我们从对偶间隙中分解出它的贡献
δ
i
= α
i
y
i
n
"
j=1
α
j
y
j
K
ij
α
i
+ Cξ
i
= α
i
(y
i
g
i
1 y
i
b)+Cξ
i
(13.61)
其中,g
i
=
n
(
j=1
α
j
y
j
K
ij
+ b根据KKT条件可知:
α
i
=0时,y
i
g
i
1ξ
i
=0), 则 δ
i
=0
0 < α
i
<C时,y
i
g
i
=1ξ
i
=0), δ
i
= α
i
(y
i
g
i
1 y
i
b)=α
i
by
i
α
i
= C时,y
i
g
i
1ξ
i
=1 y
i
g
i
0), δ
i
= bCy
i
其中0 < α
i
<C对应的样本称作非边界数据点(Non-bound,如果样本x
i
违反了KKT条件:
α
i
=0时,y
i
g
i
< 1ξ
i
> 0), δ
i
= Cξ
i
> 0
0 < α
i
<C时,y
i
g
i
> 1ξ
i
=0), δ
i
= α
i
(y
i
g
i
1 y
i
b) > α
i
by
i
0 < α
i
<C时,y
i
g
i
< 1ξ
i
=1 y
i
g
i
> 0), δ
i
=(C α
i
)(1 y
i
g
i
) α
i
by
i
> α
i
by
i
α
i
= C时,y
i
g
i
> 1ξ
i
=0), 则 δ
i
= bCy
i
+ C(y
i
g
i
1) > bCy
i
数据集中违反KKT条件的样本,会增大对偶间隙,进而影响到优化算法的收敛速度在所有的数据
样本中,非边界数据点违反KKT条件的可能性最大,为此SMO算法从第二次迭代开始,在选择第
一个工作样本时,首先检测非边界数据集是否满足收敛条件如果所有非边界数据均满足KKT
件,则算法再检测整个数据集以确保所有样本均满足收敛条件
SMO算法使用启发式的方法选择第一个优化变量α
i
后,α
j
时,
标准是希望α
j
发生足够大的变化根据(13.55)可知:
α
j
= arg max
k̸=i
|
k
| = arg max
k̸=i
|e
i
e
k
|
|η
ik
|
(13.62)
由于|η
ik
|牵涉到核矩阵的计算,时间开销较大,为此我们近似地选择优化|e
i
e
k
|,即
α
j
= arg max
k̸=i
|e
i
e
k
| (13.63)
$%"&'#(
126
)!*+",$
13.10. 序列最小优化算法
!"#
13.10.3. 确定截距
每次迭代都要重新计算截距b,保证x
i
,x
j
满足KKT条件α
t+1
i
在界内,即0 < α
t+1
i
<C时,
则根据KKT条件应当有y
i
g
t+1
i
=1两边同时乘以y
i
,整理可得:
y
i
= g
t+1
i
=
n
(
k=1
α
t+1
k
y
k
K
ik
+ b
t+1
= α
t+1
i
y
i
K
ii
+ α
t+1
j
y
j
K
ij
+
(
kN
α
t
k
y
k
K
ik
+ b
t+1
(13.64)
经过t次迭代后,模型在x
i
上的预测误差为
e
t
i
= g
t
i
y
i
= α
t
i
y
i
K
ii
+ α
t
j
y
j
K
ij
+
"
kN
α
t
k
y
k
K
ik
+ b
t
y
i
(13.65)
从而可以确立截距的更新规则:
b
t+1
= b
t
e
t
i
(α
t+1
i
α
t
i
)y
i
K
ii
(α
t+1
j
α
t
j
)y
j
K
ij
(13.66)
类似地,对于处于界内的α
t+1
j
同样有
b
t+1
= b
t
e
t
j
(α
t+1
i
α
t
i
)y
i
K
ij
(α
t+1
j
α
t
j
)y
j
K
jj
(13.67)
α
t+1
i
, α
t+1
j
同时处于界内时,以上两个结果相同当二者均不在界内时,取两种结果的均值
13.10.4. 算法加速
在更新截距时,需要预测误差,我们对所有非边界数据的预测误差建立缓存,以实现增量更新
的目的:
e
t+1
k
e
t
k
=
n
(
s=1
(α
t+1
s
α
t
s
)y
s
K
ks
+(b
t+1
b
t
=(α
t+1
i
α
t
i
)y
i
K
ki
+(α
t+1
j
α
t
j
)y
j
K
kj
+(b
t+1
b
t
)
(13.68)
当核函数为线性核时,K
ij
= x
T
i
x
j
,我们可以利用下式直接更新法向量ω
ω
t+1
= ω
t
+(α
t+1
i
α
t
i
)y
i
x
i
+(α
t+1
j
α
t
j
)y
j
x
j
(13.69)
直接用于预测未知样本的类别,无需遍历整个样本空间作内积运算
13.10.5. 终止条件
SMO算法终止条件可以是当所有训练样本均满足KKT条件,或者目标函数率小于󰔁个阈值ϵ
Θ(α
t+1
) Θ(α
t
)
Θ(α
t
)
< ϵ (13.70)
$%"&'#(
127
)!*+",$
搜索与排名 Searching and Ranking
!"#
13.11 SVMLight
1999年,Thorsten Joachims[77, 78]改进Osuna算法,󰄁出SVMLight算法SVMLight算法将
训练样本分解成工作样本集B与非工作样本集N,并固定B的规模为一个偶数在每次迭代中,首
先确定B,并求解关于B的二次规划问题,并保持N中的拉格朗日乘子固定每次优化完成后,使
N中违反KKT条件的样本替换B 中的样本
SVMLight算法对Osuna算法的改进主要反映在以下点:1)使用最速可行下降法选择工
B2)󰄁出一种Shrinking启发式方法,估计出有界支持向量和非支持向量,有效降低二次规划
问题的规模
13.12 LibSVM
SMO算法将工作样本集的规模将至两个,一个直接后果就是迭代次数的增加此外
SMO 使 (拉 对) 2005
年, Rong-En Fan 等人[82]SVMLight算法的工作集选择策略应用到SMO算法
中,Shrinking方法缩小工作集的搜索范围,󰄁高搜索速度基于改建算法,他们开发
LibSVM[83, 84]已经成为一个重要的研究工具
13.13 Pegasos
2007年,Shai Shalev-Shwartz等人[79, 85]线法:Pegasos,全名Primal
Estimated sub-GrAdient SOlver for SVM,使用迭代的方求解线性持向量机中的化问
Pegasos算法继承了在线学习算法的简洁与高效,最主要的是它可以保证收敛到最优解
Pegasos改进了随机梯度算法,使用固定大小的工作集近似计算梯度值在具体介绍算法之前,
我们首先证明一个命题
定理13.4 ([86]). 训练无偏置线性支持向量机模型,需要求解下面形式的优化问题
min
ω , ξ
1
2
ω
2
2
+ C
n
(
i=1
ξ
i
s.t. y
i
ω
T
x
i
1 ξ
i
ξ
i
0,i=1, 2,...,n
(13.71)
与下面形式的无约束优化问题等价:
min
ω
L(S; ω)=
1
n
n
"
i=1
(y
i
, ω
T
x
i
)+
λ
2
ω
2
2
(13.72)
其中,L(S; ω)表示模型在数据集S上的经验损失,(y, ˆy) = max(0, 1 yˆy)为合页损失函数
$%"&'#(
128
)!*+",$
13.13. Pegasos
!"#
明: 于集U = {(x
i
,y
i
) | 1 y
i
ω
T
x
i
= ξ
i
0,i =1,...,n},均满足问题(13.71)中的约束条
由于
(y
i
, ω
T
x
i
) = max{0, 1 y
i
ω
T
x
i
} = ξ
i
0 (13.73)
最优化问题(13.72)可以写作:
min
ω , ξ
1
n
n
"
i=1
ξ
i
+
λ
2
ω
2
2
(13.74)
λ =1/(nC),则与问题(13.71)等价类似地,可以将最优化问题(13.71)写成问题(13.72)
Algorithm 3 Pegasos算法
Input: 训练集S,迭代次数T,因子λ,子集大小m
选择初始权重向量ω
1
B = {ω | ω∥≤1/
λ}
for t =1,...,T do
1. 随机抽样:S
t
S|S
t
| = m
2. 样本过滤:S
+
t
= {(x, y) S
t
| yω
T
x<1}
3. 更新学习率:η
t
=(tλ)
1
4. 梯度下降更新:ˆω
t
=(1 1/t)ω
t
+ η
t
(
(x,y)S
+
t
(xy)/m
5. 超球面映射:ω
t+1
=min
,
1, 1/[
λˆω
t
]
-
ˆω
t
end for
Output: 模型f(ω
T
,x)
Pecasos算法在训练过程中,仅使用大小为m的部分数据集S
t
,在此数据集上的经验损失:
L(ω,S
t
)=
1
m
"
(x,y)S
t
(y, ω
T
x)+
λ
2
ω
2
2
(13.75)
由于损失函数是合页损失,那么第一项只有部分是有效的,取出其中损失大于零的样本构成
S
+
t
,经验损失函数可重新写作:
L(ω,S
t
)=
1
m
"
(x,y)S
+
t
(1 yω
T
x)+
λ
2
ω
2
2
(13.76)
根据梯度下降法,利用其梯度
t
=
1
m
"
(x,y)S
+
t
(xy)+λω
t
(13.77)
对于最小化问题,可以使用下面的规则更新模型参数:
ˆω
t
= ω
t
η
t
t
(13.78)
$%"&'#(
129
)!*+",$
搜索与排名 Searching and Ranking
!"#
整理得:
ˆω
t
=(1 η
t
λ)ω
t
+
η
t
m
"
(x,y)S
+
t
(xy) (13.79)
Pegasos算法选择半径为r球面作为对参的:优(13.72)的最优
解在集合内Pegasos算法的时间复杂度与数据集大小无关,适合用于大数据处理实验表明
Pegasos算法远优于JoachimsSVM
Perf
算法[87]
13.14 邻近支持向量机
2001年,Glen FungOliv Mangasarian[88]󰄁出一种新的简单分类器,称作邻近支持向量机
Proximal Support Vector MachinePSVM)。
畴,它利用训练数据集构造出的两个尽可能分离的平行邻近超平面,作为数据分类的标准:将数据
点的类别标记为距离两个邻近超平面最近的一个,每个超平面都是一类数据聚集的核心近邻支持
向量机模型可以归结为如下形式的等式约束二次规划问题:
min
ω,b,ξ
1
2
(ω
T
ω + b
2
)+
1
2
Cξ
T
ξ
s.t. Λ(Aω + be)+ξ = e
(13.80)
其中A R
n×m
表示训练数据集(nm维数本)Λ R
n×n
是一个对角元为数据类标的对
角矩阵,e R
n
是元素都等于1的向量,两个邻近超平面通过目标函数中的ω
T
ω + b
2
项尽可能地隔
开。
我们引入拉格朗日乘子α,构造拉格朗日函数
L(ω,b,ξ, α)=
1
2
(ω
T
ω + b
2
)+
1
2
Cξ
T
ξ α
T
[Λ(Aω + be)+ξ e] (13.81)
根据KKT最优条件,由参数的一阶导函数构成方程组
ω
L = ω A
T
Λα =0 (13.82)
b
L = b e
T
Λα =0 (13.83)
ξ
L = Cξ α =0 (13.84)
α
L = Λ(Aω + be)+ξ e =0 (13.85)
由前三个等式建立ω,b,ξ与对偶变量α之间的关系
ω = A
T
Λα (13.86)
b = e
T
Λα (13.87)
ξ = C
1
α (13.88)
(13.89)
$%"&'#(
130
)!*+",$
13.14. 邻近支持向量机
!"#
把它们带入最后一个等式可得
Λ(AA
T
+ ee
T
)Λα + C
1
α = e (13.90)
为表示方便,我们记
H = Λ(A, e) (13.91)
则有HH
T
= Λ(A, e)(A, e)
T
Λ = Λ(AA
T
+ ee
T
)Λ,从而可得
α =
#
C
1
I + HH
T
$
1
e (13.92)
对于大型训练数据,计算矩阵HH
T
R
n×n
逆运算量很大为了降低计算复杂度,我们可以应
Sherman-Morrison-Woodbury公式[89, 90, 91]
α = C
#
I H(C
1
I + H
T
H)
1
H
T
$
e (13.93)
将矩阵逆的运算降低到(m + 1) × (m + 1) (n ×n)规模
$%"&'#(
131
)!*+",$
第十四章 人工神经网络
人工神经网络(Artificial Neural Network, ANN,简称神经网络,是人们模仿生物大脑神经
工作机理,建立的一种结构化的动态进化模型由于神经网络强大的表示学习能力,已经成为一
种典型的机器学习技术,应用到各种学习任务,比如分类回归等
神经网络模型中,最基本的元素是神经元(Neuron), 拟 的 正 是 大 脑 元 的
元之过“突Synapse)” 连 通 , 似 ,
模型中每个神经元通过“突触”接收其他近邻神经元传递的信号,并对这些综合信号的刺激做出相
应的反应,比如为每个神经元设置一个固定的阈值或偏置量(Bias), 若 号 量 值 ,
则输出1,否则输出0
14.1: 三层神经网络
络, 型: Input Layer)、 Hidden
Layer)、 Output Layer)。
口;果;层,
强大模拟和学习能力的一个主要因素 14.1是一个典型的三层神经网络,包含n个输入神经
元,m个隐藏神经元1径,“突
触”“突触”
Activation Function )表示对输入信号的反应,常用的激活函数都是Sigmoid 类型,如Logistic
133
搜索与排名 Searching and Ranking
!"#
数,Hyperbolic Tangent函数等
14.1 神经网络简史
1943年,Warren McCulloch和数理逻辑学家Walter Pitts[92]󰄁出第一个用数理语言
󰄀大脑型(阈MccullochPitts元)并产
究的次分化:个方于生过程,一个于神在人能方
应用1949年,Donald Hebb[93]󰄁出突触联系可变假设,奠定了神经网络学习算法的
研究基础1957年,Frank Rosenblatt[60] 󰄁出了著名的感知器模型,它是第一个完整的人工神经
网络,第一次把神经网络研究付诸工程实现,应用于模式识联想记忆等领域,一度有上百家
验室究,国军经网“原子程”重要,资助,
在声纳信号识别等领域取得一定的成绩1960年,Bernard WidrowMarcian Hoff[94] 󰄁出自适
应线性单元(ADAptive LINear Element, AdaLine), 使
得人工神经网络的研究进入第一个高潮1969年,Marvin MinskySeymour Papert[95]指出单
层感知器表示能力有限,无法处理线性不可分的问题,如异或判断,而多层感知器又过于复杂
按照当时计算机的处理能力根本无法实现神经网络的研究受此影响,进入长达10年的萧条期
1982年,Teuvo Kohonen[96]总结大脑神经细胞的自组织特性记忆方式以及神经细胞兴奋刺激的
规律,󰄁出著名的自组织映射Self-Organizing Map, SOM)理论1982年,John Hopfield[97]
能量函数的思想󰄁出一种新的计算方法,阐明了神经网络与动力学的关系,并用非线性动力学
的方法来研究这种神经网络的特性,建立了神经网络稳定性判据,并指出信息存储在网络中
经元之间的连接上,形成了离散Hopfield网络1984[98],他又设计与研制了Hopfield网络模
型的电路,指出神经元可以用运算放大器来实现,所有神经元的连接可用电子线路来模拟,并
称之为连续Hopfield网络他的研究成果有力推动了神经网络的发展,掀起神经网络研究的又一
次热潮1984年,David AckleyGeoffrey Hinton
等人[99]将模拟退火算法引入神经网络,󰄁
Boltzmann机网络模型,󰄁供了一种有效的神经网络优化方法1986年,Rumelhart等人[100]󰄁
出了误差反向传播算法(Back PropagationBP),
事实上早在1974 年,Paul Werbos[101]就在博士论文中首次给出了训练一般网络的反向传播学习
算法,但一直不为人知
BP网络在两基本行为:向传和反更新 向传表示经元信号传播
是单向的,从输入层逐层往下一层传播,直至从输出层获取输出信号的过程反向更新是按照从输
出层向隐藏层,从最后一个隐藏层向前一个隐藏层的顺序,从第一个隐藏层向输入层,逐层调整
“突触”的在监中,反上是预测反馈整,
以期达到逐步优化模型的目的
深度学习泰斗多伦多大学特聘教授爱丁堡大学人工智能博士2012得加大国最高学奖,有“加大诺贝尔奖”之称
Killam 奖。
$%"&'#(
134
)!*+",$
14.2. 深度学习
!"#
利用BP算法网络可以从大量的训练样本学习统计规律,从而对未知事件做出预测,具有明显
的优越性90年代,各种机器学习模型相继诞生,如SVMBoosting大熵方法(如逻辑回归)
等,它们结构本上以看含有层隐节点SVMBoosting,甚至没有隐藏节点(逻
辑回归)的模型,在小样本和有限计算单元时对复杂函数的表示能力有限,对于复杂问题泛化能力
也受到一定制约,因此也被称为浅层学习Shallow Learning)。
14.2 深度学习
2006年,机器学习领域的泰斗Geoffrey Hinton和他的学生Ruslan Salakhutdinov《科学》上
发表的一篇文章[102],掀起深度学习的研究浪潮深度学习通过神经网络模拟人的大脑学习过程
从底层特征中逐层自动学习合并生成具有隐含语义的深层特征,根据大脑的多层抽象机制实现
数据(音 文本等)表达 在多能领域,
别(Speech Recognition)、 Computer Vision)和自然语言处理(Nature Language
ProcessingNLP)取重大,学研究果已功地到产化流诞生Siri
Android语音识别系统
2012年,Google在透漏的技术路线图中明确表示要将下一阶段的技术重心放到深度学习
与知识图谱Knowledge Graph)。 20126月,《纽报》Google Brain项目由斯坦
福大学机器学习教授Andrew Ng和大规模计算机系统专家Jeff Dean共同主Google Brain使
16,000CPU Core的并行计算平台模拟神经网络系统在语音识别和图像识别等领域获得
了巨大的成功201212月,Hinton教授在多伦多大学的研究团队使用卷积神经网络深度学习
系统,参加被誉为计算机视觉圣杯的ImageNet 大赛并大比分(16% v.s. 26%)领2013 3
月,Google收购Hinton团队创立的DNNResearch
,改善Google 图片搜索质量2013731日,
Google发布用于自然语言处理的word2vec 20131月,Institute of
Deep LearningIDL), 前 Facebook资深科学家徐伟人工智能领域专家余凯美国新泽西州立大
学统计系教授张潼AMD 异构计算专家吴韧陆续加盟百度IDL201312月,Facebook成立人
工智能实验室,并聘请Yann LeCun
教授坐镇指导LeCun一起加入的还有纽约大学计算机科
学系副教授Rob Fergus,他的学生Matthew Zeiler 创立一家专门󰄁供图像搜索服务的公司Clarifai
其研发的深度学习算法在2013ImageNet大赛保持领先2013 1213 日,Mark Zuckerburg
俄罗斯富豪Yuri Milner 出资300万美元设立Breakthrough Prize in Mathematics奖项
传统的神经网络采用反向传播方式进行,利用迭代算法训练整个网络:随机设定初值,计算当
前网络的输出,根据它与真实标签间的差异反向更新网络各层参数,直至收敛深度学习为克服神
经网络训练速度慢容易过拟合的问题,采用迥然不同的逐层(Layer-wise)训练机制,从而避免
DNNResearch是一家专注于语音和图像识别技术的研究公司
深度学习大拿,Hinton教授多伦多大学的博士后,纽约大学终身教授,纽约大学数据科学中心负责人 他在巴黎第六大学(也称皮埃
尔玛丽居里大学)Paris VI Universit
´
e Pierre et Marie Curie)获得计算机科学博士学位,期间󰄁出反向传播算法在加盟Facebook
前,他已经在贝尔实验室工作20多年,期间使用卷积神经网络CNN开发出一套手写数字识别系统LeNet,拥有14项发明专利
$%"&'#(
135
)!*+",$
搜索与排名 Searching and Ranking
!"#
深层反向传播误差校正信号减弱,出现梯度扩散(Gradient Diffusion)现象
一般地,信号处理(以图像处理为例)都包括以下几个流程(见图14.2):
预处理:对输入图像放缩去噪背景差分等
特征处理:在预处理后的数据上进行特征󰄁取特征选择特征降维等工作
模型训练:根据图像的特征向量,学习和训练模型
通常,前两步统称为“特征学习” 在流程图中我们看出,后续操作均建立在前面输出结果的基础
14.2: 信号处理流程
之上,越是靠前的处理愈加重要,不考虑预处理,特征󰄁取是其中最为重要的部分特征󰄁取需要
大量的人工参与,既增加了特征的不确定性,也产生了大量人力开销研究人员期望直接从原始数
据中学习特征,于是发展出深度学习的概念,距离人工智能的目标又近了一步深度学习的“无监
督特征学习”“特征学习”之别称由此得名
假设一个系统SnS
1
,S
2
,...,S
n
,系统输入是I,输出为O,形象地我们可以将其表示成:
I S
1
S
2
··· S
n
O (14.1)
如果O = I,即输I经过系统变化后无任何信息损失,则意味着经过每一层S
i
,输入I都没有
任何信息损失S
i
可看做原有输入信息I的另一种表示假设有一组输入,并设计了系统S,通
过调整系统中的参数,使得系统输出O = I,由此可自动地获取输入I的一系列层次的特征表
S
1
,S
2
,...,S
n
深度学习常用的方法有Auto EncoderSparse Coding和受限Boltzmann机,
续介绍
14.2.1. 自动编码器
人工神经网络自身就是具有层次结构的系统,给定一个神经网络,假设其输出与输入是相同
的,训练 数,可以重,表输I的一层表示将输入I 的多层表示作
为新的特征添加到原始特征中,实验表明有利于改善模型的预测精度,在分类问题中甚至比目前最
好的分类算法效果还要好我们所󰄀述的这种方法称为自动编码器(Auto Encoder)。
编码器的基础上添加约束性条件,如
1
规则化约束,就是“稀疏的自动编码器”方法
$%"&'#(
136
)!*+",$
14.2. 深度学习
!"#
14.2.2. 稀疏编码方法
“输出O严格地等于输入I”的限制略微放松,比如只要二者的差别尽可能地小,由此衍生
一类方法,即稀疏编码(Sparse Coding)方法假设b
1
,...,b
n
是基,输出O使用基线性表示:
O =
n
"
i=1
ω
i
b
i
其中,ω
i
是基b
i
的系数,则我们可以得到下面形式的优化问题:
min
ω,b
I O
(14.2)
通过解决最小化问题,得到最优的系数与基,它们就是输入I的一种近似表达,可以作为特征表示
输入如果对问题(14.2)添加
1
规则项:
min
ω ,b
I O + λ
n
(
i=1
|ω
i
|
(14.3)
将一个信号表示为一组基的线性组合,只需要较少的几个基即可近似表示原始信号
14.2.3. 玻尔兹曼机
神经网络是由大量神经元组成的动力学系统从宏观上看,各神经元的状态可看作是一个随机
变量,正如统计物理学中,把大量气体分子看作一个系统,每个分子状态服从统计规律从统计观
点分析,也可寻找神经网络系统中󰔁种神经元的状态的概率分布,分布的形式与网络的结构有关
其参数则是权系数Hinton等人 [103]借助统计物理学的方法󰄁出了玻尔兹曼模型,可用于模式分
预测组合优化及规划等方面
1986年,HintonSejnowski [104]发展出受限玻尔兹曼机(Restricted Boltzmann Machine,
RBM), RBM属于生成型随机神经网络模型,同普通神经网络类
似,包括三层结构:输入层输出层与隐藏层,由于输入层与输出层可见,称作可见单元(Visible
Units), Hidden Units)。 14.3中,玻尔12个可见单
元(构向量v)和3隐藏元(构成向h)。 RBM网络的每一对神经元之间的进行双向对称的
信息传递,权值矩阵W =(w
ij
)对称,并且自身无反馈w
ii
=0。在RBM网络图上,可见变量与隐藏
变量均是二元变量,状态取值范围是{0, 1}
RBM对网络配置(v, h; θ) 定义了能量的概念,数学表示如下:
E(v,h; θ)=
"
i
"
j
w
ij
v
i
h
j
"
i
a
i
v
i
"
j
b
j
h
j
(14.4)
其中,a
i
,b
j
分别表示可见单元v
i
,隐藏单元h
j
的偏置权重,θ表示网络参数集
根据配置能量的定义,RBM给出下面形式的网络配置概率分布
P
θ
(v, h)=
1
Z(θ)
exp
*
E(v, h; θ)
+
(14.5)
$%"&'#(
137
)!*+",$
搜索与排名 Searching and Ranking
!"#
14.3: 受限Boltzmann
其中Z(θ) 表示归一化因子,也称配分函数Partition Function)。 (14.4)代入概率分布
可得:
P
θ
(v, h)=
1
Z(θ)
exp
*
"
i
"
j
w
ij
v
i
h
j
+
"
i
a
i
v
i
+
"
j
b
j
h
j
+
(14.6)
对隐藏层上所有可能的配置加和,可计算观测数据的似然函数
P
θ
(v)=
1
Z
(θ)
"
h
exp
*
v
T
Wh+ a
T
v + b
T
h
+
(14.7)
并构造对数似然估计函数
L(θ)=
1
|V |
log(
!
vV
P
θ
(v)) =
1
|V |
"
vV
log(P
θ
(v)). (14.8)
其中,
Z
(θ)=
"
v
"
h
exp
*
v
T
Wh+ a
T
v + b
T
h
+
表示归一化项根据最大似然估计方法,计算对数似然函数的梯度
L(θ)/w
ij
=
1
|V |
(
vV
log(P
θ
(v))/w
ij
=
1
|V |
(
vV
1
P
θ
(v)
P
θ
(v)
w
ij
=
1
|V |
(
vV
1
P
θ
(v)Z
(θ)
,
(
h
exp
*
v
T
Wh+ a
T
v + b
T
h
+
v
i
h
j
P
θ
(v)
Z
(θ)
w
ij
-
(14.9)
由于
Z
(θ)/w
ij
=
"
v
"
h
exp
*
v
T
Wh+ a
T
v + b
T
h
+
v
i
h
j
(14.10)
若记
P
θ
=
exp
*
v
T
Wh+ a
T
v + b
T
h
+
(
h
exp
*
v
T
Wh+ a
T
v + b
T
h
+
=
exp
*
v
T
Wh+ a
T
v + b
T
h
+
P
θ
(v)Z
(θ)
(14.11)
则有
L(θ)
W
ij
=
1
|V |
(
vV
7
P
θ
v
i
h
j
P
θ
v
T
h
8
= E
P
θ
(v
i
h
j
) E
P
θ
(v
i
h
j
)
(14.12)
$%"&'#(
138
)!*+",$
14.3. 信念网络
!"#
成立由于计算开销较大Hinton [105]󰄁法:对比散列Contrastive
Divergence, CD)。
如果增加受限玻尔兹曼机隐藏层的层数,就是深度玻尔兹曼DBM)。 使
贝叶斯信念网络Bayisian Belief NetworkBBN有向型),在层最使
受限玻尔兹曼机,就是深度信念网络Deep Belief NetworkDBN)。
14.3 信念网络
1985年,Judea Pearl󰄁出贝叶斯网络,也称信念网络(Belief Network)。
推理过程中因果关系的不确定性处理模型,其网络拓朴结构是一个有向无环图(Directed Acyclic
Graphic, DAG)。
接。
14.4 卷积神经网络
卷积神经网络(Convolutional Neural Networks, CNN)是一特殊的深层神经网络模
网络中神经元并非完全连接,同一层部分神经元之间共享连接权重卷积神经网络稀疏连接
Sparse Connectivity)和权值共享(Shared Weights)的结构特性更接近生物神经网络,有效降
低了网络模型的复杂度
CNN源于视觉神经机制,为识别二维图形而设计出的一种多层感知器,对平移比例缩放
倾斜或其他形式的变形具有高度不变性1962 年,David HubelTorsten Wiesel 研究猫视觉皮层
细胞时,󰄁出了感受野(Receptive Field念;1984年,Kunihiko Fukushima基于感
受野󰄁出神经认知机(Neocognitron)模经认觉模个子(特
征),进层递连的进行理,在物移或时,也行识
神经认知机模型是第一个CNN模型,后来成功应用到手写数字识别车牌识别和人脸识别等领
域。
$%"&'#(
139
)!*+",$
第十五章 极限学习机
2006年,Huang Guang-Bin等人[106]在单隐层前向神经网络Single Hidden Layer Feed-
forward Neural NetworksSLFNs基础上󰄁出一种高效的学习方法,称作极限学习机Extreme
Learning MachineELM)。
在传统的神经网络模型中,所有网络中的参数都需要调整,不同层之间存在相互依赖关系
于前向神经网络模型中,主要使用梯度下降法调整模型参数梯度下降法存在一个比较常见的问
题,慢, ELM算法不需要
调整所有的参数,它随机产生隐藏层权值(输入与隐藏层),并通过解矩阵的广义逆确定输出权值
(隐藏层与输出层)
给定任意N个训练样本(x
i
,y
i
)i =1, 2,...,Nx
i
R
n
为输入向量y
i
R
m
表示输出向量
对于标准的存在L个隐藏节点的前向神经网络模型可以表示成下面形式的数学模型:
f(x)=
L
"
i=1
β
i
g
i
(x)=
l
"
i=1
β
i
g(ω
T
i
x + b
i
) R
m
(15.1)
对于第i个隐藏节点,它与输入节点的链接权值向量为ω
i
R
n
,它的偏置量(阈值)为b
i
,它与输
出节点链接权值向量为β
i
R
n
,隐藏层的激活函数为g,输出层的激活函数是线性函数给定输
x R
n
,模型的第j维输出为
f
j
(x)=
L
"
i=1
β
ij
g
i
(x),j=1, 2, . . . , m. (15.2)
对于N个输入样本,我们使用向量形式表示单层前向神经网络模型:
f(X)=Hβ (15.3)
其中,H称作神经网络的隐藏层输出矩阵,具体地
H =
g(ω
T
1
x
1
+ b
1
) g(ω
T
2
x
1
+ b
2
) ... g(ω
T
L
x
1
+ b
L
)
g(ω
T
1
x
2
+ b
1
) g(ω
T
2
x
2
+ b
2
) ... g(ω
T
L
x
2
+ b
L
)
.
.
.
.
.
.
.
.
.
.
.
.
g(ω
T
1
x
N
+ b
1
) g(ω
T
2
x
N
+ b
2
) ... g(ω
T
L
x
N
+ b
L
)
(15.4)
141
搜索与排名 Searching and Ranking
!"#
如果隐藏层激活函数在任何区间都是无限次可微(Infinitely Differentiable), N
不同的输入样本(x
i
,y
i
),对于任意随机生成ω
i
b
i
,隐藏层输矩阵H都是可逆矩阵[106]
SLFN模型可以零误差逼近N个输入样本,即满足
Hβ = Y. (15.5)
传统神经网络模型大多都是基于梯度下降法调整模型参数,SLFN模型随机选择参数ωb,并通过
求解最小范数最小二乘问题
min
β
Hβ Y (15.6)
确定Moore-Penrose广义逆表示的最优解
ˆ
β = H
Y. (15.7)
为了处理分类问题,ELM建立下面形式的优化模型
min
β,ξ
1
2
β
T
β +
1
2
C
N
(
i=1
ξ
T
i
ξ
i
s.t. h(x
i
)β = y
T
i
ξ
T
i
,i=1, 2,...,N
(15.8)
建立拉格朗日函数
L(β, ξ, λ)=
1
2
β
T
β +
1
2
C
N
"
i=1
ξ
T
i
ξ
i
N
"
i=1
λ
i
(h(x
i
)β y
T
i
+ ξ
T
i
) (15.9)
根据KKT条件可以得到优化模型的解析解:
β = H
T
(C
1
I + HH
T
)
1
Y, (15.10)
以及输出模型
f(x)=h(x)H
T
(C
1
I + HH
T
)
1
Y, (15.11)
将其应用于多元分类,我们可以得到决策模型
ˆy
x
= arg max
i{1,...,m}
f
i
(x). (15.12)
$%"&'#(
142
)!*+",$
第十六章 决策树
决策树是一种重要的数据表示决策分析和预测技术,常用于辅助分析决策,学习构造决策模
型, 习领广点包
稳定性好,决策树的成长不需要任何领域知识或参数设置,适用于探索式的知识发现应用
每一颗决策树都有根节点内部节点叶子节点,及连接节点的树枝如果使用决策树表示一
个预测模型,那么根节点表示全部数据集合,每个内部节点表示样本的一个属性,每根树枝则代表
对属性的一种判断(测试)结果,每个叶子节点对应一个决策目标(类别标签)沿着树根到达
意一个叶子节点所经过的路径,就是一个决策(预测)规则我们在这一节主要介绍和讨论用于数
据挖掘的决策树方法
最早的决策树算法是由Hunt等人[107]1966 年󰄁出的概念学习系统Concept Learning
SystemCLS)。 John Quinlan󰄁出的ID3 算法[108]C4.5算法[109] ID3
法的目的在于减少树的深度,但忽略了叶子数目的研究C4.5算法在ID3 算法的基础上进行了
改进对于预测变量的缺值处理剪枝技术等方面作了较大改进既适合于分类问题又适
成:树,
者预测的是离散型数据而后者预测的是连续型数据并且两类决策树的生成方式也不同
ID3C4.5是两个典型的决策树分类算法,在数据挖掘与机器学习领域还存在其他一些著名的
决策树算法,如1980Gordon Kass[110]在其博士论文中󰄁出的卡方自动交互检测算法CHi-
squared Automatic Interaction DetectionCHAID), 1984Leo Breiman等人[111]󰄁出的分类回
归树(Classification And Regression TreeCART), 1991Jerome Friedman[112]发展的多元自
适应回归样条模型(Multivariate Adaptive Regression SplinesMARS)。
决策树的生长是一个自顶向下,分而治之的递归过程,在数据集S 上,
下:
如果S中所有样本都属于同一类或满足其他停止生长准则,则S不再划分,生成叶子节点
否则,根据一个指标选择合适的属性与分裂节点,对S进行划分,产生多个样本子集S
i
,i =
1, 2,...,并对每个样本子集S
i
执行以上两步
在决策树的生长过程,每步选择一个变量对样本做最佳划分,衡量划分质量的性能指,包
ID3算法使用的信息增益C4.5 使用的信息增益率CART 算法使用的Gini混杂度(Gini
143
搜索与排名 Searching and Ranking
!"#
Impurity, GI)和CHAID算法使用的χ值。
16.1. Gore Forest是一家高尔夫俱乐部的经理,他希望通过天气预测人们是否打高尔夫球以适
时调整雇员数量减少开支为此,他记录了两周内天气情况与高尔夫运动的统计数据(见表 16.1)。
记录的数据中,天气状况包括Outlooksunnyovercastrain), Temperature6485), Humidity
6596), Windy yesno)四个变量;类标变量是二元的,表示人们是否打高尔夫根据统计
据,我们可以构建如图 16.1所示二元分类决策树模型
Outlook Temperature Humidity Windy Play
sunny 85 85 no no
sunny 80 90 yes no
overcast 83 78 no yes
rain 70 96 no yes
rain 68 80 no yes
rain 65 70 yes no
overcast 64 65 yes yes
sunny 72 95 no no
sunny 69 70 no yes
rain 75 80 no yes
sunny 75 70 yes yes
overcast 72 90 yes yes
overcast 81 75 no yes
rain 71 80 yes no
16.1: 天气状况与高尔夫运动状况关联表
16.0.1. 决策树桩
决策树桩(Decision Stump)是最简单的二叉树,只含有两个叶子节点,在单个特征上做出决
策,是一种简单有效的机器学习算法,如集成算法中常用作基本模型,独立使用时,可用于筛选变
搜寻连续变量上具有预测意义的节点等
16.0.2. 剪枝
中,(离点)
型过拟合为此,可以对决策树剪枝Pruning), 型 , 󰄁
决策树的泛化能力常见的剪枝策略是预剪枝Pre-Pruning, Early Stop Rule)和后剪枝(Post-
Pruning), 点 ,
$%"&'#(
144
)!*+",$
!"#
16.1: 决策树预测模型
成后,遍历决策树剪掉符合剪枝条件的节点对于剪枝后的分类决策树,叶子节点的类别根据多数
投票准则确定
预剪枝:在预剪枝方法中,最直接的方法设置决策树生长的最大深度,使决策树无法充分生
但是,如何选择合适的深度是一个及其重要的问题此外,还有一个方法是检验当前结点对应
的样本集合,如果集合中样本数量小于预先指定的阈值,则将当前结点设为叶子结点并停止生长
后剪枝:后剪枝技术是指在完全长成的决策树上,根据一定的指标剪掉树中冗余的子树,形成
一棵约简的新树,与树的生长顺序相反自底向上地剪枝决策树算法ID3C4.5CART 主要采用
后剪枝技术后剪枝策略使用一组测试数据用于检验剪枝操作的合理性,一边修剪一边检验,其基
本原则是确保每次剪枝后,决策树在测试集上的预测精度至少不会下降
16.0.3. 缺值
实际采集的数据中可能出现缺值,处理缺值问题比较常见的方法是给它赋值,如数据集中相应
属性均值最大值最小值等,C4.5算法则将一个概率分布向量赋予它比如,对于二元属性A
数据集中12个样本属性值A =088个样本属性值A =1C4.5根据数据集中样本在属性值A上的分
布,推断属性A缺失的值为0的可能性是12%,为1 的可能性是88%。利
选择合适的分裂节点
$%"&'#(
145
)!*+",$
搜索与排名 Searching and Ranking
!"#
16.0.4. 树的集成模型
目前,集成技术在机器学习领域颇受青睐,如Bagging决策树随机森林󰄁升树和旋转森林
Rotation Forest)都是通过构造多个决策树做模型聚合
16.1 ID3C4.5
1986年,Ross Quinlan󰄁出ID3Iterative Dichotomiser 3)算[108],它是目前最具影响力
的决策树算法1993年,QuinlanID3进行改,发展为C4.5算法[109],能够同时处理离散型与
连续型属性ID3C4.5均属于归纳(Inductive)模型,假设训练数据与测试数据服从相同的未知
分布
ID3算法源于概念学习系统思想,对于训练集S概念学习系统基本步骤包括:
Step 1. 如果S中的所有样本都是正例(或负例),则创建yesno)叶子节点,停止算法;
Step 2. 如果S中正负例都有,则由专家选择一个分裂属性A = {a
1
,...,a
m
},创建中间节点;
Step 3. 根据属性A将输入样本空间分割成m个子集:S
1
,...,S
m
Step 4. 对每个子集,重复以上步骤
概念学习系统在创建中间节点是由专家选择分割属性,带有明显的主观性为此ID3算法根据信
息增益自动搜索分割节点(属性)
对于分类问题,假设训练集是S = {x
i
,y
i
}
N
i=1
,其中x
i
是一个多属性向量,属性可以是离散的
也可以是连续型y
i
= {1,...,K}是分类变量对于训练集S,根据统计的样本类别分布{p
k
}
K
k=1
可以计算数据分类所包含的信息熵:
H(S)=
"
k
p
k
log p
k
(16.1)
其中p
k
表示类别y = k的样本比例
(
k
p
k
=1。在
别分布为均匀分布时,分类状态最混杂,数据包含的信息熵最大比如,对于前述高尔夫球运动预
测的例子,打高尔夫的比例p
1
=9/14,不打高尔夫的有p
2
=5/14,则分类属性包含的信息熵:
H(S)=9/14 log ( 9/14) 5/14 log(5/14) = 0.94 (16.2)
程, (值) ID3算法根据
Occam论”点,
决策树根据属性A = {a
1
,...,a
m
},可以将输入的样本空间分割成m个子空间:S
1
,...,S
m
,在每
个子空间上都可以计算分类属性的信息熵,并根据各个子空间中样本比例计算属性A包含的平均信
$%"&'#(
146
)!*+",$
16.2. 分类与回归树
!"#
息熵属性A产生的信息增益表示属性A包含的平均信息熵相对于整个输入空间上分类属性的信息
熵的减少量(混杂度下降),具体地
IG(S, A)=H(S)
"
i
|S
i
|
|S|
H(S
i
) (16.3)
对于属性Outlook,其平均信息熵:
H(S,Outlook) =
5
14
H(sunny) +
4
14
H(overcast) +
5
14
H(rain) (16.4)
=0.694. (16.5)
同理,我们可以计算Windy的平均熵H(S,Windy)=0.892,属性Outlook Windy的信息增益分别
IG(S,Outlook) = 0.246IG(S,Windy)=0.048
ID3陷:信的,
性,无法直接计算信息增益ID3算法还倾向于多值属性,可能会产生无意义的分割
对于离散型属性,C4.5算法与ID3的处理方法相同对于连续型数值属性C4.5算法对属性值
进行离散化处理:假设数据集大小n,根据数据集属A列对数据样本进行升序排列,获得一个
属性值序列a
1
<a
2
<...<a
m
。根m 1个分割点s
1
,...,s
m1
,第i个分割点取
a
i
a
i+1
的均值,即
s
i
=
1
2
(a
i
+ a
i+1
)
每个分割点将属性序列值分割成两个子集:[a
1
,s
i
)(s
i
,a
m
],根据两个子集可以计算每个分割点产
生的信息增益率(Information Gain Ratio), 选 择 率 最 分 裂 信 息
益率定义如下:
GR(S,A) =
IG(S,A)
SI(S,A)
(16.6)
其中,SI(S,A)是属性A的分裂信息量(Split Information,反映数据关于属性A分布的均匀程度
SI(S,A) =
m
"
i=1
|S
i
|
|S|
log
|S
i
|
|S|
(16.7)
对于分布均匀的属性,分裂信息量比存在峰值的分布大最极端的情况,每个样本在的A属性值均
不同,则其信息增益最大分裂信息量作为标准化项可以抵消掉分裂时对均匀分布属性的偏好
C4.5算法中,决策树的生长需要对数据集进行多次扫󰄀和属性值排序,效率低下,而且训练
数据需要读入内存,并不适合处理大数据集C5.0算法进一步改进C4.5 算法在速度和空间利用方
面均达到了工业化应用的标准
16.2 分类与回归树
分类与回归树(Classification And Regression Trees, CART)是一非参策树
[111]CART 可以轻松处理离散和连续的属性,它的一个重要特点是对异常点不敏感,并且自
变量的单调变换(如指数对数变换)不影响决策树的生成模型的构建
$%"&'#(
147
)!*+",$
搜索与排名 Searching and Ranking
!"#
CART的目标是生成一个完全树,树的叶子节点是同质的,归属于同一类别在树的构建过
程,回归是不 混杂降幅最大分裂
性,Gini息增(率)对于K个类别的样本数据集Gini指数可以度量样本数据
集关于类别进行分裂的混杂度
GI(S)=1
K
"
k=1
p
2
k
(16.8)
对于给定属性A,将数据集分裂成m个子集{S
1
,...,S
m
},则基于它进行分裂的混杂度对应一个平
Gini指数
GI(S, A)=
m
"
i=1
|S
i
|
|S|
GI(S
i
) (16.9)
分类树选择能够产生最大程度Gini指数降幅的节点作为分裂节点
GI(S, A)=GI(S) GI(S, A) (16.10)
回归树选择分裂节点的依据是最小化左右子树的平均方差
arg min
a
[p
l
σ
2
y
l
+ p
r
σ
2
y
r
] (16.11)
其中,a是属性A的一个属性值一般地,如果选择它作为分裂节点,则将属性值A小于a的样本分
到左子树,其他的分配到右子树p
l
,p
r
分别表示左右子树包含的样本比例,σ
2
y
l
, σ
2
y
r
分别表示左
右子树样本响应变量的方差
16.3 随机森林
2001年,Leo Brieman[113]吸取Bagging和随机变量选取的思想,󰄁出在数据集上随机生成多
棵决策树,构成随机森林(Random Forest)。 使
机森林作为预测模型,在处理新输入的样本时,由森林中每棵决策树分别做出判断,比如预测样本
的类别,则新样本的类别就可以依据各个决策树的分类结果基于多数准则确定随机森林的优势体
现在未明显增加运算量的前󰄁下,能够大幅󰄁高预测精度,并且在缺失数据和非平衡数据上较为稳
健,能够在多达几千个解释变量的数据集上获得良好的预测效果(小np问题),可以说是当前最
好的算法之一
在决策树的生长过程中,要经过两个关键步骤:随机采样与完全分裂在决策树生长之前,随
机森林对输入数据进行随机采样分为行采样列采,行采样是基Bootstrap重采样技术生成多
个样本集合,在每个样本集中必然出现重复样本,从本质上来看,每个样本集只是整个输入数据
集的一个子集,大大降低过拟合的几率利用行采样生成的决策树,通常还需要在未采集到的大
1/3的样本数据集上测试精度,称作Out-Of-Bag误差率估计行采样采集的对象是样本,而列采
样采的对是样特征:p个特征中抽取m<p个特征,并以完全分裂的方式生成决策树
般地,m =
p m = log p
$%"&'#(
148
)!*+",$
16.4. 梯度󰄁升算法
!"#
通常,决策树算法都有一个剪枝的步骤,随机森林算法通过随机采样向模型注入随机性,即时
没有剪枝环节,也不易产生过拟合随机森林简单易于实现,对参数的选择不敏感,可并行化便
捷处理高维数据,在模型训练的同时还可用于特征选择
16.4 梯度提升算法
1999年,Friedman[114, 115]发明了梯度󰄁升算法(Gradient Boosting),
的一个机器学习技术,通过优化损失函数逐步构建模型,组合基模型(弱模型,如决策树)逐步生
成最终预测模型
若输入x与输出y联合分布已知,监督学习的目标就是搜索能够最小化期望损失的预测模型:
ˆ
F = arg min
F F
E
x,y
L(y, F(x)). (16.12)
对于回归问题我们可以选择使用平方损失函数L(y, F(x)) = (y F (x))
2
或者绝对值损失
函数L(y, F(x)) = |y F (x)|;对y {1, 1},我使
L(y, F(x)) = log(1 + e
2yF(x)
)
1化:x的含参函数空间F(x; Θ)搜索最佳预测函数F (x)Θ是参数集
决定了预测函数的形式,函数优化问题可转化为下面形式的参数优化问题:
ˆ
Θ = arg min
Θ
Φ(Θ) = arg mi n
Θ
E
x,y
L(y, F(x; Θ)) (16.13)
一般地,优化的参数可以表示成加法形式
ˆ
Θ =
M
"
m=0
θ
m
(16.14)
其中θ
0
是初始的猜测值{θ
m
}
M
1
表示连续增量(Successive Increments),
序列,每个增量θ
m
的计算方法则赖于所使用的优化技术根据最速下降法,期望损失在当前状态
下的梯度:
g
m
=
Φ(Θ)
Θ
6
6
6
Θ=Θ
m1
(16.15)
其中,Θ
m1
=
m1
(
i=0
θ
i
,选择在梯度下降的方向改变参数:
Θ
m
Θ
m1
= θ
m
= ρ
m
g
m
(16.16)
步长ρ
m
可以通过线性搜索确定:
ρ
m
= arg min
ρ
Φ(Θ
m1
ρg
m
) (16.17)
由此确定出最优预测模型
ˆ
F (x)=F (x;
ˆ
Θ)
$%"&'#(
149
)!*+",$
搜索与排名 Searching and Ranking
!"#
2)非参数函数优化:损失函数Φ是关于F (x)的函数
Φ(F (x)) = E
x,y
L(y, F(x)) (16.18)
我们以函数值F (x)为“参数”,最小化关于F (x)的损失函数假设
F
(x)=
M
"
m=0
f
m
(x) (16.19)
其中,f
0
(x)是初始的猜测值,{f
m
(x)}
M
1
是增量函数根据最速下降法,则有
g
m
=
Φ(F (x))
F (x)
6
6
6
F (x)=F
m1
(x)
f
m
(x)=F
m
(x) F
m1
(x)=ρ
m
g
m
(16.20)
其中,F
m1
(x)=
m1
(
i=0
F
i
(x),步长ρ
m
可以通过线性搜索确定:
ρ
m
= arg min
ρ
Φ(F
m1
(x) ρg
m
) (16.21)
梯度󰄁升算法使用贪婪分段方法,构建一个加法模型
F (x; {β
m
, α
m
}
M
1
)=
M
"
m=1
β
m
h(x; α
m
) (16.22)
其中,h(x; α)是输入变量x的含参函数,称为基学习器或者弱学习器,β是函数h(x; α)的权重
假设训练集中包含N个样本{x
i
,y
i
}
N
i=1
,则根据经验损失最小化原则,搜索最优参数:
(β
m
, α
m
) = arg min
β,α
N
"
i=1
L(y
i
,F
m1
(x
i
)+βh(x
i
, α)) (16.23)
其中,F
m
(x)=F
m1
(x)+β
m
h(x, α
m
)。给F
m1
(x),函数β
m
h(x, α
m
)是逼近最
小化解
ˆ
F (x)的最佳路径
通常,优化经验损失十分困难,从最速下降的角度来看,h(x, α
m
)应该同N维负梯度向量强相
关,由此可以利用最小二乘拟合技术通过下面形式的优化模型确定:
α
m
= arg min
β,α
N
"
i=1
(g
m
(x
i
) βh(x
i
, α))
2
(16.24)
我们不仅要确定函数逼近的方向,还需要确定最佳的逼近步长:
ρ
m
= arg min
ρ
N
"
i=1
L(y
i
,F
m1
(x
i
)+ρh(x
i
, α
m
)) (16.25)
更新近似函数
F
m
(x)=F
m1
(x)+ρ
m
h(x, α
m
) (16.26)
$%"&'#(
150
)!*+",$
16.4. 梯度󰄁升算法
!"#
Algorithm 4 梯度󰄁升算法
Input: 训练集{x
i
,y
i
}
N
i=1
,可微的损失函数L(y, F(x)),迭代次数M
初始化预测模型F
0
(x) = arg min
ρ
N
(
i=1
L(y
i
, ρ)
for m =1,...,M do
1. 计算梯度g
m
g
m
(x
i
)=
L (y
i
,F(x
i
))
F (x
i
)
6
6
6
F (x)=F
m1
(x)
,i=1,...,N (16.27)
2. 将负梯度作为“伪响应变量”˜y
˜y
i
= g
m
(x
i
),i=1,...,N (16.28)
3. 根据最小二乘技术确定最优含参基函数h(x; α
m
)
α
m
= arg min
β,α
N
"
i=1
#
˜y
i
βh(x
i
, α)
$
2
(16.29)
4. 线性搜索最佳步长ρ
m
ρ
m
= arg min
ρ
N
"
i=1
L(y
i
,F
m1
(x
i
)+ρh(x
i
, α
m
)) (16.30)
5. 更新预测模型:
F
m
(x)=F
m1
(x)+ρ
m
h(x, α
m
) (16.31)
end for
Output: 预测模型F
M
(x)=
M
(
m=1
ρ
m
h(x; α
m
)
$%"&'#(
151
)!*+",$
搜索与排名 Searching and Ranking
!"#
16.4.1. 损失函数
1 LSBoost如果使用的损失函数为最小二乘回归损失L(y, F)=(y F )
2
关于函数值F(x
i
)
梯度:
g
m
(x
i
)=(y
i
F
m1
(x
i
)) (16.32)
则选取的初始值为响应变量的均值:
F
0
(x)=¯y (16.33)
基函数参数与步长的选择可以合并为:
(ρ
m
, α
m
) = arg min
ρ,α
y
i
ρh(x
i
; α))
2
(16.34)
伪响应变量˜y
i
= y
i
F
m1
(x
i
)表示当前组合模型的预测偏差,基函数h(x; α
m
)是预测偏差的
最小二乘估计
2 LADTreeBoost如果使用的损失函数为最小绝对值偏差Least Absolute Derivation回归
损失L(y, F)=|y F |,关于函数值F (x
i
)的梯度:
g
m
(x
i
)=sgn(y
i
F
m1
(x
i
)) (16.35)
则选取的初始值为响应变量的中位数:
F
0
(x)=median{y
i
}
N
i=1
(16.36)
最优步长可以表示成加权中位数:
ρ
m
= arg min
ρ
|y
i
F
m1
(x
i
) ρh(x
i
; α
m
)|
= median
ω
{
y
i
F
m1
(x
i
)
h(x
i
;α
m
)
}
N
i=1
(16.37)
其中,ω
i
= |h(x
i
; α
m
)|
如果我们使用含有L器,“二量” ˜y =
sgn(y F
m1
(x)),将训练样本分裂为L个子集{S
m1
,...,S
mL
},我们需要在每个子集上分别
进行线性搜索ρ
m
=(ρ
ml
)
L
l=1
对于第l个子集:
ρ
ml
= median
ω
{
y
i
F
m1
(x
i
)
h(x
i
; α
m
)
}
x
i
S
ml
(16.38)
其中,ω
i
= |h(x
i
; α
m
)|
由于在同一个叶子节点上x
i
S
ml
,基学习器预测的结果相h
ml
= h(x
i
; α
m
),我们可以化
简得
ρ
ml
=
1
h
ml
median{y
i
F
m1
(x
i
)}
x
i
S
ml
(16.39)
$%"&'#(
152
)!*+",$
16.4. 梯度󰄁升算法
!"#
更新预测模型
F
m
(x)=F
m1
(x)+
L
(
l=1
ρ
ml
h
ml
I(x S
ml
)
= F
m1
(x)+
L
(
l=1
median{y
i
F
m1
(x
i
)}
x
i
S
ml
I(x S
ml
)
(16.40)
据信,LADTreeBoost算法十分健壮
3 MTreeBoost:如果使用的损失函数是Huber损失函数:
L(y, F)=
(y F )
2
/2 |y F | δ
δ(|y F | δ/2) |y F | > δ
(16.41)
由此可以计算伪响应变量
˜y
i
=
y
i
F
m1
(x
i
) |y
i
F
m1
(x
i
)| δ
δ sgn(y
i
F
m1
(x
i
)) |y
i
F
m1
(x
i
)| > δ
(16.42)
其中,δ随着迭代次数改变,δ
m
{|y
i
F
m1
(x
i
)|}
N
i=1
α分位点估计值,如α =0.2
我们使用决策树作为基学习器,采用分裂策略分别在每个叶子节点S
ml
上进行一次线性搜索,
确定最佳步长:
ρ
ml
= arg min
ρ
"
x
i
S
ml
L(y
i
,F
m1
(x
i
)+ρh
ml
) (16.43)
等价地
γ
ml
= ρ
ml
h
ml
= arg min
γ
"
x
i
S
ml
L(y
i
,F
m1
(x
i
)+γ) (16.44)
更新预测模型
F
m
(x)=F
m1
(x)+
L
"
l=1
γ
ml
I(x S
ml
) (16.45)
4 L
2
TreeBoost 题, 使 (也 Negative Binomial Log-
likelihood Loss):
L(y, F) = log(1 + e
2yF
),y {1, 1} (16.52)
其中,F =
1
2
log
Pr(y=1|x)
Pr(y=1|x)
伪响应变量为
˜y
i
=2y
i
/[1 + e
2y
i
F
m1
(x
i
)
] (16.53)
我们使用决策树作为基学习器,采用分裂策略分别在每个叶子节点S
ml
上进行一次线性搜索,
确定最佳步长:
ρ
ml
= arg min
ρ
"
x
i
S
ml
log(1 + e
2y
i
(F
m1
(x
i
)+ρh
ml
)
) (16.54)
$%"&'#(
153
)!*+",$
搜索与排名 Searching and Ranking
!"#
Algorithm 5 MTreeBoost算法
Input: 训练集{x
i
,y
i
}
N
i=1
,可微的损失函数L(y, F(x)),迭代次数M
初始化预测模型F
0
(x)=median {y
i
}
N
i=1
for m =1,...,M do
1. 计算残差r
m1
r
m1
(x
i
)=y
i
F
m1
(x
i
),i=1,...,N (16.46)
2. 计算断点δ
m
δ
m
= quantile
α
{|r
m1
(x
i
)|}
N
i=1
(16.47)
3. 计算伪响应变量˜y
˜y
i
=
r
m1
(x
i
) |r
m1
(x
i
)| δ
δ
m
sgn(r
m1
(x
i
)) |r
m1
(x
i
)| > δ
(16.48)
4. 根据{x
i
, ˜y
i
}
N
i=1
拟合一个包含L个叶子节点的决策树模型S
ml
,l =1,...,L
5. 计算
˜r
ml
= median {|r
m1
(x
i
)|}
x
i
S
ml
,l=1,...,L (16.49)
6. 确定最佳步长γ
m
γ
ml
r
ml
+
1
N
ml
"
x
i
S
ml
#
sgn(r
m1
(x
i
) ˜r
ml
) min{δ
m
, |r
m1
(x
i
) ˜r
ml
|}
$
,l=1,...,L
(16.50)
7. 更新预测模型:
F
m
(x)=F
m1
(x)+
L
"
l=1
γ
ml
I(x S
ml
) (16.51)
end for
Output: 预测模型F
M
(x)=
M
(
m=0
F
m
(x)
$%"&'#(
154
)!*+",$
16.4. 梯度󰄁升算法
!"#
等价地
γ
ml
= ρ
ml
h
ml
= arg min
γ
"
x
i
S
ml
log(1 + e
2y
i
(F
m1
(x
i
)+γ)
) arg min
γ
g(γ) (16.55)
它没有解析解,由于g二阶可导,采用Newton-Raphson近似,我们有:
γ
k+1
= γ
k
g
(γ
k
)
g
′′
(γ
k
)
(16.56)
假设初始值γ
0
=0则取γ
ml
= γ
1
= g
(0)/g
′′
(0),可知:
γ
ml
=
(
x
i
S
ml
˜y
i
(
x
i
S
ml
|˜y
i
|(2 |˜y
i
|)
(16.57)
更新预测模型:
F
m
(x)=F
m1
(x)+
L
"
l=1
γ
ml
I(x S
ml
) (16.58)
其中,F
0
(x)=
1
2
log
1+¯y
1¯y
根据预测模型F
M
(x)可以推出概率估计值:
p
+
(x)=
A
Pr(y =1|x)=1/[1 + e
2F
M
(x)
]
p
(x)=
A
Pr(y = 1| x)=1/[1 + e
2F
M
(x)
]
(16.59)
从而可以构建分类模型:
ˆy(x)=2 I(c(1, 1)p
+
(x) >c(1, 1)p
(x)) 1 (16.60)
其中,cy, y)是预测值为ˆy,真实响应为y 时的成本
16.4.2. 梯度提升决策树
如果梯度󰄁升算法使用决策树作为基函数,则梯度󰄁升算法又称梯度󰄁升决策树(Gradient
Boosting Decision TreeGBDT)算󰄁升归树(Gradient Boosting Regression Tree
GBRT)算MARTMultiple Additive Regression Tree)算法梯度󰄁升型(Gradient
Boosting MachineGBM)或TreeNet 算法阿里巴巴集团又称它TreeLink 算法GBDT 由多
(回树)成,果,
练精度和泛化能力两方面得到恰当的平衡,广泛应用于训练分类模型回归模型与搜索排序模
[116, 117],比如2010Yahoo!排序学习挑战赛中取得佳绩的团队大多都吸取了GBDT 的思想
假设GBDT使用M个决策树作为基学习器,在第m次迭代中使用一个决策树模型h(x; α
m
)拟合
“伪响应变量” 假设决策树模型含有L个叶子节点,将输入空间分裂为L个子空间:S
m1
,...,S
mL
在任意单个子空间S
ml
上决策树的预测结果相同,记为h
ml
,基模型h(x; α
m
)可以表示为下面的加和
形式:
h(x; α
m
)=
L
"
l=1
h
ml
I(x S
ml
) (16.61)
$%"&'#(
155
)!*+",$
搜索与排名 Searching and Ranking
!"#
更新预测模型:
F
m
(x)=F
m1
(x)+ρ
m
h(x; α
m
) (16.62)
其中,最佳步长ρ
m
通过线性搜索下面模型确定:
ρ
m
= arg min
ρ
N
"
i=1
L(y
i
,F
m1
(x
i
)+ρh(x
i
, α
m
)) (16.63)
最佳步长ρ
m
对整个决策树有效Friedman󰄁出TreeBoost改进算法,在每个输入子集上确定一个最
佳的步长ρ
ml
ρ
ml
= arg min
ρ
"
x
i
S
ml
L(y
i
,F
m1
(x
i
)+ρh(x
i
, α
m
)) (16.64)
由于对任意的x
i
S
ml
,都有h(x
i
, α
m
)=h
ml
,可知:
γ
ml
= ρ
ml
h
ml
= arg min
γ
"
x
i
S
ml
L(y
i
,F
m1
(x
i
)+γ) (16.65)
更新预测模型:
F
m
(x)=F
m1
(x)+
L
"
l=1
γ
ml
I(x S
ml
) (16.66)
GBDT算法与随机森林算法类似,均包含一个决策树集,不同之处在于GBDT使用随机方法创
建决策树随机森林可以并行的方式同时创建多棵树,每棵树相互独立,森林利用多数投票法则确
定预测结果GBDT 累积所有决策树的预测值综合做出预测,每一棵树的创建都依赖于在它之前
生成的决策树预测精度
通常,GBDT包含的决策树有上百棵,单棵决策树都很小假设训练样本的大小是N,经验表
明,2 3时,η = max(0.01, 0.1 × min(1.0,N/10, 000))时表现最
佳。
16.4.3. 缩减
根据缩减(Shrinkage)思想,细化函数逼近的幅度,可以有效地避免过拟合问题对于前向
分步方式构造的加法预测模型,我们可以添加一个缩减因子η(也率,Learning Rate),
改变预测模型的更新幅度:
F
m
(x)=F
m1
+ ηρ
m
h(x; α
m
) (16.67)
其中,0 < η 1,通常取值在0.010.1之间
一般地,缩减因子会影响算法的最优迭代次数M,缩减因子越小则最优迭代次数增大,反之
亦反
$%"&'#(
156
)!*+",$
16.4. 梯度󰄁升算法
!"#
16.4.4. 随机梯度提升
梯度󰄁升算法诞生不久Friedman[115]借鉴Bagging思想,引入Bootstrap重采样策略,发展
了随机梯度󰄁升算法他󰄁出每次迭代使用无放回的随机抽样方法,在抽取的训练子集上拟合产生
一个基学习器随机梯度󰄁升算法基于不同的训练子集建立不同的弱(基)学习器,增加了模型的
多样性,有益于󰄁升模型性能
假设抽样子集比例是c,则当c =1时,使器,󰄁法;
c<1,通过引入随机性有助于降低过拟合的影响,并且效率更高通常c =0.5,意味着使用
一半的训练集训练基学习器
16.2. 假设我们现在利用商品房的三个特征:住房面积(连续变量)位置(二元变量,是否在内
环)类型(二元变量,是否学区房)预测上海房价,使用GBDT构建如图16.2所示的四棵决策树模
型,每决策树只进行一次分裂,度为一,即决策树桩Decision Stump)。
16.2: 商品房价格预测模型
模型会赋予它一个初值(例子中初值设定为上海普通商品房价的均值150万),然后遍历每一棵决策
树,每经过一棵树,都会对预测值进行调整修正,得到最后的预测结果:
F (x)=F
0
(x)+
M
"
m=1
β
m
h
m
(x) (16.68)
比如,一个面积为120平米的内环非学区房,模型预测价格为:150 + 20 10 + 30 10 = 180万。
$%"&'#(
157
)!*+",$
搜索与排名 Searching and Ranking
!"#
16.4.5. 排名问题
[118][119]使用逐点型排序学习方法,同序对型序列型排序学习方法相比毫不逊色
[118]在模型组合时引入序列型方法,取得不错的性能[119]融合随机森林与GBDT的优点,使用
随机森林模型初始化GBDT,不仅节省模型训练的时,而且表现优于随机森林与GBDT算法
机森林给了GBRT一个接近收敛的起始点,即使步长较小,也能很快结束迭代
$%"&'#(
158
)!*+",$
第十七章 聚类分析
聚类分析是人类活动的一个重要内容,也是人类认知发展必然经历的一个过程人类从孩童时
期就在不断地完善潜意识下的分类模式,并逐渐掌握识别不同物理事物和抽象概念,如猫和狗
物和植欢乐和痛苦等所谓“物以类聚人以群分”聚类是一个通过相似性关系划分抽象概
和物理对象的认知过程,有利于从复杂的信息结构中识别出规律性的数据分布特征,从而方便构建
不同属性间的潜在关联聚类分析是数据挖掘研究中一个非常活跃的研究课题,它不依赖人工标记
数据揭示出数据内在关联与特征,已经成为机器学习生物信息处理和市场分析等领域一个不可或
缺的工具
假设原始数据集X = {x
i
}
n
i=1
x
i
R
m
,聚类分析的目标是根据相似性关系将数据集划分
K个彼此不相交的子集(类簇或组)记作C = {c
i
}
K
i=1
,则有
K
B
i=1
c
i
= X, c
s
c
t
= , s ̸= t =1, 2,...,K.
17.1 K-MeansK-Medoids
K-Means算法从给定的K个初始簇心根据数据点同簇心之间的距离,构造出K个簇类一般
地,K-Means算法是以迭代方式进行,在上一次构造的簇类上利用每个簇内所有数据点的均值选择
新的簇心K-Medoids算法与K-Means算法类似,不同之处在每次选取的质心,前者选中的必须是
簇中的点
17.2 谱聚类
传统聚类算法,如K-Means算法和K-Medoids算法,大多适用于凸球状样本空间,如果样本空
间不是凸球状,则算法容易陷入局部最优为了能够在任意形状的样本空间上做聚类分析,并使得
聚类结果收敛于全局最优,研究人员设计出一种基于谱图分割Spectral Graph Partition)的聚类
算法:谱聚类Spectral Clustering谱聚类算法以数据点为顶点,根据数据间的相似度连接数据
顶点,构造一个无向加权图G =(V,E),将聚类问题转化为谱图分割问题在具体讨论谱聚类算法
之前,我们先熟悉一下谱图分割算法及相关矩阵理论
159
搜索与排名 Searching and Ranking
!"#
谱聚类算法计算出原始数据集X上的似度阵(也亲和阵)A R
n×n
,根据一定的
接规则确定连接数据点的边,由此构造出含有n个顶点的无向加权图G =(V,E),最终根据󰔁种的
划分准则,可实现对n个数据顶点的聚类或分组
谱聚算法用的接规有三种,对应可以造出种不的连图:全连接图ε
邻图K近邻图,每一种连接图都对应一个边权矩阵W R
n×n
。一W 0w
ij
=0表示节
ij不相似,两个节点没有直接的连接通路通常数据相似度的选择依赖于数据空间的形状
比如凸球形的数据样本空间可以使用欧式距离定义相似性,对于非凸球形的样本空间最常见的是
高斯核函数定义的相似性度量
如果直接使用数据相似度作为边的权值
w
ij
= a
ij
, 1 i, j n,
我们可以构造出数据集X上的一个全连接图
如果给定ε > 0,并定义边的权值
w
ij
=
a
ij
,a
ij
ε,
0,a
ij
< ε,
我们可以构造出数据集X上的一个ε近邻图
如果选定K值,连接各顶点的K个最近邻顶点,我们可以构造出X上的一个K近邻图
我们下面从矩阵谱分析的角度分析谱聚类的理论基础,并在后续小节从图的划分角度分析它,
建立谱聚类和矩阵论谱图分割之间的紧密关系
17.2.1. 谱分析
假设A R
n×n
是图G上顶点相似度矩阵,我们可以通过三种方法连接顶点,并构造对应图上
边的权值矩阵W R
n×n
。利
Degree对于顶点x
i
,其连通度定义为所有连接它和近邻顶点的边的权值之和,记作d
i
,则有
d
i
=
n
"
j=1
w
ij
,D= diag(d
1
,...,d
n
) R
n×n
. (17.1)
我们基于此构建三种类型的拉普拉斯矩阵(Graph Laplacian Matrix),
斯矩阵L标准化对称的拉普拉斯矩阵L
sym
和标准化随机游走的拉普拉斯矩阵L
rw
L = D W, (17.2)
L
sym
= D
1/2
LD
1/2
= I D
1/2
WD
1/2
, (17.3)
L
rw
= D
1
L = I D
1
W. (17.4)
由于拉普拉斯矩阵具有一些重要的基本性质,我们可以建立起矩阵谱系统和数据聚类的密切关联
$%"&'#(
160
)!*+",$
17.2. 谱聚类
!"#
命题17.1. 非标准化拉普拉斯矩阵L = D W R
n×n
是对称的半正定矩阵,对任意f R
n
都有
f
T
Lf =
1
2
"
1i,jn
w
ij
(f
i
f
j
)
2
.
它有n个非负实数特征值λ
1
λ
2
··· λ
n
,并且最小特征值λ
1
=0而其对应特征向量为1
命题17.2. 假设G是一个无向图,边的权值非负,则矩阵L的零特征值的重数(MultiplicityK
G上独立连通子图的数目相同如果记独立连通子图为{G
1
,...,G
K
},则零特征值对应的特征向
量空间可由指标向量集{1
G
1
,...,1
G
K
}张成(Span)。
通过矩阵L的特征系统,利用其所有零特征值及对应特征向量可以直接将原始数据精确分组
一般地,原始数据存在大量的噪声干扰,非标准化的谱聚类算法计算拉普拉斯矩阵L 的特征系统,
固定或适应性地通过一个特征值阈值,选择出最小的K个特征值{λ
1
,...,λ
K
},利用对应特征向
{α
1
,...,α
K
} 将原始数据映射到一个低维空间
z
i
=(α
1i
, α
2i
,...,α
Ki
)
T
R
K
, 1 i n
在此低维数据集上运行K-Means聚类算法,对原始数据进行高效的近似分割谱聚类算法存在一个
明显的优势,它实际上不需显性的原始数据(维度不同或彼此异构),仅仅依赖于顶点之间的相似
性关系,比其他聚类算法适用范围更广也更健壮
17.2.2. 谱图分割
目前,研究人员已经󰄁出多种谱图分割方法,如最小割Minimum Cut)、 Ratio
Cut)、 Normalized Cut)等个(Two-Way)或多
K-Way)子图我们将在后续章节逐一介绍它们
假设图G可以被切割为K个彼此不相交的子图,分割准则是最小化被割边的权值之和,则有:
Cut(c
1
,...,c
K
)=
1
2
K
"
i=1
W (c
i
, ¯c
i
), (17.5)
其中,¯c
i
表示c
i
的补集,W (c
i
, ¯c
i
)c
i
¯c
i
间所有边的权值之和由于最小割得到的子图分布可能极
不均匀,出现部分子图为孤立点,其他子图所含数据点又太多为此有人在最小割的基础上,󰄁出
改进的比率割:
RatioCut(c
1
,...,c
K
)=
1
2
K
"
i=1
W (c
i
, ¯c
i
)
|c
i
|
=
K
"
i=1
Cut(c
i
, ¯c
i
)
|c
i
|
, (17.6)
以及标准割:
NCut(c
1
,...,c
K
)=
1
2
K
"
i=1
W (c
i
, ¯c
i
)
vol(c
i
)
=
K
"
i=1
Cut(c
i
, ¯c
i
)
vol(c
i
)
, (17.7)
其中|c|表示c中所含顶点数目,vol(c)=
(
ic
d
i
表示c的容量
$%"&'#(
161
)!*+",$
搜索与排名 Searching and Ranking
!"#
17.3 密度峰值聚类
2014年,国际
Alessandro Laio教授的课题组󰄁出一种基于密度峰值的高
效聚类算法 [1],思想简明但效率和效果都很显著它无需预先指定类簇数目,自动聚类时还能检
测出异常点,一度成为年度聚类分析的热门话题密度峰值聚类引入样本局部密度的概念,使得
个类簇都是一个局部密度高地,而每个中心点都对应其类簇高地上的密度峰值,并为其近邻所环绕
左右,故名密度峰值聚类算法
17.1: 密度峰值聚类决策图 [1]
密度峰值聚类算法依赖于两个指标:局部密度ρ数据点与高密度近邻的最短距离δ,后者依赖
于前者以自动筛选类簇中心点根据密度峰值聚类算法,数据点x
i
的局部密度定义如下:
ρ
i
=
n
"
j=1
χ(d
ij
,d
c
), 1 i n, (17.8)
其中d
c
> 0是用户指定的截断距离d
ij
x
i
x
j
的空间距离χ(·)是一个密度函数一般地,距
x
i
越近,对其密度的贡献越大,比如χ(d
ij
,d
c
)=e
d
ij
/d
c
。如χ(d
ij
,d
c
)=I(d
ij
<d
c
),则x
i
密度就是所有距离它在d
c
范围内的近邻数目,计算密度时d
c
范围外的点完全不予考虑
密度峰值聚类算法将类簇内普通数据点视为其类簇中心点的随众,密度上低于中心点的局部密
度,距离上相对其他高密度数据点中心数据点距离最近,每个类簇都是紧密围绕中心点而成的一个
局部密度高地一般地,聚类的显著特征是类簇内部紧密相联,而类簇之间则彼此分隔此外,算
法还引入数据点与高密度近邻的最短距离
δ
i
=min
ρ
i
<ρ
j
d
ij
, (17.9)
意大利国际高等研究院(it. Scuola Internazionale Superiore di Studi Avanzati, en. International School for Advanced Studies)创立
1978年,坐于意大利北部市里雅斯特(Trieste)。
只在数学物理及神经科学几个领域开展研究与教学,数学与神经科学在意大利排名第一,物理学排名第二,著名的国际理论物理中心就
坐落在其校园内,声誉可与比萨高等师范学院(it. Scuola Normale Superiore di Pisa, en. Advanced Normal School of Pisa)并肩
$%"&'#(
162
)!*+",$
17.3. 密度峰值聚类
!"#
并对局部密度最大的数据点ρ
i
= max
1jn
ρ
j
,定义其高密度最短距离
δ
i
= max
1jn
d
ij
. (17.10)
如果以密度高密度最短距离分别作横轴与纵轴,构建一个二维指标面板,则在面板右上角位置的
点:密度高并且最短距离大,对应类簇的中心点由此,指标面板可直接用作从数据集自动分离出
类簇中心,实现自动分组的决策图Decision Graph), 17.1。右5个点对应
五个类簇中心,其他点可依据各自高密度最近邻进行分组从图17.117.2可知密度峰值聚类算法
性能优良聚类准确此外,密度峰值算法在分组时也存在一定的层次性,隐含不同类簇之间的蕴
含关系,可以说它也是一个有效的分层聚类方法Hierarchical Clustering Method)。
17.2: 经典人工数据集(上)与Olivetti人脸数据集(下)上密度峰值算法的性能 [1]
聚类算法在对不同数据分组时,可能存在可信度上的差异:有些可信度高,部分可信度差,后
者很有可能就是异常点为了能够从数据集中探测异常点,密度峰值聚类设法确定类簇间的模糊
Border), d
c
范围之内在确立类
簇边界后,密度峰值聚类算法以边界上最高局部密度ρ
c
作为检测异常点的阈值,当数据点的局部密
度高于ρ
c
,则认为此数据点的分组可信度高,称作聚类核心(Cluster Core)点,否则其可信度
疑,可以认定为聚类光晕(Cluster Halo)点,即异常点
$%"&'#(
163
)!*+",$
第十八章 统计模型
18.1 EM算法
EMExpectation Maximization)算法是一种对缺失数据或者带有隐含变量的统计模型进行
最大似然估计或最大后验估计的数值迭代算法[120]。本EM算法基本思想,并用它估计
混合高斯模型的参数
假设随机变量X的参数空间为θ,则其的似然函数可表示为P (X; θ),根据最大似然估计法,我
们可以通过最大化P (X|θ)解出参数的似然估计值,等价地可以最大化其对数值:
max
θΘ
L(θ) = log P (X; θ). (18.1)
EM算法通过迭代的方式最大化对数似然函数,设当前参数估计值为θ
n
,则最大化对数似然函数
等价于解下面形式的目标函数:
max
θΘ
L(θ) L(θ
n
) = log P (X; θ) log P (X; θ
n
). (18.2)
引入隐含变量Z,利用全概率公式P (X; θ)=
(
z
P (X|z; θ)P (z; θ)展开L(θ) L(θ
n
),则有等式
L(θ) L(θ
n
) = log
(
z
P (X|z; θ)P (z; θ) log P (X; θ
n
)
= log
(
z
P (X|z; θ)P (z; θ)
P (z|X;θ
n
)
P (z|X;θ
n
)
log P (X; θ
n
),
(18.3)
(
z
P (z|X; θ
n
)=1与对数函数的凸性可知
L(θ) L(θ
n
)
"
z
P (z|X; θ
n
) log
P (X|z; θ)P (z; θ)
P (z|X; θ
n
)
log P (X; θ
n
) (18.4)
=
"
z
P (z|X; θ
n
) log
P (X|z; θ)P (z; θ)
P (z|X; θ
n
)P (X; θ
n
)
(18.5)
! Q(θ, θ
n
) U(θ
n
) (18.6)
其中,
Q(θ, θ
n
)=
"
z
P (z|X; θ
n
) log
#
P (X|z; θ)P (z; θ)
$
, (18.7)
U(θ
n
)=
"
z
P (z|X; θ
n
) log
#
P (z|X; θ
n
)P (X; θ
n
)
$
. (18.8)
165
搜索与排名 Searching and Ranking
!"#
最大化L(θ)可以通过其最大化L(θ) L(θ
n
)的一个下界近似趋近既然U(θ
n
)θ完全无关,则等价
于最大化Q(θ, θ
n
)
max
θΘ
"
z
P (z|X; θ
n
) log P (X, z; θ)=
"
z
E
z|X;θ
n
log P (X, z ; θ). (18.9)
至此,我们导出EM算法每次迭代所经历的两个基本步骤:
E步骤E
z|X;θ
n
log P (X, z ; θ)
M步骤max
θΘ
E
z|X;θ
n
log P (X, z ; θ)
18.1.1. 高斯混合模型
高斯混合模型Gaussian Mixtu re ModelGMM),
混合模型Λ每个成员都是一个高斯模型,给定数据集X = {x
1
,x
2
,...,x
n
},我们可以使用最大似
估计法估计模型的参数假设数据集X所有样本独立同分布,可以构建对数似然函数
L(X; Λ)=
"
i
log p(x
i
; Λ), (18.10)
其中,x
i
R
d
,i=1, 2,...,n
混合模型是一个黑盒,我们的目标是剖解其结构,并利用EM算法估计各个成员参数现在引
入隐含随机变量Z,并根据全概率公式
p(x
i
; Λ,p(z),z Z)=
"
z
p(z)p(x
i
|z; Λ) (18.11)
改写对数似然函数
L(X; θ)=
"
i
log p(x
i
; θ)=
"
i
log
%
"
z
p(z)p(x
i
|z; Λ)
&
. (18.12)
其中,
Λ = {µ
z
, Σ
z
,z Z}
z
R
d
, Σ
z
R
d×d
是混合模型中各个成员的均值向量与协方差矩阵,并且依赖于隐含随机变量Z,成员数目对应Z
容量新引入的概率分布p(z),z Z表示各个成员在混合模型中的权重,且满足具有下面两个基本
性质:
0 <p(z) < 1,
"
z
p(z)=1. (18.13)
参数θ对参数Λp(z),z Z的组合定义:
θ = {µ
z
, Σ
z
,p(z),z Z}.
根据混合模型的定义可知x|z; Λ N (µ
z
, Σ
z
),则随机变量x|z; Λ对应的概率密度函数为
p(x|z; Λ)=
1
(2π)
d/2
|Σ
z
|
1/2
exp
C
1
2
(x µ
z
)
T
Σ
1
z
(x µ
z
)
D
. (18.14)
$%"&'#(
166
)!*+",$
18.1. EM算法
!"#
假设混合模型的最大似然估计为
ˆ
θ
MLE
,则有
ˆ
θ
MLE
= arg max
θΘ
L(X; θ) = arg max
θΘ
"
i
log
%
"
z
p(z)p(x
i
|z; Λ)
&
. (18.15)
我们下面利用已知约束条件
0 <p(z) < 1,
"
z
p(z)=1,
确定对数似然函数极值所对应的最优参数
ˆ
Λˆp(z),z Z。由p(z)相关,而参
Λ又不依赖于p(z),故此可直接通过对数似然函数关于参数Λ的偏导解出对应的
ˆ
Λ。当
优的p(z),则相对复杂一些,要通过拉格朗日乘子法搜索
我们现在利用拉格朗日乘子法搜索最优的p(z),z Z:引入拉格朗日乘子λ > 0,构造拉格朗
日函数
L = L(X; θ) λ(
"
z
p(z) 1). (18.16)
然后求关于λp(z)的偏导,并令它们为零,可以得到方程组
L /∂λ =1
(
z
p(z)=0,
L /p(z)=
L(X;θ)
p(z)
λ =0,z Z.
(18.17)
在具体展开对数似然函数关于p(z)的偏导之前,可以看出:
L(X; θ)
∂θ
=
"
i
1
p(x
i
; θ)
p(x
i
; θ)
∂θ
, (18.18)
再根据全概率公式
p(x
i
; θ)=
"
z
p(z)p(x
i
|z; Λ),
我们可以推导p(x
i
; θ)关于p(z)的偏导:
p(x
i
; θ)
p (z)
= p(x
i
|z; Λ), (18.19)
将其代入式子(18.18)可知
L ( X; θ)
p ( z)
=
"
i
p(x
i
|z; Λ)
p(x
i
; θ)
=
"
i
p(x
i
|z; Λ)p(z)
p(x
i
; θ)
1
p(z)
=
1
p(z)
"
i
p(z|x
i
; Λ),
再将其代入方程组(18.17),可以推得
ˆp(z)=
(
i
p(z|x
i
; Λ)
(
z
(
i
p(z|x
i
; Λ)
=
(
i
p(z|x
i
; Λ)
(
i
(
z
p(z|x
i
; Λ)
=
1
n
"
i
p(z|x
i
; Λ). (18.20)
我们继续从式子(18.18)和全概率公式(18.11)出发,推导p(x
i
; Λ)关于Λ的偏导:
L(X; θ)
Λ
=
"
i
p(z)p(x
i
|z; Λ)
p(x
i
; θ)
log p (x
i
|z; Λ)
Λ
=
"
i
p(z|x
i
; Λ)
log p(x
i
|z; Λ)
Λ
. (18.21)
$%"&'#(
167
)!*+",$
搜索与排名 Searching and Ranking
!"#
根据变量x
i
|z; Λ的概率密度函数,及其对数形式
log p(x
i
|z; Λ)=
d
2
log(2π)
1
2
log |Σ
z
|
1
2
(x
i
µ
z
)
T
Σ
1
z
(x
i
µ
z
),
其中协方差矩阵
Σ
z
是非奇异对称实矩阵,我们可以推导出
log
p
(
x
i
|
z
; Λ)
关于均值向量
µ
z
和协方差矩
Σ
z
的偏导函数:
log p (x
i
|z; Λ)
µ
z
= Σ
1
z
(x
i
µ
z
)
将其代入等式(18.21),再根据极值条件有:
L(X; θ)
µ
z
=
"
i
p(z|x
i
; Λ)Σ
1
z
(x
i
µ
z
)=Σ
1
z
"
i
p(z|x
i
; Λ)(x
i
µ
z
)=0,
从而解出最优解
ˆµ
z
=
(
i
p(z|x
i
; Λ)x
i
(
i
p(z|x
i
; Λ)
. (18.22)
下面我们继续推导log p(x
i
|z; Λ)关于协方差矩阵Σ
z
的偏导函数:
log p( x
i
|z; Λ)
Σ
z
=
1
2
%
log | Σ
z
|
Σ
z
+
(x
i
µ
z
)
T
Σ
1
z
(x
i
µ
z
)
Σ
z
&
!
1
2
#
V
1
(Σ
z
)+V
2
(Σ
z
)
$
(18.23)
等式右侧第一部分V
1
(Σ
z
) R是关于可逆矩阵的行列式求导,第二部分V
2
(Σ
z
) R则涉及到矩阵迹
的求导在具体展开之前,我们先来看看矩阵求导的相关性质:
log | A|
A
=
*
A
1
+
T
, |A| > 0 (18.24)
tr(ABC)=tr(BC A)=tr(CAB) , ABC R (18.25)
A
1
B
A
=
*
A
1
+
T
B
*
A
1
+
T
, |A| > 0 (18.26)
利用这些性质,我们可以求V
1
(Σ
z
)V
2
(Σ
z
)关于Σ
z
的偏导函数:
V
1
(Σ
z
)
Σ
z
=
*
Σ
1
z
+
T
(18.27)
V
2
(Σ
z
)
Σ
z
=
tr
E
Σ
1
z
(x
i
µ
z
)(x
i
µ
z
)
T
F
Σ
z
(18.28)
=
*
Σ
1
z
+
T
(x
i
µ
z
)(x
i
µ
z
)
T
*
Σ
1
z
+
T
(18.29)
同时代入式子(18.23)(18.21),再根据极值条件有:
L ( X; θ)
Σ
z
=
1
2
"
i
p(z|x
i
; Λ)
%
*
Σ
1
z
+
T
*
Σ
1
z
+
T
(x
i
µ
z
)(x
i
µ
z
)
T
*
Σ
1
z
+
T
&
=0,
从而解出最优解
ˆ
Σ
z
=
(
i
p(z|x
i
; Λ)(x
i
µ
z
)(x
i
µ
z
)
T
(
i
p(z|x
i
; Λ)
. (18.30)
$%"&'#(
168
)!*+",$
18.2. 概率隐语义分析
!"#
综上可知最优解
ˆp(z)=
1
n
"
i
p(z|x
i
; Λ) (18.31)
ˆµ
z
=
(
i
p(z|x
i
; Λ)x
i
(
i
p(z|x
i
; Λ)
(18.32)
ˆ
Σ
z
=
(
i
p(z|x
i
; Λ)(x
i
µ
z
)(x
i
µ
z
)
T
(
i
p(z|x
i
; Λ)
(18.33)
都与p(z|x
i
; Λ)紧密相关,而根据贝叶斯定理又有
p(z|x
i
; Λ)=
p(z)p(x
i
|z; Λ)
p(x
i
; θ)
=
p(z)p(x
i
|z; Λ)
(
z
p(z)p(x
i
|z; Λ)
,
其中
p(x
i
|z; Λ)=
1
(2π)
d/2
|Σ
z
|
1/2
exp
C
1
2
(x
i
µ
z
)
T
Σ
1
z
(x
i
µ
z
)
D
,
可见参数最优解又决定了p(z|x
i
; Λ),彼此相互依赖EM算法通过循环交替地使用E步骤M步骤
算出最优解
EM算法引入的隐含随机变量在不同应用情景下具有不同的含义,比如聚类分析问题中的类别
属性词性分析问题中的单词词性等
18.2 概率隐语义分析
18.3 隐含狄利克雷分布
18.4 最大熵模型
最大熵模型Maximum Entropy Model, MaxEnt)与马尔科夫模型(Hidden Markov
Model, HMM[121]语言理(如性标文分句子识别浅层句法
文本分类等[122])和语音识别问题中得到广泛应用的两种统计模本节主要介绍最大熵模型,
下一节重点介绍隐马尔科夫模型
18.4.1. 最大熵原理
1957年,物理学家Edwin Thompson Jaynes[123, 124]最早阐述了最大熵原理
Information theory provides a constructive criterion for setting up probability distributions on
the basis of partial knowledge, and leads to a type of statistical inference which is called the
maximum entropy estimate. It is least biased estimate possible on the given information; i.e., it
is maximally noncommittal with regard to missing information.
$%"&'#(
169
)!*+",$
搜索与排名 Searching and Ranking
!"#
最大熵原理是概率模型学习的一个准则,它对未知事物不做任何主观假设,在预测一个随机事
件的概率分布时,在满足所有已知约束条件下,对未知情况不含任何主观偏见的结果是满足均匀概
率分布,此时概率分布的信息熵做大,预测的风险也最小根据最大熵原理推导的模型称作“最大
熵模型”比如投资学中“不要把所有的鸡蛋都放在一个篮子里”就是一种典型的最大熵策略:当
出现不确定性时,就要保留各种可能性
最大熵模型在形式上是最漂亮的统计模型,在实现上却是最复杂的模型之一至今天为
止,有效实现快速算法 第一个解化算法是1972John
DarrochDouglas Ratcliff联合󰄁出的广义迭代尺度算法Generalized Iterative Scaling, GIS
[125]1989年, Imre Csiszar 从几何学角度详细分
析最大熵模型[126],并明“对一组的信息,最大型不在,并以指数的
在” GIS迭代算法效率低复杂度高稳定性差,在实际应用中鲜有人使用它
1997年,Della Pietra等人󰄁出一种改进的迭代尺度算法IIS Improved Iterative Scaling[127]
将最大熵模型训练所需时间降低了一两个数量级,成为当前最常用的最大熵模型优化算法后来
Della Pietra兄弟二人离开IBM,退出学术圈转战金融界大显身手,加入当时籍籍无名的文艺复兴
技术公司(Renaissance Technologies文艺复兴公司是数学家James Simons1982年创立,已经
发展为当今世界最成功的一家对冲基金公司在金融市场,决定股票价格的因素成千上万,而最
大熵方法正是立能够同时满足所有不条件的模型,文艺复兴技术公的科学家们(包Della
Pietra兄弟)使用最大熵方法和其他先进的数学工具,建立量化的股票价格预测模型,获得巨大
成功1982年基金创立至今资产规模已经达到三百多亿美元,其净回报率高达平均每年34%,远
超股神巴菲特的旗舰公司――伯克希尔·哈撒韦公司(Berkshire Hathaway[128]
信息论󰄁供了一种基于部分知识建立概率分布的构造性准则,由此而产生了一类统计推断
Statistical Inference)方法
,即最大熵估计基于给定信息进行估计的所有方法,最大熵估
计属于最无偏见的一种,它对缺失的信息保留了最大的灵活性和不确定性[129]
根据最大熵原理,概率模型必须满足所有由已知事实构成的约束条件,并且在没有更多信息的
条件下,其他不确定或未知的事件都是“等可能地发生”,而等可能的概率模型对应的熵最大
们下面使用一个简单的实例介绍最大熵原理
18.1. 假设随机投掷骰子出现的点数X,则{1, 2,...,6}。对
验, P (X = 1),P(X = 2),...,P(X = 6)。如
于骰子的信息,根据最大熵对其点数出现的概率分布进行估计,则各个点数出现的概率相
P (X = i)=1/6,i =1, 2,...,6。如16的概率之和等于1/2,即概
率分布的约束条件有两个:
P (X = 1) + P (X = 6) = 1/2,P(X = 2) + P (X = 3) + P (X = 4) + P (X = 5) = 1/2.
统计推断方法是根据带随机性的观测数据(样本)以及问题的条件和假定(模型),而对未知事物作出的,以概率形式表述的推断
是数理统计学的主要任务,其理论和方法构成数理统计学的主要内容
$%"&'#(
170
)!*+",$
18.4. 最大熵模型
!"#
满足两个约束条件的概率分布有无穷多个,根据最大熵原理,可以认为出现点数1和点数6的概率是
相等的,出现其他点数彼此也是等概率事件,即
P (X = 1) = P (X = 6) = 1/4,P(X = 2) = P (X = 3) = P (X = 4) = P (X = 5) = 1/8.
18.4.2. 最大熵模型
假设分类模型是一个条件概率分布P (Y |X),给定训练数据集{(x
1
,y
1
), (x
2
,y
2
),...,(x
N
,y
N
)}
我们学习的目标是根据最大熵原理选择最佳的分类模型从训练数据集,我们可以确定联合概率分
P (X, Y )的经验概率分布
˜
P (X, Y )边际概率分布P (X)的经验概率分布
˜
P (X),则有
˜
P (x, y)=
1
N
C(x, y)
˜
P (x)=
1
N
C(x)
其中,C(x, y)表示训练数据集中样本(x, y)出现的频数,C(x) 表示训练数据集中输入x出现的频数
N表示训练样本容量
为刻画已知事实,最大熵模型定义输入x与输出y的二值特征函数f(x, y):当输入x与输出y
间存在󰔁一事实关系,则f(x, y) 取值1,否则取值0,其数学定义为
f(x, y)=
1,xy存在󰔁一事实,
0, 否则.
如果给定训练数据集,则特征函数f(x, y)在训练集上的期望值E
˜
P
(f)定义如下:
E
˜
P
(f)=
"
x,y
˜
P (x, y)f(x, y)
其中
˜
P (x, y)是样本(x, y)在数据集中的经验分布,可根据样本(x, y)在训练集上的频数进行计算
如果我们能够从数据集训练得到概率模型P (y|x),则特征函数关于此概率模型的期望E
P
(f)可写
作:
E
P
(f)=
"
x,y
P (x, y)f(x, y)=
"
x,y
P (x)P (y|x)f (x, y)=
"
x,y
˜
P (x)P (y|x)f (x, y)
其中
˜
P (x)是样本输入x在数据集中的经验分布,与
˜
P (x, y)类似,可以从训练集中统计出相应频
数并计算得到我们对于输入真实的先验分布P (x)并不关心,从而直接使用数据集上的经验分
˜
P (x)代替如果概率模型能够充分刻画训练数据的所有信息,则可以认为特征函数的两种期望
相等,即有
E
P
(f)=E
˜
P
(f). (18.34)
假设存在n个特征函数f
i
(x, y),i =1, 2,...,n,刻画输入x与输出yn种事实关系,它们就构成n
约束条件
$%"&'#(
171
)!*+",$
搜索与排名 Searching and Ranking
!"#
定义18.1 (最大熵模型). 假设满足所有约束条件的概率模型集合为
P = {P |E
P
(f
i
)=E
˜
P
(f
i
),i=1, 2,...,n}, (18.35)
则模型集合中条件熵
H(P )=
"
x
P (x)
E
"
y
P (y|x) log P (y|x)
F
=
"
x,y
˜
P (x)P (y|x) log P (y|x), (18.36)
最大的模型称作最最大大熵熵模模型
最大熵模型是如下带约束最优化问题
max H(P )=
(
x,y
˜
P (x)P (y|x) log P (y|x)
s.t. E
P
(f
i
)=E
˜
P
(f
i
),i=1, 2,...,n,
(
y
P (y| x)=1,
(18.37)
的解,它等价于如下形式的最小化问题:
min H(P )=
(
x,y
˜
P (x)P (y|x) log P (y|x)
s.t. E
˜
P
(f
i
) E
P
(f
i
)=0,i=1, 2,...,n,
(
y
P (y| x)=1.
(18.38)
我们引入拉格朗日乘子λ
0
, λ
1
, λ
2
,...,λ
n
,定义拉格朗日函数L(P, λ)
L(P, λ)=H(P )+λ
0
*
1
"
y
P (y| x)
+
+
"
i
λ
i
*
E
˜
P
(f
i
) E
P
(f
i
)
+
, (18.39)
将其转化为无约束最优化问题由于函数L(P, λ)P 的凸函数,原始问题min
P P
max
λ
L(P, λ)与对偶问
max
λ
min
P P
L(P, λ)的解等价,我们通过解对偶问题可以得到原始问题的解对拉格朗日函数求关
P (y| x) 的偏导,并令其为0,则有
L(P, λ)
P (y|x)
=
˜
P (x)
#
1 + log P (y |x)
$
λ
0
˜
P (x)
"
i
λ
i
f
i
(x, y)=0, (18.40)
由于
˜
P (x) > 0,两边同除以
˜
P (x),经过整理可得:
P (y| x)=exp
E
"
i
λ
i
f
i
(x, y)+
λ
0
˜
P (x)
1
F
, (18.41)
根据
(
y
P (y|x)=1,可对其归一化处理,可得最大熵模型:
P
λ
(y|x)=exp
E
"
i
λ
i
f
i
(x, y)
F
1
Z
λ
(x)
, (18.42)
其中,Z
λ
(x)是归一化因子:
Z
λ
(x)=
"
y
exp
E
"
i
λ
i
f
i
(x, y)
F
. (18.43)
$%"&'#(
172
)!*+",$
18.4. 最大熵模型
!"#
根据对偶理论,将最优概率模型P
λ
(y|x)带入拉格朗日函数,最大化目标函数
L(λ)=
(
x,y
˜
P (x)P
λ
(y|x) log P
λ
(y|x)+
(
i
λ
i
(
x,y
E
˜
P (x, y)
˜
P (x)P
λ
(y|x)
F
f
i
(x, y)
=
(
x,y
˜
P (x, y)
(
i
λ
i
f
i
(x, y)
(
x
˜
P (x) log Z
λ
(x),
(18.44)
以确定最优模型参数λ
。由L(λ)是光滑凸函数,大多数优化算法,如梯度下降法牛顿法
拟牛顿法改进的迭代尺度(Improved Iterative Scaling, IIS)算法均适用,并搜索L(λ)的全局
最优解我们下面介绍基于改进的迭代尺度算法搜索最大熵模型参数
18.4.3. 参数优化- IIS算法
IIS算法通过迭代的方法搜索最优模型参数,假设当前参数向量为λ =(λ
1
, λ
2
,...,λ
n
)
T
,只
要在下次迭代时搜索到一个新的参数向量λ + δ =(λ
1
+ δ
1
, λ
2
+ δ
2
,...,λ
n
+ δ
n
)
T
,使得目标函
L(λ)增大,依此不断更新参数,最终可以确定最优参数向量当参数从λ更新至λ + δ,目标函
L(λ)的变化量L(δ|λ)=L(λ + δ) L(λ)
L(δ|λ)=
(
x,y
˜
P (x, y)
(
i
δ
i
f
i
(x, y)
(
x
˜
P (x)
E
log Z
λ+δ
(x) log Z
λ
(x)
F
=
(
x,y
˜
P (x, y)
(
i
δ
i
f
i
(x, y)
(
x
˜
P (x) log
Z
λ+δ
(x)
Z
λ
(x)
.
(18.45)
根据不等式log α 1 α, α > 0,则有
L(δ|λ)
(
x,y
˜
P (x, y)
(
i
δ
i
f
i
(x, y)+
(
x
˜
P (x)(1
Z
λ+δ
(x)
Z
λ
(x)
)
=
(
x,y
˜
P (x, y)
(
i
δ
i
f
i
(x, y)+1
(
x
˜
P (x)
(
y
P
λ
(y|x)exp
E
(
i
δ
i
f
i
(x, y)
F
! A(δ|λ),
(18.46)
并确定目标函数变化量的一个下界A(δ|λ)。如使
L(δ|λ)循此路径自然也会增加A(δ|λ)表达式中含有参数δ
i
的加和指数项,彼此相互依赖,
不易同步更新所有维度的参数我们改写下界函数A(δ| λ)
A(δ|λ)=
"
x,y
˜
P (x, y)
"
i
δ
i
f
i
(x, y)+1
"
x
˜
P (x)
"
y
P
λ
(y|x)exp
E
g(x, y)
"
i
δ
i
f
i
(x, y)
g(x, y)
F
, (18.47)
其中,
g(x, y)=
"
i
f
i
(x, y).
由于
0
f
i
(x, y)
g(x, y)
1,
"
i
f
i
(x, y)
g(x, y)
=1,
根据Jensen不等式
exp
E
"
i
f
i
(x, y)
g(x, y)
δ
i
F
"
i
f
i
(x, y)
g(x, y)
exp δ
i
, (18.48)
$%"&'#(
173
)!*+",$
搜索与排名 Searching and Ranking
!"#
再行放松下界函数A(δ|λ),可以得到它的一个下界
A(δ|λ)
(
x,y
˜
P (x, y)
(
i
δ
i
f
i
(x, y)+1
(
x
˜
P (x)
(
y
P
λ
(y|x)
(
i
f
i
(x,y)
g (x,y)
exp
*
δ
i
g(x, y)
+
! B(δ|λ).
(18.49)
目前,最大化L(λ + δ) L(λ)近似等价于最大化B(δ|λ)的问题,只要对B(δ|λ)取关于δ
i
的导数并令
其为0,可得等式:
B(δ|λ)
∂δ
i
=
"
x,y
˜
P (x, y)f
i
(x, y)
"
x
˜
P (x)
"
y
P
λ
(y|x)
"
i
f
i
(x, y)exp
*
δ
i
g(x, y)
+
=0. (18.50)
如果g(x, y) 是常数,则我们可以确定参数增量的解析解
δ
i
=
1
g(x, y)
log
E
˜
P
(f
i
)
E
P
(f
i
)
=
1
g
log
E
˜
P
(f
i
)
E
P
(f
i
)
,i=1, 2,...,n. (18.51)
如果g(x, y) 不是常数,我们可以使用牛顿法解出等式(18.50)的根δ
i
,由此再更新参数向量λ
λ λ + δ.
最大熵模型与逻辑回归模型形式相似,都属于概率模型,于是统称它们为对数线性模型Log
Linear Model)。
18.4.4. 模型参数最大似然估计
我们下面考察最大熵模型的最大似然估计与对偶模型参数优化之间的关系,并证明两者等价
假设条件概率分布P
λ
(y|x)是最大熵概率模型,我们通过最大化训练数据集上的对数似然函数
L(λ) = log
!
x,y
P
λ
(y|x)
˜
P (x,y)
=
"
x,y
˜
P (x, y) log P
λ
(y|x), (18.52)
确定参数λ的最大似然估计
ˆ
λ = arg max
λ
L(λ)由于
L(λ)=
(
x,y
˜
P (x, y) log P
λ
(y|x)
=
(
x,y
˜
P (x, y)
(
i
λ
i
f
i
(x, y)
(
x,y
˜
P (x, y) log Z
λ
(x)
=
(
x,y
˜
P (x, y)
(
i
λ
i
f
i
(x, y)
(
x
˜
P (x) log Z
λ
(x),
(18.53)
它与式(18.44)完全相同,由此可以证明:最大熵模型参数在训练数据集上的极大似然估计与对偶
题优化等价
18.4.5. 规则化模型
由于通过式(18.44)得到的模型可能出现过拟合,我们给目标函数添加一个正则化项[130],以
控制模型的复杂度
L(λ)=
"
x,y
˜
P (x, y)
"
i
λ
i
f
i
(x, y)
"
x
˜
P (x) log Z
λ
(x)+
1
2σ
2
"
i
λ
2
i
, (18.54)
$%"&'#(
174
)!*+",$
18.5. 隐马尔科夫模型
!"#
其中,σ > 0是正则化因子,添加了正则化项的目标函数是严格的凸函数
18.5 隐马尔科夫模型
隐马尔科夫模型Hidden Markov ModelHMM󰄀述由隐含未知参数的马尔科夫链随机生
成观测序列的过程,属于生成模型(Generative Model
HMM是对马尔科夫模型的一种扩充,
20世纪60年代末70 年代初Leonard Baum等人[131, 132, 133, 134] 的研究工作奠定了HMM的理论
基础70年代,卡内基梅隆大学的James Baker[135]IBMFrederick Jelinek等人[136]将其应用
到语音识别问题后来,计算语言学家用它来处理英语文本的词性标注(Part-of-Speech Tagging,
POST), 在 , HMM已经广泛应用于语音识别自然语言处理生物信息
式识别信息抽取等领域[86]
定义18.2 (马尔科夫链). 假设S是由有限个状态组成的集合,如果随机序列Xt +1时刻所处的状
s
t+1
S只与它在t时刻的状态s
t
S 有关,而与它t时刻之前的所有状态均无关,即满足
P (s
t+1
|s
t
,s
t1
,...)=P (s
t+1
|s
t
),
则称随机序列X构成一阶马马尔尔科科夫夫链链(Markov Chain),
随机机游游走走(Random Walk)路径
假设S = {1, 2,...,n}表示有限个状态索引表,O = {1, 2,...,m}表示有限个观测值或输出符号
索引表X = {x
1
,x
2
,...,x
T
}表示一个长度为T的状态序列Z = {s
1
,s
2
,...,s
T
}为观测序列X
应的潜在状态序列,隐马尔科夫模型可以使用一个三元组Θ =(A, B, π)表示,其中A 表示状态转移
矩阵A =(a
ij
)
n×n
a
ij
= P (s
t+1
= j|s
t
= i), 1 i, j n,
B表示观测值或输出符号的概率分布矩阵B =(b
jk
)
n×m
b
jk
= P (x
t
= k|s
t
= j), 1 j n, 1 k m,
π是初始状态概率分布π =(π
1
, π
2
,...,π
n
)
T
π
i
= P (s
1
= i), 1 i n.
隐马尔科夫模型是一个双重随机过程,一重随机过程无法直接观测,只能通过状态转移矩阵󰄀述
另一重随机过程输出可以观察到的观测值或输出符号,通过输出符号的概率分布矩阵󰄀述实际
上,隐马尔科夫模型假设随机序列满足齐次马尔科夫性观测独立性所谓齐次马尔科夫性表示隐
机器学习模型通常可以划分为判别模型(Discriminative Model)和生成模型在典型的机器学习问题中,常常会给定输入X 和输
Y ,通过寻找X Y 之间的关系进行预测判别模型通过给定X,寻找Y 的规律(如分类器),而生成模型试图确定X Y 同时满足何
种规律从概率的角度来看,判别模型对应着条件概率分布,而生成模型对应于联合概率分布
$%"&'#(
175
)!*+",$
搜索与排名 Searching and Ranking
!"#
马尔科夫链在任意时刻t +1的状态只依赖于前一时刻t的状态,与时刻t、其
态和观测值都无关,即
P (s
t+1
|s
t
)=P (s
t+1
|s
t
,x
t
,s
t1
,x
t1
,...,s
1
,x
1
).
观测独立性假设任意时刻t的观测只依赖于时刻t马尔科夫链的状态,与其他时刻马尔科夫链的观测
值与状态均无关,即
P (x
t
|s
1
,x
1
,...,s
t
,x
t
,s
t+1
,x
t+1
,...)=P (x
t
|s
t
).
题:评估问题 解码问题学习问题。所
指给定模型参数Θ =(A, B, π)观测序列Observation SequenceX = {x
1
,x
2
,...,x
T
},有效
估算出隐马尔科夫模型生成观测序列X的概率P (X; Θ)。解Θ 观测序
Observation SequenceX,搜索最有可能生成观测序列X的隐含状态序列State Sequence
Z = {s
1
,s
2
,...,s
T
}。学使。我
隐马尔科夫模型的原理
18.5.1. 评估问题:Forward-Backward算法
隐马尔科夫模型可以从状态指标集S = {1, 2,...,n}中产生n
T
个长度为T 的潜在状态序
Z = {s
1
,s
2
,...,s
T
},每个潜在的状态序列都可能产生给定的观测序列X = {x
1
,x
2
,...,x
T
}
评估问题在模型参数Θ =(A, B, π)和观测序列X的基础上估算出模型生成观测序列X的概
P (X; Θ),根据全概率公式有
P (X; Θ)=
(
Z
P (X|Z; Θ)P (Z; Θ)
=
(
Z
P (x
1
,x
2
,...,x
T
|s
1
,s
2
,...,s
T
; Θ)P (s
1
,s
2
,...,s
T
; Θ)
=
(
Z
#
P (x
1
|Z; Θ)
T 1
9
i=1
P (x
i+1
|x
1
,...,x
i
,Z; Θ)
$#
P (s
1
; Θ)
T 1
9
i=1
P (s
i+1
|s
1
,...,s
i
; Θ)
$
,
根据隐马尔科夫模型的基本假设可知
P (x
i+1
|Z, x
1
,...,x
i
; Θ)=P (x
i+1
|s
i+1
; Θ),P(s
i+1
|s
1
,...,s
i
; Θ)=P (s
i+1
|s
i
; Θ),
则有
P (X; Θ)=
(
Z
T 1
9
i=1
#
P (x
i
|s
i
; Θ)P (x
i+2
|x
i
; Θ)
$
P (x
T
|s
T
; Θ)P (s
1
; Θ)
=
(
Z
π
s
1
T 1
9
i=1
[a
s
i
,s
i+1
b
s
i
,x
i
]b
s
T
,x
T
.
计算这个概率分布需要(2T 1)n
T
次乘法运算n
T
1次加法运算,计算量相当大如果深入
概率分布P (X; Θ) 的计算公式可以发现,对于每个可能的状态序列Z,都存在很多重复计算
此,Leonard Baum等人改进原始计算方法,在部分观测数据上定义局部概率分布,通过递推的
方式逐步完成对P (X; Θ)计算我们在下文分别介绍两种高效的计算方法:前向算法Forward
Algorithm)和后向算法Backward Algorithm)。
$%"&'#(
176
)!*+",$
18.5. 隐马尔科夫模型
!"#
前向算法利用时刻t之前所有观测数据,定义前向变量α
t
(i)=P (x
1
,x
2
,...,x
t
,s
t
= i; Θ)
它表示给定模型参数Θ,时刻t的状态为s
t
,部分序列观测值x
1
,x
2
,...,x
t
的联合概率显然
α
1
(i)=P (x
1
,s
1
= i; Θ)=π
i
b
i,x
1
,根据基本假设,可以推导出相邻时刻前向变量α
t+1
(i) α
t
(i)
间的关系
α
t+1
(i)=P (x
1
,...,x
t
,x
t+1
,s
t+1
= i; Θ)
=
(
jS
P (x
1
,...,x
t
,s
t
= j, x
t+1
,s
t+1
= i; Θ )
=
(
jS
P (x
t+1
|x
1
,...,x
t
,s
t
= j, s
t+1
= i; Θ ) P (x
1
,...,x
t
,s
t
= i, s
t+1
= j; Θ)
=
(
jS
P (x
t+1
|s
t+1
= i; Θ ) P (s
t+1
= i|x
1
,...,x
t
,s
t
= j; Θ)P (x
1
,...,x
t
,s
t
= j; Θ)
=
(
jS
b
i,x
t+1
P (s
t+1
= i|s
t
= j; Θ)α
t
(j)
=
(
jS
b
i,x
t+1
a
ji
α
t
(j)=
#
(
jS
a
ji
α
t
(j)
$
b
i,x
t+1
,
(18.55)
我们下面利用所有前向变量推导和估算模型生成观测序列X的概率P (X; Θ)
P (X; Θ)=P (x
1
,x
2
,...,x
T
; Θ)
=
(
iS
P (x
1
,x
2
,...,x
T
,s
T
= i; Θ)
=
(
iS
α
T
(i).
(18.56)
估算需要n(n + 1)(T 1) + n次乘法运算,n(n 1)(T 1) + n次加法运算
Algorithm 6 前向算法(Forward Algorithm
Input: 模型参数Θ =(A, B, π),观测序列X = {x
1
,x
2
,...,x
T
}
1. 初始化前向变量α
1
(i)=π
i
b
i,x
1
i S
2. for t =1, 2,...,T 1 do
计算前向变量α
t+1
(i)=
#
(
jS
a
ji
α
t
(j)
$
b
i,x
t+1
,i S.
3. end for
Output: 估算模型生成观测序列X的概率P (X; Θ)=
(
iS
α
T
(i).
后向算法利用时刻t之后的所有观测数据定义后向变量β
t
(i)=P (x
t+1
,x
t+2
,...,x
T
|s
t
=
i; Θ)。它Θ,时刻t的状态为s
t
,部分序列观测值为x
1
,x
2
,...,x
t
的条件概率
任意i S,后向算法初始化时刻T 的后向变量β
T
(i)=1由此可以推导出其他时刻的后向变量
β
t
(i)=
(
jS
P (x
t+1
,x
t+2
,...,x
T
,s
t+1
= j|s
t
= i; Θ)
=
(
jS
P (x
t+2
,...,x
T
|s
t+1
= j, x
t+1
,s
t
= i; Θ)P (s
t+1
= j, x
t+1
|s
t
= i; Θ)
(18.57)
$%"&'#(
177
)!*+",$
搜索与排名 Searching and Ranking
!"#
由于P(s
t+1
= j, x
t+1
|s
t
= i; Θ)=P (x
t+1
|s
t+1
= j, s
t
= i; Θ)P (s
t+1
= j|s
t
= i; Θ),根据基本假设
则有P (x
t+1
|s
t+1
= j, s
t
= i; Θ)=P (x
t+1
|s
t+1
= j; Θ)=b
j,x
t+1
P (s
t+1
= j|s
t
= i; Θ)=a
ij
,所以
β
t
(i)=
"
jS
β
t+1
(j)b
j,x
t+1
a
ij
. (18.58)
我们下面利用所有后向变量推导和估算模型生成观测序列X的概率P (X; Θ)
P (X; Θ)=P (x
1
,x
2
,...,x
T
; Θ)
=
(
iS
P (x
1
,x
2
,...,x
T
,s
1
= i; Θ)
=
(
iS
P (x
2
,...,x
T
|x
1
,s
1
= i; Θ) P (x
1
,s
1
= i; Θ )
=
(
iS
β
1
(i)b
i,x
1
π
i
.
(18.59)
估算需要n(n + 1)(T 1) + 2n次乘法运算,n(n 1)(T 1) + n次加法运算
Algorithm 7 后向算法(Backward Algorithm
Input: 模型参数Θ =(A, B, π),观测序列X = {x
1
,x
2
,...,x
T
}
1. 初始化后向变量β
T
(i)=1i S
2. for t = T 1,T 2,...,1 do
计算后向变量β
t
(i)=
(
jS
β
t+1
(j)b
j,x
t+1
a
ij
,i S.
3. end for
Output: 估算模型生成观测序列X的概率P (X; Θ)=
(
iS
β
1
(i)b
i,x
1
π
i
.
18.5.2. 解码问题:Viterbi算法
18.5.3. 学习问题:Baum-Welch算法
18.6 最大熵马尔科夫模型
最大熵马尔科夫模型Maximum Entropy Markov ModelMEMM), 条件马尔科夫模型
Conditional Markov ModelCMM)是一类判别图模型Discriminative Graphical Model), 主
要应用于自然语言处理,解决词性标记Part-of-speech Tagging, POST信息抽取(Information
Extraction)等问题
$%"&'#(
178
)!*+",$
18.7. 条件随机场
!"#
18.7 条件随机场
定义18.3 (概率无向图模型). 对于联合概率分布P (X),可以通过一个无向图G =(V, E)来表示
则图G中每个结点对应一个随机变量,每条边对应两个随机变量之间的依赖关系如果概率分
P (X) 满足成对局部或全局马尔科夫性,则称其为概概率率无无向向图图模模型型(Probability Undirected
Graphical Model,或马马尔尔科科夫夫随随机机场场(Markov Random Field, MRF
马尔科夫随机场是马尔科夫链在多维空间上扩展,条件随机场(Conditional Random Fields,
CRF)是一判别型无图模对于重叠非独立性特征有良好的容性线性链条
随机场(Linear Chain CRF)是一类殊的CRF,实际上是无向图下的隐马尔科夫模型如果
HMM是序列型朴素贝叶斯模型,线性链CRF就是序列型逻辑回归模型
线性链CRF模型对应条件概率
P (z
1
,...,z
T
|x
1
,...,x
T
)=
1
Z
exp
.
"
t
"
i
λ
i
f
i
(z
t
,z
t+1
,x
1
,...,x
T
,t)
/
,
其中Z是标准化因子f
i
是对应于时刻t的一个特征函数λ
i
f
i
的权重i =1, 2,...。特
确定是CRF的核心工作
条件随机场是无向图上的一类判别模型,受限玻尔兹曼机Restricted Boltzmann Machine)是无向图上的一类生成模型,贝叶斯网
Bayesian Network)是一类有向无环图模型
$%"&'#(
179
)!*+",$
第十九章 集成学习
集成学习(Ensemble Learning), Committee Voting Method),
是一种新型机器学习框架,使用多个(通常是同质的)弱学习器解决同一个问题比如在分类模型
集成学习中,经常使用的弱学习器(分类器)是决策树分类神经网络分类叶斯分类器
K近邻分类器等,许多优秀的算法如AdaBoostGBDT都属于集成学习算法集成学习技术已经在
行星探测地震波分析Web 信息过滤生物特征识别等众多领域得到广泛应用,由于集成学习
可以有效地󰄁高学习系统的泛化能力,已经成为业界研究的热点课题,并被列为机器学习四大研究
方向之首[137, 138]
19.1: 集成学习框架
Thomas Dietterich[139]指出,集成学习有效可以归结于集成模型在统计计算和模型表示三
个方面的优势,认为集成模型能够有效地降低统计误差优化误差和模型误差,那么构造出优良的
集成模型自然水到渠成
1 统计的原因:一个学习算法就是从假设空间H 中寻找最佳的近似模型(假设)然而学习算
法所使用的训练样本相对假设空间毕竟有限,假设空间中可能存在多个在训练集上精度相当
的假设模型,构造集成模型要比选取单个模型更加明智,同时也免除了选择错误模型而带来
181
搜索与排名 Searching and Ranking
!"#
的风险
2 的原因:法通优,通本,即便
差,仍然不易找到全局最优的模型每个假设模型实际上是从不同的初始点,不同的方向对
真实函数的一种近似,集成模型的效果是大大降低单个模型的近似误差
3 表示的原因:在实际应用中,也许假设空间H 中的任何假设都不能表示真实的函数f,那么
通过加权形式集成的模型也就扩展了原始假设空间所表示的范围
在标准的监督学习问题中,给定训练数据集S = {x
i
,y
i
}
n
i
=1
,其中x
i
R
m
是包含m个特征的样
本,y
i
表示样本的标记假设样本特征x同样本标记y之间的真实关系是y = f (x),或者说样本是从
真实未知的分布P (x, f(x)) 中抽样得到
假设当前学习的任务是训练一个分类器h,则分类h就是未知函数f的一个假设监督学习的
目标是从训练数据集中学习出最佳模型h H从而使得损失函数的期望值最小:
h = arg min
gH
E
y,x
L(y, g(x))
由于客观条件的限制,最终训练得到的模型还是会存在下面三种类型的误差(1)统计误差:由
真实函数未知,模型训练使用的训练集只能通过采样构建,并基于它最小化经验风险2)优化误
差:优化损失函数的算法通常确定的是局部最优解,从而产生与全局最优解不一致的误差3)模
误差:学习给定型上,于一概率,型空空间
索,的模误差 效性析,实际上就是析集模型低统计误
优化误差或模型误差的能力
)!*+",$%"&'#(
19.1 多样性
假设集成分类器F 包含m个基本分类器{h
i
}
m
i=1
,集成分类器的预测精度高于单个分类器的充分
必要条件[140]是:对于新的输入样本,单个分类器的预测精度要比随机猜测的高Accurate),
本分类器间的预测误差具有差异性(Diverse[139]。有
善集成模型的性能:对于相同的输入,如果所有基本模型都给出相似的预测结果,则集成模型的泛
化误差大于基本模型泛化误差的加权平均值;如果基本模型的预测误差存在较大的差异性,则集成
模型的泛化误差远小于基本模型泛化误差的加权平均值
A necessary condition for an ensemble to be more accurate than any of its individual mem-
bers, is that the classifiers are accurate and diverse[140]. An accurate classifier does better than
$%"&'#(
182
)!*+",$
19.2. 集成误差
!"#
random guessing on new examples. Two classifiers are diverse if they make different errors on
new examples. There are several ways to introduce diversity: by manipulating the training set
(by changing the weight of the examples[141, 142] or by changing the attribute values of the
examples [143]), or by manipulating the learning algorithm itself [139].
前,括:使(行
样) 使(模 式)
Homogeneous与异构Heterogeneous模型两种比如,BaggingBoosting集成的基本模型
是同构模型,Stacking集成的基本模型是异构模型
CarbonellGoldstein[144]认为,评价信息检索的指标不仅要关注“检索相关性”Query Rel-
evance“信度”Information Novelty “间性”Marginal
Relevance)的概念,兼顾相关性与新颖度,并充分考虑用户的个性化需求,通过灵活设置权衡参
数,反映对二者的偏好程度间隔相关性是相关性与新颖度的线性组合,选择备选文档的原则是最
大化间隔相关性:
MMR = arg max
d
i
D\S
C
λsim
1
(d
i
,q) (1 λ) max
d
j
S
sim
2
(d
i
,d
j
)
D
(19.1)
其中D 是文档集合S代表已经选择的文档集q表示检索词q
i
,q
j
表示文档sim
1
,sim
2
别是文档-检索词相关性文档-文档相似性的度量λ [0, 1]反映了对相关性偏好程度,比如
λ =1时,则仅仅以相关性为选择标准,λ =0,则新颖度是选择文档的主要依据分析可以发
现,如果选文同检词相关程越高,文档已选档之的相程度越低,MMR
大。
由于精度-多样性两难问题Accuracy-Diversity Dilemma),
精度之间的密切关系,才能通过恰当的权衡获得最佳的性能对此,多人已经作出深刻的分
[145, 146, 147]。不[148]中介绍了九种多样性度量,
[146]介绍了十种多样性度量
19
.
2 集成误差
1992年,Stuart Geman等人[149]证明集成模型的预测误差可以分解为偏差方差两部分
Bias-Variance分解)
E(F y)
2
=(E(F ) y)
2
+ E(F E(F ))
2
= β
2
F
+ σ
2
F
(19.2)
其中,y表示含有噪声的相应变量期望值,F 表示集成模型,β
2
F
表示它的预测偏差,σ
2
F
表示集成模
型的预测方差19.2形象解释了偏置与方差两个概念,偏置󰄀述训练模型逼近真实模型的程度
而方差则反映训练模型忽略真实信号,学习随机事物的程度
$%"&'#(
183
)!*+",$
搜索与排名 Searching and Ranking
!"#
19.2: 飞镖投掷产生的偏置与方差
假设集成模型F 是基本模型的凸组合:
F =
"
i
ω
i
h
i
(19.3)
其中,ω
i
是基本模型h
i
的权重,这里取ω
i
=1/mm是基本模型的个数
根据基本模型的平均偏差
¯
β
2
F
平均方差¯σ
2
F
平均协方差¯c
F
¯
β
2
F
=
1
m
(
i
(E(h
i
) y)
2
¯σ
2
F
=
1
m
(
i
E(h
i
E(h
i
))
2
¯c
F
=
1
m(m1)
(
i
(
j̸=i
E(h
i
E(h
i
))(h
j
E(h
j
))
(19.4)
分解方差项σ
2
F
,从而将集成模型的预测误差分解成三个部分(Bias-Variance-Covariance解)
[150]
E(F y)
2
= E(
1
m
"
i
h
i
y)
2
=
¯
β
2
F
+
1
m
¯σ
2
F
+(1
1
m
c
F
(19.5)
1995年,KroghVedelsby[151]证明“集成模型的预测误差小于等于基本模型预测误差的加权
平均值”Ambiguity分解)具体地
(F y)
2
=
"
i
ω
i
(h
i
y)
2
"
i
ω
i
(F h
i
)
2
"
i
ω
i
(h
i
y)
2
(19.6)
Bias-Variance分解可以部分解释BoostingBagging集成技术的有效性,比如[152]认为两者均
能降低分类误差中的方差项,[142]则称Boosting能够降低分类误差中的偏差项
$%"&'#(
184
)!*+",$
19.3. 󰄁升算法
!"#
19.3 提升算法
1984年,Leslie Valiant[153]󰄁出可能近似正确(Probably Approximately CorrectPAC)学
习模型
1988年,ValiantKearns[155]给出“强可学习”和“弱可学习”的概念:PAC学习框
架下,对于一个概念,如果存在一个多项式的学习算法,并且准确率很高,则称这个概念是(强)
可学习的,对应算法称为强学习算法;对于一个概念,如果存在一个多项式的学习算法,学习的准
确率略高于随机猜测,则称这个概念是弱可学习的,对应算法称为弱学习算法与此同时,他们还
󰄁出一个开放性的问题:在PAC学习框架下,略好于随机猜测的弱学习算法能否󰄁升为任意精度的
强学习算法?如果可以,我们只要找到一种比随机猜测略好的弱学习算法就可将其󰄁升为强学习算
法,而不必费心设计出复杂的强学习算法
1989年,Robert Schapire[156]出“强价”的明,并设
个多项式时间的Boosting算法;次年,Yoav Freund[157]󰄁出效率更高的“boost-by-majority”算
法,但是两种算法都要求预先知道弱学习算法学习正确率的下限,给弱学习算法的选择设置了硬性
的约束1992年,Boosting首次用于󰄁升神经网络模型OCR识别性能[158, 159]1995年,
boost-by-majority”算法改进󰄁出名的AdaBoost算法Adaptive Boosting[160]
两种算法效率相当,但AdaBoost没有对弱学习算法施加任何限制条件,更容易推广到实际应用
1999 [161],两人引入置信分值的概念,将其扩展为广义AdaBoost算法目前,Boosting已经
可以处理分类[160, 162]回归[163]与排序问题[164, 165]
Boosting是一种典型的集成方法,其基本思想是通过迭代的方式构造弱学习器,依据弱学习器
在训练集上的性能调整训练样本的权重,性能越高则权值越大,反之亦然,通过强化学习性能不佳
的样例,构造出性能优良的集成模型Boosting 已经广泛应用到多个领域,如手写字符识别图像
识别及检索文本分类语音识别等
对于稳定性差的学习算法,如决策树决策树桩神经网络,数据集的微小扰动都能明显改变
学习的结果,Boosting倾向于使用它们作为弱学习算法,以增加误差产生的多样性,改善模型整体
性能
19.3.1. AdaBoost
AdaBoost算法对训练数据集每个样本赋以一个初始权值,迭代地添加弱分类器,并将选择的
所有弱分类器组合作为最终的分类函数在学习过程中AdaBoost算法会实时调整样本权值,对
当前分类函数正确分类的样本降低权值,而对错误分类的样本增加权重
19.3.2. LPBoost
ValintPACVapnik的统计学习理论(SLT), 流 , 使 广 架 ,
Boosting技术与SVM技术1989 年,Anselm Blumer[154]等人首次将VC维与PAC联系起来Leslie Valiant由此获2010年的图灵奖
成为学习理论的先驱人物
$%"&'#(
185
)!*+",$
搜索与排名 Searching and Ranking
!"#
Algorithm 8 AdaBoost算法(二元分类)
Input: 训练集S = {x
i
,y
i
}
n
i=1
,迭代次数T
初始化样本概率分布P
1
(i)=1/n, i =1,...,n
for t =1,...,T do
1. 基于样本概率分布P
t
训练弱学习器h
t
: X -→ {1, 1}
2. 计算弱学习器的分类误差
ϵ
t
=
n
"
i=1
P
t
(i)I(h
t
(x
i
) ̸= y
i
) (19.7)
3. 给弱学习器赋权值
α
t
=
1
2
log
1 ϵ
t
ϵ
t
(19.8)
4. 更新概率分布
P
t+1
(i)=
P
t
(i)e
α
t
y
i
h
t
(x
i
)
Z
t
(19.9)
其中,Z
t
是标准化因子
end for
Output: 最终分类模型H(x) = sgn
*
T
(
t=1
α
t
h
t
(x)
+
19.3.3. 大间隔模型:提升算法
1999年,Robert FreundYoav Schapire[166]建立起Boosting同“间隔”的关系
ρ = yf(x)=y
T
"
t=1
α
t
h
t
(x) [1, 1] (19.10)
其中,弱学习器h
t
的权值α
t
α
t
=
1
2
log
1
(
i
P
t
(i)I
#
h
t
(x
i
) ̸= y
i
$
(
i
P
t
(i)I
#
h
t
(x
i
) ̸= y
i
$
. (19.11)
19.3.4. 提升算法的缺陷
使用Boosting技术,能够在不依赖于先验知识的条件下,取得良好的预测性能它也有缺点
比如在一定程度上依赖于训练数据集和弱学习器的选择,当训练数据小或弱学习器性能太差时,就
会导致组合模型预测精度的下降由于在迭代过程中,对噪声数据赋予了较大的权值,以增加其在
后续迭代中的学习强度,从而对模型的收敛速度构成负面影响如何选择合适的迭代次数,确
模型过拟合发生的条件,降低Boosting对噪声数据的敏感程度等,均是研究Boosting的重要课题
研究人员针对Boosting方法的缺陷陆续󰄁出改进算法,经典的如Breiman[167]󰄁出的Arching算法
Adaptive Re-sampling and Combining), Friedman等人[162] 󰄁出的LogitBoost 算法和Freund
$%"&'#(
186
)!*+",$
19.4. Bagging
!"#
BrownBoost算法[168]
19.4 Bagging
BaggingBootstrap Aggregating)是第个有的集学习,也最简Arching
Adaptive Reweighting and Combining)方法,由Leo Breiman1996 年发明[141]。在Bagging
方法中,使用自举复制(Bootstrap Replicate
从原始数据集中产生多组新的训练集,利用这些
具有差异性的数据集训练学习多个分类器,并根据多数表决方法,组合多个分类器对新样本分类
Bagging算法的基本流程如下:
1. 对原始训练集X,使用Boostrap方法复制构造m个大小与X相同
的训练集S
1
,S
2
,...,S
m
2. 对每个训练集S
i
训练一个弱分类器h
i
i =1,...,m
3. 对于新的数据x,使用多数表决方法,综合所有弱分类器进行分类:
ˆc = arg max
k=1,...,K
n
k
(19.12)
其中,K是分类的级别,n
k
是预测x的类别为c
k
的弱分类器个数:
n
k
=
m
"
i=1
I(h
i
(x)=k),k =1,...,K (19.13)
注解19.1. BaggingBoosting的主要区别在于抽样方式不同,前者采用均匀抽样,而后者采用的方
法在依赖于模型预测的错误率Bagging随机选择训练集,各轮训练集之间相互独立;Boosting各轮
训练选择面各学习有关;Bagging各个预测函数没有权重,而Boosting 是有权重
的;Bagging 的各个预测函数可以并行生成,而Boosting 的各个预测函数只能顺序生成绝大多数
情况,BaggingBoosting都可以有效地提高分类的准确性,经验分析表明Boosting 略胜一筹[169]
19.5 Stacking
1992年,David Wolpert[170]󰄁出Stacking框架,也称“Stacking Generalization”。
Bootstrap一说源自Rudolf Erich Raspe 的小说The Surprising Adventures of Baron Munchausen,主人翁Baron声称曾经揪着头发从沼泽
中把自己拉出来,后来经过传播异化为拽着鞋带把自己拉起来(Pull oneself up by one’s bootstraps), 表 示 不 可 能 完 成 的 事 后 来 , 计 算
机发明以后,机器的启动称为Boot,实际上就是Bootstrap的简写,因为计算机启动是一个很矛盾的过程:必须先运行程序,然后计算
才能启动,但是计算机不启动就无法运行程序在统计学中,利用自举法构建新数据集的过程称为重采样Resampling): 从 原 始 数 据
进行多次有放回的采样,采样的次数等于原始数据集的大小统计学中另外一种重采样方法是Jackknife,与Bootstrap类似,区别在它每
次从样本中抽样时只是去除几个样本(而不是抽样),像小刀一样割去一部分
对于大型数据集,一般地要求每个抽样子集包含1 1/e 63.2%唯一样例
$%"&'#(
187
)!*+",$
搜索与排名 Searching and Ranking
!"#
19.6 随机子空间法
随机子空间法(Random Subspace MethodRSMAttribute BaggingAB[171, 172]是一
种集成分类函数,属于随机森林算法的一般形式,不同的是随机森林由决策树组成,而随机子空间
分类器是由任意基本分类器组成随机子空间法已经被应用到线性分类支持向量机最近邻分类
和其他类型的分类算法
机子是在维度数据(小np)背景下󰄁出来的,通过组合多个不
同特征的分类器增加集成模型分类的互补性,对于改善模型性能大有裨益
假设训练数据集中有n个样本,而每个样本的特征维数是p,随机子空间法的基本步骤如下:
1 设定子空间的维度p
0
以及弱分类器的个数m,一般地,p
0
<p
2 对每个弱分类器h
i
,从p个特征中不放回(Without Replacement)地选择p
0
维特征,生成一
个训练集,并训练分类器h
i
3 对于新的样本,通过多数表决规则(Majority Voting Rule)或合后概率的方
m个弱分类器的分类结果确定新样本的最终分类
19.7 加性树丛模型
加性树丛模型(Additive GrovesAG [173]由自举的加性模型(Bagged Additive Model
构成,以决策树为基本模型实现对非线性成分的拟合由于它吸收了Bagging模型的思想,可通过
增加迭代次数降低过拟合的风险,总体性能优于BaggingBoosting随机森林等决策树集成方法
每个树丛都可以通过一组更小的树丛循环构建,从而能够在自举迭代过程,生出大小不一的一堆树
加性树丛模型含有两个参数:树的个数与树的大小
19.8 维数约减
信息化技术的快速发展产生了大量高维非结构化的数据,在人脸识别生物信息等领域,需
要从高维数据中发现数据内在结构信息,并识别出本质特征维数约减Dimension Reduction),
简称“降维”, 低秩近似Low-Rank Approximation)是处理高维数据的一种常用技,将
高维数据转至低维表达空间
降维问题是在给定矩阵A R
m×n
和数值精度ϵ > 0,搜索A的最佳近似矩阵
ˆ
A R
m×n
,即满
A
ˆ
A
F
ϵA
F
,并且在所有符合条件的矩阵集合内
ˆ
A 秩最小
矩阵分解算法Matrix Factorization)是类重要的维工流行的分算法包括LU
(三解) QR分解和奇异值分解(Singular Value DecompositionSVD)、
Probabilistic Matrix FactorizationPMF)。 低秩模型是高效处理高维数据的新工具,新近兴起
$%"&'#(
188
)!*+",$
19.8. 维数约减
!"#
稀疏表示Sparse Representation)和压缩传感Compressed Sensing)在图像或视频压缩领
域获得巨大成功,能够充分利用图像或视频的时空相关性,实现有效压缩矩阵填充Matrix
Completion)是一种特殊的低秩模,它能够在矩阵数据部分缺失时,利用矩阵行列间的相关性
恢复矩阵的低秩结构,广泛应用于机器控制图像处理(如去噪)等领域
19.8.1. 奇异值分解
奇异值分解(简称SVD)是一种经典的矩阵分解方法,广泛应用于伪逆计算信号处理,图像
压缩生物信息处理等工作本文主要考虑实数矩阵上的分解问题
命题19.1. 对于任意实数矩阵A R
m×n
,矩阵AA
T
R
m×m
A
T
A R
n×n
都是半正定矩阵,并
且两者存在相同的非零特征值假设矩阵A
T
A的特征值是σ
2
1
σ
2
2
... σ
2
n
0,对应单位特
征向量是v
1
,v
2
,...,v
n
。如m<n,则σ
2
1
,...,σ
2
m
也是矩阵AA
T
的特征值AA
T
的对应单位特征
向量是u
1
,u
2
,...,u
m
。如u
1
,u
2
,...,u
m
为列构成矩阵U R
m×m
,以v
1
,v
2
,...,v
n
为列构成矩
V R
n×n
,以矩阵A的奇异值作为对角元的对角阵Σ R
m×n
,则矩阵A可以直接表示成三个矩
阵的乘积A = U ΣV
T
,这种分解方法称作矩阵A的奇异值分解
任意实数矩阵A R
m×n
都可以分解成三个矩阵乘积的形式
A = U ΣV
T
(19.14)
其中,Σ R
m×n
是对角阵,U R
m×m
V R
n×n
都是正交阵,即UU
T
= I
m
,VV
T
= I
n
如果将Σ,U,V分别展开,则有:
U =(u
1
,u
2
,...,u
m
),u
i
R
m
(19.15)
V =(v
1
,v
2
,...,v
n
),v
j
R
n
(19.16)
Σ =
σ
1
0 ··· 00··· 0
0 σ
2
··· 00··· 0
00
.
.
.
00··· 0
00··· σ
m
0 ··· 0
(19.17)
这里假设m<n
对于任意的i {1,...,m},j {1,...,n},矩阵U, V 的列向量u
i
,v
j
分别是AA
T
,A
T
A 的特征
向量,故称u
i
,v
j
为矩阵A的左右奇异向量Σ 的对角元素σ
i
称作矩阵A的奇异值,是AA
T
A
T
A特征值的算术平方根不失一般性,假设σ
1
σ
2
... σ
m
$%"&'#(
189
)!*+",$
搜索与排名 Searching and Ranking
!"#
下文主要就这种关系给予简单证明由于A = UΣV
T
,则A
T
= V Σ
T
U
T
,那么
AA
T
= UΣV
T
V Σ
T
U
T
= UΣΣ
T
U
T
= U
σ
2
1
0 ··· 0
0 σ
2
2
··· 0
00
.
.
.
0
00··· σ
2
m
U
T
=
m
"
i=1
σ
2
i
u
i
u
T
i
(19.18)
类似地可得:
A
T
A = V Σ
T
U
T
UΣV
T
= V Σ
T
ΣV
T
=
n
"
j=1
σ
2
j
v
j
v
T
j
(19.19)
由此可得:
AA
T
u
k
=
m
"
i=1
σ
2
i
u
i
u
T
i
u
k
= σ
2
k
u
k
(19.20)
A
T
Av
l
=
n
"
j=1
σ
2
j
v
j
v
T
j
v
l
= σ
2
l
v
l
(19.21)
说明u
k
,v
l
分别是AA
T
,A
T
A的一个特征向量,对应的特征值分别是σ
2
k
, σ
2
l
SVD在实际使用时,通常仅仅选择最大的前r个奇异值以及U, V 对应的r列向量,即可对矩
A很好地近似:
˜
A
r
=
r
"
i=1
σ
i
u
i
v
T
i
(19.22)
可以证明,
˜
A
r
是所有秩为rm × n矩阵中,与矩阵A最近似的矩阵
观察A的分解式,可以发现:
A =
m
"
i=1
σ
i
u
i
v
T
i
= σ
1
u
1
v
T
1
+ ...+ σ
m
u
m
v
T
m
(19.23)
矩阵的A奇异值分解实际上是将其分解成一组秩为1的矩阵线性加权的形式,这里,奇异值是加权
权值从这个角度出发,我们在下文就SVD在推荐系统中的应用,介绍分解式中的矩阵U, V 所代表
的真实含义
推荐问题通常都涉及到用户对物品的评价,从而构成系统评价矩阵A R
m×n
,矩阵的行代
用户,列代表物品,通常由于用户的数目远远多于物品数量,所以有m n。根U, V 的定
义,它们的列向量是由AA
T
,A
T
A的(标准化的)特征向量构成如果对评价矩阵行分块,即
A =
A
1
A
2
.
.
.
A
m
(19.24)
$%"&'#(
190
)!*+",$
19.8. 维数约减
!"#
其中,A
i
R
1×n
, 1 i m,实际上代表一个用户评价向量由此,可以得到
AA
T
=
A
1
A
2
.
.
.
A
m
(A
T
1
,A
T
2
,...,A
T
m
)=
A
1
A
T
1
A
1
A
T
2
... A
1
A
T
m
A
2
A
T
1
A
2
A
T
2
... A
2
A
T
m
.
.
.
.
.
.
.
.
.
.
.
.
A
m
A
T
1
A
m
A
T
2
... A
m
A
T
m
(19.25)
如果A的元素是多元评价等级那么根据余弦相似度定义可知A
i
A
T
j
代表用户i, j的评价向量
内积,反映了二者之间的相似程度,如果A的元素是二元评价等级0未评价,1评价)A
i
A
T
j
即是两个用户同时评价的物品数目,也是一种相似关系的度量AA
T
实际上就是用户群相似度矩
阵。
由于矩阵U的列向量是由AA
T
的标准特征向量构成,并且根据特征值与特征向量的统计学意义
可知,特征值越大,对应特征向量方向上点的离散程度越高不妨设想一下极端的情况,数据点只
在两个维度(特征)上是不同的,在其他维度上数值完全一致,那么在其他维度上,点的离散程度
0,对于数据分类聚类等任务,没有任何价,相反,剩余两个维度是区分数据点的关键
就是说,数据点的其他特征是冗余信息,将其删除百利而无一害从信息熵的角度来看,混杂度越
大(熵越大)的方向包含的信息量越大
SVD的计算复杂度是O(m
3
+ n
3
),在处理高维数据时会产生很大的问题据悉Google已经
实现并行化SVD,可以扩大SVD实际应用的范围
注解19.2. 矩阵分解是对原始评分矩阵数据从多个维度所作的近似与还原,利用分解模型,可以构
建项目间或用户间相似性矩阵(一阶或高阶)利用相似矩阵,可以进行对象的聚类分析,以簇
分组为单位可以显性地表示对象间的关系,对于理解隐语义模型内在机理大有裨益此外,我们
考:
AA
T
的特征向量同用户之间的关系?与KNN算法存在什么样的关联?
19.8.2. 主成分分析
假设多元随机变量X =(X
1
,...,X
m
) R
n×m
每个特征对应一个随机变量,每一行可以表示一
个抽样数据为了刻画特征之间的相关关系,我们可以计算所有特征序的相关系数,并构造X上的
相关系数矩阵R如果对原始数据逐列进行Z-Score标准化,不会影响到相关系数矩阵,则有
¯
X
1
=0, var(X
1
)=1, R =
1
n 1
X
T
X.
如果特征彼此间存在相关性,则会产生一定的冗余信息为剔除冗余信息1901年卡尔·皮
尔逊Karl Pearson[174]󰄁线法:主成分分析Principal Component
AnalysisPCA)。 A =(A
1
,...,A
m
) R
m×m
重新组合
$%"&'#(
191
)!*+",$
搜索与排名 Searching and Ranking
!"#
原始特征集,构建出一组彼此线性无关的新特征Y =(Y
1
,...,Y
m
) R
n×m
如果A满足性质
A
1
= arg max
A
0
var(XA
0
),
A
i
= arg max
A
0
{A
j
}
i1
j=1
var(XA
0
), 2 i m,
A
i
2
=1, 1 i m.
(19.26)
则称A是正交矩阵,相应地新特征
Y
i
= XA
i
(19.27)
称作映射空间上的i个主成分1 i m
命题19.2. 主成分相互独立,即对任意的Y
i
Y
j
,都有相关系数ρ(Y
i
,Y
j
)=0。此
变量间满足相关关系ρ(Y
i
,X
j
)=A
ij
命题19.3. 主成分方差顺次递减var(Y
1
) var(Y
2
) ... var(Y
m
),并且保持总方差不变,满
(
m
i=1
var(Y
i
)=
(
m
i=1
var(X
i
)=m
命题19.4. 假设X上的相关系数矩阵为R,则A
i
R的第i个特征向量,且对应特征值λ
i
= var (Y
i
)
1 i m,从而有λ
1
... λ
m
0
根据命题可知,主成分Y 的方差值或相关系数矩阵R的特征值体现出原始数据的信息量,方差
越大则所含信息量越大在数据处理时,为了能够实现降维并确保最小化信息丢失,我们可以使用
阈值法,比如设定一个百分比下限θ,比如95%,在前K个主成分的方差(相关系数矩阵RK个最
大特征值之和)占总方差(所有特征值之和)的比例超过θ以后
K
"
i=1
var(Y
i
) θ
m
"
i=1
var(Y
i
)=mθ,
则认定它们所包含的信息量足够高,从而可使用它们以近似表示原始高维空间
M
Y =(Y
1
,...,Y
K
)=X(A
1
,...,A
K
) R
n×K
,K m. (19.28)
19.8.3. 局部线性嵌入
局部线性嵌入(Locally linear EmbeddingLLE [175]是一种非线性降维方法,能够在降维
后保持数据的原始流形结构,也是流形学习方法的一个经典工作
19.8.4. 拉普拉斯特征映射
拉普拉斯特征映射(Laplacian Eigenmaps
$%"&'#(
192
)!*+",$
19.9. 特征选择
!"#
19.8.5. 自组织映射网络
自组织映射(Self Organizing MapSOM [96],也称自组织特征映射(Self Organizing
Feature MapSOFM)是由芬兰赫尔辛基理工大学教授Teuvo Kohonen发明的一种特殊的神经网
络结构,通过无监督学习将输入样本映射至低维表示空间(二维或一维)并能保持原有数据的
扑结构
19.8.6. 自适应交近似算法
自适应交叉近似算法Adaptive Cross ApproximationACA是由BebendorfRjasanow[176]
同󰄁出的一种低秩分解算法,首先将边界元(Boundary Element)矩阵分成若干块,然后对每一
块(不包括对角线附近的块)做低秩分解
传统边界元方法使用的系数矩阵A是满秩的,其中A中的每个元素都需要显式存储和参与运
算。 ACA是:通构递A分解为一系列子矩阵A
i
m
i
×n
i
的集合,每个
子矩阵对应m
i
个源点和n
i
个场点,当源点集合和场点集合距离足够远,则A
i
m
i
×n
i
的秩很低,从而
可以使用一组向量内积的和进行低秩近似:
A
i
m
i
×n
i
k
"
l=1
U
l
V
T
l
(19.29)
其中,向量U
l
R
m
i
,V
l
R
n
i
k表示向量的个数,与低秩近似残差阈值ϵ有关,通常k m
i
k
n
i
。由ACA低秩近似,对原子矩阵A
i
m
i
×n
i
的存储量从O(m
i
n
i
)降低至O[k(m
i
+ n
i
)]
并且在进行矩阵-向量乘积时,能够减少运算量假设向量X R
n
i
A
i
m
i
×n
i
X (
k
"
l=1
U
l
V
T
l
)X =
k
"
l=1
w
l
U
l
(19.30)
由此可见,矩阵-向量乘积问题就转化为简单的线性加权问题,权值为w
l
= V
T
l
X, l =1,...,k,近
乎线性复杂度
19.9 特征选择
从理论上来看,特征越多则󰄁供的信息也就越多,但是,现实世界表明,该论断并非总是成立
特征选择(Feature Selection)有时又称特征子集选择(Feature Subset SelectionFSS)或者
属性选择(Attribute Selection
,属于机器学习预处理过程,通过降低数据的维剔除噪声数
据和冗余特征,能够有效改善模型的学习精度与泛化能力,󰄁高训练模型的效率
目前,大多数特征选择的方法用于分类问题,基本上可分为三类[177]:过式(Filter
Method[178]包装模式(Wrapper Method[179]和嵌入模式(Embedded Method [180]
苍梧:特征选择常用算法综述
$%"&'#(
193
)!*+",$
搜索与排名 Searching and Ranking
!"#
过滤模式将特征选择视为预处理步骤,与分类模型无关它对每个特征计算一个相关性分值,
分值低的特征将从特征空间中剔除过滤模式易于扩展到高维特征数据,计算效率高开销小,与
具体分类模型无关在过滤模式中,特征子集的搜索独立于模型假设空间上的搜索,并且在计算特
征的相关性时,独立分析,忽视了特征之间的依存关系(Feature Dependency)。
个代表性的模型:Relief 算法[181] Focus 算法[182]
包装模式在特征子集的搜索过程,训练分类模型,使用一个预测模型给特征子集评分包装模
式对每个特征子集训练一个分类模型,模型在测试集上的预测误差用以衡量特征子集随着特征数
目的增大,特征子集的数目呈指数增加为了搜索整个特征空间,人们陆续󰄁出多种启发式搜索方
案以搜寻最优特征子集由于包装模式对于每个特征子集都需要训练一个预测模型,计算成本较
高,并且容易产生过拟合问题
嵌入模式在模型选择(训练搜索)的同时选择最佳特征子集,将特征选择直接内嵌到到学习
算法与包装模式相比,嵌入模式的计算开销更小典型的嵌入模式特征选择算法是决策树算法,
QuinlanID3C4.5[108, 109]BreimanCART算法[111]等,在树增长的过程,每个递归步骤
都必须选择一个特征,将样本集合划分成更小的子集,选择特征的依据通常是划分以后子节点的纯
度,子节点越纯则表明划分效果越佳,可见决策树生成的过程就是特征选择的过程
19.9.1. Relief
1992年,KiraRendell󰄁出了著名的Relief算法[181],它属一种特征加权算法(Feature
Weighting Algorithm,根据各个特征与类别的相关性赋予不同的权重,如果权重小于给定的阈值
则将其剔除
19.9.2. 贪婪搜索算法
从整个特征空间选择特征,主要依赖两个指标:特征的重要程度特征间的相似性特征的重
要程度容易计算,只要将单个特征独自作为一个排名模型,特征值便是预测结果,同真实相关等级
比对,计算MAPNDCG等评价指标立时可以作为特征的重要性权值根据特征间的相似性,可
以决定哪些特征可选,哪些特征冗余但凡与已选特征高度相似的,即可认定是冗余特征,反倒是
那些差异较大的特征,对于排序模型性能的󰄁升多有裨益计算相似性分值的指标很多,可以是余
弦相似度,也可以是肯德尔距离
假设特征空间F含有d个特征:F = {f
1
,...,f
d
}[183]通过下面的优化问题选择特征:
max
a
d
(
i=1
ω
i
a
i
min
a
d
(
i=1
(
j̸=i
s
ij
a
i
a
j
s.t. a
i
{0, 1},i =1,...,d
d
(
i=1
a
i
= m
(19.31)
$%"&'#(
194
)!*+",$
19.9. 特征选择
!"#
其中a =(a
1
,...,a
d
) 识,(比f
i
)被,则a
i
=1,否
a
i
=0ω
i
表示特征f
i
的权重;s
ij
表示特征f
i
,f
j
的相似度,并且满足s
ij
= s
ji
0 <m d是预先
设置的入选特征的个数
模型(19.31)是个多目标优化问题,为方便计算,将其转化为单目标优化问题:
max
a
d
(
i=1
ω
i
a
i
λ
d
(
i=1
(
j̸=i
s
ij
a
i
a
j
s.t. a
i
{0, 1},i =1,...,d
d
(
i=1
a
i
= m
(19.32)
模型中,参数λ > 0是权衡特征重要程度与特征相似度的因子
由于时间复杂度高达O(
*
d
m
+
),使用穷举法求(19.32)是不现实的,自然需要构思高效的求
解方法,比如Geng等人使用贪婪搜索算法Greedy Search AlgorithmGSA)将时间复杂度
O(dm)[183]
Algorithm 9 GSA: Greedy Search Algorithm of Feature Selection
Input:
使用特征集合F中全部特征作为结点,构造无向图G,图中每条边的权值表示边的两个特征结
点的相似度;S表示选中的特征集,并初始化为S = φ;给定单目标优化中使用的参数λ
1: for t =1,...,m do
2: G中选取权值最大的特征结点,记为f
k
t
3: 根据f
k
t
与其他结点的相似度,惩罚其余诸结点,更新它们的权重:
ω
i
ω
i
2λs
ik
t
,i̸= k
t
4: 将特征f
k
t
添加至S,并从G中剔除与结点f
k
t
有关联的边:
S S
B
{f
k
t
},G G \{f
k
t
}
5: end for
Output: S
m
下面我们证明[183]:在不改变已入选特征的条件下,GSA能够找到(19.32)的最优解
证明: 假设经过t次迭代,入选的最优特征集合S
t
= {f
k
i
}
t
i=1
,未入选的某个结点f
j
权值为
ω
j
2λ
t
"
i=1
s
k
i
,j
(19.33)
根据GSA的目标函数,在第t +1次迭代,基于如下原则选出最佳特征:
max
t+1
"
i=1
ω
k
i
λ
t+1
"
i=1
"
j̸=i
s
k
t
i
k
t
j
(19.34)
$%"&'#(
195
)!*+",$
搜索与排名 Searching and Ranking
!"#
由于s
k
t
i
k
t
j
= s
k
t
j
k
t
i
,则有
t+1
(
i=1
(
j̸=i
s
k
t
i
k
t
j
=2
t
(
i=1
t+1
(
j=i+1
s
k
t
i
k
t
j
,则目标函数可分解为两部分:
?
t
"
i=1
ω
k
i
2λ
t1
"
i=1
t
"
j=i+1
s
k
t
i
k
t
j
@
+
?
ω
k
t+1
2λ
t
"
i=1
s
k
t
i
k
t+1
@
(19.35)
第一部分是常数,因此,(19.34)等价于如下的优化问题:
max ω
j
2λ
t
"
i=1
s
k
t
i
,j
(19.36)
可见,GSA搜索方法确能找到(19.32)最优解
GAS属于过滤模式的特征选择方法,作为预处理步骤,其效果需要使用具体的排名模型予
以检验[183]使用SVMRankRankNet两种模型试验发现,相比基准的特征选择方法信息增益
Information Gain, IG)与卡方(Chi-squareCHI), GAS表现突出如果数据集中各个特征的
表现存在明显的差异,利用特征的重要性最大化特征间相似性最小化的原则选择特征,可以有效
消除噪声的影响,效果󰄁升相当显著
GAS在构建无向图G时,需要计算所有特征对的相似度,如果数据集是高维特征,会产生大
的计算开销,制约其扩展能力[184] 借鉴用于分类特征󰄁取的Relief 算法[181]󰄁出两种特征选择
模型:RankFilterRankWrapper,扩展性能较之GAS更佳,并且计算效率较高
19.9.3. FS-BFS
FS-BFSFeature Selection-Best First Search)属[185],先使
Best First搜索方法把特征空间划分成k 个互不相交的特征子集,再应用坐标下降法(Coordinate
Descent)给特征子集赋权FS-BFS计算开销较大,因此对于大数据集,扩展性欠缺
$%"&'#(
196
)!*+",$
第二十章 推荐系统
传统搜索算法只能呈现给所有的用户相同的搜索结果,无法针对用户的兴趣偏好󰄁供个性化的
服务,这种在信息爆炸时信息的利用率反而降低的现象称为信息过载 Information Overload)。
个性化推荐,包括个性化搜索,被认为是当前解决信息过载问题最有效的工具之一推荐是一种特
殊形式的信息过滤 Information Filtering),
系,给网络终端用户󰄁供符合其个性偏好的信息列表
推荐系统是一种网络应用,可以代替用户评估其从未看过的产品,如书籍电影网页
音乐等,推荐经过一个从已知信息中学习,然后对未知世界进行预测的过程一个完整的推荐
系统由三个部分组成:收集用户信息的行为记录模块,分析用户偏好的模型分析模块和推荐算法模
行为记录模块负责记录用户的偏好行为,如评价购买浏览问答下载等模型分析模块
的主要目标是使用用户行为记录模块的信息构造出用户的潜在兴趣模型推荐算法模块则是利用
后台推荐算法实时地从产品集合中筛选出用户感兴趣的产品,生成推荐列表给用户
据推同,推致可类:协同过滤推荐系统基于内容的推荐系
混合推荐系统
)!*+",$%"&'#(
20.1 协同过滤
同过代被󰄁广泛统,其可以分:1
利用用户历史行为数据计算用户之间的相似性2)根标用的用(邻域)
对其他物品的评价数据,预测目标用户对未知对象的偏好程度,并以此对目标用户进行推荐
同过滤系统最大的优点是对推荐对象没有特殊的要求,它能处理音乐电影等难以进行文本结构
的对 面,统也题:冷启Cold Start)、
Sparsity)和可扩展性(S calability )。
协同过滤系统的算法大致可以分成两类:基于记忆的Memory-based基于模型Model-
based)的推荐算法。在
197
搜索与排名 Searching and Ranking
!"#
一个用户,系统中物品与给定用户的关系无非是已经评价或没有评价两种基于记忆的协同过滤系
统的目标是利用系统中历史评价信息,通过用户之间或者物品之间的相似关系,预测指定用户对于
未评价物品的偏好程度,从而可能给出的评分如果系统利用的是用户之间的相似关系进行协同过
滤推荐,则称此系统为基于用户的协同过滤系统(简称UserCF;反之,如果利用物品之间的相似
关系进行预测,则称其为基于物品的协同过滤算法(简称ItemCF
我们定义如下基本的数学符号,将在本章统一使用它们:
U - 用户集合
I - 物品集合
A =(r
ui
)
m×n
- 用户对物品的评分矩阵
r
ui
- 用户u对项目i的历史评分
p
ui
- 用户u对项目i的模型预测评分
z
uv
- 如果项目集中存在至少一个项目由用户uv 共同评价过,则z
uv
=1;否则,z
uv
=0
z
ij
- 如果用户集中存在至少一名用户既评价过项目i 又评价过项目j,则z
ij
=1;否
z
ij
=0
z
ui
- 如果用户u评价过项目i,则z
ui
=1;否则,z
ui
=0
U
i
- 评价过物品i I的用户集合,U
i
= {u U|z
ui
=1}
I
u
- 系统推荐给用户uu评价过的商品集合,I
u
= {i I|z
ui
=1}
U
ij
= U
i
N
U
j
= {u U|z
ui
= z
uj
=1} - 既评价过物品i 又评价过物品j 的用户集合
I
uv
= I
u
N
I
v
= {i I|z
ui
= z
vi
=1} - 系统推荐给用户uv相同的物品集合或两者均评价过
的物品集合
¯r
u
=
1
|I
u
|
(
iI
u
r
ui
- 用户历史平均评分
¯r
i
=
1
|U
i
|
(
uU
i
r
ui
- 物品历史平均得分
s
uv
- 用户u Uv U 的相似度
s
ij
- 物品i Ij I 的相似度
N(u; κ) - 用户集中与用户u U相似度最高的κ名用户,也称用户uκ近邻
N(i; κ) - 物品集中与物品i I相似度最高的κ个物品,也称物品iκ近邻
$%"&'#(
198
)!*+",$
20.1. 协同过滤
!"#
在协同过滤计算时,建立用户间或项目间的相似度关系是重要的一环目前,使用最多的相似
性度量主要是余弦相似度(Cosine Similarity)、 Adjusted Cosine Similarity
和皮尔逊相关系数(Pearson Correlation Coefficient)。 ij,两者之间的余弦相似度为
评分矩阵Ai列和j列评分向量的余弦值:
s
ij
=
(
uU
r
ui
r
uj
'
(
uU
r
2
ui
'
(
uU
r
2
uj
. (20.1)
余弦相似度度量的相似度存在一个重要的缺陷,它没有考虑到不同用户的评分尺度的差异对于同
一个项目,部分用户评分偏高,而部分用户评分又可能偏低为了弥补这一缺陷,研究人员对余弦
相似度度量进行修正,对每个评分减去对应用户的平均评分量,然后再计算项目之间的相似度:
s
ij
=
(
uU
ij
(r
ui
¯r
u
)(r
uj
¯r
u
)
'
(
uU
ij
(r
ui
¯r
u
)
2
'
(
uU
ij
(r
uj
¯r
u
)
2
, (20.2)
其计算仅限于共同评价过两个项目的用户
在基于物品的协同过滤推荐中,使用修正的余弦相似性度量物品间的相似性更佳,然而在基于
用户的协同过滤推荐中皮尔逊相关系数更为有效 [186]。对uv,两者的历史平均评分分别
¯r
u
¯r
v
,则有
s
uv
=
(
iI
uv
(r
ui
¯r
u
)(r
vi
¯r
v
)
'
(
iI
uv
(r
ui
¯r
u
)
2
'
(
iI
uv
(r
vi
¯r
v
)
2
, (20.3)
其计算与修正的余弦相似度类似,仅仅限于用户uv共同评价过的项目集I
uv
20.1.1. 基于用户的协同过滤算法
基于用户的协同过滤算法(User-based Collaborative Filtering)根据用户之间的相似性关系,
间接地预测用户u对物品i的可能评分我们结合皮尔逊相关性度量方法,可以建立如下形式的预测
模型:
p
ui
r
u
+
(
vU
i
γ
uv
(r
vi
¯r
v
)
(
vU
i
|γ
uv
|
, (20.4)
其中γ
uv
= s
uv
|s
uv
|
ρ1
是关于皮尔逊相关性的一种转换,以降低噪声数据对预测的干扰
[187, 188]表明ρ =2.5时,可以取得不错的效果
由皮尔逊相关性分析可知,可能存在相当比例的用户与用户u没有太大的相关性为此,研
究人员在相似度度量的基础上,从用户集中筛选出部分与用户u相关性强的用户参与运算比如,
择出最相似的部分用户N(u; k),利用它们对物品i的历史评分数据,基于如下公式估计用户u对物
$%"&'#(
199
)!*+",$
搜索与排名 Searching and Ranking
!"#
i的评分:
p
ui
r
u
+
(
vN(u;k)
s
uv
(r
vi
¯r
v
)
(
vN(u;k)
|s
uv
|
. (20.5)
20.1.2. 基于物品的协同过滤算法
基于物品的协同过滤算法[189, 190] Item-based Collaborative Filtering)预u对物
i的评分,最基本的形式是使用用户u 对物品i 相似的其他物品评分的加权平均值作为预测值[186]
p
ui
=
(
jN(i;k)
s
ij
r
uj
(
jN(i;k)
|s
ij
|
, (20.6)
其中,N(i; k)表示与物品i相似度最高的k个物品所构成的近邻集合
20.2 Slope One
协同推荐算法最基本的是基于用户的协同推荐和基于物品的协同推荐算法,在处理海量数
据时,由于计算量大,扩展性容易遭遇瓶颈为此,研究人员󰄁出许多基于模型的协同过滤算
法,型, 2005年,Daniel Lemire
Anna Maclachlan [188]󰄁出Slope One,它是一种新颖的基于模型的评分预测模型,在处理海
量数据时依然可以保证良好的运算速度与推荐效果目前,研究人员已经将其引入到其他模
[
191, 192, 193, 194],以改善推荐系统的推荐精度,并成为各种在线推荐系统的一个重要算法
Slope One算法从拟合一个单变量线性回归模型出发,在不需要计算项目间或用户间相似度
的基础上,确立一种评分预测的策略假设我们使用训练集{x
i
,y
i
}
n
i=1
拟合一个简单的线性回归模
f(x)=x + b,则根据预测误差平方和最小化,我们可以确定最佳的参数b
b
= arg min
bR
1
n
"
i
#
f(x
i
) y
i
$
2
=
1
n
"
i
(y
i
x
i
). (20.7)
对于新的输入数据x
0
,我们可训练模型f (x)=x + b
进行预测y
0
= f(x
0
)=
x
0
+
(
i
(y
i
x
i
)/n。如{r
vi
,r
vj
}
vU
ij
i,jI
则可以建立一种简单的线性评分预测模型如果用户u只评价过项目j,且项目对(i, j)存在共同评
价用户,则模型预测用户u对项目i 的评分只依赖于他对项目j的历史评分项目对(i, j) 的平均评分
差值
p
ui
= r
uj
+
1
|U
ij
|
"
vU
ij
(
r
vi
r
vj
)=
r
uj
+
δ
ij
,
(
20
.
8
)
其中δ
ij
为项目对(i, j) 的平均评分差值如果用户u 评价过的项目很多,并且能够与项目i存在共
同的评价用户,那么模型的预测就建立在所有这些历史评分的基础之上
p
ui
=
1
|Z
ui
|
"
jZ
ui
(r
uj
+ δ
ij
). (20.9)
$%"&'#(
200
)!*+",$
20.2. Slope One
!"#
集合Z
ui
= {j I
u
|z
ij
=1,j ̸= i} 是用户u评价过的且与i享有共同评价用户的项目集合如果评分
矩阵足够稠密,则Z
ui
I
u
,由此我们可以取得其近似值
p
ui
¯r
u
+
1
|Z
ui
|
"
jI
u
δ
ij
. (20.10)
I. 加权Slope One
在实际应用中,系统中不同项目的评分数量可能存在较大差比如,系统中有10,000名用
户曾经评价过项目对(i, j),却只有区区200名用户评价过项目对(j, k),显然项目对评分数量的巨
大差异一定会影响到Slope One模型在预测时的偏倚Daniel Lemire Anna Maclachlan
[188]利用项目对评价的数量对Slope One 进行改进,󰄁出一种加权型的Slope One算法
p
ui
=
1
(
jI
u
\{i}
|U
ij
|
"
jI
u
\{i}
(r
uj
+ δ
ij
)|U
ij
|. (20.11)
II. Bi-Polar Slope One
从数值上来看,用户对项目的评分越高表明对项目越喜欢,反之则不喜欢然而,不同的用户
对于同一个项目,可能由于个人偏好性格的差异,相同的评分所表达的好恶强度亦有所不同
如,一个天性乐观的人,在评分时可能偏高,即便有些项目并非其所好,其评分可能让然会高于绝
大多数评分为了更准确地衡量其喜恶,我们可以根据其历史评分信息,对所有其打过分的项目进
划分:项目高于均历分,则喜欢目,反定其
用户对项目的喜欢与否亦有助于我们对用户进行分组,从而建立一个更佳的预测模型
我们假设󰔁用户u喜欢的项目集为I
+
u
= {i I
u
|r
ui
> ¯r
u
},不喜欢的项目集I
u
= {i
I
u
|r
ui
< ¯r
u
}对于任意项目对(i, j)我们可以划出两类特殊的用户组:两个项目都喜欢U
+
ij
= {u
U|i, j I
+
u
},两个项目都不喜欢U
ij
= {u U|i, j I
u
}。对
评分对于预测评分更有价值,对应地可以计算出Slope One模型基础上的两组平均评分差值
δ
+
ij
=
1
|U
+
ij
|
"
uU
+
ij
(r
ui
r
uj
) (20.12)
δ
ij
=
1
|U
ij
|
"
uU
ij
(r
ui
r
uj
) (20.13)
基于此,我们使用加权型Slope One可以建立下面形式的预测模型:
p
ui
=
1
(
jI
+
u
\{i}
|U
+
ij
| +
(
jI
u
\{i}
|U
ij
|
?
"
jI
+
u
\{i}
(r
uj
+ δ
+
ij
)|U
+
ij
| +
"
jI
u
\{i}
(r
uj
+ δ
ij
)|U
ij
|
@
. (20.14)
$%"&'#(
201
)!*+",$
搜索与排名 Searching and Ranking
!"#
20.3 Baseline
协同过滤模型试图准确捕获用户对项目的评分行为,影响用户对项目评分行为的因素主要包括
两部分,一部分源自于用户评分偏差,另一部分源自于项目得分偏差利用用户评分与项目得分的
系统性偏差,研究人员󰄁出一种新的预测模型,称作基线模型[195, 196, 197],其数学模型表示
下:
p
ui
= µ + b
u
+ b
i
(20.15)
其中,µ表示训练集所有历史评分的平均值,b
u
b
i
分别表示用户u评分项目i得分相对µ的偏差程
一个理想的评分预测模型,预测结果与实际评分应当尽量一致,为了从训练数据集中估计出用
户评分偏差项目得分偏差,我们可以解决一个最小二乘问题:
min
b
"
uU
"
iI
u
(µ + b
u
+ b
i
r
ui
)
2
+ λ(
"
uU
b
2
u
+
"
iI
b
2
i
). (20.16)
模型的第一项是模型预测的评分误差项,第二项属于正则化项,通过控制模型的复杂度,以期达到
降低模型过拟合的作用参数λ > 0是正则化因子,其值越大则模型越不容易出现过拟合根据梯
度下降(Gradient Descent)理论,可以建立下面形式的参数更新策略:
b
u
b
u
α(λb
u
+
(
iI
u
e
ui
),
b
i
b
i
α(λb
i
+
(
uU
i
e
ui
).
(20.17)
其中e
ui
= µ + b
u
+ b
i
r
ui
表示预测偏差,α > 0 表示学习率根据梯度下降法的参数更新策略可
知,赖,[197]󰄁出一种粗略的估计方案,依次计算项目得分
偏差与用户评分偏差:
b
i
=
1
λ
I
+|U
i
|
(
uU
i
(r
ui
µ),
b
u
=
1
λ
U
+|I
u
|
(
iI
u
(r
ui
µ b
i
).
(20.18)
对于大型训练数据集,梯度下降法在遍历所有评分后再执行模型参数的批量更新会产
生巨大的内存开销从而影响训练速度,此时随机梯度下降法Stochastic Gradient Descent
成为一种更佳的选择随机梯度下降法对任意选取的每个评分项r
ui
确立一个微型目标函
ui
=(µ + b
u
+ b
i
r
ui
)
2
+ λ(b
2
u
+ b
2
i
),以快速更新模型参数b
u
b
i
b
u
b
u
α(λb
u
+ e
ui
),
b
i
b
i
α(λb
i
+ e
ui
),
(20.19)
它不仅计算速度快,还可以有效避免陷入局部最优
$%"&'#(
202
)!*+",$
20.4. 矩阵分解模型
!"#
20.4 矩阵分解模型
隐语义模型Latent Factor ModelLFM挖掘用户和项目的隐含特征以解释观测数据集,
用隐含特征表示用户与项目的互动行为,实现精准预测的目的目前成熟的隐语义模型包括概率隐
语义分析(pLSA[198, 199]、隐Latent Dirichlet AllocationLDA[200]和矩
阵分解模型(Matrix Factorization ModelMFM[201]。本SVD介绍矩阵分解模型的
原理
矩阵分解模型将用户与项目映射到一个低维度的联合隐语义空间,从而可以通过联合隐语义
空间下的内积刻画用户对项目的评分行为隐语义空间反映项目的内在特征,比如电影类型(动作
喜剧片或纪录片等)时长等,则每一部电影都可以使用少量的内在特征来表示,用户
对电影的评分则可能隐含用户对不同电影类型的差异性偏好假设隐语义空间的维度为k m, n
对于任意一个用户u U,都对应一个用户隐语义向p
u
R
k
。对i I,也都对
应一个项目隐语义向量q
i
R
k
,则用户评分矩阵A就可以通过两个低秩的因子矩阵的乘积近似表
示,即
A PQ
T
,r
ui
q
T
i
p
u
=
k
"
d=1
p
ud
q
id
. (20.20)
用户u对项目i特征的偏好可以使用q
T
i
p
u
进行刻画隐语义向量参数可以通过最小化目标函数
L(P, Q)=
"
uU
"
iI
u
(q
T
i
p
u
r
ui
)
2
(20.21)
确定一般地,人们使用梯度下降法优化目标函数这种是最简单的SVD 方法,为了减少模型复
杂度,我们可以对目标函数添加正则化项,则有
L(P, Q)=
"
uU
"
iI
u
(q
T
i
p
u
r
ui
)
2
+ λ(
"
uU
p
u
2
+
"
iI
q
i
2
), (20.22)
迭代更新模型参数:
q
i
q
i
α(λq
i
+
(
uU
i
e
ui
p
u
),
p
u
p
u
α ( λp
u
+
(
iI
u
e
ui
q
i
).
(20.23)
其中,e
ui
= q
T
i
p
u
r
ui
是模型预测的偏差这种方法称作规则化的SVD方法Regularized Singular
Value DecompositionRSVD由于用户评分习惯的差异以及项目热度的不同,可能出现存在评
分偏高或偏低的情况,为降低用户评分习惯与项目热度的影响,研究人员融入基线模型,󰄁出有偏
置的SVD预测模型 [195, 196, 197]
p
ui
= µ + b
u
+ b
i
+ q
T
i
p
u
, (20.24)
通过最小化目标函数
L(b, p, q)=
"
uU
"
iI
u
(µ+b
u
+b
i
+q
T
i
p
u
r
ui
)
2
+λ
1
(
"
uU
b
2
u
+
"
iI
b
2
i
)+λ
2
(
"
uU
p
u
2
+
"
iI
q
i
2
) (20.25)
$%"&'#(
203
)!*+",$
搜索与排名 Searching and Ranking
!"#
训练模型如果记e
ui
= µ + b
u
+ b
i
+ q
T
i
p
u
r
ui
,我们可以通过梯度下降法按照如下规则迭代更新
模型参数:
b
u
b
u
α
1
(λ
1
b
u
+
(
iI
u
e
ui
),
b
i
b
i
α
1
(λ
1
b
i
+
(
uU
i
e
ui
),
q
i
q
i
α
2
(λ
2
q
i
+
(
uU
i
e
ui
p
u
),
p
u
p
u
α
2
(λ
2
p
u
+
(
iI
u
e
ui
q
i
).
(20.26)
用户评分数据是一种显性反馈信息,实际应用中隐性反馈(Implicit Feedback)却占据了反馈
数据的绝大部分,比如用户浏览收藏等信息皆属于用户对项目的隐性反馈数据为了󰄁升推荐效
果,研究人员在SVD方法的基础上引入项目的隐性因子向量z
i
R
k
,构建新的评分预测模型:
p
ui
= µ + b
u
+ b
i
+ q
T
i
(p
u
+ |I
u
|
1/2
"
jI
u
z
j
) (20.27)
并称其为SVD++用户息:显性p
u
与隐性反馈数据|I
u
|
1/2
(
jI
u
z
j
更加全面地刻画用户与项目之间的交互行为模型参数的优化是遍历所有的评分项,按照如下策略
更新参数:
b
u
b
u
α
1
(λ
1
b
u
+
(
iI
u
e
ui
),
b
i
b
i
α
1
(λ
1
b
i
+
(
uU
i
e
ui
),
q
i
q
i
α
2
#
λ
2
q
i
+
(
uU
i
e
ui
(p
u
+ |I
u
|
1/2
(
jI
u
z
j
)
$
,
p
u
p
u
α
2
(λ
2
p
u
+
(
iI
u
e
ui
q
i
),
z
j
z
j
α
2
#
λ
2
z
j
+
(
iI
u
e
ui
|I
u
|
1/2
q
i
$
, j I
u
.
(20.28)
对于SVDRSVDSVD++等模型,模型参数都可以利用随机梯度下降法进行更新,只需对原始更
新策略稍作修改即可
20.5 信誉系统
开放性的网络平台是用户交互的舞台,为了节省用户检索信息的时间,每个网站都󰄁供了一
种特殊的评价系统,利用集体的智慧,对信息进行有效的过,使得高质量的有价值的信息能
够以更大的概率󰄁供给用户比如Netflix的电影评分系统淘宝购物网站的商品评价系统
答网站ZhiHu 的解答过滤显示机制由于网络的开放性质,网络展示对象(图书视频博客
等)证,
害评价系统的可信度为此,De Kerchove[202, 203]计一个“信誉系统”Reputation System),
在信仰散度(Belief Divergence)的基础上󰄁出一种迭代算法,估计评价和受评对象的信誉
$%"&'#(
204
)!*+",$
20.6. 基于排序学习的推荐算法
!"#
信誉系统的思想简单且易于实现,对于一个含有m名评价人的系统,计算复杂度为O(m)。系
MovieLens数据集上的实验结果表明,它可以有效对抗评价人的作弊行为
根据信誉系统的思想,每个评价人都有一个表明其评价可信度的权重,每个受评对象也都有一
个反映其品质的信誉量假设评价系统存在m名评价人Un个受评对象I,评价人u对受评对象i
评分为0 r
ui
1。我使A 表示评价矩阵,ω
u
为评价人u的权重向量,ν
i
是受评对象i的信
誉向量信誉系统使用评价人的权值评价人给出的评分综合决定受评对象的信誉量,建立如下形
式的信誉公式:
ν
i
=
"
uU
i
(r
ui
ω
u
)/
"
uU
ω
u
,i I. (20.29)
反过来,信誉系统还可以根据受评对象的信誉量和评价人发出的评分,推断出评价人的权值如果
评价人的评分与受评对象的历史平均评分偏差大,则系统有理由质疑其评价的可信性,从而对其权
值产生不利影响由此构建出下面形式的权值计算模型:
ω
u
= λ
"
iI
u
(r
ui
ν
i
)
2
,u U. (20.30)
模型中参数λ > 0反映利用评分偏差区分评价人的强度它的值越大,评分偏差对评价人的区分能
力就弱;值小,评差对人的分能越强 λ →∞时,
ω
u
= λ,评价产生的偏差对评价人的权重不会又任何负面影响,并且受评对象的信誉值就是其
获得的所有评分均值为了保证评价人的权重非负,一般取λ >n,并且可以证明信誉系统存在
一的最优评级人权重向量与受评对象信誉向量
20.6 基于排序学习的推荐算法
推荐系统的研究主要分两个方向,一类是评分预测,一类是TopN推荐传统的基于记忆的方
法(如基于用户的和基于项目的协同过滤)于模型的方法(如矩阵分解)都是解决评分预测问
题,通过化均根误RMSE)、 MAE)等指标训练模型果推荐系统要进
TopN 列表推荐,则它只能先预测评分,再依次对项目按照预测分值降序排列获得TopN列表
实际上,由于用户只关注项目列表,所以TopN推荐更贴近用户的需求,通过直接优化TopN列表可
以更好地改善用户体验[204]
在信息检索中,排序学习方法以检索词-文档特征作为输入通过学习一个排序函数对新的检
索词-文档对进行相关性预测推荐系统的主要目标是给用户󰄁供可能感兴趣的项目列表,而用户
关注的可能只是排列在前几位的项目,因此也可以归结为排序问题推荐领域中的用户- 项目对就
如同检索系统的检索词-文档对,用户对项目的评分用户日志项目基本属性等信息作为输入特
征,可以借鉴排序学习的思想直接优化项目列表
基于排序学习的推荐方法(Learning to Rank Based Recommendation)与基本排序学习方法
类似,也分成逐点型序对型和序列性三大类传统的协同过滤方法(如矩阵分解)多属于逐点型
$%"&'#(
205
)!*+",$
搜索与排名 Searching and Ranking
!"#
方法,先预测项目评分,再根据预测结果降序排列得到一个推荐列表这种方法仅仅考虑单个项目
的评分预测精度,忽略了项目间的序列关系本质上,评分预测就是一种回归问题序对型方法优
化项目对的偏序关系,预测一个偏序矩阵,然后再将偏序矩阵转化为一个完整的排序列表序列
型方法则直接优化整个排序列表,如优化DCGNDCG MAP 等,CofiRank[205]
就是一
个典型的代表Rank-basedRating-based 的推荐算法应用范围更广泛,基于排序学习协同过滤
方法在近几年得到了广泛的研究,比如Yue Shi等人[206] ListNet 同概率矩阵分解(Probabilistic
Matrix Factorization, PMF)相结合,󰄁出ListRank-MF算法他们根据协同过滤问题的特征,巧
妙的利用PMF框架,给出序列型损失函数ListRank-MF的计算复杂度是O(n),其中n 表示训练
数据集中,用户给出评价的总数,拥有强大的扩展能力,并且可以取得比CofiRank更加突出的性
能。
20.7 基于信用的预测
如果把用户u U对项目i I
u
给出的所有评分构成一个评分向量,将其所评价过的每个项目
各自的平均得分¯r
i
,i I
u
构成一个相等维数的得分向量由于每个项目可能存在多个用户对其评
分,均得就反映了种集的评价,相对单个用户发出评价,其可度更
式:q
u
p
u
,利用交叉熵评价用
u的评分向量q
u
相对用户u评价的所有项目平均得分向量p
u
的一致性如果将项目的平均得分视
为用户对项目最可信的一种评价,则由交叉熵计算公式可得
CE(p
u
,q
u
)=
"
iI
u
q
ui
log p
ui
,u U (20.31)
p
u
= q
u
时,CE( p
u
,q
u
)=CE(q
u
,q
u
)就是对应分布的熵,值最小而一致性最强,用户u
出的评价可信程度也就最高为了直接评价两个分布的一致性,我们设计指标
c
u
=
CE(q
u
,q
u
)
CE(p
u
,q
u
)
=
H(q
u
)
CE(p
u
,q
u
)
,u U. (20.32)
作为一致性标的准度量
假设用户u对项目i的评价源自于两个因素,一个属于内在标准,一个是外在波动内在标准
是用户自身评分的一种稳定性的体现,模型使用用户的平均评分¯r
u
作为内在的评分标准外在波
ε
ui
是用户根据其他用户对所评项目作出评价的一种认可,可以使用所有用户对项目i评分的一种
加权平均值作为度量外在波动的指标,即
r
ui
= c
u
¯r
u
+(1 c
u
)ε
ui
,
ε
ui
=
(
vU
i
c
v
r
vi
/
(
vU
i
c
v
.
(20.33)
CofiRank是一种基于排名的推荐算法或称协同排名方法(Collaborative Ranking Approach,另外一个代表性的模型是MatchBox
$%"&'#(
206
)!*+",$
20.8. 基于图的推荐算法
!"#
20.8 基于图的推荐算法
基于图模型(Graph Model容:
图的构造很大程度上取决于数据,比如数据只有用户物品及用户评价信息,我们可以据此构
最简单二分图(Bipartite Graph), 络 ,
二分图的边如果系统数据还含有有价值的标签信息,比如用户个人信息(Profile,也称用户画
像) 等,Tripartite Graph)或双层图模型
Two-layer Graph Model[207, 208],通过标签或属性数据,建立用户物品间的充分连接
上排名,大致可以分成三类:1)基于图上的随机游走[15, 209],使用迭代法速求2)将推荐
看做一个半监督学习问题,利用传播算法实现[210]。( 3)基于图Laplacian矩阵度量图中节点的
相似度[211]
20.9 公开数据集:评分预测与推荐
20.9.1. MovieLens
美国明尼苏达大学的GroupLens研究小组
发布的MovieLens电影评分数据集
型:
MovieLens 100K 1M 10M,分别包含10,0001,000,00010,000,000 个用户评分用户评分采
用五分制,1 代表很不喜欢,5代表很喜欢100K 数据集包含943名用户对1682部电影的10,000个评
分数据集,其中每名用户至少评价20 部电影每条评分数据都含有从1970 1 1 日起以秒计时
的评分时间戳,数据稀疏度为94.96%(评分矩阵中评分尚空的比例)此外,数据集80 : 20
比例被划分成训练集和测试集,为了进行交叉校验还可以将数据集多次进行划分,从而更客观地评
价评分预测模型的性能10M数据集还包含“标签信息”,如从IMDb获取的电影标签用户标签
20.9.2. Netflix
Netflix是一家在线DVD租赁网站
200610月至20099月期间承办了一场举世瞩目的电影
评分预测竞赛在比赛之前,Netflix的电影推荐系统CineMatch的均方根误差(RMSE)为0.9525
根据比赛规定,参赛者只要可以将系统预测精度󰄁升10%,就可以获Netflix󰄁供的100万美元
奖金最终Korbell团队通过融合107种算法赢得这份奖金分析Korbell团队的源代码发现,奇
异值分解(Singular Value DecompositionSVD)和限制型玻尔兹曼机(Restricted Boltzmann
MachineRBM )是有效,二测结RMSE分别为0.89140.8990,如果将
二者线性融合就可以将RMSE降低至0.88。竞使Netflix网站480,189名用户
17,770部影片的评分记录
GroupLens: http://www.grouplens.org/
MovieLens: http://grouplens.org/datasets/movielens/
Netflix: http://www.netflix.com/
$%"&'#(
207
)!*+",$
搜索与排名 Searching and Ranking
!"#
20.9.3. 百度电影推荐算法创新大赛
百度公司在201331日组织了一项历时两月的电影推荐算法创新大赛
,向参赛者󰄁供了大
10,000名用户的8,000 部电影评分数据,评分采用五分制数据集含有五个文件:
1. 训练集是用户评分数据,分成用户ID电影ID和用户对电影评分三列
2. 预测集只有用户ID电影ID两列,用户对电影的评分数据是参赛者󰄁交的结果
3. 电影标签含有电影ID及逗号间隔的标签列表
4. 用户的社交数据包括用户ID,关注此用户的用户IDFollows)。
5. 用户的历史观影列表,一列为用户ID,一列为电影ID
评价预测精度的指标是均方根误差
电影推荐算法创新大赛
$%"&'#(
208
)!*+",$
第二十一章 信息抽取
21.1 VIPS
通常,网页解析皆基于“一个页面只存在一个主题”的假设进行事实上,多个主题同时出现
在同一个页面上的情形并不鲜见,尤其是列表类型的网页,既然如此,理应将页面分割成独立的语
义块,分而治之Cai视觉为,󰄁型:
VIPS[212],用以抽取网页的语义结构
21.2 手写字识别
21.3 OCR
光学字符识别(Optical Character RecognitionOCR)是一种将手写或机打文字的扫󰄀图像
转换成机器编码文本的机制,有时也用来称呼执行此类转换的软件OCR 是数字化发展需求的产
物,本,翻译,用较OCR
及到多个领域的知识,如模式识别人工智能和计算机视觉
209
第二十二章 机器学习基础知识
22.1 泛化能力
泛化能力(Generalization Ability )是机器学习中的一个重要概念机器学习方法从训练集中
训练得到的模型,其泛化能力是通过模型在未知数据(测试集)上的表现反映:模型在测试集上的
表现越好,表明模型的泛化能力越强,反之,则越弱泛化能力差的模型,存在两种状态:欠拟合
Underfitting)与过拟合Overfitting)。
高偏置过拟合在训练集上的表现好,但是在测试集上的表现则差强人意,对应着高方差在学习
系统中,影响模型泛化能力的因素很多,如训练集中包含的样本数目模型的复杂度等[164]
在机器学习理论分析时,存在几种常见的保证泛化能力的分析方法,如保证泛化所需样本数目
的边界渐进分析(Asymptotic Analysis)等如果一个分类器的真实错误了大于ϵ,则称分类器
是坏分类器一个坏分类器在n个随机独立训练样本上均保持正确的概率小于(1 ϵ)
n
如果假设空
H中有b个坏分类器,则至少有一个能够在n个随机独立训练样本上保持正确的概率小于b(1ϵ)
n
即“一致限(Union Bound”。 b |H|,则
它是坏分类器的概率小于|H|(1 ϵ)
n
此概率小于δ > 0的充要条件是n>ln(δ/H)/(1 ϵ)
22.2 交验证
交叉验证方法Cross Validation,简称CV)。 CV是用来验证模型性能的一种统计分析方
法,组,Training Set),
Validation Set), 使
标准常见的CV 方法有三种:
22.2.1. Hold-Out方法
将原始数据随机分成两组,一组作为训练集,一组作为验证集,使用训练集训练模型,在验证
集上测试训练的模型,并记录模型精度作为衡量模型性能的标准这种方法简洁易于实现,只要将
原始数据集随机分为两组即可,严格来说算不上CV,因为它没有反映交叉的思,模型在验证集
上的精度与原始数据集的分值有很大的关联,训练得到的模型说服力很弱
211
搜索与排名 Searching and Ranking
!"#
22.2.2. K折交验证
K折交叉验证方法K-fold Cross ValidationK-CV,将原始数据平均分成K组,轮流选择一
个子集作为验证集,其他K 1个子集作为训练集,从而训练得到K 个模型,如图 22.1。使K
模型在相应验证集上的预测精度均值表示模型性能K值一般不小于2,常见的是K =5, 10,并且
只有在原始数据量很小时,才会尝试取K =2,有效避免过学习或欠学习的发,最终训练得到的
模型也比较具有说服力量
22.1: 四折交叉验证
22.2.3. 留一交验证
留一交叉验证方法Leave-One-Out Cross Validation,记为LOO-CV)是K折交叉验证方
K = N时的一个特例,轮换使用一个样本作为验证数据,其他N 1个样本构成训练集,训练得
N个模型,并根据它们在相应验证样本上预测精度的均值衡量模型性能LOO-CV 的缺点是计
算成本高,但相比K-CV方法,存在两个优点:
每一回合,几乎全部样本皆用于训练模型,与原始样本的分布比较接近,训练与评估结果都
比较可信
实验过程没有引入随机因素,实验过程完全可以重现,进行不同模型的比较分析
22.3 奥卡姆剃刀
奥卡姆剃刀(Occam’s Razor)原理是由14世纪逻辑学家修士William of Occam󰄁出的一种
辑或问题的基则,可为一话:假设中,最那个
$%"&'#(
212
)!*+",$
22.4. 没有免费午餐定理
!"#
(朴素原则)应当优先考如,将奥卡姆剃刀原理应用到模型选择问题时,应当遵循的基本原
则是“在所有可能选择的模型中,能够很好地解释已知数据且形式简单的模型才是最好的模型,应
该优先考虑”[86]
22.4 没有免费午餐定理
22.5 经验法则
22.6 贪婪算法
22.7 在线机器学习
在线机器学习(Online Machine Learning)算法属于一种归纳模型,每次迭代只学习一个样
在线学习算法主要用于样本预测,如给定一组可以󰄀述今天股票市场的样本,在线学习算法能
够预测󰔁支股票明天的价格在线学习的典型特征是预测的即时性,一旦发现新的样本标记,便可
使用它修正在线学习算法的模型假设,从而不断地改善预测模型的表现感知器算法Pegasos
法与Winnow算法是三个经典的在线学习算法
一般地,在线学习算法是通过持续的试错学习实现逐步演化,每次试错学习都包含三个步骤:
接收一个新的样例x
预测样例的标记˜y = f (ω,x)
接收样例的真实标记y,更新模型ω
第三步是最关键的一步,学习算法充分利用样例的真实标记调整更新假设模型在模型调整时,
在线学习算法通常依赖于标准的性能指标,如均方差错误分类的比例最小化等只要保证新样本
的不断出现,在线学习算法可以持续地学习与改善,稳定性高可扩展性强
22.8 超参数优选
节:型,
测试模型模型训练阶段,一般都涉及到参数优选过程对于󰔁些模型,存在一类称作超参数
Hyper-parameter)的特殊参数,在训练之前就需要指定,如KNN模型中的K,神经网络模型中
的隐藏层层数和隐藏层节点个数等超参数对于模型性能影响较大,常用的超参数优选方法交
验证方法,下文以线性回归分析为例,介绍使用K折交叉验证方法优选超参数的基本流程
$%"&'#(
213
)!*+",$
搜索与排名 Searching and Ranking
!"#
线性回归分析的目标是最小化模型f(x, θ)=θ
T
x在训练数据集S
Train
上的经验风险损失
L(S
Train
, θ, λ)=
1
2n
train
"
(x,y)S
Tra in
#
y f(x, θ)
$
2
+ λθ
T
θ (22.1)
第一部分表示均方差项,第二部分表示正则化项λ > 0是正则化因子,属于超参数,限定选择范
{λ
1
,...,λ
m
}
Step 1. 将原始数据集按照一定比例分成AB两部分,数据B 作为测试集不参与模型训练与选择,
在数据A上使用K折交叉验证选择合适的超参数22.15折交据:数A等分
成五份S
1
,S
2
,S
3
,S
4
,S
5
,轮换使用一个子集作为验证集,其它子集作为训练集,产生五折
交叉验证数据集
22.1: 五折交叉验证数据集
Fold 训练集 验证集
Fold1 S
2
,S
3
,S
4
,S
5
S
1
Fold2 S
1
,S
3
,S
4
,S
5
S
2
Fold3 S
1
,S
2
,S
4
,S
5
S
3
Fold4 S
1
,S
2
,S
3
,S
5
S
4
Fold5 S
1
,S
2
,S
3
,S
4
S
5
Step 2. 选择超参λ
1
,通过最小化Fold1训练集S
Train
= {S
2
,S
3
,S
4
,S
5
}上的经验风险损失函数训
练模型
θ
1
Train
= arg min
θ
L(S
Train
, θ, λ
1
) (22.2)
Step 3. Fold1中验证集S
1
上计算模型的经验风险损失
L
11
= L(S
Vali
, θ
1
Train
, λ
1
) (22.3)
Step 4. 在其他折执行上两步,在对应折训练集上训练模型,并在对应验证集上评估模型的经验风
险损失L
12
,...,L
15
,计算平均损失L
1
=
5
(
i=1
L
1i
/5
Step 5. 对于每个超参λ
i
执行上述步骤,计算平均性能L
i
,选择平均损失最小的超参λ
作为最
佳超参数,并使用它在数据集A上训练模型,得到最优参数θ
, λ
Step 6. 根据训练的模型,在测试集B上测试模型,计算模型的预测损失
1
2n
test
"
(x,y)S
Tes t
#
y f(x, θ
)
$
2
(22.4)
$%"&'#(
214
)!*+",$
22.9. P/NP问题
!"#
使用交叉验证的方法优选超参数计算开销大,目前存在几种流行的近似优化方法,如网格搜
索、 [213]。根[213]实验结果对于含有多个超参数的模型,随机搜索远比网格搜索效
率高而且效果更佳MetzlerCroft[214]使用一种监督学习的方法进行参数优化他们认为直接优
线性标准式(如MAPP@10),
标准度量模型是非平滑,直接优化标准度量,传统的优化算法无能为力他们认为,在高维空间
搜索标准度量的最大值点十分困难,但是如果能够选取合适的细粒度(Granularity), 网
法就可以找到全局最大值点;坐标上升算法属于局部搜索方法,在标准度量为凹函数时,无法保证
找到全局最大值点如果标准度量包含多个局部最值点,可以通过重启动(restart)󰄁高找到全
局最优点的几率Metzler Croft 在文中使用的就是坐标上升算法,每次搜索伴以10次随机重启
10 Random Restarts)。
22.9 P/NP问题
计算复杂度理论(Computational Complexity Theory)主要研究对象是计算机求解问题的速
度, 多项式时间
Polynomial Time)内解决的问题划分P问题。对S,如果存在算法A,可以在n
k
间内解决问题S或者说它的时间复杂度是O ( n
k
),其中n 是输入大小k是一个自然数,则S存在一
个多项式时间算法我们󰄁供给算法A一个问题的可能答案,如果算法可以在多项式时间内验证此
解正确与否,那么算法A 就是一个不确定性算法Nondeterministic Algorithm)。 使
定算法在多项式时间内可以解决的问题统称NP 问题,它可以在多项式时间内得到验证由此可
知,P 问题是NP问题的一个子集,即PNP。如NP问题的所有可能答案,都可以在多项式
时间内进行正确与否的验证,则称它为NP完全问题NP-Complete Problem, NPC)。
22.1 (子集加和问题). 定一个整数集合,它的一个非空子集的所有元素加和是否等于零?比
集合{2, 3, 15, 14, 7, 10},我们可以迅速地给出肯定的答复,但是不存在一个多项式时间复杂
度的算法构造一个加和为零的子集子集加和问题是一个典型的NP问题,但不一定是P问题
2000年,美国Clay数学研究所(Clay Mathematics Institute, CMI)收录七个千禧年数学难题,
每个奖金一百万美元,排在第一问的是P NP 问题P v.s. NP Problem
P
?
= NP.
它是由著名计算机科学家1982年度图灵奖得主Stephen A. Cook[215]1971年发现并󰄁出的一个
难题它的意思是:对于任意一个问题,如果它的解可以使用计算机迅速(多项式时间)验证,这
个问题是否同样可以使用计算机迅速求解Cook举了一个有趣的例子形地解释它:在一个周
的晚上,你参加了一个盛大的晚会,感到局促不安,你想知道大厅里是否有你认识的人晚会的主
道:“你一识那在甜近的丝” 只需所指扫一眼,许发
$%"&'#(
215
)!*+",$
搜索与排名 Searching and Ranking
!"#
现他/她是正确的如果缺少这样的暗示,你需要环顾整个大厅,一个个地审视生成问题的一个
解通常比验证给定的一个解所花费的时间多得多
22.10 收敛速度与复杂度
假设数值迭代算法生成的序列为{x
k
},若序列收敛并且等式
ˆx =lim
k→∞
x
k
(22.5)
成立如果存在µ 0,使得
µ =lim
k→∞
x
k+1
ˆx
x
k
ˆx
(22.6)
µ称为序列{x
k
} 收敛速率Convergence Rate)。 µ (0, 1),则称序线性收敛;如
µ =0,则称序列超线性收敛;如果µ =1,则称序次线性收敛。如线
足下式:
lim
k→∞
x
k+2
x
k+1
x
k+1
x
k
=1 (22.7)
则称序列对数收敛ˆx
为了对超线性收敛细分,定义q-阶收敛速率
µ =lim
k→∞
x
k+1
ˆx
x
k
ˆx
q
> 0 (22.8)
其中,阶数q>1。当q =2时,则称序列二阶收敛
在表示算法时空复杂度时,通常在渐进表示法(Asymptotic Notation)中使用O表示渐进上
界(最现) 进下(最佳表现)Θ 表示是一种相对比较精确的方法在实际应用
中,以O使用最为常见
22.11 适定问题与非适定问题
1902年,Jacques Hadamard[216]在研究偏微分方程时󰄁出适定问题(well-posed
problem有刻画物现象数学型都应该适定的,模型解满足:
唯一和稳性(模型解初值变化续)在实际问中,Hadamard意义下的适定条件并不通
用,它无法解释部分模型对于数据微小扰动的敏感性,引发解的剧烈变化如果数学模型只满足部
分条件,就称作不适定问题(ill-posed problem), 如 ,
定问题有:去噪(De-nosing复原Restorsion放大(Zooming修补(Inpainting)、
赛克(Demosaicing超分辨(Super-resolution)等
解决不适定问题的方法有很多,其中一个最常使用的方法是Tikhonov 正则化,通过限定假设
空间将原问题转化为适定问题在统计学中Tikhonov正则化方法应用于线性回归分析,称为岭
回归
$%"&'#(
216
)!*+",$
22.12. 欠定系统与超定系统
!"#
22.12 欠定系统与超定系统
当线性方程组中未知数的数目大于方程的数目,则称线性系统欠定Under Determined),
之则称线性系统超定Over Determined)。 线 非一致性
Inconsistent)线性方程系统Rouch
´
eCapelli定理,当线性方程组增广矩阵的秩与系数矩
的秩对,则线组存解;当广阵的数矩时,则线方程
界;否则,它有无穷多解欠定系统要么存在无穷多解,要么没有解
$%"&'#(
217
)!*+",$