机器学习基础 之 集成学习

版权声明:转载需注明出处 https://blog.csdn.net/suoxd123/article/details/88962195


转自: https://www.zhenxiangsimple.com/2019/03/30/tech-ml-jcxx/


  集成学习是指将多个学习器进行集成来完成学习任务,若集成中只包含同类型的学习器称为同质集成,同质集成对应的学习器称为基学习器;若集成使用的学习器不同类型称为异质集成,异质集成对应的个体学习器称为组件学习器。

Boosting

  Boosting是提高单个学习器学习能力的一种方法,其原理是,首先基于训练样本得到一个学习器,然后根据当前学习器的表现对训练样本的分布比例或者训练样本自身的权重进行调整,使得当前学习器中学习错误的样本得到更多关注,基于调整后的样本得到一个新的学习器,直到学习器的数量达到预先设定的值( T T ),最后将所有学习器进行加权结合,表达式如下,其中 α t \alpha_t 为第t次训练得到的学习器对应的权重, h t h_t 为第t次得到的学习器。

H ( x ) = t = 1 T α t h t ( x ) H(x)=\sum_{t=1}^{T}\alpha_th_t(x)

Bagging

  Bagging是一种通过放回采样的方法得到不同的训练样本,使用不同训练样本对学习器进行训练,经过多次( T T 次)采样训练,最后对得到的不同学习器进行集成。具体的集成方法可以比较简单,对分类问题可以使用简单投票法,即少数服从多数的原则来选择所有分类器中分类最多的结果,对回归问题可以使用简单平均法,即对所有分类器的计算结果求均值。

随机森林

  随机森林是在Bagging的基础上,随机选择训练样本的属性,它是基于Bagging做的一种改进的方法,Bagging只是通过随机选择样本来增加学习器的多样性,而随机森林中学习器的多样性不止来自训练样本的扰动,还有来自属性的扰动。通常来讲,随机森林在学习器数量增加时的泛化能力和收敛速度好于Bagging,但学习器数量较少时其波动也较大,即随机森林的起始性能相对较差,但学习潜力较大。

结合策略

平均法

  由于训练样本不充分或存在噪声,所以加权平均法的权重有时候并不一定更好,通常来讲,如果单个学习器的性能相差较大时使用加权平均法,而相互接近时使用简单平均法。

简单平均分:

H ( x ) = 1 T i = 1 T h i ( x ) H(x) = \frac{1}{T}\sum_{i=1}^{T}h_i(x)

加权平均法:

H ( x ) = 1 T i = 1 T w i h i ( x ) H(x) = \frac{1}{T}\sum_{i=1}^{T}w_ih_i(x)

其中 w i w_i 是单个学习器 h i h_i 的权重,通常要求 w i 0 , i = 1 T w i = 1 w_i\ge0,\sum_{i=1}^{T}w_i=1

投票法

绝对多数

  仅选择票数过半的那个学习器的结果。

相对多数

  选择票数最多的结果,如果得到多个相同数量的结果,则随机选择其中一个。

H ( x ) = c a r g m a x j i = 1 T h i j ( x ) H(x) = c_{argmax_j}\sum_{i=1}^{T}h_i^j(x)

加权投票

  基于相对多数投票法增加学习器对应的权重,跟加权平均类似,其中 w i w_i 是单个学习器 h i h_i 的权重,通常要求 w i 0 , i = 1 T w i = 1 w_i\ge0,\sum_{i=1}^{T}w_i=1

H ( x ) = c a r g m a x j i = 1 T w i h i j ( x ) H(x) = c_{argmax_j}\sum_{i=1}^{T}w_ih_i^j(x)

学习法

  前面说的平均和投票,可以理解为一种简单的学习器,如果学习器的结果比较复杂或者学习器输出类型不一致时,也可以通过一个新的不同类型的学习器的来进行结合,即将学习器本身作为要学习和分类的测试样本,通常使用交叉验证法或留一法,留一法是指使用学习器没有使用的测试样本进行测试,交叉验证发是指将测试样本随机分为数量相当的几类,然后分别使用各学习器进行测试验证,最终得到一个新的学习器。

点击查看 (人工智能) 系列文章


猜你喜欢

转载自blog.csdn.net/suoxd123/article/details/88962195