科學界有兩位“剃頭師傅”聲名遠播:
一位是著名的羅素爵士虛構出來的理髮師,他的存在本身動搖了集合論的基礎,直接導致了第三次數學危機;
另一位是14世紀的邏輯學家奧卡姆的威廉,他那把“奧卡姆剃刀”,在眾多科學領域都有廣泛應用。
我們接下來對兩位進行分別介紹。
羅素的理髮師
羅素其人
一戰爆發以後,大哲學家羅素不去參戰而去反戰,有個老太太很生氣地對他說:“別的小夥子都為了保衛文明穿上軍裝打仗去了,你就不慚愧麼?”羅素回答說:“我就是他們要保衛的那種文明。”
上面只是個段子,但足以看出羅素其人有多碉堡。正經的來講:
伯特蘭·阿瑟·威廉·羅素(Bertrand Arthur William Russell,1872年—1970年),英國哲學家、數學家、邏輯學家、歷史學家、文學家,分析哲學的主要創始人,世界和平運動的倡導者和組織者。出身貴族繼承過伯爵的爵位,獲得過諾貝爾文學獎,發表過《西方哲學史》、《數學原理》、《相對論入門》、《宗教與科學》、《論兒童教育》、《幾何學基礎》、《人類有將來嗎》等重要作品。寫過《婚姻與道德》,也因為出軌而離過3次婚,結過4次婚。發表過著名的《羅素—愛因斯坦宣言》,號召世界各國政府反戰。接受過BBC電視採訪,寄語一千年以後的人類。羅素是一位懷疑論者,名言是:“我絕不會為了我的信仰而獻身,因為我可能是錯的”。
總體來講,羅素是一位博學多才,人生閱歷豐富多彩的著名學者!
理髮師悖論
小城裡的理髮師放出豪言:他只為,而且一定要為,城裡所有不為自己刮鬍子的人刮鬍子。但問題是:理髮師該為自己刮鬍子嗎?如果他為自己刮鬍子,那麼按照他的豪言“只為城裡所有不為自己刮鬍子的人刮鬍子”他不應該為自己刮鬍子;但如果他不為自己刮鬍子,同樣按照他的豪言“一定要為城裡所有不為自己刮鬍子的人刮鬍子”他又應該為自己刮鬍子。
有人說,這位理髮師傅真是不可理喻,人家不給自己刮鬍子你就非要給人家刮,簡直喪心病狂嘛。那麼如果真有這麼軸的一位理髮師傅,請問他到底該不該給自己刮鬍子,他的鬍子又能交給誰刮呢?事實上,這是羅素舉的一個例子,稱為理髮師悖論。羅素之所以舉這麼一個例子,其實後面是有個故事的。
悖論後面的故事
話說,德國數理邏輯大師戈特洛布·弗雷格曾研究用集合論去描述數理邏輯,為此他還寫了一本書。他在給羅素的信中提到他的工作時說他為此構造了一個特殊的集合A,這個集合由所有不包含自己的集合構成。也就是說,集合A的元素X是一個集合,X自己不是自己的元素。羅素在回信中講述了前面的理髮師的故事。聰明的弗雷格看出了這實際上是指出了他所構造的集合 A的問題:如果A不屬於A,那麼根據定義A應該包含A,即 A屬於A;但是如果A屬於A,那麼同樣根據定義A又不應該包含A,即 A不屬於A。可此時弗雷格的書已經付印,修改已經是不可能的了,弗雷格只能在書中加一個後記並寫到:在工作結束之後而發現那大廈的基礎已經動搖,對於一個科學工作者來說,沒有比這更為不幸的了。
這一歷史故事應該只是一個“故事”,而不完全是歷史事實。從看到的一些羅素和弗雷格的通訊來看,他們的交流是很學術的。但羅素悖論指出了弗雷格著作中的一個錯誤,使得他來不及修改他的著作而只能追加一段後記這是一個事實。
雖然羅素沒有直接點出那個弗雷格所構造的集合的悖論,但人們還是將那個集合的悖論稱作羅素悖論。羅素悖論可以簡單描述為:構造一個由所有不包含自己的集合構成的集合A,即 A={X|X不屬於A},但我們無法斷定A是否應該包含A,無論包含或者不包含都會匯出矛盾。由於羅素悖論只涉及集合的定義和從屬關係的判斷這些集合論最基礎的問題,而集合論又已成為數學理論的基礎,因此羅素悖論導致了第三次數學危機。不同於前兩次的數學危機都得到了完美的解決,第三次的數學危機迄今為止尚沒有完美的解決方案。目前數學家們的思路是透過將集合的構造公理化,來排除悖論的集合的存在性。例如,在策梅洛(Zermelo)和弗倫克爾(Fraenkel)等提出的ZF公理系統(也稱ZFC公理系統)中,嚴格規定了一個集合存在的條件,這樣就無法定義出悖論的集合。這也算是一種解決方法。
理髮師悖論vs集合論
用集合論的語言來描述理髮師悖論是這樣的:小城裡的人構成集合 A={a|a是小城裡的人},對於每個小城裡的人a可以構造一個A的子集S_{a}={x|a給x刮鬍子} ,即a給屬於S_{a}的人刮鬍子。那麼,如果城裡人a給自己刮鬍子,則a屬於S_{a},如果a不給自己刮鬍子,則a不屬於S_{a},如果a不給任何人刮鬍子,則S_{a} 為空。設理髮師為s,則理髮師的豪言就是:S_{s}={a|a不屬於S_{a}}。問題是:如果s屬於S_{s},這將與S_{s}的定義矛盾,但如果s不屬於S_{s},根據S_{s}的定義,又應該有s屬於S_{s}。
羅素悖論可以簡單描述為:構造一個由所有不包含自己的集合構成的集合A,即A={X|X不屬於A},但我們無法斷定A是否應該包含A,無論包含或者不包含都會匯出矛盾。
與羅素的這位非要給那些不給自己刮鬍子的人刮鬍子的理髮師不同,下面的這位“剃頭師傅”可以在你女朋友逼問你,她到底是留長髮好看還是短髮好看的時候,給你幫助。讀完下面的文字,你下次就可以給女朋友逼格滿滿加政治正確的回答了。
奧卡姆剃刀
威廉其人
奧卡姆的威廉(約1287–1347),出生於英格蘭的薩里郡奧卡姆(Ockham),在大學註冊為奧卡姆的威廉。14世紀邏輯學家、神學家、聖方濟各會修士,中世紀頗具影響力的哲學家,唯名論者。他以邏輯學家著稱,主要是因為奧卡姆剃刀。其中的“剃刀”用來比喻切除不必要的假設,或者切分開兩個類似的結論。
奧卡姆並未發明這個所謂的“剃刀”——之所以歸功於他,是因為奧卡姆頻繁而有效地使用它(Ariew 1976)。奧卡姆以很多種方式陳述過這個法則,然而其中最流行的“若無必要,勿增實體”(Non sunt multiplicanda entia sine necessitate),是由愛爾蘭方濟各會哲學家約翰·潘奇,在1639年對鄧斯·司各脫著作的評論中總結的。
奧卡姆剃刀的解釋
奧卡姆剃刀是說,在對現象進行解釋時,如果沒有必要就不要增加更多假設。“剃刀”即用來比喻剔除不必要的假設。這是一種哲學範疇的東西,對各個領域都有指導應用。
自然科學:牛頓說:“我們需要承認,自然事物各種現象的真實而有效的原因,除了它自身以外再無須其他,所以,對於同樣的自然現象,我們必須儘可能地歸於同一原因”。這話說的沒毛病,但怎麼看都像是給牛頓自己發現的萬有引力定律打的廣告語啊。
數學領域:奧卡姆剃刀的形式之一,是基礎機率論的直接結果。根據定義,任何假設都會帶來犯錯誤機率的增加;如果一個假設不能增加理論的正確率,那麼它的唯一作用就是增加整個理論為錯誤的機率。
威廉·傑弗里斯(和哈羅德·傑弗里斯沒有關係)和詹姆斯·貝爾格爾(1991)主張:“一個可調引數較少的假設,自然地會擁有較高的後驗機率,因為它所作出的預言會更精確”。他們所提出的模型,在理論的預測準確性和精確度之間尋求均衡:精確地作出正確的預言的理論,優於給出一個大的猜測範圍的或者不正確的理論
設計領域:以簡約為美,不做過度設計。任何企圖給維納斯接上斷臂的設計,顯然都是徒勞無功的。在蘋果產品的設計中,喬布斯也已將這一原則給淋漓盡致地體現了出來。
其他領域:。。。
剃刀原則vs機器學習
當我們要找到一個給定的資料集中蘊含的規律,或者說要識別其中存在的模式時,如果假設的模型足夠複雜,是可以完美地擬合已知資料的。但擬合一個模型的終極目的,是要在未知資料上有很好的預測能力,即泛化效能。過於複雜的模型,因為添加了過多的假設,讓模型可選擇的引數的自由度超過了資料所包含的資訊量,從而引起過擬合,最終導致的結果是模型在已知資料上表現很完美,在未知資料上表現異常糟糕。
對於過擬合的現象,可以用方差-偏差分解,給予理論上的解釋。一般來說,過擬合是因為過於複雜的模型,過度學習了資料中的噪聲,從而喪失了“舉一反三”的能力。此時,根據奧卡姆剃刀的原則,應當減少假設,降低模型的複雜度。
一方面,可以嘗試更為簡單的模型,比如,將非線性模型改為線性模型,用更簡單的基函式等;另一方面,可以在已有模型的基礎上,應用剃刀原則剔除一部分複雜度。比如,對樹模型進行剪枝,對神經網路進行權重衰減或early stopping等。
奧卡姆剃刀vs畫蛇添足
有人會說,奧卡姆剃刀不就是中國傳統寓言故事中的“畫蛇添足”嘛,我們中國歷史上早有人講過了!嗯,確實有那麼點意思,但內涵其實相去甚遠。“畫蛇添足”更多的是說不要做了無用功最後反而壞事,而奧卡姆剃刀則是給出了一種判斷標準和指導原則,即“如無必要,勿增實體”。
這就像孔子曾講:“逝者如斯夫,不捨晝夜”,道出了時間的連續性。但這更多的是感慨時光流逝的快,勸勉大家惜時,並沒有更深的內涵,比如時間和空間的關係。再如,莊子講:“一尺之錘,日取其半,萬世不竭”,只是說明了這個二分的過程可以無限的進行下去,但並沒有給出最後收斂到的狀態,因此跟極限的理論也完全不同。因此,我們大可不必從畫蛇添足的寓言中去過度找尋奧卡姆剃刀的原型。
言及於此,簡單跑個題吐槽一下!我們在歷史上確實有過璀璨奪目的思想成就,但跟別的文明相比之時也不必牽強附會,過於誇大其貢獻。若是一個人,家道中落又碌碌無為又好面子,勢必會言必稱家裡祖上如何如何。所以,還是我輩人自己努力的好。
讀完這一章節,相信下次你女朋友問你“留長髮還是短髮”的問題的時候,你已經有了答案。告訴她:“你糾結這麼久,說明你留長髮和短髮在好看程度上相差無幾。根據奧卡姆剃刀原則,你應該留短髮”。
延伸閱讀
1、《數學文化》 顧沛 高等教育出版社; 第2版
2、《理髮師悖論的最終解決》 知乎
3、《The Elements of Statistical Learning: data mining, inference, and prediction》 Second Edition
返場附送
羅素有一個更著名的類比,通常叫做“羅素雞”,用來形象地說明不完全歸納可以匯出很不可靠的結論。這個例子在劉慈欣(也是《流浪地球》的作者)大名鼎鼎的科幻小說《三體》中,被用來說明宇宙普適的物理規律可能並不存在,因為人類總結出的物理規律都來自對人類能觀測到的時空內的現象的不完全歸納,規律能夠成立可能只是尚未找到反例而已。
羅素雞
一個農場裡面有一群火雞,農場主每天中午十一點來給它們餵食。火雞中的一名科學家觀察這個現象,一直觀察了近一年都沒有例外,於是它號稱發現了自己宇宙中的偉大定律,每天上午十一點,就有食物降臨。它在感恩節早晨向火雞們公佈了這個定律,但是這天上午十一點食物沒有降臨,農場主進來把他們都捉去殺了。