高斯过程描述

1.这里假定有人的一生,x轴是对应的时间(t1,t2,...,t100),0−100岁,y轴是表现值(姑且这么定)
2.每个时间点上都有一个对应的表现值随机变量(ξt1,ξt2...),这些都是随机变量,也就是是一个概率分布,所以每个点上都有一个竖起的波浪线,对应一个高斯分布,注意每个时刻的高斯分布都是独立的,均值和方差都不一样,你可以这么形象的理解,这个人生时刻,你努力点,可能就表现好点,堕落一点,就表现差点(对应方差),但是你的出生条件摆在那边(均值)
3.累计这样的一些时刻的点,连成一条蓝色或者红色的线,就称为高斯过程的一个样本,注意蓝色和红色线都只是一个样本
4.整个高斯过程满足
GP(m(t),k(s,t))
{m(t)=E[ξt]k(s,t)=E[ξs−E[ξs]]E[ξt−E[ξt]]
m(t)是均值,是t的函数,k(s,t)是协方差矩阵,也是一个核函数
贝叶斯线性回归
1.p(w|D)=N(w|μw,Σw)
{μw=σ−2A−1XTYΣw=A−1
A=σ−2XTX+Σ−1p
Σp是先验,p(w)=N(0,Σp),PRML书上就是指精度β
这里的公式可以参考PRML 公式 3.53,3.54
2.给定预测值x∗,预测分布
p(f(x∗)|Data,x∗)=N(x∗μw,x∗TΣwx∗)
p(y∗|Data,x∗)=N(x∗μw,x∗TΣwx∗+σ2)
线性回归模型
{f(x)+wTx=xTwy=f(x)+ϵ,ϵ∼N(0,σ2)
考虑f(x)是非线性的情况
要转到高维情况,一般高维不好,这里恰恰要升维-SVM
回归模型中使用kernel函数
- 从频率派的角度推导核函数,预测是正态分布,求正态分布的均值和方差
f(x∗)|X,Y,x∗∼N(x∗μw,x∗TΣwx∗)
{μw=σ−2A−1XTYΣw=A−1
A=σ−2XTX+Σ−1p
Σp是先验,p(w)=N(0,Σp),PRML书上就是指精度β
如果有映射ϕ:x→Z,x∈Rp,Z=ϕ(x)∈Rq,q>p
定义Φ=ϕ(x)=(ϕ(x1),ϕ(x2),…,ϕ(xN))TN×q
那么有:f(x)=ϕ(x)Tw
f(x∗)|X,Y,x∗∼N(σ−2ϕ(x∗)TA−1ΦTY,ϕ(x∗)TA−1ϕ(x∗))
A=σ−2ΦTΦ+Σ−1p
怎么计算A−1? woodbury formula
A=σ−2ΦTΦ+Σ−1p
⇔AΣp=σ−2ΦTΦΣp+I
⇔AΣpΦT=σ−2ΦTΦΣpΦT+ΦT=σ−2ΦT(K+σ2I)
⇔ΣpΦT=σ−2A−1ΦT(K+σ2I)
⇔σ−2A−1ΦT=ΣpΦT(K+σ2I)−1
K=ΦΣpΦT
⇔σ−2ϕ(x∗)TA−1ΦTY=ϕ(x∗)ΣpΦT(K+σ2I)−1Y
f(x∗)|X,Y,x∗∼N(σ−2ϕ(x∗)TA−1ΦTY,ϕ(x∗)TA−1ϕ(x∗))
A=σ−2ΦTΦ+Σ−1p
这里最终推导出来的就是f(x∗)|X,Y,x∗的期望值
上面算好了均值,然后算方差
用woodbury Formula求A=σ−2ΦTΦ+Σ−1p
(A+UCV)−1=A−1−A−1U(C−1+VA−1U)−1VA−1
推导略
结论-方差
ϕ(x∗)TΣpϕ(x∗)−ϕ(x∗)TΣpΦT(K+σ2I)−1ΦΣpϕ(x∗)
最后有预测分布如下
f(x∗)|X,Y,x∗∼N(σ−2ϕ(x∗)TA−1ΦTY,ϕ(x∗)TΣpϕ(x∗)−ϕ(x∗)TΣpΦT(K+σ2I)−1ΦΣpϕ(x∗)
K=ΦΣpΦT 是正定核
这里建立了,高斯过程,核函数,贝叶斯回归之间的关系
由核函数就可以直接定义贝叶斯回归
不同的视角看贝叶斯回归
贝叶斯回归可以从两个角度观察
1.weight-space view 权空间视角
f(x)=ϕT(x)w
2.function-space view 函数空间视角
y=f(x)+ϵ
GP(m(t),k(s,t))证明,为什么GP能由这两个函数m,k来表达
高斯过程存在性定理,略
贝叶斯方法推导核函数
给定先验w∼N(0,Σp)
因为有f(x)=ϕ(x)Tw
所以E[f(x)]=E[ϕ(x)Tw]=ϕ(x)TE[w]=0
∀x,x′∈Rp
cov(f(x),f(x′))=E[(f(x)−E[f(x)])]E[(f(x′)−E[f(x′)])]
=E[f(x)⋅f(x′)]
=E[ϕ(x)T⋅wϕ(x′)Tw]
=E[ϕ(x)Tw⋅wTϕ(x′)]
=ϕ(x)TE[wwT]ϕ(x′)
=ϕ(x)TΣpϕ(x′)−kernel函数
因为E[wwT]=E[(w−0)(wT−0)]=cov(w)=Σp
核贝叶斯回归的计算过程
预测分布
p(y∗|X,Y,x∗)=∫fp(y∗|f,X,Y,x∗)p(f|X,Y,x∗)df
对于数据集来说,取 f(X)∼N(μ(X),k(X,X)),Y=f(X)+ε∼N(μ(X),k(X,X)+σ2I)。预测任务的目的是给定一个新数据序列 X∗=(x∗1,⋯,x∗M)T,得到 Y∗=f(X∗)+ε。我们可以写出:
(Yf(X∗))∼N((μ(X)μ(X∗)),(k(X,X)+σ2Ik(X,X∗)k(X∗,X)k(X∗,X∗)))
根据高斯分布的方法:
x=(xaxb)∼N((μaμb),(ΣaaΣabΣbaΣbb))xb|xa∼N(μb|a,Σb|a)μb|a=ΣbaΣ−1aa(xa−μa)+μbΣb|a=Σbb−ΣbaΣ−1aaΣab(1)(2)(3)(4)
可以直接写出:
p(f(X∗)|X,Y,X∗)=p(f(X∗)|Y)=N(k(X∗,X)[k(X,X)+σ2I]−1(Y−μ(X))+μ(X∗),k(X∗,X∗)−k(X∗,X)[k(X,X)+σ2I]1k(X,X∗))
所以对于 Y=f(X∗)+ε:
N(k(X∗,X)[k(X,X)+σ2I]−1(Y−μ(X))+μ(X∗),k(X∗,X∗)−k(X∗,X)[k(X,X)+σ2I]1k(X,X∗)+σ2I
我们看到,函数空间的观点更加简单易于求解。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)