《机器学习》第6章·通俗解读 | 支持向量机SVM找一条“最宽”的分界线支持向量机SVM是机器学习里最优雅的算法之一。它的核心思想非常简单在两类数据之间画一条分界线不仅要把它们分开还要让这条线离两边都尽可能远。就像你劝架时站在两个人中间希望离两个人都一样远避免挨打。1. 间隔与支持向量什么是“最宽”的分界线假设你有好瓜和坏瓜想在平面上画一条直线把它们分开。可能的直线有很多条随便扭一扭都能分开。哪一条最好直觉选那条离两边最近的瓜都最远的线。这样即使新来的瓜有点“跑偏”也不太容易被分错。这条线叫划分超平面在二维是直线在高维是平面/超平面离这条线最近的几个瓜决定线位置的叫支持向量线到两边支持向量的距离之和叫间隔SVM 要找的就是间隔最大的那条线。为什么最大间隔好因为间隔越大模型的“容错空间”越大对新数据的泛化能力越强。2. 硬间隔 vs 软间隔允许犯一点点错现实中数据往往不是完全“干净”的。可能有个别坏瓜混在好瓜堆里或者相反。硬间隔要求所有瓜都必须被正确分开一点错都不能有。这在真实数据中几乎不可能会找不到线或者找到的线很奇怪过拟合。软间隔允许少数瓜“站错队”但要在目标里惩罚它们。你可以控制惩罚的力度惩罚大 → 尽量少犯错可能过拟合惩罚小 → 允许更多犯错可能欠拟合就像考试硬间隔要求每题都对没人能做到软间隔允许错几题但要扣分。3. 对偶问题与求解换一种方式解方程直接求最大间隔超平面是一个带约束的最优化问题。数学上可以用拉格朗日乘子法转换成对偶问题更容易求解。对偶问题的好处计算中只涉及样本之间的内积点乘最终模型只与支持向量有关其他样本不影响结果这意味着训练完成后你只需要记住那些“站在边界上的瓜”其他瓜可以扔掉。这让 SVM 非常“节省内存”。4. 核函数让 SVM 也能处理“拧巴”的数据如果数据本身不是线性可分的比如好瓜和坏瓜像麻花一样缠在一起怎么办核技巧把数据映射到更高维的空间在那边可能就线性可分啦比如二维里缠在一起的点映射到三维可能用一个平面就能切开。但直接做高维映射计算量太大。核函数允许你在低维空间直接计算高维空间的内积省去映射过程。通俗理解你不想爬楼梯去五楼但有人用绳子把东西拉上去你只要在楼下动动绳子就行。核函数就是那根“魔法绳子”。常用核函数核函数特点适用场景线性核就是原空间的内积不映射数据本身已经线性可分多项式核映射到多项式空间一般分类高斯核RBF最常用可以映射到无穷维大多数情况都好用高斯核有一个参数 γgamma控制“影响力范围”γ 大 → 每个样本只影响附近小区域 → 容易过拟合γ 小 → 影响范围大 → 决策边界更平滑5. 支持向量回归SVR用“管道”来回归回归任务预测数值也能用 SVM 的思想。SVR 不是要求预测值精确等于真实值而是允许有一个误差范围 ε比如 ±0.1。只要预测落在“管道”内就算对超出管道才计算损失。就像你测体温37.0℃到37.2℃都算正常超出才算发烧。这也让 SVR 对噪声不敏感更鲁棒。6. 核方法不只 SVM 能用核技巧不光能用在 SVM 上它是一套通用的“魔法工具”。你可以把任何线性模型比如线性回归、线性判别分析核化变成非线性版本。这就是核方法先用核函数隐式映射到高维再在高维做线性学习。 第六章总结背下这5句就够了SVM 的核心找一条分界线让两边离它都尽可能远最大化间隔支持向量 站在边界上的那几个关键样本决定了线的位置软间隔允许少量错误通过惩罚参数 C 控制核函数 魔法绳子让你在低维解决高维的问题高斯核最常用SVR是回归版本允许一个误差管道管道外的点才计损失 下章预告第七章讲贝叶斯分类器——用概率来做决策。你会学到朴素贝叶斯“天真”的假设、贝叶斯网更复杂的依赖关系以及 EM 算法处理缺失数据。贝叶斯方法的思想很美用先验知识 观测数据 → 后验概率就像“常识 证据 → 更靠谱的判断”。用“挑西瓜”讲透《机器学习》第七章-贝叶斯分类器-CSDN博客