紀念卡爾曼濾波器發(fā)明60周年
零數(shù)學基礎
最近我想寫點關于卡爾曼濾波器的科普材料龄捡,一查今年恰好是卡爾曼博士發(fā)表他那篇著名而影響深遠的論文60周年赞厕,這樣寫這篇小文就似乎有了那么一點儀式感。
標題起得有點惡俗驹闰,類似于什么xxxx傻瓜書瘪菌,十分鐘學會xxxx等等。不過其實倒是很符合這篇文章的內容嘹朗;實際上我甚至覺得另外一個標題可能更合適些——零數(shù)學基礎理解卡爾曼濾波理論师妙。
卡爾曼濾波理論自從因50年前阿波羅登月項目成功而一舉成名后,至今已被廣泛應用在自動化屹培、控制默穴、社會經濟怔檩、金融分析等領域,具有極高的應用價值蓄诽。也因此很多人都非常想學會這個重要的理論工具珠洗。但卡爾曼濾波理論的大量數(shù)學公式如同刺猬一般讓人望而生畏,感覺無從下手若专,也因此一直邁不出第一步许蓖。0數(shù)學基礎,是不是夸張了些调衰?
大凡科學理論膊爪,終其根本是一種哲學思想,體現(xiàn)的是思考者對事物本源的認識嚎莉,而數(shù)學的作用只是對思想做量化建模和分析的工具米酬。思想是可以獨立于不同的工具而存在的。從這個意義上講趋箩,理解卡爾曼博士的思想赃额,的確不需要任何數(shù)學工具。你現(xiàn)在看到的那么多描述卡爾曼濾波器的數(shù)學公式叫确,只是在現(xiàn)有的數(shù)學工具集下跳芳,卡爾曼博士思想的一種表現(xiàn)形式。而在另外一種量化分析工具集下竹勉,他的思想的表現(xiàn)形式可能完全不同飞盆。所以學習一種理論時,我傾向于剝離其數(shù)學工具的表象次乓,先理解其不依附于特定工具的思想和認知方法吓歇。
人人自帶卡爾曼濾波
首先要弄清的是,卡爾曼濾波理論所有的工作可以歸結為一點票腰,都是為了更準確地預測(predict)出系統(tǒng)下一個狀態(tài)城看,當然你也可以把這個工作稱為估計(estimate)。這兩個詞在卡爾曼濾波理論中的定義是有差別的杏慰,但在目前這個階段的科普中我們暫時先不區(qū)分测柠。
很容易理解的是,現(xiàn)實世界中的任何一個系統(tǒng)逃默,都充滿了各種各樣的干擾因素鹃愤。所以你如果只是在紙上根據(jù)一個嚴格的數(shù)學公式來計算未來狀態(tài)的話,那當然會跟實際結果大相徑庭完域。因此我們必須要把干擾因素考慮進來软吐。
如何分析干擾因素?當我們關心干擾的時候吟税,我們其實是在關心不確定性(或者叫可能性凹耙,準確度等等)問題——干擾一般都是隨機的姿现,這樣一來我們就必須在根據(jù)公式計算出來的值上疊加一個隨機量,也因此得到了一個有一定隨機程度的數(shù)值肖抱,這個值在一定的范圍內隨機波動备典。那到底取哪個值呢?既然是隨機的意述,那我們只能猜一個提佣,但通常我們并不會隨便猜,而是很自然地會猜自己覺得最有可能的那個值——當然怎樣才算最有可能荤崇,那就得看我們自己的經驗如何了拌屏。
OK,現(xiàn)在我們對系統(tǒng)狀態(tài)有了一個估計值术荤,這個估計有一定概率是對的倚喂,也有可能是錯的。如果我們能接受這個結果瓣戚,那么這個事情就到此為止了端圈。但通常我們都想盡可能再準確一點,怎么辦呢子库?——生活中很常見的辦法是舱权,當自己拿不定主意的時候,再找個人來商量出出主意案照铡刑巧!
各位不要笑,這個樸素的辦法背后的其實蘊含了深刻的哲學原理——看問題多一個不同角度往往更接近真相:-) 現(xiàn)在你的朋友來了无畔,那么他也如法炮制猜了一個數(shù),這個數(shù)毫無疑問跟你猜的肯定不一樣吠冤,因為他的經驗值肯定更你不一樣嘛浑彰;那現(xiàn)在問題來了,那到底聽誰的呢拯辙?你們進行了熱烈的討論郭变,最終你們雖然沒有完全達成一致,但還是達成了部分共識——你們都同意這個值至少在某個范圍內是最有可能的涯保,因此最終你和你朋友一起給出了這個系統(tǒng)狀態(tài)的估計值诉濒,這個值的范圍被縮小到了你和你朋友都認可的那個范圍里。因為有了你朋友的支持夕春,你現(xiàn)在感覺對這個結論的信心增強了未荒。
現(xiàn)在歸納一下我們到底做了什么?
1. 你自己對系統(tǒng)做了一個猜測及志,有一定可能是對的片排,也有可能是錯的寨腔,并且你感到不是很有把握。
2. 保險起見率寡,你找了一個朋友來出出主意迫卢,經過討論后融合了他的意見,現(xiàn)在有了一個兩個人都覺得更有信心的結論冶共。
3. 如果對這個結論還不滿意的話乾蛤,這個過程其實可以一直重復下去;朋友還可以再邀請一個他的朋友來幫忙捅僵,把他的朋友的意見也融合進來幻捏。
4. 當然朋友是不能隨便找的。如果這個朋友對你的問題毫無經驗命咐,那你跟他討論只會讓你感到更加心煩意亂篡九,這個情況就叫不確定性增加了。所以你要找一個靠譜一些的朋友醋奠,這樣才能減少不確定性榛臼。至于怎樣算“靠譜”相信你自然是有個標準的。
好了窜司,到此為止沛善,卡爾曼濾波的核心思想其實已經講完了。你肯定會驚訝地問塞祈,這難道不是我們在日常生活中最正常最自然不過的行為嗎金刁?
沒錯,可以這么說议薪,每個人實際上都是自帶卡爾曼濾波器的尤蛮,這方面文科生理科生都一樣;只是你并沒有察覺這一點斯议,沒有把這個過程用數(shù)學工具抽象出來上升到理論高度产捞,再應用到不同領域來解決問題而已。而這一切正是60年前卡爾曼博士所做的工作哼御∨髁伲卡爾曼博士察覺到,在真實世界中恋昼,雖然每個單獨的測量都會產生隨機誤差看靠,但通過不同的方式和不同的角度對系統(tǒng)進行多個測量,可以提供更多系統(tǒng)狀態(tài)的相關信息液肌,把這些信息進行融合可以有效提高我們對系統(tǒng)狀態(tài)預測的準確性挟炬。
1969年,也就是卡爾曼博士發(fā)表論文之后的第9年,NASA在阿波羅登月項目中辟宗,用卡爾曼濾波器理論控制月球軌道艙和登月倉成功對接爵赵。
抽象和升華
在上面的這個例子里,有幾個關鍵點值得關注泊脐,第一個是在猜測或給出結論時的“把握”空幻,或者說是“不確定性”;第二個就是你請的朋友的“靠譜”程度容客;第三個就是你和你的朋友討論時“融合”不同意見的方法和過程秕铛。這三點實際上決定了你最終作出決定的質量。抓住這三個要素進行數(shù)學建模缩挑,就開啟了邁向卡爾曼濾波的數(shù)學表現(xiàn)形式的第一步但两。
卡爾曼濾波的具體數(shù)學表現(xiàn)形式我就不寫了,因為這方面的教材很多供置,沒有必要重復谨湘,大家可以選擇適合自己的進一步閱讀。
對于文科生來說芥丧,數(shù)學工具可能使用起來的不是那么自如紧阔。但是也不要緊,我前面講過续担,數(shù)學只是描述思想的工具中的一種擅耽,還有其他的表達方式。所以我也很期待從這里開始物遇,能看到各位用自己擅長的方式來精彩演繹這一理論乖仇。
多樣性是幸福本源
寫到這里我自己忍不住都有些感嘆。世界奇妙至此询兴,往往此界困擾眾生的問題乃沙,卻不經意間在另一時空給出了答案。羅素曾在他的《西方哲學史》中寫道:多樣性乃是幸福的本源蕉朵。羅素自己也是個偉大的數(shù)學家崔涂,然而他卻沒有對這一句論述給出證明。數(shù)百年來無數(shù)人為此辯論爭斗甚至付出生命代價始衅,究竟為什么我們的世界需要多樣性?維護多樣性是否值得我們付出那樣巨大的代價缭保?
卡爾曼濾波理論當然還算不上一個完整的最終證明汛闸,但是他的巨大成功為羅素的這一觀點提供了有力的理論和應用支持,那就是保持多樣性有助于接近世界的本源艺骂。我們在不斷探索世界的多樣性過程中诸老,能夠不斷以不同方式,從不同角度揭示更多事物的內部信息钳恕,也終將使我們越來越接近世界的本源别伏。單一世界是沒有生命力的蹄衷,只能和本源漸行漸遠而自行消亡。