【机器学习】SVM面试题:简单介绍一下SVM?支持向量机SVM、逻辑回归LR、决策树DT的直观对比和理论对比,该如何选择?SVM为什么采用间隔最大化?为什么要将求解SVM的原始问题转换为其对偶问题?

简介: 支持向量机(SVM)的介绍,包括其基本概念、与逻辑回归(LR)和决策树(DT)的直观和理论对比,如何选择这些算法,SVM为何采用间隔最大化,求解SVM时为何转换为对偶问题,核函数的引入原因,以及SVM对缺失数据的敏感性。

介绍一下SVM

(1)简单介绍一下SVM

支持向量机(support vector machines,SVM)是一种二分类模型。分为

线性可分支持向量机:训练数据线性可分,通过硬间隔最大化学习一个线性的分类器,又称为硬间隔支持向量机。
线性支持向量机:训练数据近似线性可分,通过软间隔最大化学习一个线性的分类器,又称为软间隔支持向量机。
非线性支持向量机:训练数据线性不可分,通过核技巧及软间隔最大化,学习非线性支持向量机。(核技巧:当输入空间为欧式空间或离散集合、特征空间为希尔伯特空间时,核函数表示将输入空间映射到特征空间得到的特征向量之间的内积。通过使用核函数,可以学习非线性支持向量机,等价于隐式地在高维的特征空间中学习线性支持向量机)

它的基本模型是在特征空间中寻找间隔最大化的分离超平面的线性分类器。是一个原始最大间隔最优化问题,通过对偶算法,即先转为拉格朗日函数问题,再将拉格朗日函数转为求其对偶问题,即将朗格朗日优化问题中的 min(max) 求解顺序对调,变为max(min)。

(2)支持向量机SVM、逻辑回归LR、决策树DT的直观对比和理论对比,该如何选择?

  • 直观区别

逻辑回归:逻辑回归的决策边界总是一条直线(或者一个平面,在更高维度上是超平面),逻辑回归方法得到的决策边界总是线性的,并不能得到这里需要的环状边界。因此,逻辑回归适用于处理接近线性可分的分类问题。

决策树:决策树是按照层次结构的规则生成的,决策规则只是用平行于轴线的直线将特征空间切分,如果边界是非线性的,并且能通过不断将特征空间切分为矩形来模拟,那么决策树是比逻辑回归更好的选择。

SVM:SVM是通过把特征空间映射到核空间,使得各个类别线性可分。先提升特征的维度,在高纬度用一个平面来分割数据(线性分类器),这个平面映射回原来的二维特征空间,就能得到一个环状的决策边界。

  • 理论区别

模型复杂度:SVM 支持核函数,可处理线性非线性问题,既可以用于分类问题,也可以用于回归问题;LR 模型简单,训练速度快,适合处理线性问题,非线性问题需要转换,适用于二分类问题;决策树也能处理非线性特征,但容易过拟合,需要进行剪枝,适用于多分类问题。

损失函数:SVM hinge loss; 带L2正则化的LR对应的是cross entropy loss,不带的是正则化的是log loss; 决策树的损失函数由叶节点上的经验熵决定。

数据量:LR和决策树都适合用于数据量大的情况,SVM在样本数据量较大需要较长训练时间,因此更适用于数据量小的情况

敏感度:LR对缺失值敏感,不能有缺失值;SVM噪声不能太多,对缺失数据敏感;决策树对缺失数据不敏感

(3)SVM为什么采用间隔最大化

当训练数据线性可分时,存在无穷个分离超平面可以将两类数据正确分开。感知机利用误分类最小策略,求得分离超平面,不过此时的解有无穷多个。线性可分支持向量机利用间隔最大化求得最优分离超平面,这时,解是唯一的。另一方面,此时的分隔超平面所产生的分类结果是最鲁棒的,对未知实例的泛化能力最强。可以借此机会阐述一下几何间隔以及函数间隔的关系。

(4)为什么要将求解SVM的原始问题转换为其对偶问题

  • 对偶问题往往更易求解,当我们寻找约束存在时的最优点的时候,约束的存在虽然减小了需要搜寻的范围,但是却使问题变得更加复杂。为了使问题变得易于处理,我们的方法是把目标函数和约束全部融入一个新的函数,即拉格朗日函数,再通过这个函数来寻找最优点。

  • 可以自然引入核函数,进而推广到非线性分类问题

(5)为什么 SVM 要引入核函数

当样本在原始空间线性不可分时,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。

(6)为什么SVM对缺失数据敏感

这里说的缺失数据是指缺失某些特征数据,向量数据不完整。SVM 没有处理缺失值的策略。

(7)SVM 核函数之间的区别

一般选择线性核和高斯核,也就是线性核与 RBF 核。
线性核:主要用于线性可分的情形,参数少,速度快,对于一般数据,分类效果已经很理想了。
径向基RBF核:主要用于线性不可分的情形,参数多,分类结果非常依赖于参数。如果Feature 的数量很大,跟样本数量差不多,这时候选用线性核的 SVM。 如果 Feature的数量比较小,样本数量一般,不算大也不算小,选用高斯核的 SVM。

目录
相关文章
|
2月前
|
机器学习/深度学习 数据采集 算法
机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用
医疗诊断是医学的核心,其准确性和效率至关重要。本文探讨了机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用。文章还讨论了Python在构建机器学习模型中的作用,面临的挑战及应对策略,并展望了未来的发展趋势。
151 1
|
3月前
|
机器学习/深度学习 算法 知识图谱
【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)
【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)
|
3月前
|
机器学习/深度学习 存储 自然语言处理
【机器学习】基于逻辑回归的分类预测
【机器学习】基于逻辑回归的分类预测
|
3月前
|
机器学习/深度学习 算法
【机器学习】逻辑回归介绍(逻辑回归应用场景,原理,损失及优化详解!!!)
【机器学习】逻辑回归介绍(逻辑回归应用场景,原理,损失及优化详解!!!)
|
5月前
|
机器学习/深度学习 人工智能 算法
【人工智能】机器学习、分类问题和逻辑回归的基本概念、步骤、特点以及多分类问题的处理方法
机器学习是人工智能的一个核心分支,它专注于开发算法,使计算机系统能够自动地从数据中学习并改进其性能,而无需进行明确的编程。这些算法能够识别数据中的模式,并利用这些模式来做出预测或决策。机器学习的主要应用领域包括自然语言处理、计算机视觉、推荐系统、金融预测、医疗诊断等。
90 1
|
5月前
|
机器学习/深度学习 运维 算法
深入探索机器学习中的支持向量机(SVM)算法:原理、应用与Python代码示例全面解析
【8月更文挑战第6天】在机器学习领域,支持向量机(SVM)犹如璀璨明珠。它是一种强大的监督学习算法,在分类、回归及异常检测中表现出色。SVM通过在高维空间寻找最大间隔超平面来分隔不同类别的数据,提升模型泛化能力。为处理非线性问题,引入了核函数将数据映射到高维空间。SVM在文本分类、图像识别等多个领域有广泛应用,展现出高度灵活性和适应性。
217 2
|
2月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
124 4
|
2天前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
30 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
18天前
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
41 2
|
2月前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
52 1