学习支持向量机SVM及相关算法笔记
需积分: 0 167 浏览量
更新于2024-01-22
1
收藏 1.48MB DOC 举报
支持向量机(Support Vector Machine,SVM)是一种优秀的有监督学习算法。学习SVM的过程起源于去年暑假,当时老师要求我们交一份《统计学习理论》的报告,我在网上找到了一份入门教程,里面的讲解非常通俗易懂,对SVM的基本概念我有了初步的了解。而这次我通过斯坦福提供的学习材料,重新学习了一些SVM的知识。
以往一般的讲法都是从VC维理论和结构风险最小原理出发,然后引出SVM的概念,还有些资料会直接讲解分类超平面等内容。而这份材料则从前几节关于logistic回归的讲解出发,逐步引出了SVM,不仅揭示了模型之间的联系,也让整个过渡更加自然。
回顾一下,logistic回归的目标是通过学习特征,构建一个二分类模型,其中模型是将特征的线性组合作为自变量。由于自变量的取值范围是负无穷到正无穷,我们使用logistic函数(也称为sigmoid函数)来将自变量映射到[0, 1]的范围内,这个映射后的值被认为是属于y=1的概率。具体的形式表示为假设函数h(x)=g(w^T * x + b),其中x是n维特征向量,g是logistic函数。图像上可以看出,将无穷映射到了[0, 1]的范围内。所以假设函数就是根据特征推断y是否等于1的概率。
而SVM则是在logistic回归的基础上发展而来的。SVM的目标是求解一个最优化问题,找到一个能最大化分类准确率的分类超平面。物理意义上,一个超平面是一个(n-1)维的超平面,能将特征空间划分成两个部分,使得不同类别的样本点分别位于两个部分中。最佳超平面的选择是根据训练集中的一些特殊样本点,即支持向量,来进行的。这些支持向量是距离超平面最近的样本点,它们决定了超平面的形状和位置,并且对于分类决策起着重要的作用。
为了具体描述一个线性SVM分类器,我们先假设超平面的函数表示为w^T * x + b = 0,其中w是法向量,b是偏移量。对于给定的样本点x,我们可以通过计算w^T * x + b的值来确定x所在的区域,若大于0则属于一类,若小于0则属于另一类。由此可以看出,超平面将特征空间划分为两个部分,两个部分分别对应不同的类别。而支持向量正好位于超平面上,它们满足w^T * x + b = 1或w^T * x + b = -1。支持向量有了,我们可以利用它们求出超平面的方程,从而实现对未知样本的分类。
对于非线性问题,我们可以通过引入核函数来将特征映射到一个高维空间,从而可以在高维空间中找到一个超平面。这些核函数能够将样本原本的特征变换到一个更高维的空间,使得原本非线性可分的样本在高维空间中可以线性可分。SVM通过优化问题(凸优化问题)来求解最佳超平面,在优化过程中使用拉格朗日乘子法将原问题转化为对偶问题,最终得到了对偶问题的解,即支持向量和超平面的权重。
总结而言,SVM是一个非常强大的分类算法,通过最大化分类准确率来求解最佳超平面,通过引入核函数可以处理非线性问题。SVM的学习过程就是求解一个最优化问题,找到能最大化分类准确率的超平面,支持向量则起到了重要的作用。对于非线性问题,SVM使用核函数将特征映射到高维空间,实现在高维空间中的线性分类。欲了解更多关于SVM的细节,还需要进一步深入学习和研究。
2019-12-16 上传
2022-05-31 上传
点击了解资源详情
2024-06-27 上传
2009-12-11 上传
2022-09-19 上传
2021-09-29 上传
AGANCUDA
- 粉丝: 70
- 资源: 70
最新资源
- SSM Java项目:StudentInfo 数据管理与可视化分析
- pyedgar:Python库简化EDGAR数据交互与文档下载
- Node.js环境下wfdb文件解码与实时数据处理
- phpcms v2.2企业级网站管理系统发布
- 美团饿了么优惠券推广工具-uniapp源码
- 基于红外传感器的会议室实时占用率测量系统
- DenseNet-201预训练模型:图像分类的深度学习工具箱
- Java实现和弦移调工具:Transposer-java
- phpMyFAQ 2.5.1 Beta多国语言版:技术项目源码共享平台
- Python自动化源码实现便捷自动下单功能
- Android天气预报应用:查看多城市详细天气信息
- PHPTML类:简化HTML页面创建的PHP开源工具
- Biovec在蛋白质分析中的应用:预测、结构和可视化
- EfficientNet-b0深度学习工具箱模型在MATLAB中的应用
- 2024年河北省技能大赛数字化设计开发样题解析
- 笔记本USB加湿器:便携式设计解决方案