为了理解高斯过程,我们就首先需要了解如下预备知识,即:高斯分布(函数)、随机过程、以及贝叶斯概率等。明白了这些预备知识之后才能顺利进入高斯过程,了解高斯过程本质及其高斯过程描述方法。人们又将高斯过程与贝叶斯概率有机结合在一起,构造了强大的数学方法(或称模型),为人类提供解决日常生活和工作的问题。特别是在人工智能领域更是意义非凡。为什么呢?
https://blog.csdn.net/jorg_zhao/article/details/52687448
https://blog.csdn.net/zyttae/article/details/41086773
一维高斯函数定义 一 维 高 斯 函 数 定 义
若随机变量 X X 服从一个位置参数为 μ μ 、尺度参数为 σ σ 的概率分布(正态分布),记为:X∼N(μ,σ2). X ∼ N ( μ , σ 2 ) .则其概率密度函数为f(x)=1σ2π−−√e−(x−μ)22σ2 f ( x ) = 1 σ 2 π e − ( x − μ ) 2 2 σ 2正态分布的数学期望值(或期望值) μ μ 等于位置参数,决定了分布曲线的位置;其方差 σ2 σ 2 的开平方或标准差 σ σ 等于尺度参数,决定了分布曲线的幅度。正态分布的概率密度函数曲线呈钟形,因此人们又经常称之为钟形曲线 “bellcurve” “ b e l l c u r v e ” 。
我们通常所说的标准正态分布是位置参数 μ=0 μ = 0 ,尺度参数 σ=1 σ = 1 的正态分布(见下图中红色曲线)。
对于任意的实数 a,b,c a , b , c ,
a=1σ2π√是曲线尖峰的高度,b=μ是尖峰中心的坐标,c=σ称为标准方差,表征的是bell钟状的宽度。钟形曲线下的总面积和永远为1 a = 1 σ 2 π 是 曲 线 尖 峰 的 高 度 , b = μ 是 尖 峰 中 心 的 坐 标 , c = σ 称 为 标 准 方 差 , 表 征 的 是 b e l l 钟 状 的 宽 度 。 钟 形 曲 线 下 的 总 面 积 和 永 远 为 1 。
注:机器学习中对于方差我们通常只除以 m m 而非统计学中的 m−1 m − 1 (因为均值进去一个点)。这里顺便提一下,在实际使用中,到底是选择使用 1m 1 m 还是 1m−1 1 m − 1 其实区别很小,只要你有一个还算大的训练集,在机器学习领域大部分人更习惯使用这个版本的公式。这两个版本的公式在理论特性和数学特性上稍有不同,但是在实际使用中,他们的区别甚小,几乎可以忽略不计。
在异常检测中,利用如下策略判断异常
正态分布的一些性质:
中心极限定理
正态分布有一个非常重要的性质:在特定条件下,大量统计独立的随机变量的平均值的分布趋于正态分布,这就是中心极限定理。中心极限定理的重要意义在于,根据这一定理的结论,其他概率分布可以用正态分布作为近似。中心极限定理阐明了随着有限方差的随机变量数量增长,它们的和的分布趋向正态分布。
相关的一些分布介绍
二维高斯函数形如:
下面使用matlab直观的查看高斯函数,在实际编程应用中,高斯函数中的参数有
为了方便直观的观察高斯函数参数改变而结果也不一样,下面的代码实现了参数的自动递增,并且将所有的结果图保存为gif图像,首先贴出完整代码:
[plain] view plain copy
function mainfunc()
% 测试高斯函数,递增的方法实现高斯函数参数的改变对整个高斯函数的影响,
% 并自动保存为gif格式输出。
% created by zhao.buaa 2016.09.28
%% 保存gif动画
item = 10; % 迭代次数
dt = 1; % 步长大小
ksize =20; % 高斯大小
sigma = 2; % 方差大小
% filename = ['ksize-' num2str(ksize) '--' num2str(ksize+dt*item) '-sigma-' num2str(sigma) '.gif']; %必须预先建立gif文件
filename = ['ksize-' num2str(ksize) '-sigma-' num2str(sigma) '--' num2str(sigma+dt*item) '.gif']; %必须预先建立gif文件
% main loop
for i = 1:item
center = round(ksize/2); % 中心点
bias = ksize*10/10; % 偏移中心点量
ksigma = ksigma(ksize, sigma, center, bias); % 构建核函数
tname = ['ksize-' num2str(ksize) '-sigma-' num2str(sigma) '-center-' num2str(center)];
figure(i), mesh(ksigma), title(tname);
%设置固定的x-y-z坐标范围,便于观察,axis([xmin xmax ymin ymax zmin zmax])
axis([0 ksize 0 ksize 0 0.008]); view([0, 90]);% 改变可视角度
% ksize 递增
% ksize = ksize + 10;
% sigma 递增
sigma = sigma + dt;
% 自动保存为gif图像
frame = getframe(i);
im = frame2im(frame);
[I,map] = rgb2ind(im,256);
if i==1
imwrite(I,map,filename,'gif','Loopcount',inf, 'DelayTime',0.4);
else
imwrite(I,map,filename,'gif','WriteMode','append','DelayTime',0.4);
end
end;
close all;
%% 截断高斯核函数,截断的程度取决于参数bias
function ksigma = ksigma(ksize, sigma, center,bias)
%ksize = 80; sigma = 15;
ksigma=fspecial('gaussian',ksize, sigma); % 构建高斯函数
[m, n] =size(ksigma);
for i = 1:m
for j = 1:n
if( (ii>center+bias)||(jj>center+bias) )
ksigma(i,j) = 0;
end;
end;
end;
固定ksize为20,sigma从1-9,固定center在高斯中间,并且bias偏移量为整个半径,即原始高斯函数。
随着sigma的增大,整个高斯函数的尖峰逐渐减小,整体也变的更加平缓,则对图像的平滑效果越来越明显。
保持参数不变,对上述高斯函数进行截断,即truncated gaussian function,bias的大小为ksize*3/10,则结果如下图:
truncated gaussian function的作用主要是对超过一定区域的原始图像信息不再考虑,这就保证在更加合理的利用靠近高斯函数中心点的周围像素,同时还可以改变高斯函数的中心坐标,如下图(俯视图):
多元正态分布定义
多变量正态分布亦称为多变量高斯分布。它是单维正态分布向多维的推广。它同矩阵正态分布有紧密的联系。
一般形式:
N维随机向量 X=[X1,…,XN]T X = [ X 1 , … , X N ] T 如果服从多变量正态分布,必须满足下面的三个等价条件:
1、任何线性组合 Y=a1X1+⋯+aNXN Y = a 1 X 1 + ⋯ + a N X N 服从正态分布。
2、存在随机向量 Z=[Z1,…,ZM]T Z = [ Z 1 , … , Z M ] T ( 它的每个元素服从独立标准正态分布),向量 μ=[μ1,…,μN]T μ = [ μ 1 , … , μ N ] T 及 N×M N × M 矩阵 A A 满足 X=AZ+μ. X = A Z + μ .
3、存在 μ μ 和一个对称正定阵 Σ Σ ,满足 X X 的特征函数 ϕX(u;μ,Σ)=exp(iμTu−12uTΣu) ϕ X ( u ; μ , Σ ) = exp ( i μ T u − 1 2 u T Σ u ) ,如果 Σ Σ 是非奇异的,那么该分布可以由以下的PDF来描述: fx(x1,…,xk)=1(2π)k|Σ|−−−−−−−√exp(−12(x−μ)TΣ−1(x−μ)), f x ( x 1 , … , x k ) = 1 ( 2 π ) k | Σ | exp ( − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) ) , ,注意这里的 |Σ| | Σ | 表示协方差矩阵的行列式。
标准方差对角线 x1,x2 x 1 , x 2 同时缩小(高度增大,幅度 x1,x2 x 1 , x 2 同时缩小)或增大(高度缩小,幅度 x1,x2 x 1 , x 2 同时增大),如下图
标准方差对角线单元素 x1 x 1 缩小(高度单比例增大,幅度单方向 x1 x 1 缩小)或增大(高度单比例缩小,幅度单方向 x1 x 1 增大),如下图
标准方差对角线单元素 x2 x 2 缩小(高度单比例增大,幅度单方向 x2 x 2 缩小)或增大(高度单比例缩小,幅度单方向 x2 x 2 增大),如下图
在一般的高斯分布模型中,我们计算 p(x) p ( x ) 的方法是: 通过分别计算每个特征对应的几率然后将其累乘起来,在多元高斯分布模型中,我们将构建特征的协方差矩阵,用所有的特征一起来计算 p(x) p ( x ) 。
∑−1 ∑ − 1 是逆矩阵。
可以证明的是,原本的高斯分布模型是多元高斯分布模型的一个子集,如果协方差矩阵只在对角线的单位上有非零的值时,即为原本的高斯分布模型了。
原高斯分布模型和多元高斯分布模型的比较:
原高斯分布模型 | 多元高斯分布模型 |
---|---|
不能捕捉特征之间的相关性 但可以通过将特征进行组合的方法来解决 | 自动捕捉特征之间的相关性 |
计算代价低,能适应大规模的特征 | 计算代价较高 训练集较小时也同样适用 |
必须要有 m>n m > n ,不然的话协方差矩阵 不可逆的,通常需要 m>10n m > 10 n 另外特征冗余也会导致协方差矩阵不可逆 |
: 多元高斯分布函数: