作者:杜博亚,阿里算法工程师,复旦大学计算机硕士,BDKE 之光。 1.从机器学习三要素的角度1.1 模型本质上来说,他们都是监督学习,判别模型,直接对数据的分布建模,不尝试挖据隐含变量,这些方面是大体相同的。但是又因为一个是线性模型,一个是非线性模型,因此其具体模型的结构导致了VC维的不同:其中,Logistic Regression作为线性分类器,它的VC维是d+1,而 GBDT 作为boosting模型,可以无限分裂,具有无限逼近样本VC维的特点,因此其VC维远远大于d+1,这都是由于其线性分类器的特征决定的,归结起来,是Logistic Regression对数据线性可分的假设导致的 1.2 策略从 Loss(经验风险最小化) + 正则(结构风险最小化) 的框架开始说起; 「从Loss的角度:」 因为 Logistic Regression 的输出是 y = 1 的概率,所以在极大似然下,Logistic Regression的Loss是交叉熵,此时,Logistic Regression的准则是最大熵原理,也就是“为了追求最小分类误差,追求最大熵Loss”,「本质上是分类器算法,而且对数据的噪声具有高斯假设」;而 GBDT 采用 CART 树作为基分类器,其无论是处理分类还是回归均是将采用回归拟合(将分类问题通过 softmax 转换为回归问题,具体可参考本博客 GBDT 章节),用当前轮 CART 树拟合前一轮目标函数与实际值的负梯度:,「本质上是回归算法」。 ❝ 「从特征空间的角度:」就是因为 Logistic Regression 是特征的线性组合求交叉熵的最小化,也就是对特征的线性组合做 logistic,使得Logistic Regression会在特征空间中做线性分界面,适用于分类任务; 而 GBDT 采用 CART 树作为基分类器,其每轮树的特征拟合都是对特征空间做平行于坐标轴的空间分割,所以自带特征选择和可解释性,GBDT 即可处理分类问题也可解决回归问题,只是其统一采用回归思路进行求解(试想,如果不将分类转换为回归问题,GBDT 每轮目标函数旨在拟合上一轮组合模型的负梯度,分类信息无法求梯度,故而依旧是采用 softmax 转换为回归问题进行求解)。 ❝ 「从正则的角度:」 Logistic Regression 的正则采用一种约束参数稀疏的方式,其中 L2 正则整体约束权重系数的均方和,使得权重分布更均匀,而 L1 正则则是约束权重系数绝对值和,其自带特征选择特性; GBDT 的正则:
❝ 区别在于 LR 采用对特征系数进行整体的限定,GBDT 采用迭代的误差控制本轮参数的增长; 1.3 算法Logistic Regression 若采用 SGB, Momentum, SGD with Nesterov Acceleration 等算法,只用到了一阶导数信息(一阶动量),若用 AdaGrad, AdaDelta / RMSProp, Adam, Nadam 则用到了一阶导数的平方(二阶动量), 牛顿法则用到了二阶导数信息, 而 GBDT 直接拟合上一轮组合函数的特征梯度,只用到了一阶倒数信息,XGBoost 则是用到了二阶导数信息。 ❝ 2.从特征的角度2.1 特征组合如前所说,GBDT 特征选择方法采用最小化均方损失来寻找分裂特征及对应分裂点,所以自动会在当前根据特征 A 分裂的子树下寻求其他能使负梯度最小的其他特征 B,这样就自动具备寻求好的特征组合的性能,因此也能给出哪些特征比较重要(根据该特征被选作分裂特征的次数) 而 LR 只是一次性地寻求最大化熵的过程,对每一维的特征都假设独立,因此只具备对已有特征空间进行分割的能力,更不会对特征空间进行升维(特征组合) 2.2 特征的稀疏性如前所述,Logistic Regression不具有特征组合的能力,并假设特征各个维度独立,因此只具有线性分界面,实际应用中,多数特征之间有相关性,只有维度特别大的稀疏数据中特征才会近似独立,所以适合应用在特征稀疏的数据上。而对于 GBDT,其更适合处理稠密特征,如 GBDT+LR 的Facebook论文中,对于连续型特征导入 GBDT 做特征组合来代替一部分手工特征工程,而对于 ID 类特征的做法往往是 one-hot 之后直接传入 LR,或者先 hash,再 one-hot 传入树中进行特征工程,而目前的主流做法是直接 one-hot + embedding 来将高维稀疏特征压缩为低纬稠密特征,也进一步引入了语意信息,有利于特征的表达。 3.数据假设不同逻辑回归的「第一个」基本假设是**假设数据服从伯努利分布。**伯努利分布有一个简单的例子是抛硬币,抛中为正面的概率是 p,抛中为负面的概率是 1−p。在逻辑回归这个模型里面是假设 为样本为正的概率, 为样本为负的概率。那么整个模型可以描述为: 逻辑回归的第二个假设是假设样本为正的概率是 : 所以逻辑回归的最终形式 : 总结,Logistic Regression的数据分布假设:
而 GBDT 并未对数据做出上述假设。 |
|