支持向量机(一)

作者: SmallRookie | 来源:发表于2017-09-20 17:04 被阅读89次

支持向量机(Support Vector Machines,简称SVM)是一种二类分类模型。它在一些情况下,对于一些复杂的非线性问题能提供相比逻辑回归模型或神经网络模型更为简洁的解决方案。

优化目标

我们通过不断改进逻辑回归模型以实现支持向量机。

逻辑回归模型的假设函数hθ(x)为:

其中:

  • 当y = 1时,我们希望hθ(x) ≈ 1,即θTx >> 0;
  • 当y = 0时,我们希望hθ(x) ≈ 0,即θTx << 0;

其代价函数J(θ)为:

现假设在单个训练数据下,其代价函数J(θ)为:

将假设函数hθ(x)代入,则代价函数J(θ)为:

对于y = 1和y = 0这两种情况,我们可分别绘制出如下函数图:

在上图基础上,我们分别取z = 1和z = -1两个点,绘制如下曲线:

其中,图中紫红色曲线为支持向量机在y = 1和y = 0时的代价函数与变量z之间的函数关系图。

现在我们以正则化的逻辑回归为例得出支持向量机的代价函数。

正则化的逻辑回归的代价函数J(θ)为:

根据函数图我们可得支持向量机的代价函数J(θ)为:

其中,C为一常数,类似于正则化的逻辑回归中的λ。

同时,支持向量机的假设函数hθ(x)为:

初识最大间隔分类器(支持向量机)

支持向量机的假设函数hθ(x)为:

但支持向量机要求更高,其不仅仅要正确分开输入的样本,即不仅仅要求θTx ≥ 0(或θTx ≤ 0),更要求θTx ≥ 1(或θTx ≤ -1),即额外添加了一个安全因子(或安全间距)。

因此,对于y = 1和y = 0这两个情况,可做如下改写:

  • 当y = 1时,θTx ≥ 1
  • 当y = 0时,θTx ≤ -1

基于此,我们可将代价函数J(θ)改写为:

其中,此时常数C为一个非常大的数。

此时,对于下图支持向量机会如何作出判定边界?

下图中的黑色线条即为支持向量机所作出的判定边界,它并不会以紫红色或绿色线条作为判定边界。这是因为支持向量机会尝试找到一个与样本之间有着最大间隔的判定边界,因此支持向量机也称为最大间隔分类器。

最后,我们来讨论一下常数C的取值。

从上图中,我们可以发现常数C的值若非常大,则会考虑数据集中的异常数据;而常数C的值若适中,则会忽略数据集中的异常数据,得到一个较为合适的判定边界。

当C = 1/λ 时:

  • 常数C 较大时,类似于λ 较小,可能会导致过拟合,即高方差
  • 常数C 较小时,类似于λ 较大,可能会导致低拟合,即高偏差
最大间隔分类器背后的数学知识

上图中,支持向量机的代价函数为:

假设θ0 = 0且n = 2,根据向量內积的相关数学知识,我们可推得:

以及推得θTx(i) = p(i)||θ||。

上图中,绿线表示支持向量机作出的判定边界,蓝线表示与判定边界正交的参数θ向量。

根据之前向量內积的相关数学知识,我们可以清楚了解到支持向量机如何作出与样本之间保持最大间隔的判定边界。

在本例中,我们设置了θ0 = 0,这保证了判定边界过原点。

注:常数C为一个非常大的数。

相关文章

  • 【机器学习实战】第6章 支持向量机(Support Vector

    第6章 支持向量机 支持向量机 概述 支持向量机(Support Vector Machines, SVM):是一...

  • 【转载】pluskid的SVM系列博文

    基本篇:支持向量机: Maximum Margin Classifier —— 支持向量机简介。支持向量机: Su...

  • SVM支持向量机

    线性支持向量机# 径向支持向量机# 最优参数##

  • 机器学习——libSVM(一)

    一、什么是支持向量机 支持向量机(Support Vector Machine,SVM)也称为支持向量网络。是一类...

  • 编程作业(六)

    支持向量机 支持向量机 本部分练习,我们将在2D示例数据集上使用支持向量机。通过在这些数据集上使用支持向量机,将帮...

  • 支持向量机-QA

    Q1:SVM的类型有哪些? 三类:线性可分支持向量机、线性支持向量机、非线性支持向量机线性可分支持向量机:当训练数...

  • 支持向量机

    支持向量机 线性可分支持向量机与硬间隔最大化 线性支持向量机与软间隔最大化 非线性支持向量机与核函数 序列最小最优...

  • 支持向量机&&聚类

    支持向量机SVM(Support Vector Machine) 一、支持向量机的原理 Support Vecto...

  • 支持向量机

    问题 1. 支持向量机是如何进行数据分类? 2. 支持向量机求解过程 3. 支持向量机是怎么对 线性不...

  • SVM(支持向量机)的原理

    原博文:支持向量机(SVM)入门理解与推导 一、简介 支持向量机(support vector machines)...

网友评论

    本文标题:支持向量机(一)

    本文链接:https://www.haomeiwen.com/subject/cfznsxtx.html