6-3 经典机器学习算法原理整理(下)

 、朴素贝叶斯

在第5章中,我们介绍过贝叶斯的相关内容,朴素贝叶斯算法正是基于此而来。

1.原理

朴素贝叶斯通过特征的概率来预测分类,模型是不需要调参的:

第一步,训练分类器,计算输入的训练样本中,每个不同的分类类别在训练样本中出现的频率以及每个类别下各个特征属性出现的条件概率值。

第二步,对于待分类的样本,计算在该样本出现的条件下,各个分类类别出现的概率,哪个概率最大,待分类的样本就属于哪个类别。

我们知道贝叶斯公式为

也可以理解成

参考《统计学习方法》,假定y为某类别可能性,我们可以将公式化简为:
举例,有行车登记数据如下:

有新样本驾龄2年,车速80希望判断其性别

此时分类结果包括{男女}样本特征1代表驾龄特征2代表车速我们需要对比不同性别时上式分子的值从而推断性别为男还是为女

 P(性别=男)*p(驾龄=2|性别=男)*p(车速=80|性别=男)=0.5*0.4*0.6=0.12

 P(性别=女)*p(驾龄=2|性别=女)*p(车速=80|性别=女)=0.5*0.2*0.2=0.02

 结果推测该样本为男性

2.优缺点

优点:①基于较简单的概率学公式,预测快速;②在分类变量的情况下模型效果好,数值变量需要先假设正态分布。

缺点:①朴素贝叶斯的一个限制前提是各个特征之间相互独立,但这在现实中很难实现

优化:①如果输入的特征是连续变量,但不是正态分布,应当转为正态分布。②朴素贝叶斯在调包计算的过程中可选择的参数有限,应当重点关注数据预处理以及特征工程。

3.场景应用

应用:由于朴素贝叶斯的计算十分迅速,并且以多分类预测闻名,因此,朴素贝叶斯主要可以应用于文本分类;垃圾邮件分类等情况。

4.延伸提问

(1)朴素贝叶斯算法的“朴素”,是什么意思?
之所以称之为“朴素”(naive),是假设样本x的各个特征之间是相互独立的,即各个特征对于预测结果的影响是相互独立的。  

(2)朴素贝叶斯对异常值敏感吗?
朴素贝叶斯对异常值不敏感。所以在进行数据处理时,我们可以不去除异常值,因为保留异常值可以保持朴素贝叶斯算法的整体精度,而去除异常值则可能在进行预测的过程中由于失去部分异常值导致模型的泛化能力下降。

、线性可分支持向量机

1.原理

支持向量机是常见的二分类模型,基本思想是求解出能够正确划分训练数据集并且几何间隔最大的分离超平面,如下图所示,对于一个线性可分的数据集来说,这种超平面有无数多个,但是几何间隔最大的超平面却是唯一的。

对于点,到直线的距离为: ,其中


在图中距离该超平面最近的点(圈出来的点)就是支持向量支持向量到超平面的距离之和为SVM的目标即为使得为 最大化,即 最小化,可以借助拉格朗日来计算极值,由于推导过程较为复杂,建议配合教材书本参考学习。

2.优缺点

优点:①少数的支持向量决定了最终结果,对异常值不敏感②计算的复杂性取决于支持向量的数量,而不是样本空间的维度,避免了“维数灾难”。

缺点:①经典的支持向量机主要使用在二分类算法中,若需要解决多分类问题,可以通过多个二分类支持向量机来解决②对参数和核函数的选择比较敏感。

3.延伸提问

 (1) SVM为什么要用间隔最大化
若训练数据线性可分,会存在无数多个的超平面,利用间隔最大化的原理能够得到唯一解,且这类结果对于未知实例的泛化能力更强。

 (2) SVM的核函数
在原始数据线性不可分的时候,需要引入核函数,将原始的样本从现有的空间映射到一个更高维的空间,使得样本在高维空间中线性可分。常见的核函数包括:
线性核:主要用于特征非常多的情况,线性可分,参数少并且运算的速度快。
高斯核参数相对较少不论是大样本还是小样本都有比较好的效果在不知道该使用什么核函数的时候优先使用高斯核或者线性核

多项式核核参数较多尤其是当多项式的阶数较高的时候计算复杂度大。

(3) 非线性可分问题可以用支持向量机吗?

当数据近似线性可分的时候可以引入松弛变量求解软间隔最大化此时为线性支持向量机
当数据线性不可分的时候,引入

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

<p> 为什么要学习本专刊 (1)数据分析面试日益激烈,招聘门槛提高,对业务、技术的综合考察难度上升; (2)网上对数据分析面试题型的整理与解析质量参差不齐,缺少框架清晰、内容全面的学习资料; (3)直击数据分析面试热点问题; </p>

全部评论

相关推荐

微风不断:兄弟,你把四旋翼都做出来了那个挺难的吧
点赞 评论 收藏
分享
Java抽象带篮子:难蚌,点进图片上面就是我的大头😆
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务