(终于读到最后一章了,吼吼!激动呀。我总感觉combining models已经有点频率派方法的味道了。所以接下来要读ESL?)
贝叶斯模型平均和组合模型并不相同
组合模型如混合高斯,生成过程为
贝叶斯模型平均则是有几个不同的模型,索引为 h = 1 , … , H h=1,\dots,H h=1,…,H,并有概率 p ( h ) p(h) p(h)
(例如其中一个模型是混合高斯,一个模型是混合柯西分布等;再例如线性回归中参数先验分布,不同参数对应不同的模型)
数据集的生成过程为
贝叶斯模型平均实际上假设了只有一个模型用于生成整个数据, h h h上的概率仅仅是对于究竟是哪个模型在生成的不确定性。随着数据集规模增大,这个不确定性会减小,后验分布 p ( h ∣ X ) p(h|\bm X) p(h∣X)会集中到模型中的一个(例如线性回归的参数后验)
贝叶斯模型平均中,整个数据集由单一模型生成,相反,用组合模型时,数据集中的不同数据点可以由隐变量 z z z的不同值对应分量生成
委员会committe:训 L L L个不同的模型,然后取平均做预测
该方法主要是用来降variance,例如图3.5中的模型平均
提升方法boosting:是committee的变种,串行学一堆模型,依据之前模型的表现调整误差函数
相比于委员会,boosting希望能得到更多的提升。就算基分类器的性能仅仅稍好于随机猜测,即弱分类器,boosting也能有很好的表现
提升方法起源于统计学习理论,得到泛化误差上界,不过这些上界非常宽松,没有实际价值
Friedman et al. (2000)给出了一种不同的boosting解释,说明adaboost是关于指数误差的序列最小化
考虑指数误差函数
其中
t n ∈ { − 1 , 1 } t_n\in \{-1, 1\} tn∈{−1,1}是label,目标是最小化 α , y \alpha,y α,y
假定 y 1 , … , y m − 1 , α 1 , … , α m − 1 y_1,\dots, y_{m-1},\alpha_1, \dots,\alpha_{m-1} y1,…,ym−1,α1,…,αm−1给定,只关于 α m , y m \alpha_m,y_m αm,ym最小化,误差函数可以写成
其中 w n ( m ) = exp { − t n f m − 1 ( x n ) } w_n^{(m)}=\exp \{-t_n f_{m-1}(\bm x_n)\} wn(m)=exp{−tnfm−1(xn)},记 T m \mathcal T_m Tm为 y m y_m ym分对的数据集合, M m \mathcal M_m Mm是分错的数据集合,那么误差函数可以写为
上式关于 y m y_m ym的优化,第二项是常量,所以实际上就是在优化式14.15;关于 α m \alpha_m αm的优化,得到了式14.17. 这都是和AdaBoost的算法流程里一致的
接着考察 w w w,从式14.22注意到
使用代换
得到
其中 exp ( − α m / 2 ) \exp(-\alpha_m/2) exp(−αm/2)独立于 n n n,对所有项都一样,丢掉不影响结果,由此得到式14.18
最后做决策时, f f f中的系数 1 / 2 1/2 1/2也可以丢掉,而不影响符号
为了获得更多关于指数误差函数的直觉insight,考虑如下误差函数
由变分法求上式关于 y y y的最小化,易得
所以它是log-odd函数 ln ( x / ( 1 − x ) ) \ln(x/(1-x)) ln(x/(1−x))缩放一半,也即AdaBoost在基分类器的线性组合形成的函数空间中寻找log-odd函数的形式,同时受约束于序列优化策略
在交叉熵损失中,如果 t ∈ { − 1 , 1 } t\in \{-1, 1\} t∈{−1,1},则一个数据点的误差函数可以写为 ln ( 1 + exp ( − y t ) ) \ln (1+\exp (-yt)) ln(1+exp(−yt)),(回顾7.1.2节)
不同loss function的比较如图所示
上图中,为了把所有loss都规约到 ( 0 , 1 ) (0,1) (0,1)点,cross-entropy除以 ln 2 \ln2 ln2
指数损失的缺点:
把提升方法表示为指数误差下可加性模型的最优化,扩展出一大类相似算法——包括使用其他误差函数的多类推广和回归。在回归中,如果用平方和损失,那么序列最小化的新增模型就变成了拟合残差 t n − f m − 1 ( x n ) t_n - f_{m-1}(\bm x_n) tn−fm−1(xn),也即梯度提升(Friedman 2001),可以参考《统计学习方法》
(《西瓜书》第8章阅读材料指出:AdaBoost不容易过拟合,但是理论上仍然很难解释。这个现象的的严格表述是“为什么AdaBoost在训练误差达到0之后,继续训练,仍能提高泛化性能”,如果一直训练下去,过拟合终将出现)
决策树Decision Tree:如何看作是组合模型?决策树可以认为是从一堆模型中选一个,做决策,而不是平均。即对不同的输入区域用不同的模型。总复杂度随着输入有关的选择复杂程度变化
决策树的构造其实算是一种贪心算法,也即先贪心出根节点,再贪心出下一层……整体来看,并不一定是最优划分
关于停止:常见的做法是先构建一棵较大的树,然后用叶子上样本点数量作为停止准则,再后剪枝。剪枝会在模型复杂度和误差之间平衡。例如,从树 T 0 T_0 T0开始,通过剪枝得到 T T T,即 T ⊂ T 0 T\subset T_0 T⊂T0. 假定叶结点的索引为 τ = 1 , … , ∣ T ∣ \tau=1,\dots,|T| τ=1,…,∣T∣,其中 ∣ T ∣ |T| ∣T∣表示叶子个数。对于具有 N τ N_\tau Nτ个数据点的区域 R τ \mathcal R_{\tau} Rτ,给出的最优预测为
对应平方和损失
剪枝准则为
其中 λ \lambda λ平衡了模型复杂度(由 ∣ T ∣ |T| ∣T∣定义)与平方和损失,该值通过cross-validation选择
对于分类问题,常用的损失函数是交叉熵和基尼系数,这一块直接翻西瓜书。这两者比分类错误率要好,因为这两者对结点的概率更敏感(习题14.11),此外这两者是可微的。对于后剪枝,分类错误率则更常用
决策树的一个优点是,所学习的模型人能理解。但是实际中,训练集的微小改变有可能形成非常不同的划分
决策树的问题在于
决策树是一种很硬的、平行于坐标轴的区域划分,可以采用一种概率模型去进行组合
考虑 K K K个线性回归模型,每一个都有参数 w k \bm w_k wk,共用一套噪声精确度 β \beta β,先考虑一维输出 t t t,尽管扩展到多维是容易的。记混合系数为 π k \pi_k πk,混合分布可以写为
其中 θ \bm \theta θ表示了所有参数,包括 W = { w k } , π = { π k } , β \bm W=\{\bm w_k\},\bm \pi=\{\pi_k\},\beta W={wk},π={πk},β
对数似然为
该式可用EM优化,其中隐变量 z n k ∈ { 0 , 1 } z_{nk} \in \{0,1\} znk∈{0,1},对于每个数据点 n n n,只有一个 z n k = 1 z_{nk}=1 znk=1,其他为 0 0 0
全数据对数似然为
EM中
将 K K K个逻辑回归模型混合
其中 ϕ \bm \phi ϕ是特征向量, y k = σ ( w k T ϕ ) y_k=\sigma(\bm w_k^T\bm \phi) yk=σ(wkTϕ)是第 k k k个分量的输出, θ \bm \theta θ包括 { π k } \{\pi_k\} {πk}和 { w k } \{\bm w_k\} {wk}
对应数据集似然函数形式为
全数据的概率分布为
其中 z n k z_{nk} znk是一个二值变量。(可以把式14.47关于 Z \bm Z Z求和求掉,验证式14.46)
使用EM
和混合线性(逻辑)回归的区别在于,混合系数 π \pi π也变成输入的函数
其中混合系数 π k ( x ) \pi_k(\bm x) πk(x)称为门函数gating functions(总感觉有点attention那味了), p k ( t ∣ x ) p_k(\bm t|\bm x) pk(t∣x)称为专家experts
其背后的思想是不同的专家在自己的区域进行预测,门函数确定哪个分量控制哪个区域
其中门函数必须满足混合系数通常的限制,即 0 ⩽ π k ( x ) ⩽ 1 , ∑ k π k ( x ) = 1 0\leqslant \pi_k(\bm x)\leqslant 1,\ \sum_k \pi_k(\bm x)=1 0⩽πk(x)⩽1, ∑kπk(x)=1,所以可以通过softmax进行约束表示
如果专家也是线性(回归、分类)模型,那么整体模型可以用EM算法优化,M步中需要用IRLS算法
专家模型的限制在于门函数和专家函数都是线性的。更灵活的模型是用多层门函数,得到层次混合专家hierarchical mixture of experts (HME模型),想象一个混合分布,其中每个部分都是混合分布。如果系数不是输入依赖的,那么这种层次和单层没区别,但是输入是线性依赖的,那么就有区别
参考习题14.17,这题的解答值得一看,如图
例如这种区域划分方式,用三类softmax就构造不出来,主要是 π 1 \pi_1 π1不受 v 2 T \bm v_2^T v2T影响的大区域(也即右图的红色直线),softmax一定互相干扰
参考文献:
[1] Christopher M. Bishop. Pattern Recognition and Machine Learning. 2006
至此,PRML读完了
2020年11月7日