机器学习笔记01 -- 决策树、随机森林、AdaBoost

一、决策树

1 决策树的优化:剪枝

1.1 预剪枝:

每个节点在进行划分时进行估计,看该节点进行划分前后是否可以带来泛化能力上的提升,如果不能,则直接标记为叶子节点。

1.2 后剪枝:

生成完整的决策树后,再自下而上去评估每个非叶子节点的划分是否带来了泛化能力的提升,如果不能,则将该节点的子树替换为叶子节点。
要用验证集数据来判断。

2 属性划分纯度变化的计算方法

2.1 信息增益 – ID3

X:样本类别;A:一种特征
x:一种类别a:A特征划分后的一个分支
熵:事件X发生概率p(x)的倒数取对数
信息熵:Ent(X)是以各个分类x的概率加权的,各个分类x的熵的和。
条件熵: Ent(X|A) 是以各个子划分a的概率加权的,X|a的信息熵的和。
信息增益 :Gain(X,A) = Ent(X) - Ent(X|A)
依次计算各个特征的信息增益后,取最大值对应的特征来进行划分即可。
缺点:信息增益偏向特征的划分分支较的特征。因为划分分支多,不确定性小。

2.2 信息增益率 – C4.5

信息增益除以IV(A)
IV(A):表示某特征A的信息熵,即特征A各个划分分支的概率加权的,各个划分分支的熵的和。
缺点:分支少,熵越小,IV(A)小,信息增益率偏向特征划分分支的特征。
所以先用信息增益选取一些高于一定阈值的特征作为候选,然后再从候选集中取信息增益率大的特征。

2.3 基尼系数 – CART决策树

Gini(X):等于类别x的概率和非类别x的概率相乘,并对所有类别求和。反应了随机抽取两个样本类别不一致的概率。
Gini(X|A):等于特征A的各个划分分支的概率加权后的,X|a的基尼系数的和。
取基尼系数小的特征作为最优特征进行划分。

二、随机森林

1 建立随机森林

每棵树两个随机:样本集随机,属性集随机。

1.1 样本集随机

样本集中样本数为N,每棵树有放回的选择N个样本集中的样本作为自己的样本。又放回即会有重复,所以即保证了每棵树样本的独立,又保证了每棵树样本分布的一致性。

1.2 属性随机

样本集中每个样本有M个属性,则每棵树从中随机选取m = logM条属性作为自己的属性训练。保证决策树训练的相对独立性。
训练:
机器学习笔记01 -- 决策树、随机森林、AdaBoost_第1张图片
预测:
机器学习笔记01 -- 决策树、随机森林、AdaBoost_第2张图片

三、AdaBoost

各个基分类器顺序执行,每个后续分类器都根据前一个分类器的结果调整样本的权重,最后各个分类器根据分类器权重组合成最终分类器,给出分类结果。
机器学习笔记01 -- 决策树、随机森林、AdaBoost_第3张图片
误差率的分类器,权重
当样本被错分时,分类器权重越大,更新样本权重越大,且更新权重比原权重大;当样本被正确分类时,分类器权重越大,更新样本权重越小,且更新权重比原权重小
停止建立新分类器的条件

  1. 限制最终分类器(不是最后一个分类器,而是最后组合的分类器)的错误率小于某个阈值
  2. 限制基分类器的个数小于某个阈值

你可能感兴趣的:(机器学习,机器学习,决策树,adaboost算法)