GBDT模型学习
2024-07-09 13:47:38 5 举报
AI智能生成
GBDT(Gradient Boosting Decision Tree)模型是一种基于决策树算法的集成学习方法,主要用于回归和分类任务。GBDT模型通过迭代地训练决策树,然后将所有树的预测结果相加得到最终的预测结果。在每次迭代中,新的决策树会尝试纠正之前树的预测错误,从而提升整体的预测性能。GBDT模型的特点包括:鲁棒性强,可以处理非线性数据和特征之间的相互作用,以及可以自动进行特征选择和降维。GBDT模型的训练过程包括:初始化一个常数值作为预测结果,然后迭代地对每个训练样本进行预测,并计算损失函数,最后使用梯度提升算法训练决策树,以最小化损失函数。GBDT模型在许多领域都有广泛的应用,如广告点击率预测、信用评分、疾病预测等。
作者其他创作
大纲/内容
XGBoost使用泰勒展开式对损失函数进行近似,通常到二阶,这有助于更精确地逼近最优解
损失函数
正则化项:为了防止过拟合,XGBoost引入了正则化项,该项考虑了模型的复杂度,包括叶子节点的数量和叶子节点的分数。
目标函数:XGBoost的目标函数是损失函数和正则化项的加权和,通过优化此目标函数来构建模型。
模型更新:采用贪婪算法逐步构建树模型,每一步迭代都会学习一个新的树模型以减小目标函数。
核心原理
高效的并行化处理:XGBoost能够有效地利用多核处理器进行并行计算,加速模型训练过程。
支持多种损失函数和自定义评价指标:适合多种类型的问题。
灵活性强:支持多种参数调整,以适应不同的数据集和问题。
特点
XGBoost自动学习缺失值策略显性正则化控制特征复杂可解释性
直方图算法:LightGBM使用直方图算法来加速寻找最佳分枝点的过程,相比于传统的预排序算法,它更加高效且节省内存。
Leaf-wise生长策略:与传统的Level-wise(XGBoost)生长策略不同,LightGBM使用Leaf-wise策略,这意味着每次选择当前损失最大的叶子节点进行分裂,从而得到更好的精度,通常能够更快地找到最优的分裂点。但为了防止过拟合,LightGBM在Leaf-wise之上增加了一个最大深度的限制。
训练速度快:特别是在处理大数据集时,其训练速度远超其他GBDT工具。
内存占用低:通过直方图算法和特征捆绑技术,降低了内存使用。
精度高:由于采用Leaf-wise生长策略,能够在相同分裂次数下获得更低的误差。
LightGBM适用于大规模数据集大量类别特征
类别型特征处理:CatBoost擅长处理类别型特征,可以直接传入类别型特征的列标识,模型会自动对其进行独热编码或类似的编码方法。
目标变量预测偏移:为了解决梯度偏差和预测偏移问题,CatBoost使用了一种特殊的算法来为每个样本计算一个权重,该权重用于在训练过程中调整目标变量的预测值。
支持类别型特征:无需手动进行独热编码或其他类型的预处理。
高效处理大规模数据集:通过优化算法和并行处理,CatBoost能够在短时间内处理大量数据。
高准确性:由于其独特的算法设计和对类别型特征的支持,CatBoost在许多实际问题中都表现出较高的准确性。
CatBoost专注于处理分类问题
梯度提升是一种集成学习算法,用于构建强预测模型,通常用于分类和回归问题。
目的
通过逐步添加新的弱预测模型(通常是决策树),每个新的模型都在前一个模型的残差上进行训练,目的是最小化损失函数。
原理
用于构建预测模型,特别是在需要处理复杂数据集和提高模型性能时
应用
梯度提升(Gradient Boosting)
梯度下降是一种用于最小化目标函数的优化算法,通常用于寻找参数的最优值,如在线性回归、逻辑回归或其他机器学习模型中。
通过计算目标函数相对于参数的梯度(即导数),然后更新参数以减少误差。这个过程重复进行,直到找到一个局部最小值。
主要用于参数估计和函数优化,特别是在参数数量相对较少时
梯度下降(Gradient Descent)
梯度提升&梯度下降
也被称为曼哈顿距离(Manhattan distance)或绝对值范数(Absolute value norm),是向量中各个元素绝对值之和。
由于其性质,L1范数在某些优化问题中会导致解向量的稀疏性,即解的许多组件为零。这使得L1范数在特征选择和稀疏表示中特别有用。
常用于Lasso正则化,可以用于特征选择
L1范数(L1 norm)
也被称为欧几里得范数(Euclidean norm)或模长(Magnitude),是向量各个元素平方和的平方根。
对于同一个n维向量x,其L2范数定义为:( ||x||_2 = \\sqrt{|x_1|^2 + |x_2|^2 + ... + |x_n|^2} )
L2范数:对异常值更敏感。
L2范数通常更容易求解,尤其是当使用像梯度下降这样的优化算法时。
L2范数:常用于Ridge正则化,有助于防止模型过拟合。
L2范数(L2 norm)
正则化
损失函数:损失函数用于衡量模型预测值与真实值之间的差异。在XGBoost中,损失函数通常用于评估模型在单个样本上的预测误差。
目标函数:如XGBoost的目标函数=损失函数+ 正则化项的加权和目标函数优化的过程就是最小化预测误差和模型复杂度的过程。
定义
经验风险损失函数:它表示预测结果和实际结果的差别。在XGBoost中,这通常通过泰勒展开式(通常到二阶)来近似损失函数,以更精确地逼近最优解。
结构风险损失函数:在经验风险损失函数的基础上,加上正则项,用于控制模型的复杂度。正则项通常包括树的叶子节点个数、每个叶子节点上输出的score的L2模的平方和等。
类型
正则化项:正则化项用于防止过拟合,它包含了树模型的复杂度。正则化项可以写作:其中,T是叶子节点的数量,w是叶子节点的分数,λ和γ是正则化参数。
泰勒展开式:是一种数学计算方法,如XGBoost中使用泰勒展开式对损失函数进行近似计算。对于一般的损失函数,泰勒展开式可以写作:其中,f(x)是当前模型的预测值,g和h分别是损失函数关于预测值的一阶导数(梯度)和二阶导数(海森矩阵)。0
计算
模型训练:在模型训练过程中,XGBoost通过最小化目标函数(即损失函数和正则化项的加权和)来构建最优模型。
模型评估:损失函数也用于评估模型的性能。损失越小,表示模型在训练集上的预测误差越小,模型的性能通常也越好。
选择合适的损失函数:不同的预测建模问题(如分类或回归)需要选择不同的损失函数。例如,对于分类问题,常用的损失函数有softmax交叉熵损失函数;对于回归问题,常用的损失函数有均方误差损失函数。
调整正则化参数:正则化参数λ和γ用于控制模型的复杂度。通过调整这些参数,可以在模型的预测能力和复杂度之间找到平衡,以防止过拟合或欠拟合。
损失函数选择
损失函数&目标函数
GBDT引申知识点
GBDT模型
0 条评论
回复 删除
下一页