机器学习-支持向量机 -- 硬间隔SVM(1)


1. 预知识:


线性模型:在样本空间中寻找一个超平面, 将不同类别的样本分开.

-Q:将训练样本分开的超平面可能有很多, 哪一个好呢?

-A:应选择”正中间”, 容忍性好, 鲁棒性高, 泛化能力最强.

2. Hard-margin SVM


****输入空间:****欧几里德空间或离散集(Euclidean space or discrete set)

****输出空间:****欧几里得空间或希尔伯特空间(Euclidean space or Hilbert space)内积空间

****假设:****输入空间的实例可以映射到特征空间中的特征向量。(一对一)。学习是在特征空间中进行的

训练数据集:

****目标:****找到一个超平面 wx + b = 0   (w,b为参数)

****思路:****间隔最大(maximum margin)

     

线性支持向量机SVM:

3. 函数间隔 VS 几何间隔


确信度(confidence):|w x + b|

****正确性(correctness):****w x + b与y符号相同时,表示预测正确,相反w x + b与y符号相反时,表示预测错误,则正确的可以写成 y ( w x + b )

因此结合确信度和正确性 可以得到:y ( w x + b )

(1)函数间隔

给定训练数据集T,平面(w,b)

目前可以得到这样的结果。

但是,如果将w变为2w,b变成2b,超平面不会发生变化,但是函数间隔变化了

因此:我们选择使用||w||  ( w的二范数)

从而引出几何间隔

(2)几何间隔

4. 最大间隔化


****基本思想:****求解能正确划分训练数据集,且geometric margin 最大的分离超平面(唯一)

间隔最大化又称硬间隔最大化(Maximum Hard-margin)

直观解释****:****对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。也即,不仅将正负实例点分开,而且对最难分的实例点(离超平面最近的点)也有足够大的确信度将它们分开。这样的超平面应对未知的新实例有很好的分类预测能力。

****如何求该超平面?****几何间隔最大化(最优化)

(每个样本的几何间隔至少是r)

我们令 r=1

(实质是一个凸二次规划)

5. 硬间隔SVM的算法描述


输入:训练集T

输出:最大间隔超平面w* x + b

得到最大间隔超平面和决策函数

6. 支持向量


****支持向量:****离超平面最近的点,即满足不等式取等的时候

长带的宽度:H1和H2的距离叫间隔margin

H1和H2称作间隔的边界

H1和H2上的训练样本点叫支持向量

中间线上的叫支持向量机

在决定分离超平面时只有支持向量起作用;其他的点不影响求解

若移动支持向量将改变所求的解;但若在间隔边界以外移动其他实例点,甚至去掉这些点,则解释不好改变的。

由于支持向量在确定分离超平面中起决定性作用,故这种分类模型称支持向量机

支持向量的个数一般很少,所有支持向量机由很少的“重要的”训练样本确定。

7. 硬间隔SVM例题


由于当训练集比较大时,手动解法很复杂,因此我们引入对偶问题

8. 对偶问题


原始问题—>对偶问题

****目的:****方便解决问题和方便引入核函数(非线性分类变为线性分类)

如何进行对偶理论不再此讲解

原始问题:

对于每一个约束,引入一个拉格朗日参数a,因此问题转化为:

对于求解对偶问题,我们调换min和max,因此得到了原始问题的对偶问题:

求解对偶问题

求解对偶问题,就是要解w,b,a

先求拉格朗日函数的最小问题----求导

求出对w和b的导数之后,可以解出w以及关系

将求出来的两项带入拉格朗日函数中,

因此问题进一步得到转化

(2)接下来求a,求最大

由于max中有一个负号,我们将其取出,就变成了min最小化问题,如下

至此我们就完成了原问题到对偶问题的转化

可以看出,原问题是对w,b求解,对偶问题是对a求解,求出a就可以算出w,但是b怎末求呢?给出如下定理,可以直接使用:

并且w* 和b*都是唯一的

因此,求出了w*和b*就可以求出分离超平面和决策函数

此处可以看出,超平面和决策函数都是由内积决定的(后面会讲)

9. 线性支持向量机的算法(根据对偶问题得到的)

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

分享一套阿里大牛整理的前端资料给大家,点击前端校招面试题精编解析大全即可获取

❤️ 谢谢支持,喜欢的话别忘了 关注、点赞哦。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

