【机器学习笔记】11 支持向量机

支 持 向 量 机 ( Support Vector Machine,SVM )

支 持 向 量 机 是 一 类 按 监 督 学 习 ( supervisedlearning)方式对数据进行二元分类的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane) 。与逻辑回归和神经网络相比,支持向量机,在学习复杂的非线性方程时提供了一种更为清晰,更加强大的方式。

  • 算法思想
    找到集合边缘上的若干数据(称为支持向量(Support Vector)),用这些点找出一个平面(称为决策面),使得支持向量到该平面的距离最大。

    假如数据是完全的线性可分的 ,那么学习到的模型可以称为硬间隔支持向量机 。换个说法,硬间隔 指的就是完全分类准确 ,不能存在分类错误的情况。软间隔,就是允许一定量的样本分类错误。

线性可分支持向量机






线性支持向量机




线性不可分支持向量机

核技巧

在低维空间计算获得高维空间的计算结果,满足高维,才能在高维下线性可分。 我们需要引入一个新的概念:核函数。它可以将样本从原始空间映射到一个更高维的特质空间中,使得样本在新的空间中线性可分。这样我们就可以使用原来的推导来进行计算,只是所有的推导是在新的空间,而不是在原来的空间中进行,即用核函数来替换当中的内积。



SVM的超参数

𝛾越大,支持向量越少,𝛾值越小,支持向量越多。其中 C是惩罚系数,即对误差的宽容度。 C越高,说明越不能容忍出现误差,容易过拟合。C越小,容易欠拟合。

SVM普遍使用的准则:

𝑛为特征数,𝑚为训练样本数。

(1)如果相较于𝑚而言,𝑛要大许多,即训练集数据量不够支持我们训练一个复杂的非线性模型,我们选用逻辑回归模型或者不带核函数的支持向量机。

(2)如果𝑛较小,而且𝑚大小中等,例如𝑛在 1-1000 之间,而𝑚在10-10000之间,使用高斯核函数的支持向量机。

(3)如果𝑛较小,而𝑚较大,例如𝑛在1-1000之间,而𝑚大于50000,则使用支持向量机会非常慢,解决方案是创造、增加更多的特征,然后使用逻辑回归或不带核函数的支持向量机。

相关推荐
YuanDaima20484 分钟前
基于 LangChain 1.0 的检索增强生成(RAG)实战
人工智能·笔记·python·langchain·个人开发·langgraph
幻风_huanfeng24 分钟前
人工智能之数学基础:什么是凸优化问题?
人工智能·算法·机器学习·凸优化
_李小白39 分钟前
【OSG学习笔记】Day 31: 渲染到纹理(RTT)
笔记·数码相机·学习
Omics Pro1 小时前
虚拟细胞:开启HIV/AIDS治疗新纪元的关键?
大数据·数据库·人工智能·深度学习·算法·机器学习·计算机视觉
练习时长一年2 小时前
我的开发笔记
笔记
专业发呆业余科研3 小时前
深度学习的隐形支架:对称性与不变性的架构统一论
人工智能·深度学习·神经网络·机器学习
雷帝木木3 小时前
Python 数据库 ORM 实战:SQLAlchemy 详解
人工智能·python·深度学习·机器学习
生瓜硬劈..3 小时前
SQL 调优全解:从 20 s 到 200 ms 的 6 步实战笔记
java·笔记·sql
不早睡不改名@3 小时前
Netty源码分析---Reactor线程模型深度解析(一)
java·笔记·学习·netty
祁白_3 小时前
Bugku:备份是一个好习惯
笔记·学习·web安全·ctf