依塵(中)
文\/李子昊
前情回顧:
產業組織理論經濟學家君遲罹患一種罕見的幹眼症達兩年之久,到處尋醫尋藥未果。與之恩愛十幾年的戀人依塵對他悉心照料,但病情並未得到改善。手握“潛意識舒適區拓撲投射療法”的陳醫生的到來似乎是他灰暗病榻上的曙光,但高傲博學、內心執拗的病人對醫生充滿了不信任,治療過程異常艱難。陳醫生決定大張旗鼓、事無巨細地對君遲闡釋療法,以期突破他的心理防線……
君遲隻是默默地點了點頭。陳醫生的敘述很專業。君遲作為一名科研工作者,知道在給外行科普時該用什麼樣的辭藻和表達方式。雖然學科不同,但陳醫生此時無疑用的就是這樣的表達方式,而隻有真正的專家才能做到這一點——君遲對此毫不懷疑。
陳醫生又清了清嗓子,繼續說道:“可是大多數舒適區都存在於意識表層,我們稱之為‘表意識舒適區’(scious fort Zone)。通俗來講,就是個體本身是知道自己舒適區的存在的。讓我們繼續沿用上麵的例子。一個宅男當然知道天天宅在家不好,一個隻在晚上心安的人當然知道白天應該出去工作,一個巨嬰同樣能意識到獨立生活的重要性。他們知道自己的舒適區在哪裏,知道自己就在但不該隻在舒適區裏,他們隻是缺乏信心、動
機、勇氣或毅力走出舒適區。用《聞香識女人》這部電影中的一句經典台詞概括就是:‘他們知道哪條路是對的,毫無例外,但他們從來不走。為什麼?因為太他媽苦了。’對於這類人,大多數心理醫生都會鼓勵、誘導、刺激他們走出舒適區。這並不是一項困難的工作,因為醫生對患者的舒適區已經有了充分的認識。就像做科研一樣,發現問題永遠是第一步且最重要的一步。至於之後的實際著手研究,則可以說是順水推舟、因勢利導罷了。
“可是在極少數情況下,‘發現問題’這件事本身就會變得尤為困難,因為個體並不知道他的某個特定的舒適區在哪兒,抑或他根本不知道那個舒適區的存在。每個人都會有極其有限的這樣的舒適區,它們隱藏在人的潛意識裏,因而被稱為‘潛意識舒適區’(Subscious fort Zone)。這就是我的療法針對的對象。”
“哦?”君遲身體前傾,手肘撐在膝蓋上,雙手托著下巴。他一臉專注,整個人完全沉迷於這個新穎的理論之中。他那本能般的科研思維——盡管靈敏度早已今非昔比,將陳醫生的話反複拆解、重組、推敲、分析,試圖從中找出什麼不對的地方。“可如果連個體本人都不知道這個舒適區的存在,作為醫生的旁人又如何能得知呢?即便個體知
道某處存在著一個舒適區,卻不知道它在哪兒,那麼醫生又怎能從他的大腦中將這個信息挖出來呢?”
“很好的問題。”陳醫生點了點頭表示讚成,仿佛他早料到君遲會這樣問,又仿佛君遲能夠問出這樣的問題使他感到十分欣慰。“針對第一個問題,在正常的情況下,我們的確不知道、也不需要知道某個個體的潛意識舒適區存在與否。隻要這個人行為正常,我們完全可以把他當成一個正常人看待。隻有當一個人的心理出現問題,或是行為表現異常,而現代醫學對於這種異常又給不出合理的解釋時,我們才能夠反過來推理出這個人有一定概率存在著某個需要調節與糾正的潛意識舒適區,從而予以治療。打個比方,姑且假設一種遺傳病,就用吉特曼綜合征來當例子吧,其病因是基因SLC12A3發生功能缺失突變導致NCCT蛋白的結構或功能異常#pageNote#0。這種病會引起低血鉀,但並不是低血鉀的主要成因。另外,SLC12A3基因的表達是隱性的。因此,如果一個人血鉀正常,我們就完全無須在意他這個基因的表達方式。如果一個人患有低血鉀,我們也不應首先考慮基因這個因素,隻有在臨床上給不出別的解釋時,我們才會反推這個病人或許存在基因問題,進而給他做基因檢測,查查其是否真的有顯性表達。
“當然,這個
比方並不完全恰當。全基因組檢測在現代科技的發展下已經變得可行,即便一個人毫無症狀,我們依然可以對他做全基因組檢測,找出所有可疑致病基因的表達——隻是這麼做根本沒必要,白白浪費錢和時間。相比之下,人類大腦則要複雜太多,想要做所謂的‘全潛意識舒適區檢測’是完全不可能的。事實上,這種可能性已經在數學上被證偽了。因此,我之前才說,根據病症來反推異常的潛意識舒適區的存在隻是一個概率事件,至於概率的大小,醫生是無法事先預知的。”
“也就是說,根據我的疾病特征,你隻是‘猜’我的腦中存在著某個潛意識舒適區需要加以幹預,但你自己也不確定,是嗎?”君遲皺著眉頭,略感失望地問。
“是的。”
“並且我還可以合理地推斷,找出這個潛意識舒適區的方法一定有較大的風險或代價。”君遲此時就像一位德高望重的教授麵對一個正在答辯的博士生,咄咄逼人地問著各種刁鑽的問題,“否則,任何人無論有什麼問題,都可以放心地用這個方法試一試,看看有沒有你所說的那種病態潛意識舒適區。就像如果做手術不會造成任何損傷的話,X光、超聲、CT等就都沒有用武之地了。無論什麼人犯了胃痛頭痛關節痛之類的,隻需二話不說開一刀,到底是啥病往身體裏瞅一眼就一清二楚了
。”
“很遺憾,你說的完全沒錯。”陳醫生緩緩點頭。雖然對於這一點他現在已經絲毫不擔心,但他還是不禁佩服君遲敏銳的思維和精準的推斷,“這個方法,也就是我之前提到過的拓撲投射法,確實伴隨著相當大的風險。我稍後會詳加解釋。可是有一點我必須事先言明:盡管我剛才說無法準確預知你病態潛意識舒適區存在的概率,但憑借一個醫生的直覺,我對我的判斷相當自信。你能理解嗎?‘直覺’二字雖然聽起來十分不嚴謹,甚至沒有任何科學依據,卻是人類與生俱來的、計算機永遠無法跨越的一道鴻溝——至少我是這樣認為的。讓我舉一個科幻小說中的例子吧。阿西莫夫在《永恒的終結》這部作品中,構想出了一個能夠計算人類未來演化路徑的龐大計算機陣列。然而,要想找出改變人類演化路徑所需的最小現實變革(Minimum Necessary ge,簡稱MNC),卻隻能仰仗直覺極準的人類時間技師。我並不指望這段說辭能夠打消你的疑慮,也知道你希望直接通過拓撲投射法的數學理論來自行判斷其可靠性和可行性,但我對你做的事,並非隻是單純的投骰子般地碰運氣。我堅信我的療法能夠成功。”
陳醫生一口氣說完了這一大段話,麵容已經因暫時性缺氧而變得有些發紅。他很想大口
大口地深吸幾口氣,卻隻敢以最慢最輕的方式呼吸著,仿佛他和君遲之間有一座無形的天平正處在最微妙的平衡狀態,哪怕是對空氣最輕微的擾動都會使其徹底顛覆。他心裏明白這番話的重要性。如果君遲完全抗拒這樣的解釋,那他的治療很可能會因此毀於一旦。不料,君遲卻毫無預警地放聲大笑起來,在一瞬之間將整座天平震得粉碎。
“哈哈哈哈哈!陳醫生,我不但不懷疑你,而且現在還更喜歡你這個人了。直覺,學者的直覺!說得太好了!什麼‘條條大路通DS#pageNote#1’,放他媽的狗屁!數據是死的,它再怎麼大也還是死的,說白了就是一座夾雜著幾顆鑽石的垃圾山而已。所謂的數據科學家就是一幫試著從大堆垃圾裏淘出鑽石的盲目淘金者,這和大海撈針又有什麼區別?為什麼不像個真正的學者一樣,把腦子用在該用的地方,一開始就著眼於真正值得研究的對象呢?不過陳醫生,我猜你的拓撲投射法和拓撲數據分析應該有什麼聯係吧?所以請別介意我開的這個小玩笑。你要是能從我腦子裏挖出什麼寶藏,咱倆平分就是,豈不妙哉!”
在這之前,陳醫生從未見過他身旁的這個男人笑起來的樣子,哪怕是最淺的微笑。他就像花崗岩雕刻成的上將關雲長,麵對刮骨之痛都能夠麵不改色,在任何場合都絕不會露出半分笑意。陳醫
生在過去的一周裏不時會在腦中構建出他的麵部特寫,然後試圖將這幅特寫的嘴角向上提一些。毫無例外,每一次都以失敗告終。陳醫生想,這大概是他倆第一次見麵時,君遲留給他的印象太過痛苦、悲慘、沉重。沒有人能從那樣的人身上尋找任何一絲有關“快樂”的線索。那樣做實在太殘忍了,就如同讓一個孕婦親手剖開自己的肚子,將已死的胎兒抱出來,再親手將肚子一針一針縫上。
可現在,這個男人真的笑了——不是微笑,而是聲振屋瓦的大笑。陳醫生僵坐在那兒。此刻,他腦海中一直試圖想象的東西就清清楚楚地呈現在他麵前,但他感到的不是欣慰,而是徹骨的寒意與排山倒海般的悲痛。不是因為這笑聲與笑聲主人的淒慘處境格格不入,恰恰相反,這笑聲主人笑的就是自己——千瘡百孔、遍體鱗傷的自己。這笑聲就像一座冰山,突出水麵的一小塊看上去絢麗奪目,下麵卻隱匿著龐大且無可比擬的酷寒與黑暗。這是拉奧孔被無數海蟒纏身時發出的笑聲,是普羅米修斯麵對啄食其身體的鋪天蓋地的禿鷹發出的笑聲,是赫拉克勒斯看著自己親手殺掉的妻子和女兒的屍身發出的笑聲,是被阿爾忒彌斯變成鹿的阿克特翁在被同伴和獵狗殺死之前發出的笑聲……陳醫生動搖了。刹那間,他仿佛化身撒旦,聖潔的白大褂被無
辜之人的鮮血染得猩紅。他到底該不該救君遲?死亡對他而言會不會真的是種解脫?古諺有雲:“有朝生而暮死者,有春夏生而秋冬死者,有十年百年千年而死者。雖有遲速,想去曾幾何時?”醫生若能治愈一個人當然是好的,可讓一個一心求死之人苟活於世又算是什麼呢?讓人解脫與見死不救明明一善一惡,卻在無數活生生的現實醫學例子中化為一體。
“陳醫生?”君遲的話打斷了陳醫生的思緒。此時的君遲已經恢複之前嚴肅而略帶疲倦的模樣。陳醫生想:“現在糾結這些又有什麼用呢?反正已經沒有回頭路了。”他花了好幾秒鍾回憶剛才和君遲的對話,這才有些勉強地說道:
“寶藏什麼的是你開玩笑了,不過拓撲投射法的來源你的確猜得不錯。這樣吧,我從頭給你講講。一是讓你對我的數學水平稍稍建立點兒信心,二是如果我有啥說錯了的地方,你也可以及時糾正。不過一開始你可能會覺得簡單得有些無聊,希望你別介意。”直到此時,陳醫生才完全擺脫適才的驚愕與困擾。
“當然不介意,陳醫生。你就當我是個對數學一竅不通的外行就好。”
“嗯好。因為這個療法的核心是數據的降維處理,所以我們就從卡爾·皮爾森(Karl Pearson)和哈羅德·霍特林(Harold Hotelling)發明的‘
主成分分析’(Principal po Analysis,簡稱PCA)#pageNote#2講起吧。這你肯定……你和依塵肯定都學過,畢竟這是最簡單的數據降維法,也是機器學習中最基礎的非監督學習法。所謂的數據降維,就是試圖將有許多變量的大數據——如基因數據、大氣數據——簡化,以便發現數據中隱藏的規律和做進一步的數學統計分析。說白了,PCA——就是將數據標準化後,先選取某個對於所有變量的線性組合——也就是一個新的坐標軸,稱為第一主成分——使得數據在這個坐標軸上方差最大,再選取第二個對於所有變量的,且與第一個線性組合正交的線性組合——即一個與第一坐標軸正交的坐標軸,稱為第二主成分——使得數據在這個坐標軸上的方差是所有與第一坐標軸正交的坐標軸中最大的。以此類推,我們就可以得到一個由原來的各變量的線性組合——即所謂的主成分——所構成的新的正交坐標係,使得數據的第1,…,n大方差在第1,…,n主成分——即第1,…,n坐標軸——的方向上。用通俗的語言講,第1,…,n主成分依次代表了數據中最大的剩餘信息量。因此,通過PCA,我們就可以選取前k(k≤n)個主成分進行分析,從而達到降維的目的。比如,我們可以隻選取
第一和第二主成分,通過二維的貢獻率圖或雙標圖來直觀地觀測數據特征,這在任何編程語言(如Python和R)中都能夠輕易做到。不過PCA本質上隻是線性代數而已,這也意味著它的局限性是比較大的。
“而在21世紀初,數學家們則發明了‘拓撲數據分析’(Topological Data Analysis,簡稱TDA),也就是你之前提到過的。其中又以斯坦福大學數學係教授貢納爾·卡爾鬆(Gunnar Carlsson)2009年發表在《美國數學學會公報》上的《拓撲結構和數據》(Topology and Data)尤為有名——他本人自然是這個領域中的佼佼者。與PCA相比,TDA是一種靈活度更高,且保存有用信息更多的數據降維方法。拓撲學經曆了兩個多世紀純理論的沉澱後,終於在21世紀得以爆發出驚人的實用價值。想必你一定知道,拓撲學大致可以總結為一門研究圖形或空間結構連續變換的性質的數學分支,又可細分為代數拓撲、微分拓撲等。對於業餘數學愛好者們來說,拓撲學則無傷大雅地被化簡成‘一個咖啡杯和一個甜甜圈的拓撲結構是一樣的,但二者卻和一個橙子的結構不一樣’的概念。”
說到這兒,陳醫生向桌上的空杯子努了努嘴,自嘲式地笑了笑
,“每次我拿起這種帶把兒的杯子時,不知為什麼心裏總會浮現出這個比喻來,然後下一秒就會想剝個橙子,把它捏得稀爛。我想這就是科普太普遍的副作用吧。對於這一點,你作為一個經濟學家的體會肯定比我深得多。讓我猜猜,應該有很多人讀了曼昆的《經濟學原理》,就自以為洞悉了整個世界的經濟運作規律吧。”
君遲“撲哧”一笑,這回他是真的被逗樂了。眼前這個醫生能開得起這種玩笑,說明他不但精通數學和醫學,就連經濟學恐怕也造詣不淺。他越來越信任他了。就算他最後像之前的醫生一樣沒法治好他的病,和他時不時聊聊天也不失為一件輕鬆快活的事。“一針見血啊陳醫生,簡直是一針見血!讀過曼昆的書的都算是不錯的了,我見過很多人,連經濟和金融都分不清。一聽說我在讀經濟博士,第一反應就是稱讚我以後要去銀行或者證券公司賺大錢了,要麼就是問我一些買股票的秘密法門。一開始我還試著給他們解釋肯尼斯·阿羅(Keh Arrow)#pageNote#3和傑拉德·德布魯(Gerald Debreu)#pageNote#4的理論,試圖說服他們經濟學跟錢的相關性並不大。我跟他們說,經濟學就像別的科學,也是可證偽的,例如阿弗雷德(Afriat)定理#pageNote#5及其應用。最有意思的一次是,我告訴他們其實所謂的‘
黑暗森林假說’在博弈論裏能夠被歸納成:協調博弈中共同知識(on Knowledge)與幾乎共同知識(Almost on Knowledge)的納什均衡可以完全不同——紐約大學經濟係教授阿裏爾·魯賓斯坦(Ariel Rubinstein)1989年發表在《美國經濟評論》上的《電子郵件遊戲:基本常識下的戰略行為》(The Eleic Mail Game: Strategic Behavior Under Almost on Knowledge)中就有個非常簡單的例子。當然,說這些他們也不懂,後來我就幹脆放棄了,對牛彈琴都比跟他們講話舒服得多!”
“哈哈!我就知道你會是這反應。比起大眾對數學家的崇拜,他們對經濟學家的鄙夷真是毫無來由。”
“不隻是數學家,學計算機科學的也一樣高高在上。是吧?依塵。”君遲說著,有些嘲弄式地朝依塵望去。陳醫生先是順著君遲的目光望向同一個方向,隨後又將頭低下,看著自己早上剛擦得鋥亮的皮鞋的鞋尖。依塵則隻是一臉“可拉倒吧,別把我扯進來”的表情,佯裝的慍怒下掩飾不住溫柔的愛與寵溺。
陳醫生摘下他的圓眼鏡在衣服上擦了擦,有些刻意地試圖把話題拉回正
軌:“好啦好啦,再這麼瞎扯下去我今晚就得在你們家借宿了。雖然這張沙發睡起來應該挺舒服的,但我的呼嚕聲你倆可不一定吃得消。”
“你這麼瘦也打呼嚕?”君遲重新坐直了身子,言下之意很明顯是讓陳醫生接著說下去。
“你知道,”陳醫生接著說,“如果要用數學語言來嚴格定義那個深得大眾喜愛的例子,可以利用代數拓撲中貝蒂數(Betti number)#pageNote#6的概念。說得簡單些,在三維歐式空間中,令b(k)代表某拓撲曲麵k維的‘洞’的數目,那麼b(0)就是其連通區域的數目,b(1)是其一維的‘圈’的數目,而b(2)則是其二維的‘腔’的數目。
“因此,我們可以輕易得出:不論是甜甜圈或咖啡杯,它們都有b(0)=1,b(1)=2,b(2)=1,b(n)=0(n≥3);而橙子卻是b(0)=1,b(1)=0,b(2)=1,b(n)=0(n≥3)。如果把兩個甜甜圈合在一起成一個‘8’字形,那麼則有b(0)=1,b(1)=4,b(2)=1,b(n)=0(n≥3)。其中的結構區別在數學上可謂一目了然。
“我們可以順著這個思路發散下去:任何形式的數據都有所謂的‘結構’,而數據降維的根本目的就是從大數據中發掘出其核心結構。這就像試圖解開一個
錯綜複雜的高維繩結,將其轉化成一條一目了然的單純的一維繩子。因此,將數據的結構用數學理論嚴格定義,再用拓撲學這門專門研究空間圖形結構變換的分支學科中的方法來簡化和呈現,可以說是一件再順理成章不過的事情。再用剛才的例子打個比方:有的數據可能長得像咖啡杯,有的數據可能長得像甜甜圈。咖啡杯和甜甜圈的線性結構完全不同,如果用PCA來做數據降維將一無所獲。然而,若是用TDA降維,我們則會發現這兩組數據之間存在著超乎尋常的相似性,本質上都隻是個圓環罷了。無論這組數據有多少變量——幾千個、幾萬個——TDA都能夠刨除任何多餘部分,挖出其最核心的結構。這就是TDA的強大之處。
“我就不深入討論卡爾鬆教授在2009年發表的那篇講述TDA理論的論文了,裏麵涉及的如黎曼流形、抽象單複純形、持續同調之類的數學概念,也不是一時三刻能講清楚的。我就隻淺顯地講講在實際應用中最普遍的Mapper算法#pageNote#7吧,不知道你在研究中用到過沒有……”
“用到過。”君遲不等陳醫生說完就立刻回答道。他微微皺著眉頭,牙齒咬著下唇,右手中指和無名指按著眉心,看得出他在試圖從大腦中的某個角落尋找塵封已久的記憶。“我記得Python裏就有現成的程序包
,好像叫……叫KeplerMapper?”
“對,沒錯,就是KeplerMapper#pageNote#8!”陳醫生露出一種似乎太過誇張的欣喜之情。他實在太想讓身旁這個男人開心起來了。在剛才君遲那“撲哧”一笑後,陳醫生覺得離成功隻有咫尺之遙,他絕不能讓他再回到之前那種情緒中去。所以現在,哪怕最微小渺茫的鼓勵君遲的機會他都不會放過。
“不過你還是給我再講一遍吧,”君遲繼續用手使勁搓著額頭,“你也知道,我差不多兩年沒做過任何和學術沾邊的事情了。”
“當然可以。”陳醫生毫不遲疑地答道,“Mapper算法其實說來很簡單,一共就隻有四個步驟,分別是過濾(Filtering)、覆蓋(C)、聚類(Clustering)、繪圖(Graphing)。為了更為嚴謹清晰地闡述,我想我還是運用一些數學語言,這要比用純中文解釋方便得多。”陳醫生一邊說著,一邊從上衣口袋裏掏出一支筆和一個小本子,準備在上麵寫些必要的數學符號。