[外链图片转存中…(img-Tp7WSBzt-1713346815517)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

分享一套阿里大牛整理的前端资料给大家,点击前端校招面试题精编解析大全即可获取

❤️ 谢谢支持,喜欢的话别忘了 关注、点赞哦。

前端校招面试题精编解析大全

  • 29
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PSO-SVM(粒子群算法优化支持向量机)是一种结合了粒子群算法(PSO)和支持向量机SVM)的优化算法。PSO是一种启发式算法,模拟鸟群觅食行为进行搜索,能够实现全局最优解的搜索。而SVM是一种分类和回归分析的算法,通过最大化分类间隔来确定分类边界。 PSO-SVM算法通过将PSO应用于SVM优化问题,以寻找更优的分类器参数。具体的步骤如下: 1. 初始化粒子群的位置和速度,这些粒子代表着SVM分类器的参数。 2. 计算每个粒子对应的SVM分类器的精度(准确度)。根据这个精度计算适应度值。 3. 找到当前粒子群中最好的分类器(SVM参数组合),并记录其适应度值。 4. 更新粒子的速度和位置。根据当前位置和速度,确定下一步的位置和速度。同时,根据适应度值来更新个体最优解和全局最优解。 5. 重复步骤2到4,直到达到指定的迭代次数或达到一定的适应度值阈值。 6. 输出全局最优的SVM分类器参数,作为最终的分类器。 PSO-SVM算法的优点是能够搜索到更优的SVM分类器参数组合,从而提高分类器的准确度。同时,PSO算法避免了局部最优解的问题,通过粒子之间的信息交流,能够在搜索过程中跳出局部最优解。 然而,PSO-SVM算法也存在一些不足之处。首先,该算法对初始参数的选择较为敏感。其次,算法在处理大规模数据集时,计算成本较高。 总结来说,PSO-SVM算法是一种通过粒子群算法优化支持向量机分类器参数的方法。它具有一定的优势和不足,可以根据实际问题的需求来选择使用。 ### 回答2: pso-svm算法是一种利用粒子群算法(PSO)优化支持向量机SVM)的方法。在传统的SVM中,目标是找到一个最佳的超平面,将样本点分离为不同的类别。然而,对于复杂的数据集,传统的SVM可能无法取得良好的分类效果。 为了提高SVM的性能,pso-svm方法引入了粒子群算法。粒子群算法是一种模仿鸟群觅食行为的优化算法,它通过不断地更新粒子的位置来搜索最优解。在pso-svm中,每个粒子代表SVM模型的一个参数设置,并且通过寻找最佳参数组合来优化SVM的性能。 粒子群算法通过计算每个粒子的适应度来评估其性能。适应度函数通常基于粒子对应的参数组合在训练数据上的分类准确率。每个粒子利用自身的历史最优位置和群体最优位置来更新自己的位置。通过不断迭代,粒子群算法最终会找到一个较好的参数组合,从而优化SVM的分类性能。 pso-svm算法的优点是能够全局搜索最优解,并且具有较强的鲁棒性和自适应性。它能够找到适用于复杂数据集的最佳参数组合,从而提高了SVM的分类效果。同时,pso-svm算法不仅适用于二分类问题,还可扩展到多分类问题。 总结来说,pso-svm算法将粒子群算法支持向量机相结合,通过优化SVM的参数选择来提高其分类性能。这种算法能够在复杂数据集中找到最佳的超平面划分,具有较强的鲁棒性和自适应性,并且能够应用于多分类问题。 ### 回答3: PSO-SVM 粒子群算法是一种通过粒子群优化算法来优化支持向量机SVM)模型的方法。SVM 是一种常用的机器学习算法,用于分类和回归问题。然而,在处理大规模数据集时,SVM 的计算复杂度往往很高,因此需要一种有效的优化方法。 粒子群算法(PSO)是一种基于模拟群体行为的优化算法,它模拟了鸟群寻找食物的行为。每个粒子代表了一个解决方案,并根据自身当前的位置以及群体中最优解的位置进行搜索。在 PSO-SVM 算法中,每个粒子的位置即 SVM 模型的参数,例如决策函数中的权重和偏置。 PSO-SVM 粒子群算法的优化过程如下:首先初始化一群粒子,并为每个粒子随机分配初始位置和速度。然后,根据每个粒子当前的位置计算 SVM 模型的性能指标,例如分类准确率或误差。接下来,根据当前位置和全局最优解的位置,更新粒子的速度和位置。这个迭代过程将不断进行,直到满足终止条件(例如达到最大迭代次数或收敛)。 通过使用 PSO-SVM 粒子群算法来优化 SVM 模型,可以得到更好的模型性能和更快的收敛速度。粒子群算法能够在参数空间中进行全局搜索,并以群体的合作方式来寻找最优解。相比于传统的参数优化方法,PSO-SVM 粒子群算法能够更好地克服 SVM 高计算复杂度和局部最优解的问题,从而提高了模型的准确性和鲁棒性。 总之,PSO-SVM 粒子群算法是一种有效的优化方法,可以应用于支持向量机模型,帮助我们更好地处理大规模数据集和获得更好的模型性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值