决策树 感知机

感知机

对输入实例的特征向量进行二分类的线性分类模型

损失函数是:误分类点到分离超平面的总距离

当训练集线性可分时,感知机算法收敛,存在无数多解,由于不同初值可能不同。

感知机不能表示异或

KNN

有监督学习

简介:存在一个样本数据集合,也称作为训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一个数据与所属分类的对应关系。输入没有标签的新数据后,将新的数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本最相似数据(最近邻)的分类标签。一般来说,我们只选择样本数据集中前k个最相似的数据,这就是k-近邻算法中k的出处

对于任意的 n 维输入向量,其对应于特征空间一个点,输出为该特征向量所对应的类别标签或者预测值。

三要素:距离度量、K值的选择、分类决策规则

  • K越小,knn越复杂,容易过拟合;算法的近似误差(Approximate Error)会减小,因为只有与输入实例相近的训练样本才能才会对预测结果起作用。估计误差会偏大,预测的结果会对近邻点十分敏感,也就是说如果近邻点是噪声点的话,那么预测就会出错

  • K越大,knn越简单,容易欠拟合;距离较远的训练样本都能够对实例的预测结果产生影响。这时候,而模型相对比较鲁棒,不会因个别噪声点对最终的预测产生影响。近似误差会偏大,距离较远的点(与预测实例不相似)也会同样对预测结果产生作用,使得预测产生较大偏差

K反应了对近似误差和估计误差之间的权衡,通常用交叉验证

优点:精度高、对异常值不敏感、无数据输入假定
缺点:计算复杂度高、空间复杂度高

适用数据范围:数值型和标称型

k近邻法中的分类规则往往是多数表决,即由输入实例的k个近邻的训练实例中的多数类决定输入的实例。但这个规则存在一个潜在的问题:有可能多个类别的投票数同为最高。这个时候,可以通过以下几个途径解决该问题:

  • 从投票数相同的最高类别中随机地选择一个;
  • 通过距离来进一步给票数加权;
  • 减少K的个数,直到找到一个唯一的最高票数标签。
    近邻算法中的分类决策多采用多数表决的方法进行。它等价于寻求经验风险最小化

朴素贝叶斯

在这里插入图片描述

基于特征条件独立假设学习输入输出的联合概率分布P(X,Y),然后基于此模型,对给定的输入x利用贝叶斯定理求出后验概率最大的输出y

朴素贝叶斯被称为朴素,因为它假设每个输入变量是独立

优点

  • 对缺失数据不太敏感
  • 发源于古典数学理论,有稳定的分类效率
  • 对小规模的数据表现很好,能个处理多分类任务,适合增量式训练,尤其是数据量超出内存时,我们可以一批批的去增量训练
  • 算法逻辑简单,易于实现,分类过程中时空开销小

缺点

  • 需要计算先验概率;先验概率很多时候取决于假设
  • 分类决策存在错误率;
  • 对输入数据的表达形式很敏感;
  • 由于使用了样本属性独立性的假设,所以如果样本属性有关联时其效果不好

决策树

步骤

决策树的构建过程主要包括以下几个步骤:

  • 特征选择:根据某种准则选择最优的特征,将数据集划分为子集。
  • 节点划分:根据选定的特征对数据集进行划分,生成新的节点。
  • 递归构建:对每个子集重复上述步骤,直到满足停止条件(如节点中样本数量小于预定阈值或树的深度达到预定值)。
  • 叶节点标记:根据子集的标签值确定叶节点的分类标记或预测值。

信息熵

经验熵-条件经验熵=信息增益
在这里插入图片描述
负号是为了确保信息一定是正数或者是0

端情况为1种情况,那么对应概率为1,那么对应的信息熵为0

信息量取概率的负对数,其实是因为信息量的定义是概率的倒数的对数。而用概率的倒数,是为了使概率越大,信息量越小,同时因为概率的倒数大于1,其对数自然大于0

决策树生成标准

回归树用 平方误差最小化
分类树用 基尼指数

决策树的优点:

决策树算法中学习简单的决策规则建立决策树模型的过程非常容易理解
决策树模型可以可视化,非常直观
应用范围广,可用于分类和回归,而且非常容易做多类别的分类
能够处理数值型和连续的样本特征

决策树的缺点:

