<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>支持向量机 on Colommar Blog</title><link>https://www.colommar.asia/ml-notes/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/</link><description>Recent content in 支持向量机 on Colommar Blog</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Wed, 08 Jul 2026 07:33:44 +0000</lastBuildDate><atom:link href="https://www.colommar.asia/ml-notes/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/index.xml" rel="self" type="application/rss+xml"/><item><title>01. 什么是支持向量机</title><link>https://www.colommar.asia/ml-notes/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/01-%E4%BB%80%E4%B9%88%E6%98%AF%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/</link><pubDate>Wed, 08 Jul 2026 07:33:44 +0000</pubDate><guid>https://www.colommar.asia/ml-notes/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/01-%E4%BB%80%E4%B9%88%E6%98%AF%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/</guid><description>支持向量机 （Support Vector Machine，简称 SVM）和逻辑回归、朴素贝叶斯一样，也是一种有监督分类算法，它的目标是通过最大化训练数据集的间隔找到一个最优划分超平面。 那么什么是支持向量？什么是间隔？什么是最优划分超平面呢？ 给定如下图所示的训练样本，很显然这是二维平面上的一个二分类问题，一个最基本的分类想法是能不能找</description></item><item><title>02. 支持向量机的对偶问题</title><link>https://www.colommar.asia/ml-notes/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/02-%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA%E7%9A%84%E5%AF%B9%E5%81%B6%E9%97%AE%E9%A2%98/</link><pubDate>Wed, 08 Jul 2026 07:33:44 +0000</pubDate><guid>https://www.colommar.asia/ml-notes/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/02-%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA%E7%9A%84%E5%AF%B9%E5%81%B6%E9%97%AE%E9%A2%98/</guid><description>上一节我们学习了支持向量机的优化目标为： 这是一个 凸二次规划 （convex quadratic programming） 问题，可以用现成的 QP 优化包来求解。（TODO） 另外，还可以通过 拉格朗日乘子法 将其转换为解法更高效的对偶形式，其主要思想是将约束条件函数与原函数联系到一起，使之配成与变量数量相等的等式方程，从而求出原函数</description></item><item><title>03. 硬间隔与软间隔</title><link>https://www.colommar.asia/ml-notes/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/03-%E7%A1%AC%E9%97%B4%E9%9A%94%E4%B8%8E%E8%BD%AF%E9%97%B4%E9%9A%94/</link><pubDate>Wed, 08 Jul 2026 07:33:44 +0000</pubDate><guid>https://www.colommar.asia/ml-notes/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/03-%E7%A1%AC%E9%97%B4%E9%9A%94%E4%B8%8E%E8%BD%AF%E9%97%B4%E9%9A%94/</guid><description>在前面的例子中，我们假定样本空间是线性可分的，即存在一个超平面将不同类别完全划分开来。然而在现实的分类任务中，样本空间往往是线性不可分的，譬如下面这样： 可见，数据中混入了一些异常点，导致没办法通过一个超平面将其分成两个部分。解决这个问题的一个办法是，允许支持向量机在一些样本上出错。在前面介绍支持向量机的基本形式时，我们要求所有的样本都满</description></item><item><title>04. 软间隔支持向量机的对偶问题</title><link>https://www.colommar.asia/ml-notes/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/04-%E8%BD%AF%E9%97%B4%E9%9A%94%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA%E7%9A%84%E5%AF%B9%E5%81%B6%E9%97%AE%E9%A2%98/</link><pubDate>Wed, 08 Jul 2026 07:33:44 +0000</pubDate><guid>https://www.colommar.asia/ml-notes/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/04-%E8%BD%AF%E9%97%B4%E9%9A%94%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA%E7%9A%84%E5%AF%B9%E5%81%B6%E9%97%AE%E9%A2%98/</guid><description>上一节我们得到了软间隔支持向量机的基本形式： 为了求解这个问题，我们也使用 拉格郎日乘子法 将其转换为对偶形式。我们给每一个约束条件加上 拉格朗日乘子 ，得到 拉格郎日函数 ： 其中 是拉格郎日乘子。 和硬间隔支持向量机的优化目标一样： 转换为对偶问题： 所以，我们对 分别求偏导： 分别令其为零，得到： 将这三个式子带入 有： 可以看到，</description></item><item><title>05. SMO 算法</title><link>https://www.colommar.asia/ml-notes/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/05-smo-%E7%AE%97%E6%B3%95/</link><pubDate>Wed, 08 Jul 2026 07:33:44 +0000</pubDate><guid>https://www.colommar.asia/ml-notes/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/05-smo-%E7%AE%97%E6%B3%95/</guid><description>前面我们使用拉格朗日乘子法将支持向量机的基本形式转化为对偶形式，得到了硬间隔支持向量机和软间隔支持向量机的优化目标。 硬间隔的优化目标为： 软间隔的优化目标为： 对于这个带约束条件的优化问题，可以使用 二次规划 的方法进行求解，在 SVM 的发展过程中，很多算法被提出来，其中 Platt 于 1998 年提出的 序列最小最优化算法 （Se</description></item><item><title>06. Scikit Learn 中的 SVM</title><link>https://www.colommar.asia/ml-notes/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/06-scikit-learn-%E4%B8%AD%E7%9A%84-svm/</link><pubDate>Wed, 08 Jul 2026 07:33:44 +0000</pubDate><guid>https://www.colommar.asia/ml-notes/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/06-scikit-learn-%E4%B8%AD%E7%9A%84-svm/</guid><description>这一节我们使用 sklearn 中提供的 SVM 方法来解决一个简单的二分类问题。sklearn 自带了一个鸢尾花的数据集，这个数据集是 Fisher 在 1936 年收集整理的，是一类多重变量分析的数据集，数据集共包含 150 条数据记录，分为 3 类，每类 50 个数据，每条数据包含 4 个属性。可通过花萼长度，花萼宽度，花瓣长度，花</description></item><item><title>07. 非线性支持向量机和核函数</title><link>https://www.colommar.asia/ml-notes/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/07-%E9%9D%9E%E7%BA%BF%E6%80%A7%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA%E5%92%8C%E6%A0%B8%E5%87%BD%E6%95%B0/</link><pubDate>Wed, 08 Jul 2026 07:33:44 +0000</pubDate><guid>https://www.colommar.asia/ml-notes/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/07-%E9%9D%9E%E7%BA%BF%E6%80%A7%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA%E5%92%8C%E6%A0%B8%E5%87%BD%E6%95%B0/</guid><description>在前面的学习中，我们假设训练样本是线性可分的，也就是存在一个划分超平面能将训练样本正确分类，那么如果训练样本是非线性的，不存在这样的划分超平面时，该如何解决呢？ 譬如下面的异或问题就不是线性可分的： 我们在学习非线性回归的时候也遇到过类似这种问题，可以将样本从原始空间映射到一个更高维的特征空间，比如上图中我们将其映射到三维空间，这时就能找</description></item><item><title>08. 非线性支持向量机实战</title><link>https://www.colommar.asia/ml-notes/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/08-%E9%9D%9E%E7%BA%BF%E6%80%A7%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA%E5%AE%9E%E6%88%98/</link><pubDate>Wed, 08 Jul 2026 07:33:44 +0000</pubDate><guid>https://www.colommar.asia/ml-notes/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/08-%E9%9D%9E%E7%BA%BF%E6%80%A7%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA%E5%AE%9E%E6%88%98/</guid><description>TODO</description></item><item><title>09. 支持向量回归</title><link>https://www.colommar.asia/ml-notes/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/09-%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E5%9B%9E%E5%BD%92/</link><pubDate>Wed, 08 Jul 2026 07:33:44 +0000</pubDate><guid>https://www.colommar.asia/ml-notes/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/09-%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E5%9B%9E%E5%BD%92/</guid><description>支持向量机模型也可以处理回归问题，假设我们能容忍 和 之间最多有 的偏差，只有当 和 之间的偏差大于 时才计算损失，如下图所示： 这被称为 支持向量回归 （Support Vector Regression，简称 SVR），它的基本形式为： 其中 表示 不敏感损失（ insensitive loss）函数： 由于回归线两侧的松弛程度可以不</description></item></channel></rss>