ESL第十六章 集成学习 汉明码、前向分段线性回归/前向逐步回归/Bet on Sparsity原则/噪信比/正则化路径/标准化L1间隔、学习集成/数值积分/集成生成/重要性采样/规则集成

(这一章的内容感觉很琐碎,很难提出主线。总的来说,应该还是正则路径重要性采样的学习集成两块内容)

16.1 导言

  • P605 集成学习ensemble learning的思想是通过结合一系列简单基础模型的优点来建立一个预测模型.包括:bagging、boosting、stacking、非参回归的贝叶斯方法。事实上,可以将任何字典方法dictionary method看成集成学习,其中基函数充当弱学习器weak learners,比如回归样条(这句是指把特征变换这个操作当作弱学习器,然后带权重地集成在一起?)
  • P606 早期10分类,纠错码error-correction code的方式。变成15个二分类问题。定义判别函数为 δ k ( x ) = ∑ l = 1 L ∣ C k l − p ^ l ( x ) ∣ \delta_k(x)=\sum_{l=1}^L|C_{kl}-\hat p_l(x)| δk(x)=l=1LCklp^l(x)
    汉明码,汉明距离。
    (感觉像是把多分类问题转成多个二分类问题,然后集成)
    James and Hastie (1998)分析了纠错码ECOC方法,展示随即便吗和和最优构造的纠错码效果一样好。此外,还声称编码coding的主要收益在于降低方差,因为不同编码问题得到不同的树,而解码有类似平均的效果

16.2 提升和正则化路径Regularization Path

  • P607 gradient boosting产生的模型序列与在高维特征空间中正则化模型相似.这最初是通过观测到boosted版本的线性模型和 lasso之间有着紧密联系得到的

16.2.1 带惩罚的回归Penalized Regression

  • P607 Gradient boosting的式10.41收缩正则可以通过类比含有很多基展开的带惩罚的线性回归得到。考虑所有可能的 J J J个终止结点的回归树 T = { T k } \mathcal T=\{T_k\} T={Tk}所形成的字典作为 R p \mathbb R^p Rp的基函数集合。线性模型为
    在这里插入图片描述
    其中 K = c a r d ( T ) K=card(\mathcal T) K=card(T). 因为树的个数可能比训练集大很多,所以采用正则化,令 α ^ ( λ ) \hat \alpha(\lambda) α^(λ)是下式的解
    在这里插入图片描述
    J ( α ) J(\alpha) J(α)是关于系数的惩罚函数,如ridge、lasso等。因为只有候选树的一小部分会在拟合时起作用,所以Lasso是合理的
    算法16.1给出了算法细节。注意 ϵ \epsilon ϵ的一步是一个无穷小量
    在这里插入图片描述
    (算法16.1的前向分段线性回归Forward Stagewise Linear Regression和3.8.1节的增长向前分段回归非常像。感觉差别是基不一样,算法16.1中是一堆树。不过算法16.1中2(a)步好像不是找最相关的,而是能让loss减的最小的,这两者在基归一化后应该是一样的)
    原则上,这个过程可以一直迭代到所有的残差为 0 0 0,或 β ∗ = 0 β^∗=0 β=0.第二种情况会发生在 K < N K<N K<N时,此时对应 λ = 0 \lambda=0 λ=0
    迭代 M < ∞ M<\infty M<次后,许多系数变为0. 这个表现像是Lasso
  • P608 线性回归中,如果 K > N K>N K>N,一般没有唯一的最小二乘,可以选L1最下的作为唯一解。(这似乎就是基追踪问题了。另一方面,也就是说正则能让ill-posed病态问题改善)
  • P609 如果所有的基函数互不相关,当 ϵ ↓ 0 , M ↑ \epsilon \downarrow 0, M \uparrow ϵ0,M ϵ \epsilon ϵ单调递减收敛于0, M M M单调递增),使得 M ϵ → t M\epsilon \to t Mϵt时,算法16.1得到的跟lasso一样的路径和解。
    或者同3.8.1节,两者要相等需使Lasso中参数沿路径单调,这里的基函数不相关可能能保证这一点。如果特征不相关,也经常是这种情况(其实也能理解,特征不相关,意味着各自发挥的作用不同)
    如果 α ^ k ( λ ) \hat \alpha_k(\lambda) α^k(λ)不是关于 λ \lambda λ单调,则解集合不同,算法 16.1解的集合正则参数值趋向于没有lasso改变得快
  • P610 Efron et al. (2004)通过在 ϵ \epsilon ϵ极限的情形下特征化解的路径,精确描述了这种联系,证明lasso和前向分段,系数的路径都是分段线性函数.从而提出高效的算法,使得整个路径计算时仅用到单个最小二乘拟合相同的花费,即最小角回归least angle regression算法
  • P610 带收缩的boosting树算法式10.41和算法16.1非常接近,区别在于每一次迭代时最优树的选取是通过自上而下的贪婪生成.对于其他的损失函数,如AdaBoost指数损失和交叉熵,Rosset et al. (2004a)展示类似这里的结果.因此,可以将带收缩的boosting树看成在所有可能树 J J J个终止结点上的单调病态回归的形式,将lasso的惩罚作为正则化项
    无收缩的boosting类似前向逐步回归forward-stepwise regression和最优子集选择best-subset selection,也即惩罚线性回归中非零参数个数 J ( α ) = ∑ k ∣ α k ∣ 0 J(\alpha)=\sum_k |\alpha_k|^0 J(α)=kαk0. 对于起作用变量少时,最优子集方法经常取得好效果,如果有较多强变量的情形下,最优子集非常greedy,与其他不太aggressive的算法,如lasso或岭回归相比,经常得到很差的结果。这也是boosting采用收缩得到改善的又一个说明(这也太神奇了)

