图像处理的一些方法

 Atam教授:核希尔伯特空间( 再生Hilbert空间),蒙塔卡罗方法,KNN,多维线性回归,PSF方法
回归,特征之间的非线性关系,deep learning,香农信息熵,回归贝叶斯,稀疏字典构造
Jayaram: 模糊连通性原理,稀疏分解,非负矩阵分解,svd分解
图分割,adaboost,自适应稀疏模型
图像基因相关性,协同低秩回归,CCA

 
从这些里面找几个详细介绍一下,最好有例子
==================================================================================================================================
相关方法:
     1、核希尔伯特空间( 再生Hilbert空间)  :是有限维内积空间向无限维线性空间的推广
          再生Hilbert空间http://blog.csdn.net/pi9nc/article/details/8096262
 

          完备的内积空间,n维欧几里得空间的推广,又称无穷维欧化空间。欧几里得空间Rn最突出的特点是向量的内积,两个向量x=(x1,x2…,xn)∈Rn,y=(y1,y2,…,yn)由内积可导出两个向量的互相垂直成正交:x与y互相垂直(x,y)=0,记作x⊥y,这与三维欧几里得空间中向量相互垂直的几何概念一致,有了正交概念就可进而引入正交投影、正交基等一系列概念,希尔伯特空间就是有限维内积空间向无限维线性空间的推广。基本概念和研究方法也被相应地拓广到希尔伯特空间中,希尔伯特空间是泛涵分析研究的基本对象之一,并且成为量子力学、积分方程、正交级数理论等方面研究问题的重要工具 ,

 
设 l2=(x1,x2…xn,…) :每一Xn为实数 ( 或复数),对于x=(x1,x2…,xn,…)、y=(y1,y2,…,yn,…)∈l2, "a∈K,规定x+y=(x1+y1,x2+y2,…,xn+yn ,…),ax=(ax1,ax2,…,axn,…),则l2为一线性空间,规定内积,则l2成为一个希尔伯特空间。
本质:满足一般Euclidean space性质且有内积。
      实验 :   希尔伯特曲线 
能够使用这样一条线遍历图像中所有的像素,(下图为N阶曲线,n越大时会图像会变成全白的,)
          Hilbert变换:一个实值函数的希尔伯特变换(Hilbert transform)——在此标示为H——是将信号s(t)与1/(πt)做卷积,以得到s'(t)。因此,希尔伯特变换结果s'(t)可以被解读为输入是s(t)的线性时不变系统(linear time invariant system)的输出,而此系统的脉冲响应为1/(πt)。简单点,信号经希尔伯特变换后,在频域各频率分量的幅度保持不变,但相位将出现90°相移。即对正频率滞后π/2,对负频率导前π/2,因此希尔伯特变换器又称为90°移相器。

即,希尔伯特变换
t=0:pi/50:2*pi;
x=sin(t);
size=(x);
y=hilbert(x);
plot ( t, imag(y) ,'r' )
 
 
 
      ①MC 的原理
针对实际问题建立一个简单且便于实现的概率统计模型,使问题的解对应于该模型中随机变量的概率分布或其某些数字特征,比如,均值和方差等。所构造的模型在主要特征参量方面要与实际问题或系统相一致的。
根据模型中各个随机变量的分布,在计算机上产生随机数,实现一次模拟过程所需的足够数量的随机数。通常先产生均匀分布的随机数,然后生成服从某一分布的随机数,再进行随机模拟试验。 
 
收敛性: 由大数定律, Monte-Carlo模拟的收敛是以概率而言的.
误差: 用频率估计概率时误差的估计,可由中心极限定理,给定置信水平的条件下,有:
模拟次数:
由误差公式得:
 
 
②解题过程的三个主要步骤:
(1)构造或描述概率过程
对于本身就具有随机性质的问题,如粒子输运问题,主要是正确描述和模拟这个概率过程,对于本来不是随机性质的确定性问题,比如计算定积分,就必须事先构造一个人为的概率过程,它的某些参量正好是所要求问题的解。即要将不具有随机性质的问题转化为随机性质的问题
(2)实现从已知概率分布抽样
构造了概率模型以后,由于各种概率模型都可以看作是由各种各样的概率分布构成的,因此产生已知概率分布的随机变量(或随机向量),就成为实现蒙特卡罗方法模拟实验的基本手段,这也是蒙特卡罗方法被称为随机抽样的原因。最简单、最基本、最重要的一个概率分布是(0,1)上的均匀分布(或称矩形分布)。随机数就是具有这种均匀分布的随机变量。随机数序列就是具有这种分布的总体的一个简单子样,也就是一个具有这种分布的相互独立的随机变数序列。产生随机数的问题,就是从这个分布的抽样问题。在计算机上,可以用物理方法产生随机数,但价格昂贵,不能重复,使用不便。另一种方法是用数学递推公式产生。这样产生的序列,与真正的随机数序列不同,所以称为伪随机数,或伪随机数序列。不过,经过多种统计检验表明,它与真正的随机数,或随机数序列具有相近的性质,因此可把它作为真正的随机数来使用。由已知分布随机抽样有各种方法,与从(0,1)上均匀分布抽样不同,这些方法都是借助于随机序列来实现的,也就是说,都是以产生随机数为前提的。由此可见,随机数是我们实现蒙特卡罗模拟的基本工具。
(3)建立各种估计量
一般说来,构造了概率模型并能从中抽样后,即实现模拟实验后,我们就要确定一个随机变量,作为所要求的问题的解,我们称它为无偏估计。建立各种估计量,相当于对模拟实验的结果进行考察和登记,从中得到问题的解。
数学应用:
    通常蒙特·卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特·卡罗方法是一种有效的求出数值解的方法。一般蒙特·卡罗方法在数学中最常见的应用就是蒙特·卡罗积分
