支持向量机(SVM)原理与算法解析

需积分: 50 21 下载量 3 浏览量 更新于2024-09-07 收藏 1.9MB DOC 举报
"SVM支持向量机笔记" 支持向量机(Support Vector Machine, SVM)是一种广泛应用的监督学习算法,主要用于分类和回归任务。它通过寻找一个最优超平面来划分数据,该超平面能够最大化类别间的间隔。李航老师的《统计学习方法》中详细介绍了SVM的核心概念和技术。 1. 线性可分支持向量机与硬间隔最大化: - 函数间隔和几何间隔:函数间隔是预测函数与决策边界的距离,而几何间隔是在考虑了样本权重后的真实间隔,它们之间存在联系。 - 间隔最大化:目标是找到具有最大几何间隔的超平面,以确保分类的鲁棒性。 - 最大间隔法:通过最大化间隔来找到最佳分类超平面,避免过度拟合。 2. 线性支持向量机与软间隔最大化: - 引入松弛变量ξ和惩罚参数C:允许一部分样本在间隔内,C的大小决定对这些样本的容忍度。 - 对偶算法:使用拉格朗日乘子构建对偶问题,解决复杂的原始问题。 - 支持向量:距离决策边界最近的样本,它们决定了超平面的位置。 - 合页损失函数:用于处理误分类样本,它在间隔内的样本上增加成本。 3. 非线性支持向量机与核函数: - 核技巧:通过映射数据到高维空间,使得原本不可分的数据在新空间中变得线性可分。 - 正定核函数:保证核函数的数学性质,如RBF(高斯核)、线性核、多项式核和sigmoid核等。 4. 序列最小最优算法(SMO): - 一种高效的求解SVM对偶问题的启发式方法,通过迭代选择两个变量进行优化。 - 两变量二次规划求解:简化问题,快速求解两个变量的最优值。 - 变量选择策略:确保每次迭代能有效改进目标函数。 - SMO算法步骤:包括初始化、选择变量、优化和更新。 5. SVM与其他模型比较: - 感知机:基于误分类最小化,可能有多个解;而SVM通过间隔最大化,解是唯一的。 6. SVM模型的特性: - 模型复杂度:线性可分、非线性模型有不同的复杂度。 - 数据线性可分性:硬间隔用于线性可分数据,软间隔处理非线性或噪声数据。 - 核技巧:非线性问题的关键,将低维非线性问题转化为高维线性问题。 7. SVM的特点: - 判别模型:SVM直接构建分类边界。 - 二分类模型:专注于区分两类数据。 - 间隔最大化:提高模型泛化能力。 - 核技巧/非线性分类器:通过核函数实现非线性决策。 - 求解凸二次规划:保证优化问题有全局最优解。 - 等价于正则化合页函数最小:在训练过程中控制模型复杂度。 8. 习题:比较感知机与线性可分SVM的对偶形式,深入理解两种方法的区别。 总结,SVM是一种强大的机器学习工具,其核心思想在于最大化间隔和使用核函数处理非线性问题,通过SMO等优化算法高效求解。它在许多领域,如文本分类、生物信息学和图像识别等,都展现出了优秀的性能。