此系列笔记来源于
Coursera上吴恩达老师的机器学习课程
核函数 Kernels
对于非线性数据,如:

我们可以增加高阶多项式,但是计算量将会十分大
因此需要引入非线性模型,而核函数便是其中一种。
我们取三个点 l(1)、l(2)、l(3),
对于给定的x,我们定义新的特征 fi=similarity(x,l(i))=exp(−||x−l(i)||22σ2)=exp(−∑nj=1(xj−l(i)j)22σ2)
这里的相似度函数similarity,被称为核函数,而exp(…)被称为高斯核函数
此时
当 x≈l(i):fi≈exp(−02σ2)≈1
当 x远离l(i):fi≈exp(−(largenumber)22σ2)≈0
借此我们便能画出决策边界

如何选取 l 呢?

也就是将每个l放在每个数据的位置
对于单个样本x:
令fi=similarity(x,l(i)),便能得到向量f=⎡⎢
⎢
⎢
⎢
⎢
⎢⎣f0f1f2⋯fm⎤⎥
⎥
⎥
⎥
⎥
⎥⎦
对于训练集:
令f(i)i=similarity(x(i),l(i)),便能得到向量f(i)=⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣f(i)0f(i)1f(i)2⋯f(i)m⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦
SVM with Kernels
对于给定的 x,我们计算 f∈Rm+1
并且 Predict “y = 1” if θTf>0

注意这里最后一项是 j从1到m,相当于n=m
一般计算 ∑jθ2j,我们用θTθ,不过更多的是 θTMθ,M是一个矩阵,取决于核函数,这样可以用来优化计算效率

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?