在解决实际问题的时候应用蒙特·卡罗方法主要有两部分工作
1. 用蒙特·卡罗方法模拟某一过程时,需要产生某一概率分布的随机变量。
2. 用统计方法把模型的数字特征估计出来,从而得到实际问题的数值解。
 
蒙特卡洛(Monte Carlo)模拟是一种通过设定随机过程,反复生成时间序列,计算参数估计量和统计量,进而研究其分布特征的方法。具体的,当系统中各个单元的可靠性特征量已知,但
系统的可靠性过于复杂,难以建立可靠性预计的精确数学模型或模型太复杂而不便应用时,可用随机模拟法近似计算出系统可靠性的预计值;随着模拟次数的增多,其预计精度也逐渐增高。由于涉及到时间序列的反复生成,蒙特卡洛模拟法是以高容量和高速度的计算机为前提条件的,
 
四分之一园内投点实验,
 
方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。
 
该算法在分类时有个主要的不足是,当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。因此可以采用权值的方法(和该样本距离小的邻居权值大)来改进。该方法的另一个不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本。该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。
模拟程序:
 
 
4、多维线性回归
回归分析是研究一个因变量与另一个或一组自变量间定量关系的一种统计分析方法。
 
回归分析的主要任务就是以误差 ε0,ε1,...,εn的平方和最小为原则,求取多元线性回归模型的回归系数 a0,a1,...,ak.
MATLAB模拟函数:[b,bint,r,rint,stats]=regress(Y,X,0.05);
在Matlab统计工具箱中使用命令regress()实现多元线性回归,调用格式为
    b=regress(y,x)    或    [b,bint,r,rint,statsl = regess(y,x,alpha)
    其中因变量数据向量y和自变量数据矩阵x按以下排列方式输入
    对一元线性回归,取k=1即可。alpha为显著性水平(缺省时设定为0.05),输出向量b,bint为回归系数估计值和它们的置信区间,r,rint为残差及其置信区间,stats是用于检验回归模型的统计量,有四个数值,第一个是R2,其中R是相关系数,第二个是F统计量值,第三个是与统计量F对应的概率P,第四个是 an estimate of the error variance(一个对错误的方差估计)。

stats参数解释如下: 第一项:相关系数;第二项:F统计;第三项:是与统计量F对应的概率P;第四项:估计误差方差。
R2表示方差解释率,R2越接近1说明数据拟合程度越好。
F统计量用于检验模型是否通过检验。通过查F分布表,如果F>F分布表中对应的值,则通过检验。
P为F 统计量对应的概率,越接近0越好,当P<α时拒绝H0,回归模型成立。

在MATLAB里实现,
①     首先建立回归模型
输入:
x1=[5.5 2.5 8.0 3.0 3.0 2.9 8.0 9.0 4.0 6.5 5.5 5.0 6.0 5.0 3.5 8.0 6.0 4.0 7.5 7.0]';
x2=[31 55 67 50 38 71 30 56 42 73 60 44 50 39 55 70 40 50 62 59]';
x3=[10 8 12 7 8 12 12 5 8 5 11 12 6 10 10 6 11 11 9 9]';
x4=[8 6 9 16 15 17 8 10 4 16 7 12 6 4 4 14 6 8 13 11]';
Y=[79.3 200.1 163.2 200.1 146.0 177.7 30.9 291.9 160.0 339.4 159.6 86.3 237.5 107.2 155.0 201.4 100.2 135.8 223.3 195.0]';
X=[ones(20,1) x1 x2 x3 x4];
[b,bint,r,rint,stats]=regress(Y,X,0.05);
b,bint,stats
输出:
b =
  191.9158
   -0.7719
    3.1725
  -19.6811
   -0.4501
bint =
103.1071  280.7245
   -7.1445    5.6007
    2.0640    4.2809
  -25.1651  -14.1972
   -3.7284    2.8283
stats =
0.9034   35.0509    0.0000   644.6510
即 graphic= 191.9158   graphic=-0.7719   graphic= 3.1725   graphic=-19.6811   graphic=-0.4501;
的置信区间为[103.1071  280.7245]; 的置信区间为[-7.1445  5.6007]; 的置信区间为[2.0640  4.2809]; 的置信区间为[-25.1651  -14.1972]; 的置信区间为[-3.7284  2.8283];
graphic= 0.9034, F=35.0509, p=0.0000 
因P<0.05, 可知回归模型 y=191.9158 -0.7719x1+3.1725*x2-19.6811*x3 -0.4501*x4成立.
②分析哪些是主要的影响因素
输入:x1=[5.5 2.5 8.0 3.0 3.0 2.9 8.0 9.0 4.0 6.5 5.5 5.0 6.0 5.0 3.5 8.0 6.0 4.0 7.5 7.0]';
x2=[31 55 67 50 38 71 30 56 42 73 60 44 50 39 55 70 40 50 62 59]';
x3=[10 8 12 7 8 12 12 5 8 5 11 12 6 10 10 6 11 11 9 9]';
x4=[8 6 9 16 15 17 8 10 4 16 7 12 6 4 4 14 6 8 13 11]';
Y=[79.3 200.1 163.2 200.1 146.0 177.7 30.9 291.9 160.0 339.4 159.6 86.3 237.5 107.2 155.0 201.4 100.2 135.8 223.3 195.0]';
X=[x1 x2 x3 x4];   stepwise(X,Y);
graphic
从表Stepwise Table中分析得出变量x2和x3为主要的影响因素。
graphic
RMSE:模型的统计量剩余标准差,回归标准差主要用于度量由于回归关系所引起的变异程度的大小。更进一步说,是X变量的变化引起的y变量变化的大小。
intercept是常数项的估计值,
F为F检验统计量的观测值, 判断两总体方差是否相同,
F值越大,通过检验的可能性就越大。F值表示回归模型的方差与残差的比值(残差就是总方差减去回归模型的方差),可以想象 F越大,表示残差越小,模拟的精度越高(从方差方面考虑).

R-square 为相关系数,R方通常用来描述数据对模型的拟合程度的好坏,
 
Adj R-sq为判断系数,
优化到第二步,0.021265,
优化到第三步,0.017216,
 
【R²adj(即R-Sq(adj))是扣除了回归方程中所受到的包含项数的影响的相关系数,因而可以更准确地反映模型的好坏,同样,它也是越接近于1就越好,

因此,要判断两个模型的优劣可以从R-Sq(adj)和R-Sq的接近程度来判断:二者之差越小则说明模型越好,我们常常比较包含所有自变量有关项的“全模型”与删去所有影响不显著的项后的“缩减模型”,看看究竟哪个更好,如果将影响不显著地项删去之后,二者更接近,则说明删去这些项确实使模型得到改进。】
 
p值是将观察结果认为有效即具有总体代表性的犯错概率。如p=0.05提示样本中变量关联有5%的可能是由于偶然性造成的。
 
③移去非关键变量x1和x4后模型具有显著性. 虽然剩余标准差(RMSE)有了变化,统计量F的值明显增大,因此新的回归模型更好.就得到最优模型。
输入:
X1=[ones(20,1) x2 x3];
[b,bint,r,rint,stats]=regress(Y,X1);
b,bint,stats
输出:
b =
  186.0484
    3.0907
  -19.5140
bint =
  110.4254   261.6715
      2.1657    4.0156
  -24.5597   -14.4683
stats =
0.9024   78.6295    0.0000   574.1580
P=0.0000<0.05,说明回归模型的回归效果显著;
最优回归方程为:y=186.0484+3.0907*x2-19.5140*x3
关于线性回归分析的其他相关内容:http://blog.sina.com.cn/s/blog_03f96e310106lktb.html

5、PSF方法(point spread function)
对光学系统来讲,输入物为一点光源时其输出像的光场分布,称为点扩散函数

点扩散函数是用来评估一个成像系统的最小空间分辨距离的函数。点扩散就是点光源成像后的光能散开的意思。假定我们将一个物体看作是完全由一个点组成,那么这个物体的图像至少是一个映像点的宽度。但是,通常一个物体的图像是由许多个映像点组成的斑点构成,并且斑点的中央部位最亮,周围亮度递减。显然,这个斑点越集中,成像效果就会越好。

    如果我们将这个斑点进行划分,可以得到一个一元的PSF函数。结果成为所谓的最大半宽值(full width half maximum,FWHW),即PSF最大值一半时的宽度。

    PSF并不是均衡的,因而在不同的方向有不同的最小空间的分辨距离。正电子发射扫描(positron emission tomography,PET)成像系统就是一个例子。

    如果受检目标正好由两个理想G点组成,其距离正好是FWHM(最大半宽值),那么这两点就刚好可以在成像中被分辨出,这一例证正好是高斯分布的点扩散函数(Gaussian PSF)。

 
1、回归,
回归分析是研究一个因变量与另一个或一组自变量间定量关系的一种统计分析方法。
前面介绍了线性回归……
2、特征之间的非线性关系,相关资料暂缺,
特征提取最重要的一个特性是“可重复性”:同一场景的不同图像所提取的特征应该是相同的。
        特征提取是图象处理中的一个初级运算,也就是说它是对一个图像进行的第一个运算处理。它检查每个像素来确定该像素是否代表一个特征。假如它是一个更大的算法的一部分,那么这个算法一般只检查图像的特征区域。作为特征提取的一个前提运算,输入图像一般通过高斯模糊核在尺度空间中被平滑。
3、deep learning
人们对于神经系统的进一步思考。神经-中枢-大脑的工作过程,或许是一个不断迭代、不断抽象的过程。

       这里的关键词有两个,一个是抽象,一个是迭代。从原始信号,做低级抽象,逐渐向高级抽象迭代。人类的逻辑思维,经常使用高度抽象的概念。

        例如,从原始信号摄入开始(瞳孔摄入像素 Pixels),接着做初步处理(大脑皮层某些细胞发现边缘和方向),然后抽象(大脑判定,眼前的物体的形状,是圆形的),然后进一步抽象(大脑进一步判定该物体是只气球)。
 
更高层次的视觉抽象
原始形状探测器
边缘检测器
像素
 
把学习结构看作一个网络,则深度学习的核心思路如下:
无监督学习用于每一层网络的pre-train;
②每次用无监督学习只训练一层,将其训练结果作为其高一层的输入;
③用自顶而下的监督算法去调整所有层
常用模型与方法:
1、AutoEncoder自动编码器
2、Sparse Coding稀疏编码
3、Restricted Boltzmann Machine (RBM)限制波尔兹曼机     
4、Deep Belief Networks深信度网络 
5、Convolutional Neural Networks卷积神经网络
用来识别数字的卷积网络是LeNet-5(效果和paper等见这
 
4、香农信息熵,
在图像处理中,图像的熵表征了图像信息量的大小。
5、回归贝叶斯=>贝叶斯线性回归
贝叶斯线性回归的引入主要是在最大似然估计中很难决定模型的复杂程度,ridge(岭)回归加入的惩罚参数其实也是解决这个问题的,同时可以采用的方法还有对数据进行正规化处理,另一个可以解决此问题的方法就是采用贝叶斯方法。
贝叶斯线性回归是在普通线性回归基础上加上了模型参数的先验p(w),从最大似然估计变成最大后验,
预测分布就是给你x的值让你求y得值,当然你可以从w得space里面选一组参数来进行预测,但更为可靠的方法是归纳一下所有的w
也就是
通过计算,可以得到:
下面是一个样例:
其中绿色的线是标准的分布,红线是平均值,粉红色的部分是分布的标准差,可以看到随着样例的越来越多,均值越来越好地拟合了原来的分布
 
6、稀疏字典构造
Overcomplete dictionary过完备字典:拥有多于必要的column来表达这个数据(redundancy)。
 
这样的字典在信号的表示定义中引进了一种有趣的不确定性。我们设字典D=[d_1 d_2…d_l] ∈ R^(N×L),其中的列构成了字典的原子,且L≥N。用字典表示一个x∈R^N的信号有两种途径,一种是分析途径,信号用它自身与原子的乘积来表示,
                                             graphic                            (1)

          另一种是综合途径,信号被表示为原子的线性组合,
                          graphic                                               (2)  
     这两种定义在完备情况(L=N)时是完全一致的,这时分析字典和综合字典是双正交的。然而在通常情况下,这两种字典是显著不同的。
              分析字典方法提出了另一个有趣的问题:当D过完备时,满足(2)的γ_s表示的族实际上是无限大的,它的自由度与D的零空间的维数相同。这允许我们参考价值函数C(γ),来寻找信息量最大的信号表示方法:
                            graphic满足 x=Dγ .                  (3)
               实用的C(γ)的选取提高了表示的稀疏性,意味着我们希望选取的系数能快速衰减。问题(3)常被称为稀疏编码。
 
最初实现:首先被采用的结构是短时傅里叶变换(STFT,Gabor变换),它作为傅里叶变换的自然延伸出现。在STFT中,傅里叶变换被局部(可能重叠)地应用于信号的某些部分,从而展示出信号的时间-频率(或空间-频率)描述。现在,Gabor变换的实际应用主要在于分析和探测方面,表现为一些方向滤波器的集合。
 
多分辨率:小波变换,在信号是有有限间断点的分段光滑1维信号时,小波基底中的非线性近似被证明是最优的。小波变换在更高的维度失去了其最优性。高维变换只是一维变换的简单可分离延伸,其原子在不同大小的矩形域上被支撑。这种可分离性使变换简单实用。然而,作为结果的字典只对有奇异点的信号有效,而大部分自然信号都表现出拉长的边缘奇异性。
 
自适应性:小波包变换,小波变换强制执行一个特定的时间-频率结构,其中高频原子有很少的支撑而低频原子有大量的支撑。这种选择的确与现实中自然界的信号有很深的联系。然而,对于特定信号,更好的分区是可行的。小波包字典基本上统一了所有的二值时频原子。这些原子可以从一对特定的尺度函数与母小波中得到,所以不同频率的原子可以进入时间支持的阵列。在这个大集合外,小波包变换能为给出的任何信号有效地选取一个最优的正交子字典,标准小波基只是指数数值的选项中的一种。这个过程因此被作者们命名为最优基搜寻。
 
小波变换用于:
图像压缩,
 
 
去噪:
 
小波平滑:别人的实验结果,
 
相关实例:
        
       
由于正交小波变换只对信号的低频部分做进一步分解, 而对高频部分也即信号的细节部分不再继续分解, 所以小波变换能够很好地表征一大类以低频信息为主要成分的信号, 但它不能很好地分解和表示包含大量细节信息(细小边缘或纹理) 的信号, 如非平稳机械振动信号、 遥感图象、 地震信号和生物医学信号等。 与之不同的是, 小波包变换可以对高频部分提供更精细的分解, 而且这种分解既无冗余, 也无疏漏, 所以对包含大量中、 高频信息的信号能够进行更好的时频局部化分析。
 
实验结果:无法识别的差异,
          图像Haar小波变换
          傅里叶变换是用一系列不同频率的正余弦函数去分解原函数,变换后得到是原函数在正余弦不同频率下的系数。
小波变换使用一系列的不同尺度的小波去分解原函数,变换后得到的是原函数在不同尺度小波下的系数。
不同的小波通过平移与尺度变换分解,平移是为了得到原函数的时间特性,尺度变换是为了得到原函数的频率特性。
小波变换步骤:
1.把小波w(t)和原函数f(t)的开始部分进行比较,计算系数C。系数C表示该部分函数与小波的相似程度。
2.把小波向右移k单位,得到小波w(t-k),重复1。重复该部知道函数f结束.
3.扩展小波w(t),得到小波w(t/2),重复步骤1,2.
4.不断扩展小波,重复1,2,3.
这里使用的haar小波,缩放函数是[1 1],小波函数是[1 -1]。是最简单的小波了。
尺度为2的全分解小波包:
======================================================================================================
1、模糊连通性原理,
是利用分析得出的局部范围内的图像元素信息的相互关系,来综合评价全局范围内,图像分割实体与分割背景的界限关系,进而实现从图像中分割出目标实体的目的.
 
基于模糊连通性的图像分割方法的出发点在于图像由于采集设备在时间和空间解析度的限制和人为因素的影响,具有模糊特性:
     1.图像中的有明显的分级特征,结合杂质、模糊、噪声和背景信息形成分级混合体;
     2.图像包含的实体之间以某种方式交错邻接在一起.
基于模糊连通性的分割方法,能够较好的描述图像中由于边界不清晰而无法精确定义的目标区域,同时对噪声不敏感,能够对指定的区域实现精确的聚合,特别对细小的分叉结构有较强的识别能力.
有论文论文一篇,
2、稀疏分解,
3、非负矩阵分解,NMF
非负矩阵分解定义为:
找到非负矩阵使得。在计算中等式两者很难完全相等。在计算中往往是根据某更新法则迭代更新出两个乘子,当上式左右两端的距离(如欧式距离)满足我们设定的大小,停止迭代。
通常的矩阵分解会把一个大的矩阵分解为多个小的矩阵,但是这些矩阵的元素有正有负。而在现实世界中,比如图像,文本等形成的矩阵中负数的存在是没有意义的,所以如果能把一个矩阵分解成全是非负元素是很有意义的。在NMF中要求原始的矩阵的所有元素的均是非负的那么矩阵可以分解为两个更小的非负矩阵的乘积,这个矩阵有且仅有一个这样的分解,即满足存在性和唯一性。
 
NMF能用于发现数据库中图像的特征,便于快速识别应用,比如实现录入恐怖分子的照片,然后在安检口对可疑人员进行盘查。在文档方面,NMF能够发现文档的语义相关度,用于信息的自动索引和提取。在生物学中,在DNA阵列分析中识别基因等。在语音识别系统中NMF也能发挥重要作用。
 

这里r是分解矩阵的秩,V是原矩阵的一个近似,W与H就是分解而成的两个矩阵。

 
实验:函数NMF();
 
4、svd分解
奇异值分解
矩阵的奇异值分解在矩阵理论的重要性不言而喻,它在最优化问题、特征值问题、最小乘方问题、广义逆矩阵问,统计学,图像压缩等方面都有十分重要的应用。
 
 
定义: 设A为m*n阶矩阵, A H A 的n个特征值的非负平方根叫作A的奇异值。记为σ i (A)。如果把A H A的特征值记为λ i (A),则σ i (A)= λ i (A HA)^(1/2)。
 

定理 (奇异值分解)设A为m*n阶复矩阵,则存在m阶酉阵U和n阶酉阵V,使得:

A = U*S*V’

其中S=diag(σ i ,σ 2 ,……,σ r ),σ i >0  (i=1,…,r),r=rank(A) 。 

推论: 设A为m*n阶实矩阵,则存在m阶正交阵U和n阶正交阵V,使得

A = U*S*V’

其中S=diag(σ i ,σ 2 ,……,σ r ),σ i >0  (i=1,…,r),r=rank(A) 。

 

在压缩图像应用中,抽象的例子可以入下图所示:

上图中三个矩阵相乘的结果将会是一个接近于A的矩阵,在这儿,r越接近于n,则相乘的结果越接近于A。而这三个矩阵的面积之和(在存储观点来说,矩阵面积越小,存储量就越小)要远远小于原始的矩阵A,我们如果想要压缩空间来表示原矩阵A,我们存下这里的三个矩阵:U、Σ、V就好了。
 
主要应用领域
一、奇异值与主成分分析(PCA)
二、奇异值与潜在语义索引LSI
三、图像压缩
假设我们有如下的一张 15 x 25 的图像数据。
 
我们将图像表示成 15 x 25 的矩阵,矩阵的元素对应着图像的不同像素,如果像素是白色的话,就取 1,黑色的就取 0. 我们得到了一个具有375个元素的矩阵,

如果我们对矩阵M进行奇异值分解以后,得到奇异值分别是

σ 1  = 14.72 
σ 2  = 5.22 
σ 3  = 3.31

矩阵M就可以表示成

M = u 1 σ 1   v 1 T  +  u 2 σ 2   v 2 T  +  u 3 σ 3   v 3 T

i 具有15个元素, i  具有25个元素,σ i  对应不同的奇异值。如上图所示,我们就可以用123个元素来表示具有375个元素的图像数据了。

四、去除噪声
我们有一张扫描的,带有噪声的图像,

我们采用跟实例二相同的处理方式处理该扫描图像。得到图像矩阵的奇异值:

σ 1  = 14.15 
σ 2  = 4.67 
σ 3  = 3.00 
σ 4  = 0.21 
σ 5  = 0.19 
… 
σ 15  = 0.05

很明显,前面三个奇异值远远比后面的奇异值要大,这样矩阵 M 的分解方式就可以如下:
经过奇异值分解后,我们得到了一张降噪后的图像。
 

五、数据分析

我们搜集的数据中总是存在噪声:无论采用的设备多精密,方法有多好,总是会存在一些误差的。如果你们还记得上文提到的,大的奇异值对应了矩阵中的主要信息的话,运用SVD进行数据分析,提取其中的主要部分的话,还是相当合理的。

作为例子,假如我们搜集的数据如下所示:
我们将数据用矩阵的形式表示:

经过奇异值分解后,得到

σ 1  = 6.04 
σ 2  = 0.22

由于第一个奇异值远比第二个要大,数据中有包含一些噪声,第二个奇异值在原始矩阵分解相对应的部分可以忽略。经过SVD分解后,保留了主要样本点如图所示
 
实验:
 
 
 
1、图分割,
     所谓图像分割指的是根据灰度、颜色、纹理和形状等特征把图像划分成若干互不交迭的区域,并使这些特征在同一区域内呈现出相似性,而在不同区域间呈现出明显的差异性。
 
1、基于阈值的分割方法
 
      阈值法的基本思想是基于图像的灰度特征来计算一个或多个灰度阈值,并将图像中每个像素的灰度值与阈值相比较,最后将像素根据比较结果分到合适的类别中。因此,该类方法最为关键的一步就是按照某个准则函数来求解最佳灰度阈值
 
2、基于边缘的分割方法
 
       所谓边缘是指图像中两个不同区域的边界线上连续的像素点的集合,是图像局部特征不连续性的反映,体现了灰度、颜色、纹理等图像特性的突变。通常情况下,基于边缘的分割方法指的是基于灰度值的边缘检测,它是建立在边缘灰度值会呈现出阶跃型或屋顶型变化这一观测基础上的方法。
 
阶跃型边缘两边像素点的灰度值存在着明显的差异,而屋顶型边缘则位于灰度值上升或下降的转折处。正是基于这一特性,可以使用微分算子进行边缘检测,即使用一阶导数的极值与二阶导数的过零点来确定边缘,具体实现时可以使用图像与模板进行卷积来完成
 
3、基于区域的分割方法
 
      此类方法是将图像按照相似性准则分成不同的区域,主要包括种子区域生长法、区域分裂合并法和分水岭法等几种类型。
 
       种子区域生长法是从一组代表不同生长区域的种子像素开始,接下来将种子像素邻域里符合条件的像素合并到种子像素所代表的生长区域中,并将新添加的像素作为新的种子像素继续合并过程,直到找不到符合条件的新像素为止。该方法的关键是选择合适的初始种子像素以及合理的生长准则。
 
        区域分裂合并法(Gonzalez,2002)的基本思想是首先将图像任意分成若干互不相交的区域,然后再按照相关准则对这些区域进行分裂或者合并从而完成分割任务,该方法既适用于灰度图像分割也适用于纹理图像分割
 
        分水岭法(Meyer,1990)是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。该算法的实现可以模拟成洪水淹没的过程,图像的最低点首先被淹没,然后水逐渐淹没整个山谷。当水位到达一定高度的时候将会溢出,这时在水溢出的地方修建堤坝,重复这个过程直到整个图像上的点全部被淹没,这时所建立的一系列堤坝就成为分开各个盆地的分水岭。分水岭算法对微弱的边缘有着良好的响应,但图像中的噪声会使分水岭算法产生过分割的现象。
 
4、基于图论的分割方法
 
        此类方法把图像分割问题与图的最小割(min cut)问题相关联。首先将图像映射为带权无向图G=<V,E>,图中每个节点N∈V对应于图像中的每个像素,每条边∈E连接着一对相邻的像素,边的权值表示了相邻像素之间在灰度、颜色或纹理方面的非负相似度。而对图像的一个分割s就是对图的一个剪切,被分割的每个区域C∈S对应着图中的一个子图。而分割的最优原则就是使划分后的子图在内部保持相似度最大,而子图之间的相似度保持最小。基于图论的分割方法的本质就是移除特定的边,将图划分为若干子图从而实现分割。目前所了解到的基于图论的方法有GraphCut,GrabCut和Random Walk等。
 
5、基于能量泛函的分割方法
 
       该类方法主要指的是活动轮廓模型(active contour model)以及在其基础上发展出来的算法,其基本思想是使用连续曲线来表达目标边缘,并定义一个能量泛函使得其自变量包括边缘曲线,因此分割过程就转变为求解能量泛函的最小值的过程,一般可通过求解函数对应的欧拉(Euler.Lagrange)方程来实现,能量达到最小时的曲线位置就是目标的轮廓所在。
 
实验:
优化后分水岭分割,设置参数为相邻像素差大于10时分割,
相关处理方法;http://zhidao.baidu.com/question/254301763.html
 
2、adaboost,
对于Adaboost,可以说是久闻大名,据说在Deep Learning出来之前,SVM和Adaboost是效果最好的 两个算法,而Adaboost是提升树(boosting tree),所谓“提升树”就是把“弱学习算法”提升(boost)为“强学习算法”(语自《统计学习方法》),而其中最具代表性的也就是Adaboost了,
 
Adaboost是一种比较有特点的算法,可以总结如下:
1)每次迭代改变的是样本的分布,而不是重复采样(reweight)
2)样本分布的改变取决于样本是否被正确分类
总是分类正确的样本权值低
总是分类错误的样本权值高(通常是边界附近的样本)
3)最终的结果是弱分类器的加权组合
     权值表示该弱分类器的性能
