午飯吃什麼?去拔草樓下新開的餐廳,還是去對面那家常去的小館子?
這可能是很多人每天面臨的亙古選擇題,也是我們每一天都在做一類特定的選擇:選擇已知的最愛還是未知的可能?
如何平衡這個選擇不僅是我們糾結的日常,也是計算機學家半個世紀以來的研究物件。
春節前,大資料文摘啟動了最新音訊欄目——Data Reading Club,我們為大家推薦的書籍是Algorithm to Live by(生活中的演算法),上一期我們跟大家探討了演算法與人生伴侶的選擇——神奇的37%法則。
本週,我們繼續聊聊【選擇】這個人生中的重大話題。由來自杜克大學美女主播段天霖與大家分享:在選擇時,如何衡量“堅守已知(exploit)”或者“探索未知(explore)”。
就像讀書會小蔣所說:對於計算機來說,explore代表收集資訊,而exploit是運用這些資訊來達到一個確定的理想結果;在生活中,explore是我們對未知世界的探索,而exploit是享受已知的美好。
從這個意義上講,認識一個新朋友、聽一首新歌是explore,與家人團聚、聽一首迴圈無數次的老歌就是exploit。仔細想想,生活中這兩者總是共存的,但他們之間的平衡卻是因人而異的。那麼從演算法的角度,這個命題是否存在一種最佳解法呢?
要回答這個問題,我們還是要從它的起源說起。
雖然,電腦科學家對於午飯吃什麼有種有啥吃啥的佛繫心態,但是,他們對於幻想怎麼在賭場賺最多的銀子倒是有極大的熱情。
假設賭場中有一排未知預期收益的老虎機,只能靠投錢來以身試法,你要花多久時間來收集資訊,又該在什麼時候鎖定目標發家致富呢,這就是Explore-Exploit的最經典案例,multi-armed bandit,多臂老虎機問題。
讓我們從這個經典案例說起,看看歷史上,不同科學家是如何選擇的。
Win-Stay邏輯
也許你可以隨機挑選一臺老虎機,只要你在贏就一直盯住它,一旦輸了就轉投另一臺,以此迴圈。
這是由哥倫比亞大學的數學家Herbert Robbins針對多臂老虎機問題提出的第一個解法: Win-Stay Lose-Shift。
這個解法中Win-Stay的邏輯很直觀:如果你已經選擇一臺機器,那麼如果它讓你贏了,那隻會讓你更有可能繼續選擇這臺機器;但Lose-Shift就有待推敲了:試想你認準的機器讓你連贏10次,但在第11次輸了,你真的會因為這一次的結果而徹底改換一個嘗試物件嗎?
就像你最愛的那家餐廳,你真的會因為某一次的某道菜沒有那麼好吃就不再去了嗎?
抓住時機
假設我們考慮的時間是一個有限的區間,探索的價值是逐日遞減的,且不說你新發現的選項到底是不是比你目前的最愛更好,就算你找到了新的最愛,已經用來explore的時間也意味著起碼這一次留給你exploit的時間沒有多少了。
反過來,有限時間裡exploit的價值卻是遞增的。你截止這個月為止最愛的餐廳by definition就一定和你上個月之前所嘗試過的餐廳一樣好或更好。
所以時間的維度決定了我們的策略應當根據剩餘時間而定:如果你還有大把的時間去explore或者exploit,那麼盡情探索吧。
基廷斯係數
現在我們知道了interval是平衡explore/exploit的關鍵,同時它並不一定是一個具象甚至有界的期限,那麼我們該如何將這種對於interval的認知融合到演算法中呢?
Gittins Index回答了這個問題。
要理解Gittins Index 基廷斯係數,我們要先介紹一個經濟學中常見的概念:time discounting,Gittins認為這種單位回報是呈幾何遞減的。
以選擇餐廳為例,如果你認為你有1%的可能性某天會離開這座城市,那麼一頓第二天晚餐的價值就應該是今天晚餐價值的0.99,依次遞推。基於目前所收集的資訊,Gittins Index為每一種情況都賦予了一個係數。
因此,你的眾多選擇瞬間變成一個明確的定量比較——誰係數高就選誰。
後悔值和最優值
1985年,提出Win-Stay Lose-Shift的那位哥大數學家Robbins時隔多年又帶著加強版解法歸來了。
這一次他提供了另一個看待這類問題的思路:在你做一個選擇時,你不必糾結任何一個選項會給你帶來什麼,而是捫心自問,如果不做某個決定,你會有多後悔?
Robbins的新演算法所做的將後悔量化,定義為實施某一特定策略所得到的回報與最大可能的回報之間的差值,就是選擇那個將你的後悔值最小化的策略。
如何平衡?
不過人和機器終究還是不同的,我們並不會、也不需要總按照最佳策略生活。
面對這變幻不息的世界,我們能從這些演算法中學到的,或許並不只是某一種策略,而更是一種新的看待選擇與變化的方式:
人生的旅程中,剛剛啟程的孩子正該盡情探索屬於他們的無限可能,而年紀漸長的父母老人在我們眼裡的固執己見,又何嘗不是一種看過更多人生風景後的積累與沉澱。
二月已過、三月將來,新春伊始,不如就從今天起將這些新的體會付諸實踐:探索一家新的餐廳,也挑戰踏出你的舒適圈,或許漸漸你會發現,生活真的一天比一天更美好。
以上就是Algorithm to Live by第二章的內容主要內容,點選閱讀原文收聽大資料文摘喜馬拉雅專欄音訊《生活中的演算法》。
在這個嶄新的專欄中,我們將陸續探討這些你在生活中將要用到的演算法。這些演算法和觀點將主要來自一本演算法書籍Algorithm to Live by(生活中的演算法),這本書被稱為“the computer science of human decisions(人生抉擇中的電腦科學)”。主播段天霖告訴我們,在杜克大學和史丹佛大學等學府的統計學和計算機系,這本書幾乎人手一本,是一本難得引人深思的好書。
在這個新的欄目裡,我們將從這本書出發,探討演算法和人生的關係。當然,其中所涉及的並不只是電腦科學,它與數學、工程學、認知科學、心理學、經濟學都通通相關。
本書的兩位作者除了本專業,也都在這些方面各有建樹:Brian Christian是位布朗大學計算機與哲學雙學位畢業的作家和詩人,Tom Griffith則是史丹佛統計與心理學畢業的加州伯克利教授,專攻computational cognitive science,計算認知科學。
不僅如此,這兩位大神還專門找到當初設計這些計算機演算法的科學家們,瞭解這些演算法背後的故事。接下來的一段時間,我們將在這個新欄目中,跟隨他們的腳步,探討一些人類和計算機所共同面臨的難題:
如何分配有限的空間、時間、注意力;如何應對不完整的資訊和無限的未知......我們將瞭解到計算機是如何嘗試優化這些問題的,而我們作為人類可以如何借鑑,又面臨著哪些獨特的挑戰。
最後,希望這本書的旅程能讓你我都能有所收穫,並帶著一種新的視角來審視取捨與抉擇,這個人生中永恆的主題。
當然,我們也歡迎對這本書和我們的欄目感興趣的讀者,加入我們的reading club,和我們一同閱讀本書,發表你的評論,探討相關話題。
用雲棲社群APP,舒服~