吴恩达老师机器学习课程chapter06——支持向量机与核函数

吴恩达老师机器学习课程chapter06——支持向量机与核函数

本文是非计算机专业新手的自学笔记,高手勿喷。

本文仅作速查备忘之用,对应吴恩达(AndrewNg)老师的机器学期课程第十二章。



支持向量机(support vector machine)是一种二类分类模型,其基本模型是在特征空间上的间隔最大的线性分类器,SVM的学习策略就是间隔最大化,又叫做大间距分类器。

和前面的内容一样,本章缺少更多数学推导,可做入门了解。

支持向量机

想要间隔最大化,我们希望有以下关系:

  • 当y=1时,希望hθ(x)1,θTx0
  • 当y=0时,希望hθ(x)0,θTx0

可以用这种近似关系构建新的Cost函数得到新的J(θ):

支持向量机的假设模型与J(θ):

hθ(x)={1 if θTx00 otherwise 

minθJ(θ)=minθCi=1m[y(i)cost1(θTx(i))+(1y(i))cost0(θTx(i))]+12i=1nθj2

  • 当y=1时,希望 θTx>1
  • 当y=0时,希望 θTx1

C很大时,对于判断错误的惩罚就很大,以至于:

J(θ)=12i=1nθj2

向量内积的几何意义:

这里暂时没有给出严格证明。

但通过几何意义,可以直观感受SVM为什么能够使得间距最大。举例如下,考虑情况:θ0=0,n=2,:

本例当中,坐标轴中,向量 θ (图中蓝线)与 直线 θTx=0(图中绿线)垂直。

各样本x(i)在向量 θ 上的投影为 p(i)(图中红线)。

化使得θ很小,那么p(i)就变大,从而形成大间隔。


核函数(kernels)

对于非线性分类,其边界可能比较复杂,那么特征就比较多,假设模型就会比较复杂。

可以通过核函数,将输入空间映射到高维特征空间,不用计算复杂的非线性边界,使用线性平面就能获得完成分类。

选择一些标记点(landmark),记作l(i);并选择如下的函数作为核函数,记作fi=similarity(x,l(i)),也被称为高斯核函数(gaussian kernel):

可以很清楚的看到,该核函数将二维平面中的点映射到了三维空间中。其中 σ2 越大,similarity函数越平整;反之越尖锐。在新的三维空间中,可以通过三维平面θ0+θ1f1+θ2f2+θ3f3=0进行分类。

举例如下:

SVM与核函数的结合

已知有样本m个,特征n个,选择这m个样本x(i)作为标记点l(i)

将1样本x(i)和n个标记点l(i)依次比较相似度,即计算fi=similarity(x(i),l(i)),并每一次比较结果作为一个新特征,将其组成一个新的向量 f。和x向量中添加x0对应的,在f中添加f0=1(111)

其本质,是从原本的n+1维的特征的向量 x 转化为了 m+1维的新特征的向量 f。

这时候,最优问题也转变为了 f 的最优问题:

minθCi=1my(i)cost1(θTf(i))+(1y(i))cost0(θTf(i))+12j=1mθj2

同样的,theta0不参与正则化。(吴老师ppt上的公式正则项求和符号上方有误)

接下来再用支持向量机的思路解决这个分类问题即可。

posted on   木子但丁MuzziDante  阅读(130)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示