04有监督算法——支持向量机

1.支持向量机

1.1 定义

支持向量机( Support Vector Machine )要解决的问题

什么样的法策边界才是最好的呢?

特征数据本身如果就很难分,怎么办呢?

计算复杂度怎么样?能实际应用吗?

支持向量机( Support Vector Machine , SVM)是一类按监督学习( supervised learning )方式对数据进行二元分类的广义线性分类器( generalized linear classifier ) 。

其决策边界是对学习样本求解的最大边距超平面( maximum-margin hyperplane ) 。

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

任意超平面可以用下面这个线性方程来描述: W T x + b = 0 {{\rm{W}}^{\rm{T}}}{\rm{x}} + b = 0 WTx+b=0

点到平面的距离: W T x ′ = − b , W T X ′ ′ = − b {{\rm{W}}^{\rm{T}}}{\rm{x' = }} - b,{W^T}X'' = - b WTx′=−b,WTX′′=−b

d i s t a n c e ( x , b , w ) = ∣ W T ∥ W ∥ ( x − x ′ ) ∣ = 1 ∥ W ∥ ∣ W T x + b ∣ {\rm{distance(x,b,w) = }}\left| {{{{{\rm{W}}^{\rm{T}}}} \over {\left\| W \right\|}}(x - {\rm{x'}})} \right|{\rm{ = }}{{\rm{1}} \over {\left\| W \right\|}}\left| {{{\rm{W}}^{\rm{T}}}x + b} \right| distance(x,b,w)= ∥W∥WT(x−x′) =∥W∥1 WTx+b

1.2 SVM软间隔

1.3 SVM核变换

核函数,可以将样本从原始空间映射到一个更高维的特质空间中,使得样本在新的空间中线性可分。

  • 线性核变换: K ( x i , x j ) = x i T x j K({x_i},{x_j}) = x_i^T{x_j} K(xi,xj)=xiTxj
  • 多项式核变换: K ( x i , x j ) = ( x i T x j ) d K({x_i},{x_j}) = {(x_i^T{x_j})^d} K(xi,xj)=(xiTxj)d
  • 高斯核函数: K ( x i , x j ) = exp ⁡ ( − ∥ x i − y i ∥ 2 y 2 ) K({x_i},{x_j}) = \exp ( - {{\left\| {{x_i} - {y_i}} \right\|} \over {2{y^2}}}) K(xi,xj)=exp(−2y2∥xi−yi∥)
相关推荐
小兵张健3 小时前
35岁程序员的春天来了
人工智能
大怪v4 小时前
AI抢饭?前端佬:我要验牌!
前端·人工智能·程序员
冬奇Lab4 小时前
OpenClaw 深度解析(六):节点、Canvas 与子 Agent
人工智能·开源
刀法如飞5 小时前
AI提示词框架深度对比分析
人工智能·ai编程
IT_陈寒7 小时前
Python开发者必知的5大性能陷阱:90%的人都踩过的坑!
前端·人工智能·后端
1G7 小时前
openclaw控制浏览器/自动化的playwright MCP + Mcporter方案实现
人工智能
踩着两条虫7 小时前
VTJ.PRO 双向代码转换原理揭秘
前端·vue.js·人工智能
扉川川7 小时前
OpenClaw 架构解析:一个生产级 AI Agent 是如何设计的
前端·人工智能
星浩AI7 小时前
让模型自己写 Skills——从素材到自动生成工作流
人工智能·后端·agent
千寻girling12 小时前
Python 是用来做 AI 人工智能 的 , 不适合开发 Web 网站 | 《Web框架》
人工智能·后端·算法