现在的位置: 首页 > 综合 > 正文

透过现象看本质(一)

2018年02月20日 ⁄ 综合 ⁄ 共 2896字 ⁄ 字号 评论关闭

做了这么多年学生,一直不知道该如何搞科研。直到有一天,我在兴致勃勃的调代码,调整着参数,看着结果。就在这时,导师也蛮有兴致的走过看,并发问,“这结果说明了什么?”

“差分法不能用于检测抖动的视频”我回答道。

“为什么不能?那什么方法能?这些方法有什么异同?”导师连珠炮式问了下去。留下傻傻的我在一边,“我还没调研过。”

“那就去调研一下,只是这样的看是不能帮你解决你要解决的问题的”导师又道。

表象谁都看得到,但思考表象之下的成因不见得人人都做得到,进而发现成因的少之又少,从成因得到更多的可以反作用于表象的东西的更少。

经过一段时间能够勉强被称为研究式的学习,我对透过表象看本质有了些许认识,有一种不吐不快的感觉,想和大家一起分享一下,因此就有了这个系列的博文。

第一部分,谈谈我对观察和猜想的理解,我们到底能不能认清本质?

第二部分,从数据拟合的角度谈谈概率、线性代数和最优化之间的一些联系,我们到底能不能从数据中抽象出数据的本质?

第三部分,从预测滤波的角度谈谈观测与状态(特征)之间的关系,我们到底能不能根据既有的数据预测未来可能出现的数据?

第四部分,谈谈运动模型、微分方程和泰勒级数的关系

第五部分,谈谈从数据中挖掘特征、状态的问题,我们是如何完成学习的?无监督还是有监督?

第六部分,下一个螺旋上升将出现在哪里?机器能不能具有和人类一样或者相当的能力——概括观察的数据,并用概括出来的东西指导新的观察。

一、绪论

别人的方法都不好不是你的方法也不好的理由。表现的效果不好是表象,导致效果不好的原因才是关键。探求表象背后的原因才是科学精神的实质。

A同学体重190,饭量大,一顿10个馒头。B同学体重120,饭量小,一顿1个馒头。通过这个观察,我们也许会猜想,“是不是吃得多的人,体重会大”。在我们观察了更多的同学之后,我们发现体重大的同学比体重小的同学吃的多。到目前为止,猜想是成立的。

有一天,你发现了这样几个同学。他们中体重大的同学吃的和体重小的同学一样多,甚至会更少。新的观察结果不再支持之前得到的猜想。也就是说,吃得多的人的体重不一定比吃得少的人的体重大,更进一步说吃得多少不是体重多寡的唯一原因。

基于观察得出的结论和观察覆盖的被观察对象的范围有关。随着观察覆盖范围的扩大,曾经可能正确的猜想会被推翻,我们会提出新的猜想。在上个例子中,基于最初的观察,我们会猜想,饭量和体重之间的关系可能是正相关的。体重大的吃得多,吃得多导致体重大;体重小的吃得少,吃得少导致体重小。随着观察范围的扩大,我们发现吃得多少和体重不直接相关,而呈现出了复杂的、非线性的关系。导致体重大的真正原因不是饭量或者说不仅仅是饭量。

观察范围的受限和观察的方法和观察的工具有关。因此,我们是一个感知受限的智能传感器,能够根据观察得出猜想,也会根据猜想指导观察,但是观察的范围受限。

猜想被推翻表明观察不够全面,没有抓住表象的本质。我们仅仅从饭量这个角度出发可能不能刻画出体重的成因。我们应该更加全面的观察被观察的对象,去发现导致体重大或小的真正原因,比如学生是不是喜欢运动,吃什么类型的食物等等。

认识的局限,来源于我们感知受限,而我们的感知源于感知器官与外界世界的交互,我们有没有可能透过观察看到观察数据背后的真相呢?

