集成学习

1. 个体与集成

  • 集成学习通过构建并结合多个学习器完成学习任务,常可获得比单一学习器显著优越的泛化性能
    1. 集成学习对于弱学习器的集成效果最明显
    2. 实践中往往使用较强的学习器以减少学习器的使用数量,或重用关于常见学习器的一些经验
image-20200528115445126.png
  • 同质集成与异质集成

    1. 同质集成中的个体学习器称为“基学习器”,相应学习算法称为“基学习算法”
    2. 异质集成中的个体学习器称为“组件学习器”
  • 集成学习的结果根据“投票法”产生(少数服从多数)

image-20200528120038731.png
  • 二分类问题y \in \{-1,+1\}和真实函数f,假定基分类器的错误率为\epsilon,对每个基分类器h_i
    P(h_i(x) \not = f(x)) = \epsilon
    假设集成通过简单投票法结合T(方便起见设为奇数)个基分类器,若有超过半数判为正确则集成分类正确:
    H(x)=sign(\Sigma_{i=1}^Th_i(x))
    各个基分类器h_i的分类结果求和之后数字的正、负或0,代表投票法产生的结果,即“少数服从多数”,符号函数,将正数变成1,负数变成-1,0仍然是0,所以H_(x)是由投票法产生的分类结果
    Hoeffding不等式可知集成错误率为
    \begin{array}{l} P(H(x) \not = f(x)) \\ =\Sigma_{k=0}^{\lfloor T/2 \rfloor}\binom{T}{k}(1-\epsilon)^k\epsilon^{T-k}\\ \leq \exp(-\frac{1}{2}T(1-2\epsilon)^2) \end{array}
    随着个体分类器数目T的增大,集成错误率将指数下降趋于零
    * 证明
    由基分类器相互独立,设x_i为每个分类器分类正确的次数,则x_i \sim B(1,1-\epsilon)
    假设随机变量XT个基分类器分类正确的次数,则X \sim B(T,1-\epsilon)
    \begin{array}{l} P(H(x) \not = f(x))\\ = P(X \leq \lfloor T/2 \rfloor)\\ \leq P(X \leq T/2)\\ =P[X-(1-\epsilon)T \leq \frac{T}{2}-(1-\epsilon)T]\\ =P[X-(1-\epsilon)T \leq - \frac{T}{2}(1-2\epsilon)]\\ =P[\Sigma_{i=1}^Tx_i - \Sigma_{i=1}^T\mathbb E(x_i) \leq - \frac{T}{2}(1-2\epsilon)]\\ =P[\frac{1}{T}\Sigma_{i=1}^Tx_i - \frac{1}{T}\Sigma_{i=1}^T\mathbb E(x_i) \leq - \frac{1}{2}(1-2\epsilon)] \end{array}
    Hoeffding不等式知
    P(\frac{1}{m}\Sigma_{i=1}^mx_i-\frac{1}{m}\Sigma_{i=1}^m \mathbb E(x_i)\geq \epsilon) \leq \exp(-2m\epsilon^2)
    X=-X
    P(\frac{1}{m}\Sigma_{i=1}^m \mathbb E(x_i) - \frac{1}{m}\Sigma_{i=1}^mx_i\geq \epsilon) \leq \exp(-2m\epsilon^2)
    等价于
    P(\frac{1}{m}\Sigma_{i=1}^mx_i-\frac{1}{m}\Sigma_{i=1}^m \mathbb E(x_i)\leq -\epsilon) \leq \exp(-2m\epsilon^2)
    \epsilon = \frac{1-2\epsilon}{2},m=T得到
    \begin{array}{l} P(H(x) \not = f(x)) \\ =\Sigma_{k=0}^{\lfloor T/2 \rfloor}\binom{T}{k}(1-\epsilon)^k\epsilon^{T-k}\\ \leq \exp(-\frac{1}{2}T(1-2\epsilon)^2) \end{array}