简单来说,Adaboost有很多优点:
1)adaboost是一种有很高精度的分类器
2)可以使用各种方法构建子分类器,adaboost算法提供的是框架
3)当使用简单分类器时,计算出的结果是可以理解的。而且弱分类器构造极其简单
4)简单,不用做特征筛选
5)不用担心overfitting!
总之:adaboost是简单,有效。
 
介绍adaboost的两个特性:
一是训练的错误率上界,随着迭代次数的增加,会逐渐下降;
二是adaboost算法即使训练次数很多,也不会出现过拟合的问题。

常用的二分类adaboost方法:
1、adaboost M1方法
  主要思路: adaboost组合的若干个弱分类器本身就是多分类的分类器。
2、adaboost MH方法
  主要思路: 组合的弱分类器仍然是二分类的分类器,将分类label和分类样例组合,生成N个样本,在这个新的样本空间上训练分类器。
3、对多分类输出进行二进制编码
  主要思路:对N个label进行二进制编码,例如用m位二进制数表示一个label。然后训练m个二分类分类器,在解码时生成m位的二进制数,从而对应到一个label上。
 
 
 
 
添加6号线之后,划分错误率大幅增加,添加8号划分,综合错误率降低,
 
 
3、自适应稀疏模型
 
稀疏模型将大量的冗余变量去除,只保留与响应变量最相关的解释变量,简化了模型的同时却保留了数据集中最重要的信息,有效地解决了高维数据集建模中的诸多问题。稀疏模型具有更好的解释性,便于数据可视化、减少计算量和传输存储。
Tibshirani把岭回归【通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法,对病态数据的拟合要强于最小二乘法估计的L2范数正则化项替换为L1范数正则化项得到了Lasso(Least Absolute Shrinkage and Selection Operator【最小绝对收缩和选择操作】, Lasso)。L1范数罚具有产生稀疏模型的能力,使用L1范数罚作为正则化项的Lasso具有变量选择功能和变量空间降维功能。
LAR算法(Least Angle Regression, LAR)可对Lasso有效求解。
常见模型:
组(效应)稀疏模型
某种估计方法,令那些彼此之间高度相关的变量的回归系数的绝对值(几乎)相等,从而倾向于将全部高度相关的变量作为一个组同时选中或同时移除,但自动组效应只能实现对高度相关变量的组选择效果。
 