对待如何处理观察数据,有两种截然不同的学派,一种是参数估计学派,一种是无参数估计学派。前者将表象掩盖的真相抽象成一组参数,用观察的数据估计这组参数。后者则完全不在乎什么掩藏在表象背后的参数,而是直接根据观测的数据进行建模。前者是一种有监督的学习方法,后者是一种无监督的学习方法。参数和非参数估计之争有点儿“鸡和蛋孰先孰后”的味道。到底是观察在先还是假设在先呢。

因为我们不知道被观测对象的属性的取值是个什么分布,所以没有必要也不太可能对这个分布进行假设。如果每次观察都是一锤子买卖的话,我们还真是没有什么办法对参数是什么,呈现出什么分布进行归纳。但是,我们对某些规律性的或者准规律性的东西很敏感。如果把多次观察的数据整合在一起看,被观测对象的属性的分布就呼之欲出了。我们会想办法用某种模型去拟合观察得到的数据,从数据中提炼参数,对观察的数据进行简化,预测观察数据的可能值。

在观察中对观察的数据进行总结,然后参数估计法就出来了。因此我们有理由相信,参数估计晚于非参数估计。但是从学术发展看,参数估计早于非参数估计。观察如果是感性的认识,那么没有任何经验的数据分析是感性认识上升到理性认识的必经过程,挖掘数据之下的参数空间是第一次升华。对人类自身的认知过程进行抽象,即对非参数估计的过程进行抽象是第二次升华。那么,第三次升华可能就是通过非参数估计自动的挖掘出参数,将其形式化,形成新的参数估计。 

废话了这么久终于说出了我想说的干货,如何使用非参数估计自动的挖掘出参数。前两天,在鼓捣粒子滤波的时候写了个简单的例子,假象出了一个GPS数据分析器。推了一堆公式,仅给这个数据分析器数据,不给他任何运动学模型的描述,他能使用数据拟合出某些东西。他使用观察得到的数据拟合了出的这个东西,是转换矩阵A。这些转换矩阵A之间确实有些规律。但是如何抽象这种规律?貌似,还是要给他些什么指导原则,比如定义什么是相似,什么是差异等等。根据这种原则,他能发现数据之中的某种模式。当新的观测能被这种模式预测时,ok,这个模式就是正确的。当新的观察不能被这种模式预测时,好,那么就要修改模式了。如果模式修改的过于频繁,ok,他要用更宏观的尺度来重新总结自己看到的数据,挖掘出一个更加稳定的模式。因此,他可能使用的原则就是稳定性。数据的稳定,数据变换模式的稳定,模式变换的稳定。

这个问题形式化为,对于被观测对象的属性,其对应的分布,称为映射f。我们的观察就是对这个映射f的若干次采样f’1,f’2,…,f’n。使用观察数据拟合函数f^=g(f’1,f’2,…,f’n),拟合的好坏使用sum(f^(i)-f’i)*(f^(i)-f’i)来表征。我们把采样分成两部分,拟合组和测试组。使用拟合组拟合f^,使用测试组测试拟合结果f^的好坏。在数据处理的过程,keep
it simple,拟合方程越简单越好。这个问题的求解回归到了数据拟合,方程求解等问题上。
 

从上述的乱扯中我反思出一个方法论,实践的越多,出错的可能性越大。如果能够及时调整,可能的收获越多。作为这个世界观察者,我们只能在实践中认识世界,探求世界的真相,并接近这个真相。我们却很难100%的说,我已经知道了真相。所谓的真相可能在下一秒被证明是错误的。如果真相本身就是观察,我们也许已经站在真相一边了。如果真相本身不是观察,那么穷尽我们的一生,加上后来人的若干生,我们也只能在真理的门外徘徊。但是,如果我们不去继续追问,也许我们永远只能停留在感知这个层面,而到不了智能。既然,我们拥有了这种潜能,为什么不继续呢。真理可能就在下个转角。这种不期而遇是对我们的馈赠,just
enjoy it。


未完待续


http://blog.csdn.net/clhmw/article/details/9824851

抱歉!评论已关闭.