机器学习笔记(四)

相关文章链接
机器学习的基本概念
模型的评估与选择
回归分析
决策树与随机森林
支持向量机SVM与隐马尔可夫模型
卷积神经网络CNN与循环神经网络RNN
聚类与集成算法

决策树与随机森林

决策树

基本概念:

决策树是一种基于实例的算法,常应用于分类和预测。

决策树的构建是一种自上而下的归纳过程,用样本的属性作为节点,属性的取值作为分支的树形结构。

在决策树中,熵代表分支样本种类的丰富性,样本中种类越多越混乱,熵就越大,如果分支下的样本完全属于同一类,熵就等于0。

信息增益直接以信息熵为基础,计算当前划分对信息熵所造成的变化。

分类:

CLS算法(Concept Learning System):第一个决策树算法;

CART算法(Classification and Regression Tree):使用后剪枝法,采用交叉确定的剪枝方法解决了小样本集上挖掘决策树由于没有独立测试样本造成的过度拟合,使用基尼系数来做最优属性判别。

ID3算法(Iterative Dichotomizer 3):使决策树受到关注、成为机器学习主流技术的算法,使用信息增益来做最优属性判别。

C4.5算法:最常用的决策树算法,从ID3算法演变而来,使用信息增益率来做最优属性判别;

RF(Random Forest):最强大的算法。

决策树的停止条件

  • 当前结点包含的样本全属于同一类别,无需划分;
  • 当前属性集为空,或是所有样本在所有属性上取值相同,无法划分;
  • 当前结点包含的样本集合为空,不能划分。

决策树学习的步骤

1、特征选择
特征选择决定了使用哪些特征来做判断。在训练数据集中,每个样本的属性可能有很多个,不同属性的作用有大有小。因而特征选择的作用就是筛选出跟分类结果相关性较高的特征,也就是分类能力较强的特征。

特征选择的目的是选取能够对训练集分类的特征。特征选择的关键是准则:信息增益、信息增益比、Gini 指数。

2、决策树生成
选择好特征后,就从根节点触发,对节点计算所有特征的熵,选择合适特征作为节点特征,根据该特征的不同取值建立子节点;对每个子节点使用相同的方式生成新的子节点。

通常是利用信息增益最大、信息增益比最大、Gini 指数最小作为特征选择的准则。从根节点开始,递归的生成决策树。相当于是不断选取局部最优特征,或将训练集分割为基本能够正确分类的子集;

3、决策树剪枝

剪枝(pruning):从已经生成的树上裁掉一些子树或叶节点,并将其根节点或父节点作为新的叶子节点,从而简化分类树模型。剪枝的主要目的是对抗“过拟合”,通过主动去掉部分分支来降低过拟合的风险。包括预剪枝和后剪枝。

预剪枝是在训练开始前规定条件,如:树达到某一深度就停止训练。

后剪枝树先找到树,再根据一定条件去掉一部分分支,如:限制叶子节点的个数。

随机森林

基本原理

随机森林是由多个决策树构成的森林,算法分类结果由这些决策树投票得到,决策树在生成的过程当中分别在行方向和列方向上添加随机过程,行方向上构建决策树时采用放回抽样(bootstraping)得到训练数据,列方向上采用无放回随机抽样得到特征子集,并据此得到其最优切分点。本质属于集成学习(Ensemble Learning)方法

**随机是指随机选择样本,随机选择特征。**即每一棵树是从整个训练样本集当中选取固定数量的样本集,然后选取固定数量的特征集,从而构建随机森林中的每一棵决策树。这保证了随机森林不会产生过拟合现象。

森林是指模型中包含了很多棵决策树。

算法流程

  1. 假如有N个样本,则有回放的随机选择N个样本(每次随机选择一个样本,然后返回继续选择)。这选择好了的N个样本用来训练一个决策树,作为决策树根节点处的样本。
  2. 当每个样本有M个属性时,在决策树的每个节点需要分裂时,随机从这M个属性中选取出m个属性,满足条件m<<M。然后从这m个属性中采用某种策略(如信息增益)来选择一个属性,作为该节点的分裂属性。
  3. 决策树形成过程中,每个节点都要按照步骤2来分裂(很容易理解,如果下一次该节点选出来的那一个属性是刚刚父节点分裂时用过的属性,则该节点已经达到了叶子节点,无需继续分裂)。一直到不能再分裂为止,注意整个决策树形成过程中没有剪枝。
  4. 按步骤1-3建立大量决策树,如此形成随机森林。

优缺点

​ 优点:

  1. 在当前所有算法中,具有极好的准确率;

  2. 能够有效地运行在大数据集上;

  3. 能够处理具有高维特征的输入样本,而且不需要降维;

  4. 能够评估各个特征在分类问题上的重要性;

  5. 在生成过程中,能够获取到内部生成误差的一种无偏估计;

  6. 对于缺省值问题也能够获得很好得结果

缺点:

模型往往过于General,不具备正确处理过于困难的样本的能力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值