• 第六章 支持向量机


    6.1 间隔与支持向量

    给定一个训练样本集,分类学习最基本的想法就是基于训练集D在样本空间中找到一个划分超平面。但是这个划分超平面也是很多的,如下图所示
    在这里插入图片描述
    直观上应该去找两类样本中最中间的划分超平面,因为该划分超平面对训练样本局部扰动的容忍性最好。换言之,这个划分超平面所产生的分类结果是最鲁棒的,对未见示例的泛化能力最强。
    在这里插入图片描述
    距离超平面最近的这几个训练样本点被称为支撑向量,两个异类支持向量到超平面的距离之和γ被称为间隔
    欲使间隔最大化,仅需最小化w,于是
    在这里插入图片描述
    这就是是支持向量机(Support Vector Machine,简称SVM) 的基本型。

    6.2 对偶问题

    对偶问题是实质相同但从不同角度提出不同提法的一对问题。

    6.3 核函数

    现实任务中,原始样本空间内也许并不存在一个能正确划分两类样本的超平面。即训练样本不是线性可分的,比如下图的异或问题。
    在这里插入图片描述
    可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。一般的,如果原始空间是有限维,即属性数有限,那么一定存在一个高维特征空间使样本可分。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    这里的k(x, xi)就是核函数,上式显示出模型最优解可通过训练样本的核函数展开,这一展式亦称为“支持向量展式”。
    但是如何确定核函数呢?
    在这里插入图片描述
    上述定理表明一个对称函数所对应的核矩阵半正定,它就能作为核函数使用。事实上,对于一个半正定核矩阵,总能找到一个与之对应的映射函数。换言之,任何一个核函数都隐式地定义了一个称为“再生核希尔伯特空间”的特征空间。下面列出几种常见的核函数:
    在这里插入图片描述

    6.4 软间隔与正则化

    现实任务中,往往很难确定合适的核函数使得训练样本在特征空间中线性可分;退一步说,即便恰好找到了某个核函数使训练集在特征空间中线性可分,也很难断定这个貌似线性可分得结果是不是由于过拟合所造成的。
    缓解该问题的办法是允许支持向量机在一些样本上出错。为此引入了软间隔。示意图如下
    在这里插入图片描述
    之前要求所有样本都必须划分正确称为硬间隔。而软间隔允许某些样本不满足约束。

    6.5 支持向量回归

    现在来考虑回归函数,给定训练样本D = {(x1, y1), (x2, y2), … , (xm, ym)}。
    传统回归模型通常直接基于模型输出f(x)与真实输出y之间的差别来计算损失。当且仅当f(x)与y完全相同时,损失才为0。
    与此不同,支持向量回归(SVR)假设我们能容忍f(x)与y之间最多有个偏差值,即仅当f(x)与y之间的差别绝对值大于该偏差值时才计算损失。如图所示
    在这里插入图片描述

    6.6 核方法

    人们发展出一系列基于核函数的学习方法,统称为核方法。最常见的是通过核化(引入核函数)来将线性学习器拓展为非线性学习器。

  • 相关阅读:
    Docker Tomcat 搭建文件服务器
    排列生成算法:集合的全排列
    eclipse项目导入教程
    TypeScript(TS)基础内容详细介绍
    集成多元算法,打造高效字面文本相似度计算与匹配搜索解决方案,助力文本匹配冷启动[BM25、词向量、SimHash、Tfidf、SequenceMatcher]
    Kotlin读书笔记之函数式kotlin
    面了个腾讯30k+出来的,他让我见识到什么是基础的天花板
    SpringBoot+@Validated实现参数验证(非空、类型、范围、格式等)-若依前后端导入Excel数据并校验为例
    Python 笔记04(多线程-回调函数-聊天室)
    【考研】数据结构考点——直接选择排序
  • 原文地址:https://blog.csdn.net/weixin_44014982/article/details/128051188