机器学习之分类模型

概述

机器学习分类模型通过训练集进行学习,建立一个从输入空间 X X X到输出空间 Y Y Y(离散值)的映射。按照输出类别(标签)的不同,可以分为二分类(Binary Classification)、多分类(Multi-Class Classification)、多标签分类(Multi-Label Classification)。常用的分类算法有逻辑回归、KNN、决策数、随机森林、朴素贝叶斯等。下面将分别对具体的分类模型进行介绍。

分类模型

逻辑回归

逻辑回归是在线性回归基础上衍生出来的用于分类的模型,由于线性回归的结果输出是一个连续值,而其范围是无法限定的,直接使用线性回归是无法作为分类的判别依据的。需要使用一个映射函数(例如Sigmoid函数)将连续的输出值映射到(0,1)之间,这个概率值就可以作为模型判断分类结果的依据。

最近邻分类

最近邻分类(KNN)是一种常用的数据聚类方法,其核心思想是在特征空间中寻找匹配的k个最近点,根据k个最近点的投票来判断当前样本应该属于哪一个类别。KNN算法中,所选择的邻居都是已经正确分类的对象,常用的距离函数由曼哈顿距离、欧式距离和闵可夫斯基距离。

朴素贝叶斯

朴素贝叶斯分类器是建立在贝叶斯定律和事件之间条件独立假设的基础上,贝叶斯定律如下所示:
P ( B i ∣ A ) = P ( B i ) P ( A ∣ B i ) ∑ j = 1 n P ( B j ) P ( A ∣ B j ) P(B_i|A) = \frac{P(B_i)P(A|B_i)}{\sum_{j=1}^{n}P(B_j)P(A|B_j)} P(BiA)=j=1nP(Bj)P(ABj)P(Bi)P(ABi)
其中 P ( ⋅ ) P(\cdot) P()为事件发生的概率, P ( A ∣ B ) P(A|B) P(AB)则表示在B发生的情况下A发生的概率。
事件之间相互独立的假设认为即使这些事件相互依赖或者依赖于其他事件的存在,朴素贝叶斯算法都认为这些事件都是独立的。朴素贝叶斯通过已给定的训练集,学习从输入到输出的联合概率分布,再基于学习到的模型和输入求出使得后验概率最大的输出。

支持向量机

支持向量机(SVM)把分类问题转化为寻找分类平面的问题,把样本空间映射到一个高维特征空间中,并通过最大化分类边界点到分类平面的距离来实现分类。SVM学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。对于线性可分的数据集来说,划分出不同类别的超平面有无穷多个,但是使几何间隔最大的分离超平面是唯一的。
SVM利用核函数将数据从低维空间映射到高维空间,可以很好地减少计算量,并且将数据投影到高维空间后,数据就可能变得可分,在某种程度上避免了“维度灾难”。

决策树

决策树是用树状结构构建的一类分类模型。从跟节点开始,算法不断通过一定的条件来将数据集拆分成更小的子集来划分数据集,最终发展成具有决策节点(包括根节点和内部节点)和叶节点的树。随着树的深度不断增加,分支节点的子集越来越小,判断条件也逐渐简化。当分支节点的深度或者判断条件满足一定的停止规则时,该分支节点会停止分裂,此为自上而下的阈值终止(Cutoff Thresshold)法;此外还有自下而上的剪枝(Pruning)法。在分类预测时,输入数据经过决策树内部的各个决策节点,按照不同的属性值进入不同的分支,直到到达叶子节点完成分类。

随机森林

随机森林是指通过多棵决策树联合组成的模型,不同决策树之间没有关联。当执行分类任务时,新的输入样本进入,会输入到随机森林中不同的决策树内,按照所有决策树的判断条件得到多个分类结果,最后采用少数服从多数的投票方式决定最终的分类结果。

多层感知机

多层感知机(Multilayer Perception,MLP)是一种基于前向传播的人工神经网络,模仿人类的感受器神经元将信号逐层向下传播。多层感知机的基本结构一般由三层组成:输入层、隐藏层和输出层。训练时,使用反向传播算法(例如梯度下降法)来调整权重,减少训练过程中的偏差,即真值和预测值之间的误差。

基于集成学习的分类模型

集成学习(Ensemble Learning)是一种能在各种的机器学习任务上提高准确率的强有力技术,其通过组合多个基本分类器来完成学习任务。对于单个模型,很容易出现过拟合或欠拟合的情况,并且各个模型在设计的时候就有自己本身的优缺点,因此我们可以通过基于集成学习的方法进行模型融合达到取长补短的效果。常用的融合方案有Voting、Bagging、Stacking、Blending和Boosting。

Voting

Voting是指投票法,采取少数服从多数的原则,对于多个分类器的预测结果进行投票,具体可分为普通投票法和加权投票法。其中加权投票法的权重可以人工主观设置或者根据模型评估分数来设置。投票法通常需要3个及以上的模型,并且为了避免投票结果的偏差,需要保证模型的多样性。

Bagging

在Voting方法中,采用相同的全部样本训练每一个基分类器,而Bagging方法则是使用全部样本的一个随机抽样,每个分类器都是使用不同的样本进行训练,其他的地方二者完全一致。这样就避免了模型训练结果的同质化问题,提高了不稳定模型准确率的同时,降低了过拟合的程度。

Stacking

Stacking是一种分层模型集成框架。将若干个基分类器获得的预测结果,将预测结果作为新的训练集来训练一个学习器。以一个两层的Stacking集成框架为例,地一层由多个基学习器组成,输入为原始训练集,第二层的模型则是以第一层基学习其

Blending

Boosting

猜你喜欢

转载自blog.csdn.net/weixin_43603658/article/details/132279312