本文仅为初学者的总结,如有不妥,还请指正。文章参考:Giant
决策树概念
决策树是一种树形结构,其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果。持续分类直到样本没有特征可以分割,也就是属于同一类型。
决策树特征选择方法
每个特征节点位置是很重要的,假设你想挑选一个好瓜,你会优先看它的颜色,因为颜色青绿的瓜80%是个好瓜,确定了好瓜的大方向后,我们再来挑选它的细节。我们优先选择信息增益大的特征去做判定,这就叫特征选择。
决策树的特征选择一般有三种量化方法:信息增益、信息增益率以及基尼指数。
信息增益的概念
通俗来说就是从一堆瓜里找一个好瓜很“混乱”,给定青绿的条件下找个好瓜容易很多。学术些说就是:给定数据集G,和特征Q,则Q的信息增益就是G本身的熵与特征Q给定条件下G的条件熵的差。
g(G, Q) = H(G) - H(G|Q)
优先选择信息增益大的特征,使分类能力更强,由此原则生成决策树,称为ID3算法。
信息增益率的概念
信息增益率即信息增益g(G, Q)与数据集G的熵之比,优先选择信息增益率最大的特征,由此原则生成决策树被称为C4.5算法。
基尼指数的概念
基尼指数越大,样本的不确定性也越大,特征A对样本的区分度越差。优先选择基尼指数最小的特征,由此原则生成决策树,称为CART算法。CART对回归树采用平方误差最小化原则,对分类树采用基尼指数最小化原则。
决策树的损失函数
由于决策树对训练数据预测精准但对未知数据泛化力差,所以需要对决策树简化,砍掉多余的分支,提高泛化能力。
决策树剪枝往往通过极小化决策树整体的损失函数实现。
集成学习有bagging和bostting两种方法。
Bagging通常考虑的是同质弱学习器,相互独立地并行学习这些弱学习器,并按照某种确定性的平均过程将它们组合起来。(个体学习器之间无强依赖关系),Boosting以一种高度自适应的方法顺序地学习这些弱学习器(每个基础模型都依赖于前面的模型),并按照某种确定性的策略将它们组合起来。是对弱分类器加强,通过加权来训练。(学习器之间强依赖关系),bagging方法方差小,偏差大,boosting方法相反。
Bagging是Bootstrap aggregating的缩写。中文意思是自助聚合。而Bootstrap本身是一种有放回的抽样方法(可能抽到重复的样本),将使用CART决策树作为弱学习器的bagging方法称为随机森林。
相比于神经网络,为什么选择随机森林?
相比于神经网络,随机森林计算成本较低,不需要依靠GPU完成训练。随机森林可以提供决策树的不同解释,并且有更好的性能、神经网络需要更多的数据才能真正有效,而且在一定程度上,神经网络会破坏特征的可解释性。
如果目标是创建预测模型,不考虑变量的影响,且有数据资源的前提下,推荐使用神经网络。如果需要了解变量,随机森林可以使你了解每个变量是如何为预测模型做贡献。