总体最小二乘(TLS)
对于见得多了的东西,我往往就习以为常了,慢慢的就默认了它的存在,而不去思考内在的一些道理。总体最小二乘是一种推广最小二乘方法,本文的主要内容参考张贤达的《矩阵分析与应用》。
1. 最小二乘法
最小二乘法,大家都很熟悉,用在解决一超定方程。最小“二”乘的“二”体现在准则上——令误差的平方和最小,等价于
最小二乘解为(非奇异)
可以从多个角度来理解最小二乘方法,譬如从几何方面考虑,利用正交性原理导出。
Steven M.Kay 的《统计信号处理—估计理论》中是这样介绍最小二乘估计的:最小二乘估计特点在于对观察数据没有任何概率假设,只需要假设一个信号模型,因此它不是最佳的,如果没有对数据的概率结构做出假设,其统计性能也是无法评判的。(实际上LSE可能是MVU,说不是最佳有些不妥)
当然,我们希望能够分析最小二乘解的特性,即使不能对其进行全面的评判,至少需要了解其应用范围和特点。
2. 稳定性分析
一个好的估计往往具有无偏和最小方差的特性(或是渐进无偏的,譬如最大似然估计)。Gauss-Markov定理告诉我们,对于数据向量具有加性噪声或者扰动的超定方程,如果误差向量满足以下条件,此时最小二乘解是无偏且具有最小方差的。
定理证明可见张贤达《矩阵分析与应用》p406页。这一结论表明,最小二乘解是一个很好的估计,那么问题出现在哪呢?我们注意到,采用最小均方误差准则的线性回归(Linear regression)和最小二乘解具有相同的形式。《Machine Learning plus Intelligent Optimization》书中有这样一幅图显示了线性回归中存在的稳定性问题。
左图表示一个好的数据集合能够确定一个稳定的平面。右图中,不恰当的取样点使得微小的扰动会导致大的结果的偏差。 然而往往数据集的分布是不可控的。
稳定性指数据小的扰动只会导致小的结果偏差。一个良态问题(well-posed problem)是稳定的,然而实际上的问题往往是病态(ill-posed)。为此,在线性回归以及其他多种解决问题方案中采用了正则化方法。广为应用的方法是Tichonov regularization,思想在于利解的先验知识使解稳定,即假设解是光滑的。关于正则化问题,可以参考Simon Haykin的《神经网络原理》,此处不做讨论。对于稳定性分析,或者说数值稳定性,《矩阵分析与应用》p342进行了详细的讨论。
(矩阵)数值稳定性
研究矩阵,其中或发生扰动时,解向量如何发生变化?讨论得到以下结果
由此可见,影响解向量变化的重要参数是,我们将其记为条件数,记作
这就是矩阵的条件数的定义,由上式易知,条件数刻画了误差经过矩阵后扩大为解向量误差的程度。当系数矩阵一个很小扰动只会引起解向量很小变化的时候,我们将矩阵称为是“良态”的,反之称为是“病态”的。
正定矩阵的Cholesky分解这篇文章中提到了矩阵的“良态”和特征值之间的关系,此处我并没有进行太多思考,有兴趣的话可以去看看特征值扩散度相关知识。wiki百科上给出的例子表明,如果采用2-范数,条件数可以记为
其中代表的是矩阵的奇异值。
最小二乘法中对于超定方程实际求解的是,条件数表示为
也就是说,误差对方程解的影响和的条件数的平方成反比,这显然是我们不愿意看到的。采用正则化方法实际求解的是,由上可知条件数下降了(从2-范数来看,分子分母同时加上了)。
3.总体最小二乘
如果说模型是完全正确的,我们根本不需要考虑算法的稳定性(当然,由于计算机计算时会有截位,所以这是不可能的)。道理很简单,没有扰动,为何需要分析稳定性呢?这充分说明了,最小二乘没有考虑到扰动的存在,因此其稳定性较差是情有可原的。
可以对矩阵有扰动情况下,最小二乘的性能进行分析,矩阵的扰动矩阵非零情况下,一般有偏。且可以证明(p407)
如果为零均值,方差为的独立同分布噪声,为零均值,方差为的独立同分布噪声。此时最小二乘解方差相对于矩阵无扰动下增加倍数等于
我们知道其根源在于没有考虑矩阵的扰动,在这一情况下,为了克服最小二乘的缺点,引入了总体最小二乘方法。
总体最小二乘思想在于分别使用扰动向量和扰动矩阵去修正和中的扰动。也就是说,总体最小二乘解决以下问题
其中为扰动矩阵, ,此处范数采用Frobenius范数。
利用增广矩阵的奇异值分解可以求得总体最小二乘解。(只讨论超定方程情况)其中分为两种情况:只有一个最小的奇异值时有一组解,最小奇异值多重或者后面若干个非常接近时求解某一意义下的最小二乘解。即应该是非满秩矩阵(由于噪声存在,一般都是满秩的),因此对应最小特征值的特征向量就是总体最小二乘解,多个相同最小二乘解时特征向量有多个,因此加上其他约束求解。具体方法本文不做论述。
4.TLS解释和分析
真正吸引人的不是TLS的解法,而是它到底为何能够(在一定条件下)弥补LS的缺点?(虽然从其推导过程中感觉是有效的)即使有效,那么原因是什么呢?
张贤达书p414页神奇的推导出了这么一个结果(不可逆情况下求伪逆,此时有其他诸如最小范数的约束)
第一眼看到这个结果的时候,我想:怎么可能?正则化中的加法很有道理,这里的减法不是会让情况更差吗?但是这里的解释很有道理
总体最小二乘可以解释为一种具有噪声消除的最小二乘方法,先从协方差矩阵中减去噪声影响项,然后再对矩阵求逆求解,得到最小二乘解。
那么问题出在哪呢?我们注意到正则化中的是任意选取的,或者说不是“任意”,也是和矩阵没有多大关系的。然而此处的实际上是矩阵的奇异值中的最小的那个,由于TLS采用了完全不同的思路,出现相异的结果也就不足为奇了。
我们再对TLS进行详细的分析,实际上,所以至少应该有一个特征值为零的。由于噪声的存在,这一要求往往是达不到的。假设噪声是高斯白且独立同分布,那么噪声的自相关矩阵是对角阵,也就相当于在所有特征值上加上了一个固定的常数,这个常数就是噪声的方差。一般而言是实数,其特征值都是正数,所以我们可以认为最小的特征值(多个最小则都取)实际上就是噪声的方差。这些特征值对应的特征函数构成的线性空间被称为噪声子空间。总体最小二乘就是去除了噪声的最小二乘,从这一点上看,TLS对矩阵的扰动有抑制作用,即TLS的更加接近无扰动子空间。
对于扰动敏感度分析,可参考《矩阵分析与应用》p416。
5.总结
接触这一方法的时间不长,如有错误,还请大家指正。本文只对其进行了理论上的分析,就我接触而言,在谱分析中总体最小二乘应用广泛,不知在其他应用上是否能够取得好的效果。就线性回归而言,一般情况下正则化方法应该会有更好的效果,总体最小二乘还是有太多的假设了。不知这一结论是否正确,还请大家指明或仿真分析。
但毋庸置疑的是,总体最小二乘在很多地方都取得了很好的效果,或许还能够得到更广泛的应用。同时,最重要的是在这一过程中我深刻的体会到了对越熟悉的东西要越了解,而不是麻木。
算法对扰动的敏感度要低,我们对算法的敏感度要高才好。
总体最小二乘(TLS)的更多相关文章
- 非负矩阵分解(1):准则函数及KL散度
作者:桂. 时间:2017-04-06 12:29:26 链接:http://www.cnblogs.com/xingshansi/p/6672908.html 声明:欢迎被转载,不过记得注明出处哦 ...
- OpenCV相机标定
标签(空格分隔): Opencv 相机标定是图像处理的基础,虽然相机使用的是小孔成像模型,但是由于小孔的透光非常有限,所以需要使用透镜聚焦足够多的光线.在使用的过程中,需要知道相机的焦距.成像中心以及 ...
- SSL、TLS协议格式、HTTPS通信过程、RDP SSL通信过程
相关学习资料 http://www.360doc.com/content/10/0602/08/1466362_30787868.shtml http://www.gxu.edu.cn/college ...
- 【转】Tomcat总体结构(Tomcat源代码阅读系列之二)
本文是Tomcat源代码阅读系列的第二篇文章,我们在本系列的第一篇文章:在IntelliJ IDEA 和 Eclipse运行tomcat 7源代码一文中介绍了如何在intelliJ IDEA 和 Ec ...
- [转载] TLS协议分析 与 现代加密通信协议设计
https://blog.helong.info/blog/2015/09/06/tls-protocol-analysis-and-crypto-protocol-design/?from=time ...
- HTTPS 之 TLS 性能调优
HTTPS(HTTP over SSL)是以安全为目标的 HTTP 通道,可以理解为 HTTP + SSL/TLS,即在 HTTP 下加入 SSL/TLS 层作为安全基础.其中 TLS 的前身是 SS ...
- 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)
第三节最大似然推导mse损失函数(深度解析最小二乘来源) 在第二节中,我们介绍了高斯分布的 ...
- SSL/TLS握手过程
----------------------------------专栏导航----------------------------------HTTPS协议详解(一):HTTPS基础知识 HTTPS ...
- SSL、TLS协议格式、HTTPS通信过程、RDP SSL通信过程(缺heartbeat)
SSL.TLS协议格式.HTTPS通信过程.RDP SSL通信过程 相关学习资料 http://www.360doc.com/content/10/0602/08/1466362_30787868 ...
随机推荐
- rowcount和@@Rowcount的区别,获取insert、update、delete影响行数
rowcount的用法: rowcount的作用就是用来限定后面的sql在返回指定的行数之后便停止处理,比如下面的示例, set rowcount 10select * from 表A 这样的查询只会 ...
- RESTful API的设计与开发
自己做过关于RESTful API的培训,下载
- 设置自己的RadASM颜色
在RadASM.ini中的color节添加 4=wls_asm_color,16777215,0,8388608,16777215,15777984,12644544,12632304,1644176 ...
- JAVA基础知识点:内存、比较和Final
1.java是如何管理内存的 java的内存管理就是对象的分配和释放问题.(其中包括两部分) 分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对 ...
- 使用LVS实现负载平衡之Windows Server 2008配置
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.承载于 II ...
- 利用OpenCV检测图像中的长方形画布或纸张并提取图像内容
基于知乎上的一个答案.问题如下: 也就是在一张照片里,已知有个长方形的物体,但是经过了透视投影,已经不再是规则的长方形,那么如何提取这个图形里的内容呢?这是个很常见的场景,比如在博物馆里看到一幅很喜欢 ...
- codeforces 709B B. Checkpoints(水题)
题目链接: B. Checkpoints 题意: 给了n个点,现在给一个起点,问最少访问n-1个点的最小行走距离是多少; 思路: 分情况讨论就好了; AC代码: #include <iostre ...
- J2EE中getParameter与getAttribute以及EL表达式${requestScope}和${param[]}
getParameter ① 得到的都是String类型的.如http://name.jsp?name=xy中的xy ② 获取POST/GET传递的参数值 ③ 用于客户端重定向,如点击链接或提交按扭时 ...
- DOTween文档
前言 DOTween现在还处于 alpha,所以还有一些缺失的功能(如路径插件,附加回调和其它的tween选项),这个文档在不久的将来可能会更新. DoTween:0.8.2.00 官方文档:http ...
- Unity 跑酷Demo难题总结
问题1:路面拼接处理 在拼接路的时候,如果两个路挨的太近就会出现贴图闪烁,如下所示 解决办法 如果把路改小就会出现断层,但不会出现贴图闪烁 PS:我是把贴图放在Cube上的,所以路是有厚度. 附注 刚 ...