前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记录几个经典模型

记录几个经典模型

作者头像
DuncanZhou
发布2018-09-04 16:10:43
7180
发布2018-09-04 16:10:43
举报
文章被收录于专栏:Duncan's BlogDuncan's Blog

参考网络博客和个人理解记录如下:


1.GBDT(Gradient Boosting Decision Tree)

1.优势

  • 效果还不错
  • 既可用于分类也可用于回归
  • 可以筛选特征

2.关键点

2.1 gbdt 的算法的流程? gbdt通过多轮迭代,每轮迭代生成一个弱分类器,每个分类器在上一轮分类器的残差基础上进行训练.(弱分类器一般会选择CART TREE - 分类回归树)

最终的总分类器是将每轮训练得到的弱分类器加权求和得到. - 加法模型

模型最终可描述为:$F_M(x)=\sum_{m=1}^{M}T(x;\theta_{m})$ 模型一共训练M轮,每轮产生一个弱分类器$T(x;\theta_m)$,弱分类器的损失函数\hat{\theta}\_m=argmin\_{\theta\_m}\sum\_{i=1}^{N}L\{y\_i,F\_{m-1}(x\_i)+T\_m(x\_i;\theta\_m)\}

gbdt在每轮迭代的时候,都去拟合损失函数在当前模型下的负梯度. 2.2 gbdt 如何选择特征 ? 原始的gbdt做法非常暴力,首先遍历每个特征,然后对每个特征遍历它所有可能的切分点,找到最优特征m的最优切分点j.

2.3 gbdt 如何构建特征 ? 工业界做法是和逻辑回归结合,得到组合特征.

2.4 gbdt 如何用于分类?

gbdt多分类
gbdt多分类

对于多分类任务,GBDT的做法采用一对多的策略.一共有K个类别,训练M轮,每一轮都训练K个树,训练完成后一共有M*K个树.损失函数log loss

2.5 gbdt 通过什么方式减少误差 ? 拟合残差,梯度下降

2.6 gbdt的效果相比于传统的LR,SVM效果为什么好一些 ?

  • 1.结合了多个弱分类器,是集成学习,所以泛化能力和准确率更高
  • 2.SVM对于训练集不同的维度,数据量的大小,核函数的选择直接决定了模型的训练效果.gbdt相较于SVM和LR更不容易过拟合,因为它的超参学习能力较好,gbdt的泛化能力更多取决于数据集.

2.7 gbdt的参数有哪些,如何调参 ? 1.框架参数

  • 步长 - 选择一个较大的步长
  • 迭代次数或者说学习器的个数 - 100左右
  • 学习率$\eta$
  • 损失函数 - 分类问题和回归问题不一样(分类问题有对数似然和指数似然函数;回归模型有均方误差,绝对损失,Huber损失和分位数损失)

2.弱学习器参数

  • 树的深度 - 10-100
  • 最大特征数 - 划分时考虑的最大特征数
  • 最小叶子结点样本数
  • 最大叶子结点个数 - 限制最大叶子结点数,防止过拟合

2.8 gbdt的优缺点 ? 1.优点

  • 泛化能力强,不容易过拟合
  • 不需要复杂的特征工程

2.缺点

  • 难以实行并行化
  • 模型复杂度较高,深入分析和调优有一定难度

2.XgBoost(Extreme Gradient Boosting)

1.xgboost和GBDT区别

  • 传统GBDT以CART作为基分类器,xgboost还支持线性分类器.
  • 传统GBDT在优化时只用到一阶导数信息,而xgboost进行了二阶泰勒展开
  • xgboost在代价函数中加入了正则项
  • 对于缺失值的处理,xgboost可以自动学习出它的分裂方向
  • xgboost支持并行,并行过程是在确定最佳分割点时,每一轮的训练还是前向分步法,这个过程不能并行.选择最佳分割点时使用近似直方图算法

3.SVM(Support Vector Machine)

参考该篇博客: https://blog.csdn.net/szlcw1/article/details/52259668 (谢谢作者整理)

4.CNN(Convolutional Neural Network)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参考网络博客和个人理解记录如下:
  • 1.GBDT(Gradient Boosting Decision Tree)
  • 2.XgBoost(Extreme Gradient Boosting)
  • 3.SVM(Support Vector Machine)
  • 4.CNN(Convolutional Neural Network)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档