树稀疏模型
把组之间的重叠结构也作为先验信息引入到罚函数中,得到重叠组套索,实际上,许多数据不但具有组结构,而且组之间存在偏序关系,即树结构。当处理这种数据时,需要充分利用树结构作为先验信息,得到树结构稀疏模型。
 
图稀疏模型
套索模型(Lasso)由估计损失项范数罚项组成,其通过范数罚实现稀疏化学习。精度矩阵(precision matrix)是图模型中全部随机变量的协方差矩阵的逆矩阵,它同时包含了图模型中的结构信息和参数信息,故通过对精度矩阵的学习可同时获得概率图模型的结构信息和参数信息,因此对图模型的稀疏化学习问题本质上是对精度矩阵的稀疏化学习问题,该问题又被称作稀疏化协方差选择(covariance selection)问题。图按边有无方向分为有向图模型(贝叶斯网络)和无向图模型(马尔科夫网络)。图稀疏模型也有贝叶斯网络和马尔科夫网络稀疏模型。
 
1、图像基因相关性,
2、协同低秩回归
3、CCA
典范对应分析(canonical correspondence analusis, CCA),是基于对应分析通过分析由定性变量构成的交互汇总表来揭示变量间的联系。可以揭示同一变量的各个类别之间的差异,以及不同变量各个类别之间的对应关系发展而来的一种排序方法,将对应分析与多元回归分析相结合,每一步计算均与环境因子进行回归,又称多元直接梯度分析。其基本思路是在对应分析的迭代过程中,每次得到的样方排序坐标值均与环境因子进行多元线性回归。CCA要求两个数据矩阵,一个是植被数据矩阵,一个是环境数据矩阵。 首先计算出一组样方排序值和种类排序值(同对应分析),然后将样方排序值与环境因子用回归分析方法结合起来,这样得到的样方排序值即反映了样方种类组成及生态重要值对群落的作用,同时也反映了环境因子的影响,再用样方排序值加权平均求种类排序值,使种类排序坐标值也简介地与环境因子相联系。其算法可由Canoco软件快速实现。
       最大优点:CCA是一种基于单峰模型的排序方法,样方排序与对象排序对应分析,而且在排序过程中结合多个环境因子,因此可以把样方、对象与环境因子的排序结果表示在同一排序图上。
       缺点:存在“弓形效应”。克服弓形效应可以采用除趋势典范对应分析(detrended canonical correspondence, DCCA).
       结果可信性:查看累计贡献率及环境与研究对象前两个排序轴之间的相关性。
实验数据:
 
处理:
 
Y1=[1,0;1,0;1,1;0,1;0,1;1,1;1,0;1,0];
X1=[-5,3;-4,3;
-2,2;-1,1;2,0.5;3,2;
6,3;7,4];
mean1=mean(X1);% 0均值处理
for i=1:8
X1(i,:)=X1(i,:)-mean1;
end
mean1=mean(Y1);
for i=1:8
Y1(i,:)=Y1(i,:)-mean1;
end
M=inv(X1'*X1+eye(2))*(X1'*Y1*inv(Y1'*Y1+eye(2))*Y1'*X1);%分解目标函数
[D,I]=eigs(M);求得特征值 
w=D(:,1);%求得投影向量
X2=X1*w;%降维
 
Y1进行0均值化后:           X1进行0均值化后:    投影降维后的X1:
                                  
X2中第1、2、7、8都是属于第一类,投影降维后的数据X2中就是比较近,第3、6个数据即属于第一类也属于第二类也比较近,第4、5数据属于第二类也是比较近的,
 
posted @ 2015-12-07 15:07  十点  阅读(4787)  评论(0编辑  收藏  举报