2.Boosting

  • 工作机制

    1. 先从初始训练集训练出一个基学习器,

    2. 再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注

    3. 基于调整后的样本训练下一个基学习器

    4. 如此重复进行直到基学习器数目(训练轮数)达到事先指定的值T,最终将T个基学习器进行加权结合

  • Adaboost算法


    image-20200528125326366.png
    • 基于“加性模型”最小化指数损失函数

      • 加性模型(基学习器线性组合)
        H(x)=\Sigma_{t=1}^T\alpha_th_t(x)\\ \alpha_t=\frac{1}{2}\ln(\frac{1-\epsilon_t}{\epsilon_t})
        该分类器的权重只与分类器的错误率负相关(错误率越大权重越低)

      • 指数损失函数
        l_{exp}(H|D)\\ = \mathbb E_{x \sim D}[e^{-f(x)H(x)}]\\ = \Sigma_{x \in D}D(x)e^{-f(x)H(x)}
        f(x) \in \{+1,-1\},H(x) \in \mathbb R

        1. 若预测结果正确,则H(x)f(x) > 0e^{-f(x)H(x)} = e^{-|H(x)|} < 1,且H(x)越大(视为分类器对预测结果的信心),损失函数值越小。H(x)接近0,则损失函数值较大
        2. 若预测结果错误,则H(x)f(x) < 0e^{-f(x)H(x)} = e^{|H(x)|} > 1,且H(x)越大(视为分类器对预测结果的信心),损失函数值越大。H(x)接近0,则损失函数值较小
      • 寻找这样的H(x)使得指数损失函数最小化,对H(x)求偏导
        \begin{array}{l} \frac{\partial l_{exp}(H|D)}{\partial H(x)}\\ =\frac{\partial \mathbb E_{x \sim D}[e^{-f(x)H(x)}]}{\partial H(x)}\\ =\frac{\partial\Sigma_{x \in D}D(x)e^{-f(x)H(x)}}{\partial H(x)}\\ =\frac{\partial\Sigma_{i=1}^{|D|}D(x_i)[(e^{-H(x_i)}P(f(x_i)=1|x_i)+e^{H(x_i)}P(f(x_i)=-1|x_i)]}{\partial H(x)}\\ =e^{-H(x)}P(f(x)=1|x)+e^{H(x)}P(f(x)=-1|x) \end{array}
        令上式取0,得到
        H(x)=\frac{1}{2}\ ln\frac{P(f(x)=1|x)}{P(f(x)=-1|x)}
        取符号函数,得到
        \begin{array}{} sign(H(x))\\ = sign(\frac{1}{2}\ln\frac{P(f(x)=1|x)}{P(f(x)=-1|x)})\\ = \left\{ \begin{array}{lcl} 1, &{P(f(x)=1|x)}>{P(f(x)=-1|x)} \\ -1, &{P(f(x)=1|x)}<{P(f(x)=-1|x)} \end{array} \right. \\ = \arg max_{y \in \{-1,1\}}P(f(x) = y|x) \end {array}
        sign(H(x))达到了贝叶斯最优错误率

        若指数损失函数最小化,则H(x)f(x) > 0,分类错误率也将最小化

        指数损失函数是分类任务原本0/1损失函数的一致的替代损失函数

      • 确定基分类器的权重\alpha_t
        H(x)=\Sigma_{t=1}^T\alpha_th_t(x)
        为了得到使得指数损失函数尽可能小的H(x),应确定\alpha_t使得每次添加的\alpha_t h_t最小化指数损失函数
        \begin{array}{l} l_{exp}(\alpha_t h_t|D_t)\\ =\mathbb E_{x \sim D_t}[e^{-f(x)\alpha_th_t(x)}]\\ =\mathbb E_{x \sim D_t}[e^{-\alpha_t}\mathbb I(f(x)=h_t(x))+e^{\alpha_t}\mathbb I(f(x)\not = h_t(x))]\\ =e^{-\alpha_t}P_{x \sim D_t}(f(x)=h_t(x) + e^{\alpha_t}P_{x \sim D_t}(f(x)\not =h_t(x)\\ =e^{-\alpha_t}(1 - \epsilon_t)+e^{\alpha_t}\epsilon_t \end{array}
        \alpha_t求偏导
        \frac{\partial l_{exp}(\alpha_th_t|D_t)}{\partial \alpha_t} = -e^{-\alpha_t}(1 - \epsilon_t)+e^{\alpha_t}\epsilon_t
        令偏导数取0,得到\alpha_t的闭式解
        \alpha_t = \frac{1}{2}\ln(\frac{1-\epsilon_t}{\epsilon_t})

      • 对样本分布进行调整,使得下一轮的基学习器h_t能纠正H_{t-1}的一些错误

        H_{t-1}=\Sigma_{t=1}^{T-1}\alpha_th_t(x)

        要求最小化
        \begin{array}{} l_{exp}(H_{t-1} + h_t|D)\\ =\mathbb E_{x \sim D}[e^{-f(x)(H_{t-1}(x) + h_t(x))}]\\ =\mathbb E_{x \sim D}[e^{-f(x)(H_{t-1}(x)}e^{-f(x)h_t(x)}] \end{array}
        由于f^2(x) = h_t^2(x) = 1,e^x=1 + x + \frac{x^2}{2}+o(x^2),得到
        \begin{array}{} l_{exp}(H_{t-1} + h_t|D)\\ =\mathbb E_{x \sim D}[e^{-f(x)(H_{t-1}(x)}e^{-f(x)h_t(x)}]\\ \approx E_{x \sim D}[e^{-f(x)(H_{t-1}(x)}(1-f(x)h_t(x)+\frac{f^2(x)h_t^2(x)}{2})]\\ = \mathbb E_{x \sim D}[e^{-f(x)(H_{t-1}(x)}(1-f(x)h_t(x)+\frac{1}{2})]\\ \end{array}
        由此得出理想的基学习器应满足这样的约束
        \begin{array}{l} h_t(x) \\ = \arg min_{h} l_{exp}(H_{t-1} + h_t|D) \\ = \arg min_{h} E_{x \sim D}[e^{-f(x)(H_{t-1}(x)}(1-f(x)h_t(x)+\frac{1}{2})]\\ = \arg max_{h} E_{x \sim D}[e^{-f(x)(H_{t-1}(x)}f(x)h_t(x)]\\ = \arg max_{h} E_{x \sim D}[\frac{e^{-f(x)(H_{t-1}(x)}}{E_{x \sim D}[e^{-f(x)(H_{t-1}(x)}]}f(x)h_t(x)] \end{array}
        其中E_{x \sim D}[e^{-f(x)(H_{t-1}(x)}]=\Sigma_{i=1}^{|D|}D(x_i)[e^{-f(x)(H_{t-1}(x)}]是一个常数

        D_t表示一个分布
        D_t(x)=\frac{D(x)e^{-f(x)H_{t-1}(x)}}{\mathbb E_{x \sim D}[e^{-f(x)(H_{t-1}(x)}]}
        等价于令
        \begin{array}{l} h_t(x) \\ = \arg max_{h} \mathbb E_{x \sim D}[\frac{e^{-f(x)(H_{t-1}(x)}}{E_{x \sim D}[e^{-f(x)(H_{t-1}(x)}]}f(x)h_t(x)]\\ = \arg max_{h} \Sigma_{i=1}^{|D|}D(x_i)[\frac{e^{-f(x)(H_{t-1}(x)}}{E_{x \sim D}[e^{-f(x)(H_{t-1}(x)}]}f(x_i)h_t(x_i)]\\ = \arg max_{h} \Sigma_{i=1}^{|D_t|}D_t(x_i)[f(x_i)h_t(x_i)]\\ = \arg max_{h} \mathbb E_{x \sim D_t}[f(x)h_t(x)] \end{array}
        由于f(x),h(x) \in \{-1,+1\},有
        f(x)h(x) = 1 - 2\mathbb I(f(x) \not = h(x))
        则理想的基学习器将在分布D_t下最小化分类误差,因此弱分类器的训练集将基于分布D_t来训练,且分类误差应小于0.5
        h_t(x)=\arg min_h \mathbb E_{x \sim D_t}[\mathbb I(f(x) \not = h(x))]
        考虑到D_tD_{t+1}的关系,有
        \begin{array}{ll} D_{t+1}(x)\\ = \frac{D(x)e^{-f(x)H_t(x)}}{\mathbb E_{x \sim D}[e^{-f(x)H_t(x)}]}\\ = \frac{D(x)e^{-f(x)H_{t-1}(x)}e^{-f(x)\alpha_t h_t(x)}}{\mathbb E_{x \sim D}[e^{-f(x)H_t(x)}]}\\ =D_t(x)e^{-f(x)\alpha_t h_t(x)}\frac{e^{-f(x)H_{t-1}(x)}}{e^{-f(x)H_t(x)}} \end{array}

  • 总结

    1. Boosting算法在训练过程中的每一轮中,根据样本分布为每个训练样本重新赋予一个权重
    2. 对无法接受带权样本的基学习算法,通过重采样法来处理
    3. Boosting算法在训练每一轮都要检查当前生成的基学习器是否满足基本条件(\epsilon < 0.5)分类结果比随机猜测好(学习过程停止,重采样与重启动?)
    4. Boosting主要关注降低偏差,因此能基于泛化性能弱的数据集构建出很强的集成
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,701评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,649评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,037评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,994评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,018评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,796评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,481评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,370评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,868评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,014评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,153评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,832评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,494评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,039评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,437评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,131评论 2 356