核函数

此系列笔记来源于

Coursera上吴恩达老师的机器学习课程


核函数 Kernels

对于非线性数据,如:

image-20220519225423395

我们可以增加高阶多项式,但是计算量将会十分大

因此需要引入非线性模型,而核函数便是其中一种。

我们取三个点 l(1)l(2)l(3)

image-20220519230038832

对于给定的x,我们定义新的特征 fi=similarity(x,l(i))=exp(||xl(i)||22σ2)=exp(j=1n(xjlj(i))22σ2)

这里的相似度函数similarity,被称为核函数,而exp(…)被称为高斯核函数

此时

xl(i):fiexp(02σ2)1

xl(i):fiexp((largenumber)22σ2)0

借此我们便能画出决策边界

image-20220519230810742

如何选取 l 呢?

image-20220519231738506

也就是将每个l放在每个数据的位置

对于单个样本x

fi=similarity(x,l(i)),便能得到向量f=[f0f1f2fm]

对于训练集:

fi(i)=similarity(x(i),l(i)),便能得到向量f(i)=[f0(i)f1(i)f2(i)fm(i)]

SVM with Kernels

对于给定的 x,我们计算 fRm+1

并且 Predict “y = 1” if θTf>0

image-20220519233323067

注意这里最后一项是 j1mn=m

一般计算 jθj2,我们用θTθ,不过更多的是 θTMθ,M是一个矩阵,取决于核函数,这样可以用来优化计算效率

image-20220519233848128

posted @   Yra  阅读(234)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示