树模型(2021-06-28)

对应学习网址:
https://www.bilibili.com/video/BV1Ca4y1t7DS?from=search&seid=9769587546949536347
感谢原作者,春暖花开Abela

image.png

Tree Model

决策树
    分类树
        信息熵,衡量信息不确定性的指标
            条件熵,H(X|Y=v)
                信息增益:I(X,Y)=H(X)-H(X|Y),表示在一个条件下,信息不确定性减少的程度
        基尼指数,随机选中的样本被分错的概率
    回归树
        每个叶子都输出一个预测值
            回归树的分支标准:标准方差
                停止条件:变化系数小于阈值,叶子中样本数量小于阈值
集成学习
    bagging
        随机森林
            随机森林=bagging+决策树
                分类:众数,回归:均值
                样本随机,特征随机
        弱学习器独立,投票取结果
    boosting
        adaboost,gbdt,xgboost,lightgbm
            adaboost
                将关注点放在被错分的样本上,调整样本权值,预测时,采用加权投票的方法
                    构建m分类器时,同时更新当前弱分类器的融合权重,以及下一轮的样本的权值分布
            gbdt
                bdt:boosting decision tree
                    以CART决策树为基学习器的集成学习方法
                        第m棵树是对残差的拟合
                Gradient Boosting Decision Tree
                    梯度提升+决策树
                        利用损失函数的负梯度拟合基学习器
                            残差就是梯度的相反数,所有GBDT中使用负梯度作为残差进行拟合
                                GBDT与提升树的区别是,残差使用梯度替代,而且每个基学习器有对应的参数权重
                                    GBDT使用CART回归树,将空间划分为K个不相交的区域
                                        GBDT用于分类仍然使用CART回归树,使用softmax进行概率映射
            xgboost
                简介
                    是GBDT的一种,也是加法和前向优化算法
                目标函数
                    包含损失函数,和正则项
                        因为是决策树,而不是数值型的向量,不能使用梯度下降的算法进行优化
                        使用贪心算法,寻求局部最优解
                            泰勒展开
                        正则项:叶子数量,叶子节点输出分数W的平方和,相当于L2正则化
                学习策略
                    采用贪心算法,每次尝试分裂一个叶节点,计算分裂后的增益,选择增益最大的。
                        Gain=左子树分数+右子树分数-分裂前分数-新叶节点复杂度
                            精确贪心算法:枚举所有特征和特征值
                                复杂度O(Hdlogn),高
                            近似算法:根据分位数分桶
                                全局策略:学习每棵树前---局部策略:树节点分裂时
                            二阶梯度为权重的分位数算法
                            优化点
                                缺失值,全部划为左或者右
                                    列采样:按层随机,按树随机
                系统设计
                    block结构存储,预先排序
                    缓存优化
                    out of computation
                    实现
            lightGBM
                常用的GBDT工具包,微软开发,比xgboost快,主要在提速,分布式的GBDT
                    直方图算法
                        分桶bin,累积一阶&二阶&数量
                            右子=父-左子
                    直方图算法的改进
                        GOSS算法-样本
                            保留所有大梯度样本,对小梯度样本进行随机采样
                                Gradient-based One-Side Sampling
                        EFB算法-特征
                            将互斥特征合并,能够合并的特征为一个#bundle,从而降低特征维度
                                Exclusive feature bundling
                    树的生长策略
                        level-wise  (xgboost,广度) 
                            vs. Leaf-wise(lightgbm,深度)
                    系统设计
                        特征并行
                        数据并行
                        voting并行(数据并行的一种方式)
                            PV-Tree
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容