16.2.2 "Bet on Sparsity"原则

  • P610,611 L 1 L_1 L1建立比较慢,带收缩的boosting建立也比较慢。 L 2 L_2 L2则快很多,如12.3.7节解析解。有时boosting的表现高于某些如支持向量机,很大程度上是因为 L 1 L_1 L1 L 2 L_2 L2的区别,因为 L 1 L_1 L1产生稀疏解
    假设有10000个数据点,模型是一百万棵树的组合。 L 2 L_2 L2系数稠密,但因为数据太少,想估计大量非零系数,这会有维度灾难造成的损失,很难拟合。(可是 L 2 L_2 L2的参数有效数少了呀,确实收缩了。不知道作者这里怎么思考这个方面的)
    换句话说, L 1 L_1 L1惩罚遵循了"bet on sparsity"的这一高维问题的准则:采用在稀疏问题表现好的方法,因为没有方法在稠密问题表现好.
    这些讨论需要一些限制条件:
    • 对于给定的应用,稀疏度取决于未知的真实函数个数,以及选定的字典集 T \mathcal T T
    • 稀疏还是稠密,和训练数据集的大小、噪信比noise-to-signal ratio, NSR有关.越大的训练集允许我们估计更小标准差的系数.当给定样本大小,小NSR中能识别出更多的非零系数
    • 字典集的大小. 增大字典集可能导出更稀疏的表示,但是问题会变得更难,导致更高方差
  • P612 图16.2用模拟数据说明分类和回归中 L 1 L_1 L1 L 2 L_2 L2更好. L 2 L_2 L2无论在哪都表现差,Lasso只在稀疏系数下表现好,(未知的真实函数稠密时,Lasso好像表现不如Ridge)
  • P612 解释的方差百分比percentage squared prediciton explained,解释的误分类率的百分比percentage misclassification error explained,这两个值越大越好
  • P613 噪信比NSR