很容易在训练数据中生成复杂的树结构,造成过拟合(overfitting)。剪枝可以缓解过拟合的负作用,常用方法是限制树的高度、叶子节点中的最少样本数量。
学习一棵最优的决策树被认为是NP-Complete问题。实际中的决策树是基于启发式的贪心算法建立的,这种算法不能保证建立全局最优的决策树(Random Forest 引入随机能缓解这个问题)。

叶子节点越少,往往决策树的泛化能力越高,所以可以认为训练决策树的一个目标是减少决策树的叶子节点

ID3介绍

信息熵为信息增益为衡量标准,从而实现对数据的归纳分类。根据信息增益运用自顶向下的贪心策略是ID3建立决策树的主要方法。运用ID3算法的主要优点是建立的决策树的规模比较小,查询速度比较快。这个算法建立在“奥卡姆剃刀”的基础上,即越是小型的决策树越优于大的决策树。但是,该算法在某些情况下生成的并不是最小的树型结构

信息量和事件发生的概率相关,事件发生的概率越低,传递的信息量越大
信息量应当是非负的,必然发生的事件的信息量为零(必然事件是必然发生的,所以没有信息量。几乎不可能事件一旦发生,具有近乎无穷大的信息量。)
两个事件的信息量可以相加,并且两个独立事件的联合信息量应该是他们各自信息量的和

信息熵越大,信息就越凌乱或传输的信息越多

ID3算法流程

输入:数据集D,特征集A

输出:ID3决策树

  • 对当前样本集合计算出所有属性信息的信息增益

  • 先选择信息增益最大的属性作为测试属性,将测试属性相同的样本转化为同一个子样本

  • 若子样本集的类别属性只含有单个属性,则分支为叶子节点,判断其属性值并标上相应的符号,然后返回调用处,否则对子样本递归调用本算法

  • 选择信息增益最大的特征作为节点的特征,依次调用,直到所有特征的信息增益都很小、没有特征可以选择。

  • 首先计算样本集合D的信息熵
    计算各特征对于数据集合D的信息增益
    比较各特征的信息增益,由于特征A3(出勤率)的信息增益值最大,所以选择A3做为最优特征

ID3算法的优点与缺点

ID3算法的优点:

  • 算法结构简单;
  • 算法清晰易懂;
  • 非常灵活方便;
  • 不存在无解的危险;
  • 可以利用全部训练例的统计性质进行决策,从而抵抗噪音。

ID3算法缺点:

  • ID3算法采用信息增益来选择最优划分特征,然而人们发现,信息增益倾向与取值较多的特征,对于这种具有明显倾向性的属性,往往容易导致结果误差;
  • ID3算法没有考虑连续值,对与连续值的特征无法进行划分;
  • ID3算法无法处理有缺失值的数据;
  • ID3算法没有考虑过拟合的问题,而在决策树中,过拟合是很容易发生的;
  • ID3算法采用贪心算法,每次划分都是考虑局部最优化,而局部最优化并不是全局最优化,当然这一缺点也是决策树的缺点,获得最优决策树本身就是一个NP难题,所以只能采用局部最优;

C4.5

C4.5是算法继承了ID3算法的优点,且改进后的算法产生的分类规则易于理解,准确率高。

同时,该算法也存在一些缺点,如算法效率低,值适合用于能够驻留于内存的数据集

正在ID3算法的基础上,C4.5算法进行了以下几点改进:

  • 信息增益率来选择属性,克服了ID3算法选择属性时偏向选择取值多的属性的不足
  • 在决策树的构造过程中进行剪枝,不考虑某些具有很好元素的节点。
  • 能够完成对联系属性的离散化处理
  • 能够对不完整数据进行处理。

可以避免信息增益中对可取数目比较多的特征有所偏好的缺点。然而增益率又会对取值数目较少的属性有偏好,因此又有一个“启发式”的规则:先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。

