本人最近在学习机器学习,查阅了相关资料,整理了一些笔记
决策树
决策树(DecisionTree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系
决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。
信息熵
信息熵是消除不确定性所需信息量的度量,也即未知事件可能含有的信息量。
一个事件或一个系统,准确的说是一个随机变量,它有着一定的不确定性。例如,“除东道主俄罗斯外,哪31个国家能进军2018年俄罗斯世界杯决赛圈”,这个随机变量的不确定性很高,要消除这个不确定性,就需要引入很多的信息,这些很多信息的度量就用“信息熵”表达。需要引入消除不确定性的信息量越多,则信息熵越高,反之则越低。例如“中国男足进军2018年俄罗斯世界杯决赛圈”,这个因为确定性很高,几乎不需要引入信息,因此信息熵很低。
信息增益
通俗地讲,X(明天下雨)是一个随机变量,X的熵可以算出来,Y(明天阴天)也是随机变量,在阴天情况下下雨的信息熵我们如果也知道的话(此处需要知道其联合概率分布或是通过数据估计)即是条件熵。两者相减就是信息增益!原来明天下雨例如信息熵是2,条件熵是0.01(因为如果是阴天就下雨的概率很大,信息就少了),这样相减后为1.99,在获得阴天这个信息后,下雨信息不确定性减少了1.99!是很多的!所以信息增益大!也就是说,阴天这个信息对下雨来说是很重要的!
基尼指数
CART树(Classification and Regression Tree)使用基尼指数来选择属性的划分,通过基尼值来度量数据集的纯度
基尼值:
Gini(D)=Σ|y|k=1Σk′≠kpkpk′=1−Σ|y|k=1p2k
Gini(D)=Σk=1|y|Σk′≠kpkpk′=1−Σk=1|y|pk2
Gini(D)Gini(D)反映了从数据集DD中取出两个样本,不为同一种类的概率,因此Gini(D)Gini(D)越小,数据集的纯度越高。
基尼指数:
Giniindex(D,a)=ΣVv=1|Dv||D|Gini(Dv)
Giniindex(D,a)=Σv=1V|Dv||D|Gini(Dv)
于是我们在候选属性集合AA中选择使那个划分后基尼指数最小的那个属性作为最优划分属性。
集成学习
在机器学习的有监督学习算法中,我们的目标是学习出一个稳定的且在各个方面表现都较好的模型,但实际情况往往不这么理想,有时我们只能得到多个有偏好的模型(弱监督模型,在某些方面表现的比较好)。集成学习就是组合这里的多个弱监督模型以期得到一个更好更全面的强监督模型,集成学习潜在的思想是即便某一个弱分类器得到了错误的预测,其他的弱分类器也可以将错误纠正回来。
集成学习在各个规模的数据集上都有很好的策略。
数据集大:划分成多个小数据集,学习多个模型进行组合
数据集小:利用Bootstrap方法进行抽样,得到多个数据集,分别训练多个模型再进行组合