16.2 正则化路径,过拟合与间隔Margin

  • P613 经常观察到boosting很慢才会过拟合.这个现象的部分原因在介绍随机森林时给出——分类错误率比均方误差对方差更不敏感(这句话我还是理解不能),并且分类是boosting的主要研究对象.这节将说明boosted模型的正则路径表现很好,而且对于特定的损失函数,有吸引人的极限形式
  • P614 (LAR可以用于精确计算Lasso和前向分段线性回归 F S 0 FS_0 FS0,因为LAR只需要在找方向的方法上稍加修改,就可以实现这两种分段线性的路径)
  • P614 造数据的例子中,向前分段路径趋于单调、光滑,而lasso振荡,这是因为变量集间的强相关性,lasso某种程度上受到多重共线性的影响. 图16.4中这两模型的性能相似,达到相同的最小值.在 F S 0 FS_0 FS0的后期需要更长时间来过拟合,这可能是更光滑路径的结果.(P88也提到 F S 0 FS_0 FS0比Lasso的约束要强。感觉LAR约束要强于Lasso,弱于 F S 0 FS_0 FS0
  • P614 Hastie et al. (2007)证明 F S 0 FS_0 FS0求解了平方误差损失下Lasso的单调版本,考虑 T α = T ∪ { − T } \mathcal T^\alpha=\mathcal T\cup \{-\mathcal T\} Tα=T{T}(这就很奇怪了, T \mathcal T T里面不包含自身的负吗),以及 α k ≥ 0 \alpha_k \ge 0 αk0的模型 f ( x ) = ∑ T k ∈ T α α k T k ( x ) f(x)=\sum_{T_k\in \mathcal T^\alpha} \alpha_k T_k(x) f(x)=TkTααkTk(x),此时Lasso系数路径是正的, F S 0 FS_0 FS0则是单调非降
  • P614 关于Lasso和 F S 0 FS_0 FS0单调的一段偏微分方程分析(没看懂啊)
  • P614 有建议表明boosting对于二分类问题表现很好是因为它有最大化间隔margin的特点,像4.5.2节和12章的支持向量机.Schapire et al. (1998)定义拟合模型 f ( x ) = ∑ k α k T k ( x ) f(x)=\sum_k \alpha_k T_k(x) f(x)=kαkTk(x)的标准化 L 1 L_1 L1间隔为
    在这里插入图片描述
    这里分母换成L2范数,就变成SVM式4.40. L 1 L_1 L1间隔 m ( f ) m(f) m(f) L ∞ L_{\infty} L的单位、即最大的坐标距离,衡量到最近的训练点的距离(这个式子选择的仍然是离判别界面最近的点,更准确说是分得最错的点,毕竟选点只和分子有关,这个分子和点到直线距离公式的分子一样。但是用 L ∞ L_\infty L为单位这句不懂)
  • P616 一些关于Adaboost收敛到某个 L 1 L_1 L1 margin解的结论
  • P616 综合本节结论:Boosted分类器的序列形成了一个关于间隔最大化解的 L 1 L_1 L1正则化单调路径

16.3 学习集成Learning Ensembles

  • P616 利用前面章节,得到更高效的集成模型。考虑如下形式函数
    在这里插入图片描述
    其中 T \mathcal T T是基函数字典,一般是树
    Friedman and Popescu (2003)提出混合方式,将该过程分成两步

    • 从训练集导出有限基函数字典 T L = { T 1 ( x ) , T 2 ( x ) , … , T M ( x ) } \mathcal T_{L}=\{\mathcal T_1(x), \mathcal T_2(x), \dots, \mathcal T_{M}(x)\} TL={T1(x),T2(x),,TM(x)}
    • 函数族 f λ ( x ) f_\lambda(x) fλ(x)通过拟合Lasso路径得到 在这里插入图片描述

    T L \mathcal T_L TL通过梯度提升或随机森林的方式得到. 该模型的最简单形式可看作是对提升boosting或随机森林的后处理post-processing boosting。通过对这些树进行 lasso 路径拟合,一般我们会得到更加简化的集合,它会大大减少未来预测的计算量和存储量。在下一节,将讨论这种方法的变种,进而降低 T L \mathcal T_L TL中的相关性,并且提高lasso post processor的表现

  • P618 图16.6展示了lasso post-processing对随机森林有较大程度改善,并且将森林降至40棵树,而不是原来的1000棵.这个post-processed表现与gradient boosting相当(这也太强了。等于说是先random forest选一堆树,不是直接平均,而是lasso后处理)

16.3.1 学习一个好的集成

  • P617 并非所有 T L \mathcal T_L TL都能通过后处理表现好,需要一个能把所需要空间覆盖地好,并且基函数之间足够不同的集合

  • P618 Friedman and Popescu (2003)从数值积分numerical quadrature和重要性采样importance sampling获得启发,把未知函数看成积分
    在这里插入图片描述
    其中 γ ∈ Γ \gamma \in \Gamma γΓ用于索引基函数 b ( x ; γ ) b(x;\gamma) b(x;γ). 寻找 M M M个赋值点 γ m ∈ Γ \gamma_m \in \Gamma γmΓ和权重 α m \alpha_m αm使 f M ( x ) = α 0 + ∑ m = 1 M α m b ( x ; γ m ) f_M(x)=\alpha_0 + \sum_{m=1}^M \alpha_m b(x;\gamma_m) fM(x)=α0+m=1Mαmb(x;γm) x x x的定义域内近似 f ( x ) f(x) f(x)(类似蒙特卡洛积分),重要性采样对 γ \gamma γ随机采样,但是对 Γ \Gamma Γ空间中相关区域赋予更大权重(应该是指高概率区域)。采用式16.9衡量相关性的缺失
    在这里插入图片描述
    全局最小点为 γ ∗ = arg ⁡ min ⁡ γ ∈ Γ Q ( γ ) \gamma^* = \arg\min_{\gamma \in \Gamma}Q(\gamma) γ=argminγΓQ(γ),引入随机性必然得到次优的 Q ( γ ) ≥ Q ( γ ∗ ) Q(\gamma)\ge Q(\gamma^*) Q(γ)Q(γ). 他们提出采样模式 S \mathcal S S的特征宽度characteristic width σ \sigma σ的自然度量
    在这里插入图片描述
    σ \sigma σ太窄意味着许多 b ( x ; γ m ) b(x;\gamma_m) b(x;γm)很接近 b ( x ; γ ∗ ) b(x;\gamma^*) b(x;γ);太宽意味着 b ( x ; γ m ) b(x;\gamma_m) b(x;γm)过于分散,可能包含许多无关情形。他们提出采用子采样sub-sampling作为引入随机性的机制,得到集成生成ensemble-generation算法16.2.
    在这里插入图片描述
    其中 S m ( η ) S_m(\eta) Sm(η)是大小为 N ⋅ η ( η ∈ ( 0 , 1 ] ) N\cdot\eta(\eta\in (0,1]) Nη(η(0,1])的训练观测的无重复子样本,模拟建议 η ≤ 1 / 2 \eta\le 1/2 η1/2,并对于大 N N N,取 η ∼ 1 / N \eta\sim 1/\sqrt N η1/N . 降低 η \eta η会提高随机性,从而提高宽度 σ \sigma σ. 参数 ν ∈ [ 0 , 1 ] \nu\in [0,1] ν[0,1]对随机化的过程引入记忆memory,越大越能避免 b ( x ; γ ) b(x;\gamma) b(x;γ)与之前找的一致。
    注意该算法只生成字典,并没有完成最后的拟合)
    很多熟悉的随机化模式都是该算法的特殊情形

    • Bagging: η = 1 , ν = 0 \eta=1, \nu=0 η=1,ν=0,且有放回采样
    • 随机森林:类似,通过划分变量引入更多随机性。对比样本的子采样 η \eta η和随机森林特征子采样 m m m,效果类似,但后者会有潜在提升的偏差
    • 梯度提升: η = 1 \eta=1 η=1,一般得不到充分大的 σ \sigma σ
    • 随机梯度提升stochastic gradient boosting:完全遵循该方法

    作者建议 ν = 0.1 , η ≤ 1 / 2 \nu=0.1,\eta \le 1/2 ν=0.1,η1/2,并且称结合过程——集成生成和后处理,为重要性采样的学习集成importance sampled learning ensemble(ISLE)

  • P620 用随机梯度提升采样,lasso后处理没有提升精度,但是大幅减少了树的数量
    (总的感觉是,bagging和随机森林产生 σ \sigma σ太宽,产生很多无用的树;而梯度提升的 σ \sigma σ太窄,产生的树不够多样)

