Datawhale Task4 建模调参

一、学习目标
二、内容介绍
三、相关原理介绍
四、模型调参
五、总结
一、学习目标
此次将学习了解常用的机器学习模型,并掌握机器学习模型的建模与调参流程。

二、内容介绍
1.线性回归模型:

线性回归对于特征的要求;
处理长尾分布;
理解线性回归模型;
2.模型性能验证:

评价函数与目标函数;
交叉验证方法;
留一验证方法;
针对时间序列问题的验证;
绘制学习率曲线;
绘制验证曲线;
3.嵌入式特征选择:

Lasso回归;
Ridge回归;
决策树;
4.模型对比:

常用线性模型;
常用非线性模型;
5.模型调参:

贪心调参方法;
网格调参方法;
贝叶斯调参方法;
三、相关原理介绍
1.线性回归模型:

线性回归本质上它是一系列特征的线性组合,在二维空间中,你可以把它视作一条直线,在三维空间中可以视作是一个平面。线性回归最普通的形式是:f(x)=ω′x+bf(x)= ω’x+bf(x)=ω

x+b ;其中x向量代表一条样本{x1,x2,x3…xn},其中x1,x2,x3代表样本的各个特征,w是一条向量代表了每个特征所占的权重,b是一个标量代表特征都为0时的预测值,这里的ω乘以x在线性代数中其实代表的是两个向量的内积。
损失函数:为了获得w和b我们需要制定一定的策略,而这个策略在机器学习的领域中,往往描述为真实值与回归值的偏差。loss=(f(x)−y)2loss = (f(x)-y)^2loss=(f(x)−y)
2
;我们希望的是能够减少在测试集上的预测值f(x)与真实值y的差别,从而获得一个最佳的权重参数,因此这里采用最小二乘估计.
优化方法:
1.最小二乘:最小二乘优化的思路是线性代数中的矩阵求导,导数为0的地方就是极值点,也就是使loss最大或者最小的点(实际上是最小的点,因为loss一般是一个往下突的函数,w无限大的时候随便带进去一个值估计出来的值loss都很大,其实求2阶导数也可以看出来)。
2.梯度下降: 梯度方向就是增长最快的方向,如果我们想要函数值减小,只需要沿着负梯度方向走就行了。具体求这个grad的方法就是,对loss求偏导就可以啦,具体还是看《数学优化方法》。

2.决策树模型:python实现决策树

我学到的:决策树模型是一种简单易用的非参数分类器。它不需要对数据有任何的先验假设,计算速度较快,结果容易解释,而且稳健性强。
算法流程:收集数据,准备数据,分析数据,训练数据,测试算法,使用算法
构造决策树的基本算法:

ID3算法:使用信息增益进行特征选择
C4.5算法:使用信息增益率进行特征选择,克服了信息增益选择特征的时候偏向于特征个数较多的不足。
CART算法:分类回归树,既可以用于分类,也可以用于预测。利用 CART 构建回归树用到树的 剪枝技术,用于防止树的过拟合。
适用数据类型:数值型和标称型。
构建决策树的三要素:
特征选择:信息增益、信息增益率
决策树生成:ID3、C4.5和Cart树
决策树剪枝: 解决过拟合。分为先剪枝、后剪枝(避免overfitting过拟合)
3.GBDT模型:梯度提升树GBDT

我学到的:
gbdt通过多轮迭代,每轮迭代产生一个弱分类器,每个分类器在上一轮分类器的梯度(如果损失函数是平方损失函数,则梯度就是残差值)基础上进行训练。对弱分类器的要求一般是足够简单,并且是低方差和高偏差的。
弱分类器一般会选择为CART TREE(也就是分类回归树)。
决策树分为两大类,回归树和分类树;前者用于预测实数值,后者用于分类标签值。而回归树的结果加减是有意义的,分类树的结果没办法累加。
GBDT的核心在于累加所有树的结果作为最终结果,因此GBDT中的树都是回归树。。。

4.XGBoost模型: XGBoost模型

我学到的:
Xgboost的每次优化时的目标函数是下面的式子:Obj(t)=∑i=1nl(yi,yˆ(t−1)+ft(xi))+Ω(ft)+constantObj{(t)}=\displaystyle\sum_{i=1}nl(y_i,\hat{y}^{(t-1)}+f_t(x_i))+\Omega(f_t)+constantObj
(
t)=
i=1

n

l(y
i

,
y
^

(t−1)
+f
t

(x
i

))+Ω(f
t

)+constant
目标函数一方面要考虑到损失函数L的计算,另一方面要控制模型复杂度,防止过拟合。Xgboost的基本过程和GBDT基本是一样的,都是通过构造多个基分类器来达到使目标函数最小的目的,每步针对以上有正则限制的损失函数去找到最佳的分类器。

5.LightGBM模型:LightGBM模型

我学到的:
LightGBM的优化方法是,在保留大梯度样本的同时,随机地保留一些小梯度样本,同时放大了小梯度样本带来的信息增益。
优点:1、基于Histogram的决策树算法,代替pre-sorted所构建的数据结构,利用histogram后,会有很多有用的tricks。例如histogram做差,提高了cache命中率(主要是因为使用了带深度限制的leaf-wise的叶子生长策略)。
2、在机器学习当中,面对大数据量时候都会使用采样的方式(根据样本权值)来提高训练速度。又或者在训练的时候赋予样本权值来关于于某一类样本(如Adaboost)。LightGBM利用了GOSS(基于梯度的one-side采样)
GOSS来做采样算法。
3、由于histogram算法对稀疏数据的处理时间复杂度没有pre-sorted好。因为histogram并不管特征值是否为0。因此采用EFB(互斥的特征捆绑)来预处理稀疏数据。

四、模型调参
1.贪心算法:

贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。
思想:
贪心算法的基本思路是从问题的某一个初始解出发一步一步地进行,根据某个优化测度,每一步都要确保能获得局部最优解。每一步只考虑一个数据,他的选取应该满足局部优化的条件。若下一个数据和部分最优解连在一起不再是可行解时,就不把该数据添加到部分解中,直到把所有数据枚举完,或者不能再添加算法停止。
过程:

建立数学模型来描述问题;
把求解的问题分成若干个子问题;
对每一子问题求解,得到子问题的局部最优解;
把子问题的解局部最优解合成原来解问题的一个解。
2.网格调参:

XGboost-网格调参法;
GridSearchCV 网格搜索调参数;

3.贝叶斯调参:

贝叶斯优化用于机器学习调参,主要思想是,给定优化的目标函数(广义的函数,只需指定输入和输出即可,无需知道内部结构以及数学性质),通过不断地添加样本点来更新目标函数的后验分布。简单的说,就是考虑了上一次参数的信息,从而更好的调整当前的参数。
自动化机器学习(AutoML)之自动贝叶斯调参
————————————————
版权声明:本文为CSDN博主「Roman_K」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Roman_K/article/details/105238481

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值