博客内容是根据北邮牛博老师的PPT整理所得
一、认识分类
分类的目的是获得一个 分类函数或分类模型 (也常常称作 分类器 ),该模型能把数据库中的数据项映射到某一个给定类别。分类可用于提取描述重要数据类的模型或预测未来的数据趋势
分类与预测的辨析
• 分类是预测分类(离散、无序的)标号
• 预测是建立连续值函数模型
分类的实现
• 构建模型:预设分类类别
• 对每个样本进行类别标记
• 训练集构成分类模型
• 分类模型可表示为:分类规则、决策树或数学公式
• 使用模型:识别未知对象的所属类别
• 模型正确性的评价
• 已标记分类的测试样本与模型的实际分类结果进行比较
• 模型的正确率是指测试集中被正确分类的样本数与样本总数的百分比。测试集与训练集相分 离,否则将出现过拟合(over-fitting)现象。
分类与聚类的区别:
机器学习的常用方法,主要分为有监督学习(supervised learning)和无监督学习(unsupervised learning)。监督学习,就是人们常说的分类,通过已有的训练样本(即已知数据以及其对应的输出)去训练得到一个最优模型(这个模型属于某个函数的集合,最优则表示在某个评价准则下是最佳的),再利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的,也就具有了对未知数据进行分类的能力。
无监督学习(也有人叫非监督学习)则是另一种研究的比较多的学习方法,它与监督学习的不同之处,在于我们事先没有任何训练样本,而需要直接对数据进行建模。无监督学习里典型的例子就是聚类了。聚类的目的在于把相似的东西聚在一起,而我们并不关心这一类是什么。因此,一个聚类算法通常只需要知道如何计算相似度就可以开始工作了。
二、典型算法
1.K-NN算法
2.SVM分类(支持向量机分类)
3.决策树算法
• 决策树输入
• 一组带有类别标记的样本
• 决策树输出
• 一棵二叉或多叉树。
• 二叉树的内部节点(非叶子节点)一般表示为一个逻辑判断,如形式为(ai=vi)的逻辑判断, 其中ai是属性,vi是该属性的某个属性值;树的边是逻辑判断的分支结果。 • 多叉树(ID3)的内部节点是属性,边是该属性的所有取值,有几个属性值,就有几条边。 树的叶子节点则是类别标记。
如下图,就是一个决策树的例子
构造决策树
• 决策树的构造采用 自上而下的递归构造。①如果训练样本集中所有样本是同类的,则将它作为叶子节点,节点内容即是该类别标记。
②否则,根据某种策略选择一个属性,按照属性的不同取值,将样 本集划分为若干子集,使得每个子集上的所有样本在该属性上具 有同样的属性值。然后再依次处理各个子集
实际上就是“分而治之”(divide-and-conquer)的策略
决策树构造条件
• 构造好的决策树的关键是:如何选择好的逻辑判断或属性。
• 对于同样一组样本,可以有很多决策树能符合这组样本。研究表明,一般情况下,树越 小则树的预测能力越强。要构造尽可能小的决策树,关键在于选择恰当的逻辑判断或属 性。由于构造最小的树是NP问题,因此只能采用启发式策略选择好的逻辑判断或属性。
实际中,用于模型学习的训练数据往往不是完美的,原因是:
①某些属性字段上缺值 (missing values)
②缺少必需的数据而造 成数据不完整;
③数据不准确含有噪声 甚至是错误的。
• 基本的决策树构造算法没有考虑噪声,生成的决策树完全与训练样本拟合。
• 在有噪声的情况下,完全拟合将导致过分拟合(overfitting),即对训练数据的完全拟 合反而不具有很好的预测性能。
剪枝技术是一种克服噪声的技术,同时它也能使树得到简化而变得更容易理解。剪枝分为两种:
①向前剪枝(forward pruning)在生成树的同时决定是继续对不纯的训练子集进行划分还是停机。
②向后剪枝( backward pruning) 是一种两阶段法:拟合-化简 (fitting-and-simplifying), 首先生成与训练数据完全拟合的 一棵决策树,然后从树的叶子开 始剪枝,逐步向根的方向剪。
下图是一个剪枝的例子:
剪枝的局限性
• 剪枝并不是对所有的数据集都好,就像最小树并不是最好(具有最大的预测率)的树。 • 当数据稀疏时,要防止过分剪枝(over-pruning)。
• 从某种意义上而言,剪枝也是一种偏向(bias),对有些数据效果好而有些数据则效果差。
决策树的例子:
根据加薪百分比、工作时长、法定节假日、及医疗保险三个属性来判断一个企业的福利状况。
4.ID3算法
ID3算法举例:
对于第一个式子是看最后分类为yes和no的比例
第二个式子,括号外是每个属性占总的比例(youth,senior,middle_aged),括号内又是该属性被分类的yes或no的比例。
最终得到提取规则:
ID3的优势与劣势
三、评价标准
分类的评价标准
其中准确性可由混淆矩阵获得,下图为混淆矩阵的计算公式:
同时可以用交叉验证
ROC曲线是衡量分类模型效果的最重要的图形展现形式,具体可以在软件上实现。
四、组合分类
多个算法组合使用,其中与决策树结合的算法较多,其中包括:
代表算法: 1. 随机森林;2.Boosting;3. GBDT