机器学习概论2——分类问题
机器学习概论1:https://blog.****.net/weixin_36302584/article/details/106360723
机器学习概论2——分类问题
4.3 数据建模
4.3.1 分类问题
分类问题是监督学习的一个核心问题,他从数据中学习一个分类决策函数或分类模型(分类器),对新的输入进行输出预测,输出变量取有限个离散值
4.3.1.1 决策树
-
定义
决策树是一个树结构,每个非叶节点表示一个特征属性,每个分支边代表这个特征属性在某个值域上的输出,每个叶节点存放一个类别
核心算法:ID3算法、C4.5算法以及CART算法 -
决策过程
从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支直到到达叶子结点,将叶子结点存放的类别作为决策结果。
如下图为判断瓜好坏问题中,判断纹理清晰,根蒂硬挺的过程 -
构建决策树过程
1、特征选择:选取对训练数据具有分类能力的特征。以下为特征选择的相关概念和方法:- 信息熵:表示随机变量的不确定性,熵越大不确定性越大
- 信息增益:信息熵(前)-信息熵(后)
- 信息增益比:惩罚参数*信息增益。特征个数越多时,惩罚参数较小;反之较大
-
基尼系数:表示集合的不确定性,基尼系数越大表示不平等程度越高
2、决策树生成:在决策树各个点上按照一定方法选择特征,递归构建决策树
3、决策树剪枝:在已生成的树上剪掉一些子树或者叶节点,从而简化分类树模型- 在生成决策树的过程中,如果没有剪枝(pruning),就会生成一个对训练集完全拟合的决策树,这对测试集是非常不友好的,泛化能力较弱,因此需要剪枝来提高模型的泛化能力。
- 理想的决策树应该朝着叶子节点数少,叶子结点深度少的方向进行剪枝
- 剪枝方法
4.3.1.2 贝叶斯分类
-
定义
基于贝叶斯定理和属性特征条件独立性的一种分类方法
贝叶斯流派的核心:Proability theory is nothing but common sense reduced to calculation.概率论只不过是把常识用数学公式表达出来——拉普拉斯 -
处理流程:
1、计算先验概率
2、为每个属性计算条件概率
3、计算后验概率,并得出分类结果 -
优点
1、算法逻辑简单,易于实现
2、分类过程中时空开销小 -
缺点
理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率,但是实际上并不如此,因为朴素贝叶斯模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,在属性个数比较多或者属性之间相关性较大时,分类效果不好 -
优化
按照贝叶斯公式,如果分子中某一个先验概率或条件概率概率为0,则计算得到的后验概率必为0,为了防止这种情况,可以使用拉普拉斯修正
4.3.1.3 支持向量机SVM
-
定义
支持向量机(Support Vector Machine , SVM)是一种有监督学习方法,主要思想是建立一个最优决策超平面,使得该平面两侧距离该平面最近的两类样本之间的距离最大化,从而对分类问题提供良好的泛化能力。
以下可用一个故事来解释SVM:
-
SVM线性可分分类方法
SVM有线性可分支持向量机与软间隔最大化,和线性可分支持向量机与硬间隔最大化两种分类方法。
线性可分支持向量机与软间隔最大化:存在一些数据分类错误,但通过惩罚系数的引入,允许部分错误的存在
线性可分支持向量机与硬间隔最大化:完全线性可分,不存在有数据分类错误 -
非线性支持向量机与核函数(kernelling)
数据在二维空间中看起来是线性不可分的,但可以通过核函数进行映射,将二维的数据映射到三维空间中,从而使用超平面分开数据,使其线性可分。如下图所示为映射示意图
核函数有以下四种: -
优点
1、相比于其他训练分类算法不需要过多样本,且由于SVM引入了核函数,所以SVM可以处理高维样本
2、结构风险小。这种风险是指分类器对问题真是模型的逼近与问题真实解之间的累积误差
3、非线性。SVM擅长应付样本数据线性不可分的情况,主要通过松弛变量(惩罚变量)和核函数技术来实现,这也是SVM的精髓所在
4.3.1.4 逻辑回归
逻辑回归可以处理二元分类以及多元分类。首先逻辑回归构造广义的线性回归函数,然后使用sigmoid函数g(z)将回归值映射到离散类别。
-
二项逻辑回归模型
-
多项逻辑回归模型
-
使用sigmoid函数的理由
如下图为sigmoid函数曲线(左)及其对应的导函数曲线(右)
-
为什么逻辑回归性能较高
因为逻辑回归是最大熵模型的特殊情况(对数线性模型)。最大熵原理指出,对一个随机事件的概率分布进行预测时,我们的预测应当满足全部已知条件,而对未知情况不要做任何主观假设(概率分布最均匀,预测的风险最小)
最大熵模型的特点:
1、形式上看,他非常简单,非常优美
2、效果上看,唯一一种既能满足各个信息源的限制条件,又能保证平滑性的模型。
3、但是他计算量巨大,在工程上实现方法的好坏决定了模型的实用与否
4.3.1.5 集成学习
-
定义
集成学习通过将多个弱分类器集成在一起,使他们共同完成学习任务,构建一个强分类器,“三个臭皮匠赛过诸葛亮”
严格意义上来说,集成学习不算一种机器学习算法,而更像是一种优化手段和策略,通常是结合多个简单的弱机器学习算法,去做更可靠的决策 -
理论基础
强可学习:比如一个学生做一套试卷拿了90+分
弱可学习:比如一个学生做一套试卷只拿了60+分
Schapire证明强可学习和弱可学习是等价的,比如一群60+分的学生按照给定方法做试卷,也能够达到90+分 -
两类集成方法
Bagging(bootstrap aggregating):基于数据随机重抽样的分类器构建方法。其利用bootstrap方法从整体数据集中采取有放回抽样得到N个数据集(如何采样?),然后在每个数据集上学习出一个模型(选择怎么样的弱分类器),最后利用N个模型的输出投票得到最后的预测结果boosting(adaptive boosting的简称):基于错误提升分类器性能,通过集中关注被已有分类器分类错误的样本,构建新分类器。初始的分布应为等概分布,每次循环后提高错误样本的分布概率,分错的样本在训练集中所占权重增大,使得下一次循环的基分类器能够集中力量对这些错误样本进行判断;最后计算分类器的权重,识别率越高的基分类器权重越高,识别率越低的基分类器权重越低
bagging和boosting对比
都采用采样-学习-组合的方式,不同在于:
1、bagging中每个训练集互不相关,也就是每个基分类器互不相关,而boosting中训练集要再上一轮的结果上进行调整,也使得其不能并行计算
2、bagging中预测函数是均匀平等的,而boosting中预测函数是加权的 -
集成学习特点
优点:当前最先进的预测几乎都是用了算法集成,他比是用单个模型预测出来的结果要精确的多,在竞赛中得到了普遍应用。
缺点:需要大量的维护工作 -
代表算法
机器学习概论1:https://blog.****.net/weixin_36302584/article/details/106360723