CART(分类和回归树,Classification And Regression Tree)

  • 二分(Binary Split):在每次判断过程中,都是对样本数据进行二分。CART算法是一种二分递归分割技术,把当前样本划分为两个子样本,使得生成的每个非叶子结点都有两个分支,因此CART算法生成的决策树是结构简洁的二叉树。由于CART算法构成的是一个二叉树,它在每一步的决策时只能是**“是”或者“否”**,即使一个feature有多个取值,也是把数据分为两部分
  • 单变量分割(Split Based on One Variable):每次最优划分都是针对单个变量
  • 剪枝策略:CART算法的关键点,也是整个Tree-Based算法的关键步骤。基于基尼指数剪枝过程特别重要,所以在最优决策树生成过程中占有重要地位。有研究表明,剪枝过程的重要性要比树生成过程更为重要,对于不同的划分标准生成的最大树(Maximum Tree),在剪枝之后都能够保留最重要的属性划分,差别不大。反而是剪枝方法对于最优树的生成更为关键。

CART树生成就是递归的构建二叉决策树的过程,对回归使用平方误差最小化准则,对于分类树使用基尼指数(Gini index)准则,进行特征选择,生成二叉树。

ID3、C4.5、CART区别

在这里插入图片描述

随机森林

1、其它参数不变,增加决策树的数量,偏差不变;方差减小

2、其它参数不变,增加决策树的深度,偏差减小

3、其它参数不变,增加列采样,偏差减小

随机森林主要是在降低模型的方差。

Boosting方法主要是在降低模型的偏差。以GBDT为例,从梯度下降可以看出,其以逼近原函数为首要目标。因此随着树的增加,偏差越来越小。由于每棵树不是同分布的,而且最终模型是多颗树之和,不难看出,方差会越来越大

对于每棵树,它们使用的训练集是采用放回的方式从总的训练集中采样出来的。而在训练每棵树的节点时,使用特征是从所有特征中,采用按照一定比例随机的无回放的方式抽取

随机森林的优点

  • 随机森林对于高维数据集的处理能力令人兴奋,它可以处理成千上万的输入变量,并确定最重要的变量,因此被认为是一个不错的降维方法。此外,该模型能够输出变量的重要性程度,这是一个非常便利的功能。
  • 在对缺失数据进行估计时,随机森林是一个十分有效的方法。就算存在大量的数据缺失,随机森林也能较好地保持精确性。
  • 当存在分类不平衡的情况时,随机森林能够提供平衡数据集误差的有效方法。
  • 模型的上述性能可以被扩展运用到未标记的数据集中,用于引导无监督聚类、数据透视和异常检测;
  • 随机森林算法中包含了对输入数据的重复自抽样过程,即所谓的bootstrap抽样。这样一来,数据集中大约三分之一将没有用于模型的训练而是用于测试,这样的数据被称为out of bag samples,通过这些样本估计的误差被称为out of bag error。研究表明,这种out of bag方法的与测试集规模同训练集一致的估计方法有着相同的精确程度,因此在随机森林中我们无需再对测试集进行另外的设置
  • 训练速度快,容易做成并行化方法

随机森林的缺点

  • 随机森林在解决回归问题时并没有像它在分类中表现的那么好,这是因为它并不能给出一个连续型的输出
    当进行回归时,随机森林不能够作出超越训练集数据范围的预测,这可能导致在对某些还有特定噪声的数据进行建模时出现过度拟合。
  • 对于许多统计建模者来说,随机森林给人的感觉像是一个黑盒子——你几乎无法控制模型内部的运行,只能在不同的参数和随机种子之间进行尝试

随机森林建立步骤

随机森林的建立基本由随机采样完全分裂两部分组成。

1、随机采样

随机森林对输入的数据进行行、列的采样,但两个采样的方法有所不同。对于行采样,采用的方法是有回放的采样,即在采样得到的样本集合中,可能会有重复的样本。假设输入样本为N个,那么采样的样本也是N个,这样使得在训练时,每科树的输入样本都不是全部的样本,所以相对不容易出现over-fitting。对于列采样,采用的方式是按照一定的比例无放回的抽取,从M个feature中,选择m个样本(n<<M)。

2、完全分裂

在形成决策树的过程中,决策树的每个节点都要按完全分裂的方式来分裂,直到节点不能再分裂。采用这种方式建立出的决策树的某一叶子节点要么是无法继续分裂的,要么里面的所有样本都是指向同一个分类。

剪枝

  • 通过阈值控制终止条件,避免树形结构分支过细。
  • 通过对已经形成的决策树进行剪枝来避免过拟合。
  • 基于Bootstrap(列采样)的思想建立随机森林。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值