16.3.2 规则集成Rule Ensembles

  • P622 通过从集合中的每棵树构造一系列规则来集成树. 把树中每个结点都看作一条规则,这是树的过完备over-complete的基。对于一个集成 T \mathcal T T中的每棵树 T m T_m Tm,可以构造最小集成规则mini-ensemble of rules T R U L E m \mathcal T^m _{RULE} TRULEm,形成更大的集成
    在这里插入图片描述
    然后像其他集成一样处理,通过lasso等方式进行后处理
    对于这种方法,从更复杂的树导出规则,有以下优点:
    • 模型空间增大
    • 规则比树更好解释,所以有更简单模型的潜力
    • 通常通过把单个变量 X j X_j Xj各自地引入规则,允许集成建立好的线性函数
  • P623 例子展示,可以和线性函数一起使用

文献笔记

  • P624 神经网络可以看作是集成,学习隐变量参数作为基函数,进而思考如何组合
  • P624 SVM也可以看作集成,在高维特征空间中用 L 2 L_2 L2正则化
  • P624 Boosting和Lasso通过 L 1 L_1 L1产生稀疏性,克服高维问题。而SVM依赖 L 2 L_2 L2正则的核技巧

参考文献:
[1] Trevor Hastie, Robert Tibshirani, Jerome Friedman. The Elements of Statistical Learning, Second Edition
[2] ESL CN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值