Chapter 14: Combining Models

来源:互联网 发布:php程序员简历项目经验 编辑:程序博客网 时间:2024/06/08 04:29

一:Introduction

1:相比于仅仅使用一个模型,多个模型结合在一起往往能够提高对数据集拟合的表现;

2:Committee:独立地训练L个不同的模型,然后将这L个模型预测的平均值作为最终的预测;

3:Boosting:该方法是committee的变体,连续地训练L个不同的模型,每次训练一个模型时其误差函数依赖于上一个模型对数据集拟合的好坏;相比于仅仅使用一个模型,这种方法能够大大提高对数据集拟合的表现;

4:Decision tree:有很多模型,根据输入变量的不同选择对应的一个模型;模型的选择依据树的二分查找

5:Mixtures of experts:decision tree的一个缺陷是对于每一个输入变量,只有一个模型与之对应,这称之为hard split;我们可以将hard split变成soft split,每一个输入变量,都有一定的概率对应着每个模型,有些模型对应的概率大,有些模型对应的概率小,类似的表达形式如下:

p(t|x⃗ )=k=1Kπk(x⃗ )p(t|x⃗ ,k)
其中πk(x⃗ )=p(k|x⃗ )表示的输入依赖的mixing coefficient,也就是每一个模型在输入变量x⃗ 下对应的概率;

二:Bayesian Model Averaging

1:需要理解Combination methods和Bayesian model averaging,因为这两者经常容易混淆;

2:Combination methods:类似的表达形式为p(x⃗ )=Kk=1πkp(x⃗ |k),显然其似然函数为p(X)=Nn=1p(x⃗ n)

3:Bayesian Model Averaging:其类似的表达式为p(X)=Hh=1p(X|h)p(h),对该表达式的理解为仅仅一个模型负责产生整个数据集,p(h)反应的是负责产生整个数据集的模型;

4:因此Bayesian model averaging和model combination关键不同在于Bayesian model averaging中每一个模型h负责产生整个数据集;而在Combination methods,所有的成分(模型)共同产生一个数据集。

三:Committees

1:训练L个模型然后将这L个模型预测值平均,这种方法能够提高预测表现的原因如下:从频率学家观点来看,误差分为bias和variance,bias来源于训练函数和真实函数预测值的差别,而variance表示模型对于训练集数据点的敏感程度;如果我们从不同的数据集中训练到了L个模型,将这L个模型均值,不同模型的varaince将会抵消,以此减少了误差,从而提高了预测表现;因此如果我们有了一组low-bias模型(模型复杂度较高),将这组模型平均,从而就能够得到比较好的预测表现;

2:假设我们有了一个单个数据集,用bootstrap方法产生了M个数据集,将M个数据集分布训练模型,从而得到了M个训练模型,然后将这M个训练模型的预测值平均,即得到了最终的预测值,表达形式如下:

yCOM(x⃗ )=1Mm=1Mym(x⃗ )

四:Bosting

1:Boosting:该方法是committee的变体,连续地训练L个不同的模型,每次训练一个模型时其误差函数依赖于上一个模型对数据集拟合的好坏;相比于仅仅使用一个模型,这种方法能够大大提高对数据集拟合的表现;

2:Boosting中有一个被广泛使用的算法,称之为AdaBoost(adaptive boosting),其用于分类中两类问题的步骤如下:

(1):每个数据点都有一个对应的权重wn,首先将所有数据点对应的权重设置为w(1)n=1/N

(2):对于m=1,…,M:

(a):通过极小化如下的带有权重的误差函数去拟合一个classifier ym(x⃗ )

Jm=n=1Nw(m)nI(ym(x⃗ n)tn)
其中如果I()中的等式相等,则I()=1,否则为0;

(b):计算ϵmαm,公式如下:

ϵm=Nn=1w(m)nI(ym(x⃗ n)tn)Nn=1w(m)nαm=ln{1ϵmϵm}

(c):利用下式更新权重因子:

w(m+1)n=w(m)nexp{αmI(ym(x⃗ n)tn)}

(3):使用最终的模型做预测,模型公式如下:

YM(x⃗ )=sign(m=1Mαmym(x⃗ ))

在这里,我们已经假定了类别{tn}用-1或1表示,同时我们能够用带有权重的数据训练classifier y(x⃗ ){1,1}

五:Conditional Mixture Models

1:Mixture of linear regression models

(1):线性回归混合模型的表达式如下:

p(t|ϕ⃗ ,θ⃗ )=k=1KπkN(t|w⃗ Tkϕ⃗ ,β1)
其中θ表示的参数{w⃗ k},{πk}和β,在这里{πk}与输入变量x⃗ 无关,为常数。并且当用极大似然法求解参数时,可以用ME算法;

2: Mixtures of logistic models

(1):logistic混合模型的表达式为

p(t|ϕ⃗ ,θ⃗ )=k=1Kπkytk[1yk]1t
其中yk=σ(w⃗ Tkϕ⃗ )θ表示的参数{w⃗ k}和{πk},在这里{πk}与输入变量x⃗ 无关,为常数。并且当用极大似然法求解参数时,可以用ME算法;

3:Mixtures of experts

(1):上述说的两个混合模型中的mixing coefficient πk为常数,与输入变量x⃗ 无关,但在mixtures of experts中,mixing coefficient πk=πk(x⃗ ),其依赖于输入变量x⃗ ,表达式如下:

p(t⃗ |x⃗ )=k=1Kπk(x⃗ )pk(t⃗ |x⃗ )

(2):在mixture of experts模型中,πk(x⃗ )被称之为gating function,要满足0<=πk(x⃗ )<=1以及kπk(x⃗ )=1这两个限制条件,并且通常用linear softmax函数表示;单独成分pk(t⃗ |x⃗ )称之为experts;

(3):由于gating和expert函数均为线性模型,所以mixture of experts模型的灵活性依然会受到限制;如果单独成分pk(t⃗ |x⃗ )也是一个混合模型,并且mixing coefficient也依赖于x⃗ ,这样模型的灵活性就大大提高了,这种模型称之为hierarchical mixture of experts(HME)。

0 0
原创粉丝点击