支持向量机

一个人想着一个人 提交于 2020-02-05 00:58:49

简介

在机器学习中,支持向量机(英语:support vector machine,常简称为SVM,又名支持向量网络[1])是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。
给定一组训练实例,每个训练实例被标记为属于两个类别中的一个或另一个,SVM训练算法创建一个将新的实例分配给两个类别之一的模型,使其成为非概率二元线性分类器。
SVM模型是将实例表示为空间中的点,这样映射就使得单独类别的实例被尽可能宽的明显的间隔分开。
然后,将新的实例映射到同一空间,并基于它们落在间隔的哪一侧来预测所属类别。
@维基百科

之下的总结顺序皆来自Andrew Ng

我的理解

对于我个人的理解,这是一个尝试实现将新输入的数据分类的算法。
即预先准备标记点
\[ \begin{bmatrix} f_1\\ f_2\\ {\vdots}\\ f_n\\ \end{bmatrix} \]
对于一个新输入的数据\(x_1\)
\(x_1\)经过核函数处理后,得到f矩阵
\[ \begin{bmatrix} f_1^1\\ f_2^1\\ {\vdots}\\ f_n^1\\ \end{bmatrix} \]
后带入相似度函数\(h_{\theta}=\theta_0+\theta_1*f_1+\theta_2*f_2+...+\theta_n*f_n\)
得到值后根据值是否大于0进行分类。
然后将训练集带入优化函数优化\(\theta\)
注:需要说明的是核函数和相似度函数
核函数:常用的有线性核函数(即没有核函数)和高斯核函数(如下)


相似度函数:\(h_{\theta}=\theta_0+\theta_1*f_1+\theta_2*f_2+...+\theta_n*f_n\)
高斯核函数图像:

优化目标

优化函数为:

即对于支持向量机的核函数为线性核函数时,分类的决策边界为一条直线,例如:

根据优化函数将线性决策边界化为如下黑线所示:

为什么这样优化?详见Andrew Ng的课程

使用高斯核函数

将输入\(x_1\)带入高斯核函数后计算出\(f_i=x_1^Tf_i\),然后将\(f_i\)组合成矩阵f。
判断\(\theta^Tf\)是否大于0,实现分类。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!