PRML读书笔记——组合模型
来源:互联网 发布:软件定制开发公司名录 编辑:程序博客网 时间:2024/06/07 09:22
我们经常发现,可以通过以某种方式将多个模型结合到一起的方法来提升性能,而不是独立地使用一个单独的模型。
本章主要基于模型组合的思想,分析committe方法、提升的方法、条件混合模型,也顺带讲解决策树模型。
贝叶斯模型平均
这个其实不属于模型组合的方法,但是作者为了将它们区分开,所以简单介绍了贝叶斯平均。
这里考虑高斯混合模型的例子,有
这其实是组合模型的例子,多个高斯模型得到数据的概率分布。
现在我们举个贝叶斯平均的例子。假设我们有若⼲个不同的模型,索引为
这里的含义是,只有一个模型用于生成整个数据集。h上的概率分布仅仅反映了我们对于究竟是哪个模型⽤于⽣成数据的不确定性。这也是组合模型与贝叶斯平均的差异,组合模型是由多个模型来生成数据集的。
委员会
构建⼀个委员会的最简单的⽅法是对⼀组独⽴的模型的预测取平均。这种观点考虑偏置和⽅差之间的折中,它将模型的误差分解为偏置分量和⽅差分量,其中偏置分量产⽣于模型和真实的需要预测的函数之间的差异,⽅差分量表⽰模型对于单独的数据点的敏感性。当我们对⼀组低偏置高方差的模型求平均时,我们能得到相对精确的预测。
下面从理论推导的角度给出解释
假设我们有M个数据集,然后用每个数据集训练一个模型的副本
假设真实的函数为
其中,
则各模型的平方和误差的形式为:
而committe方法得到的期望误差为:
假设误差均值为0,且样本的误差不相关,即:
则有:
显然,组合后的误差明显小于单个模型,尽管现实中模型误差存在相关性,差距没有这么明显,但这种大小关系依然存在。
提升方法
这是一种比committe提升更明显的组合方法。它将多个“基”分类器进⾏组合,产⽣⼀种形式的委员会,委员会的表现会⽐任何⼀个基分类器的表现好得多。即使基分类器的表现仅仅⽐随机猜测的表现稍好,提升⽅法仍可以产⽣⽐较好的结果。这种基分类器有时被称为弱学习器。
这种方法与委员会方法的主要不同在于,基分类器是顺序训练的,每个基分类器使⽤数据集的⼀个加权形式进⾏训练,其中与每个数据点相关联的权系数依赖于前⼀个分类器的表现。特别地,被⼀个基分类器误分类的点在训练序列中的下⼀个分类器时会被赋予更⾼的权重。⼀旦所有的分类器都训练完毕,那么它们的预测就会通过加权投票的⽅法进⾏组合。
Adaboost
Adaboost是boosting家族的典型算法。下面做简单介绍。考虑⼀个⼆分类问题, 其中训练数据由输⼊向量
(1)初始化数据加权系数
(2)对于
- 使⽤训练数据调节⼀个分类器
ym(x) ,调节的⽬标是最⼩化加权的误差函数
其中
- 计算弱分类器的整体误差
- 计算弱分类器的权重
- 更新数据权系数
(3)使用最终的模型进行预测,形式为:
由上面过程可以分析出,对于每个弱分类器,误差
最小化指数误差
这里特意分析指数误差,是因为,上面Adaboost的整体计算过程,本质上就是在最小化指数误差。这里相当于将算法进一步推广到一般的情形去分析。
考虑指数误差函数:
其中
我们的目标是关于权系数
然而,我们不考虑误差函数的全局最小化,⽽是假设基分类器
有:
其中,权系数
这里,当我们关于
现在,用和Adaboost类似的公式更新数据权系数,如下:
可以发现,下一次迭代时,也会得到几乎一致的形式。这里,从三个参数
提升方法的误差函数
这里主要是和交叉熵误差函数作对比。
对比结果如下:
(1)优点:它的顺序最⼩化会得到简单的AdaBoost⽅法。
(2)缺点:它对负的
任何具有良好定义的概率模型的似然函数,推广性弱于交叉熵误差。
基于树的模型
这里主要是分析决策树,它将输⼊空间划分为超⽴⽅体区域,超⽴⽅体的边与坐标轴对齐,然后为每个区域分配⼀个简单的模型(例如,⼀个常数)。这些模型可以被看成⼀种模型组合⽅法,其中只有⼀个模型对于输⼊空间中任意给定点的预测起作⽤。
书里主要分析的情况是贪心策略构建树之后,如何剪枝的问题。
剪枝的过程基于的准则会在残留误差与模型复杂度之间进⾏平衡。我们将剪枝开始时的树记作
它对于残留的平⽅和误差的贡献为:
剪枝准则为:
这里T表示某个子树,
决策树其实是机器学习重要的模型之一,常见的决策树算法包括ID3、C4.5以及CART树
条件混合模型
混合高斯
决策树被限制为对输⼊空间的硬的、与坐标轴对齐的划分。这些限制可以通过引⼊软的、概率形式的划分的⽅式得到缓解,这些划分是所有输⼊变量的函数,⽽不仅仅是某个输⼊变量的函数。这就是条件混合模型的初衷。
书中重要分析的是线性回归模型的混合,就是用混合高斯的形式,将多个线性回归模型叠加。这里考虑K个线性回归模型,每个模型由
现在想求解这个模型,即优化参数集合
使用EM算法求解,引入二值潜在变量
下面用EM求解,在E步骤,计算潜在变量的最优值,这里最有值是它的后验期望,即:
然后构建Q值:
M步骤中,我们关于参数
对于
对于
其中,
对于
logistic模型的混合
线性回归模型定义了给定输⼊变量的条件下⽬标变量的⼀个条件概率分布,因此很容易将其⽤作混合模型中的分量分布。对于K各logistic回归模型,目标变量的条件概率分布为:
其中,
则似然函数为:
同样可以用EM算法求解。
专家混合
前面两个例子,混合系数
其中,混合系数
值得注意的是,混合模型的每个组件又可以是混合模型,这样就得到专家层次混合
补充——Bagging和Boosting对比
这里最后再简单对比一下Bagging和Boosting。
首先了解下Boostrap:这是一种有放回的抽样方法,它是非参数统计中一种重要的估计统计量方差进而进行区间估计的统计方法。其核心思想是由于小样本估计的不准确性,再加上现代计算性能的提升,可以用重复的计算提升小样本的精度。基本步骤如下:
(1) 采用重抽样技术从原始样本中抽取一定数量(自己给定)的样本,此过程允许重复抽样。
(2) 根据抽出的样本计算给定的统计量T。
(3) 重复上述N次(一般大于1000),得到N个统计量T。
(4) 计算上述N个统计量T的样本方差,得到统计量的方差。
Bagging借鉴boostrap的思想。训练多轮,每轮的训练集由从初始的训练集中随机取出的n个训练样本组成,某个初始训练样本在某轮训练集中可以出现多次或根本不出现,训练之后可得到一个预测函数序列
Boosting则每次采样训练弱分类器之后,会调整采样样本的权重。得到的弱分类器不是同等重要的,每个弱分类器有自己的权重。这个书上介绍的很全面。
它们的主要区别在于:
(1)取样方式不同。Bagging采用均匀取样,而Boosting根据错误率来取样,因此Boosting的分类精度要优于Bagging。
(2)Bagging的训练集的选择是随机的,各轮训练集之间相互独立,而Boostlng的各轮训练集的选择与前面各轮的学习结果有关
(3)Bagging的各个预测函数没有权重,而Boosting是有权重的;Bagging的各个预测函数可以并行生成,而Boosting的各个预测函数只能顺序生成
(4)bagging和boosting都可以有效地提高分类的准确性。在大多数数据集中,boosting的准确性比bagging高。但在有些数据集中,boosting会容易退化(过拟合)。
- PRML读书笔记——组合模型
- PRML读书笔记——图模型
- PRML读书笔记——线性回归模型
- PRML读书笔记——线性分类模型
- PRML读书笔记——混合模型与EM
- prml 图模型读书笔记
- PRML读书笔记——神经网络
- PRML读书笔记(1)——第三章 线性回归模型
- PRML读书笔记(1)——introduction
- PRML读书笔记(2)——Probability Distribution
- PRML读书笔记——稀疏核机
- PRML读书笔记——采样方法
- PRML读书笔记——连续潜在变量
- PRML读书笔记——顺序数据
- PRML读书笔记——Kernel Methods
- PRML读书笔记——概率分布
- PRML读书笔记(三):模型选择
- PRML学习笔记—第一章——1.3模型选择
- 虚拟机扩充硬盘
- visibility:collapse;在table里面应用效果
- 2013年第四届蓝桥杯C/C++ C组决赛真题题解
- SQuirrel连接hive配置
- c语言求圆的周长和面积
- PRML读书笔记——组合模型
- 人像美妆---妆容迁移算法研究(Makeup transfer)
- 自定义view实现随手指移动的小球及画轨迹
- 优秀博客
- Android动画-属性动画-ObjectAnimator
- Android动画-属性动画-AnimatorSet
- 今日头条的一条笔试题
- c语言求三角形的面积及判断三角形类型
- 深度学习数据集MNIST ImageNet COCO PASCAL VOC介绍