透過表象看本質!?

2021-06-17 20:08:33 字數 3060 閱讀 1210

做了這麼多年學生,一直不知道該如何搞科研。直到有一天,我在興致勃勃的調**,調整著引數,看著結果。就在這時,導師也蠻有興致的走過看,並發問,「這結果說明了什麼?」

「為什麼不能?那什麼方法能?這些方法有什麼異同?」導師連珠炮式問了下去。留下傻傻的我在一邊,「我還沒調研過。」

「那就去調研一下,只是這樣的看是不能幫你解決你要解決的問題的」導師又道。

表象誰都看得到,但思考表象之下的成因不見得人人都做得到,進而發現成因的少之又少,從成因得到更多的可以反作用於表象的東西的更少。

經過一段時間能夠勉強被稱為研究式的學習,我對透過表象看本質有了些許認識,有一種不吐不快的感覺,想和大家一起分享一下,因此就有了這個系列的博文。

第一部分,談談我對觀察和猜想的理解,我們到底能不能認清本質?

第二部分,從資料擬合的角度談談概率、線性代數和最優化之間的一些聯絡,我們到底能不能從資料中抽象出資料的本質?

第三部分,從**濾波的角度談談觀測與狀態(特徵)之間的關係,我們到底能不能根據既有的資料**未來可能出現的資料?

第四部分,談談運動模型、微分方程和泰勒級數的關係

第五部分,談談從資料中挖掘特徵、狀態的問題,我們是如何完成學習的?無監督還是有監督?

第六部分,下乙個螺旋上公升將出現在**?機器能不能具有和人類一樣或者相當的能力——概括觀察的資料,並用概括出來的東西指導新的觀察。

別人的方法都不好不是你的方法也不好的理由。表現的效果不好是表象,導致效果不好的原因才是關鍵。探求表象背後的原因才是科學精神的實質。

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 ******,擬合方程越簡單越好。這個問題的求解回歸到了資料擬合,方程求解等問題上。

從上述的亂扯中我反思出乙個方**,實踐的越多,出錯的可能性越大。如果能夠及時調整,可能的收穫越多。作為這個世界觀察者,我們只能在實踐中認識世界,探求世界的真相,並接近這個真相。我們卻很難100%的說,我已經知道了真相。所謂的真相可能在下一秒被證明是錯誤的。

如果真相本身就是觀察,我們也許已經站在真相一邊了。如果真相本身不是觀察,那麼窮盡我們的一生,加上後來人的若干生,我們也只能在真理的門外徘徊。但是,如果我們不去繼續追問,也許我們永遠只能停留在感知這個層面,而到不了智慧型。既然,我們擁有了這種潛能,為什麼不繼續呢。真理可能就在下個轉角。這種不期而遇是對我們的饋贈,just enjoy it。

未完待續

透過表象看本質

前段時間,好友王胖子問了熊熊乙個問題,他們的 oracle 資料庫,有個主要的表空間設定的自動增長,每次增長 100m 卻無法滿足業務需求,問了一下 oracle 方面,說是自動增長的步長太小了,於是胖子在資料庫裡查詢了一下,有了以下的問題 胖子 熊,在麼,問個問題?熊熊 啥問題 胖子 看看,我這個...

軟體測試 透過表象看本質

前情概要 職位詳情頁需要新增乙個相似職位的列表,通過所在城市等要求等條件來判斷 相同時會出現在相似職位列表中 職位的城市在資料庫中存兩個字段 city name,city zipcode 職位詳情頁顯示的所在城市欄位為city name 相似職位查詢所在城市欄位為city zipcode 對於職位資...

透過現象看本質

例子 你回家的時候,發現沒帶鑰匙,你聯絡了乙個鎖匠來開鎖,結果他很快來了,並且在一分鐘之內給你開啟了鎖,問你要1000元,你會覺得很不值 但是如果乙個鎖匠用了幾個小時或者更長時間幫你開啟了鎖,你會看到他的努力,要同樣的錢,你會覺得很合理 這實際上是乙個誤區,人往往會看到一些表面的努力,而忽略了一些隱...