程序员机器学习与数据挖掘

机器学习自问总结-1

2018-04-25  本文已影响0人  DT0203

自己对于机器学习很多模型的背后原理理解的不够深入,本文基于在平时工作建模中的思考,对遇到的问题进行了总结(资料多来源于百度搜索的答案),欢迎补充指正。

1、随机森林是怎样计算各变量重要性的?

随机森林进行特征重要性评估的思想其实很简单,就是看每个特征在随机森林中的每颗树上做了多大的贡献,然后取个平均值,最后比一比特征之间的贡献大小。 通常可以用基尼指数或者袋外数据的错误率来进行评价指标的衡量。

  1. 基尼指数评价方法:https://blog.csdn.net/zjuPeco/article/details/77371645?locationNum=7&fps=1
  2. 袋外数据的错误率法:就是对袋外数据加入随机噪声后,袋外数据准确率大幅度下降,说明这个特征对于样本的预测结果有很大影响,进而说明重要程度比较高。http://blog.sina.com.cn/s/blog_7103b28a0102w7q1.html
2、决策树对于缺失值是怎么处理的?

参考网址:
https://www.cnblogs.com/ljygoodgoodstudydaydayup/p/7418851.html

3、为什么随机森林不容易过拟合?

主要依靠了其中三个随机过程,即产生决策树的样本是随机生成,构建决策树的特征值是随机选取,树产生过程中裂变的时候是选择N个最佳方向中的随机一个裂变的。当随机森林产生的树的数目趋近无穷的时候,理论上根据大数定理可以证明训练误差与测试误差是收敛到一起的。 当然实际过程中,由于不可能产生无穷的决策树,模型参数的设置问题会影响在相同运行时间内拟合结果的过拟合程度的不同。但总而言之,调整参数后,随机森林可以有效的降低过拟合的程度。

4、为什么说bagging是减少variance,而boosting是减少bias?

Boosting主要关注降低偏差,因此Boosting能基于泛化性能相当弱的学习器构建出很强的集成;Bagging主要关注降低方差,因此它在不剪枝的决策树、神经网络等学习器上效用更为明显。
Bagging算法是这样做的:每个分类器都随机从原样本中做有放回的采样,然后分别在这些采样后的样本上训练分类器,然后再把这些分类器组合起来。简单的多数投票一般就可以。其代表算法是随机森林。Boosting的意思是这样,他通过迭代地训练一系列的分类器,每个分类器采用的样本分布都和上一轮的学习结果有关。其代表算法是AdaBoost, GBDT。

5、训练决策树时的参数是什么?

参考网址:
http://www.cnblogs.com/pinard/p/6056319.html

上一篇 下一篇

猜你喜欢

热点阅读