loading
cover

決斷的演算:預測、分析與好決定的11堂邏輯課(三版)

點閱數

作者
布萊恩.克里斯汀,湯姆.葛瑞菲斯

出版社
讀書共和國/行路

格式
EPUB

●特別說明 本書第一、二版與本版(第三版)中文書名相同,內容沒有增加,本版主要再行修潤與校對。

遠比賽局理論更強大、更全面的決策思維!
亞馬遜書店一上市,直取「電腦科學類」暢銷榜第1名,
並擠下《快思慢想》榮登「認知科學類」暢銷榜第1名,
出版多年,長踞「商務決策與問題解決類」榜單Top 50。
2017年「台灣人工智慧年會」暨「台灣資料科學年會」紀念贈書
《麻省理工學院技術評論》年度最佳書籍,亞馬遜書店年度最佳科學書籍

【亞馬遜書店數千則讀者肯定,給予平均4.5顆星超高好評!】
***

說到演算法,你想到的是政府和大企業如何利用數學模型算計你?
其實,演算法的本質是「解決問題的一連串步驟」,它長期為各領域帶來洞見與重大變革,還能幫助個人跳脫盲點與錯誤直覺。

說到電腦,你認為它冰冷且毫無彈性,思考方式跟人腦南轅北轍?
事實上,我們面臨的許多挑戰,源頭跟電腦科學家的困擾一樣,因此電腦解決問題的方式,能在極大程度上與人們的作法融合。

為什麼電腦科學家說,賽局理論「奈許均衡」的地位言過其實,「現代投資組合理論」也不是資產配置的好建議?本書訪問近五十年來最知名演算法的設計者,了解他們如何教電腦發揮最大效用,自己又從中學得什麼生活智慧,內容顛覆你對於「合理」的看法,眾多讀者大推:「真是過癮!」

書中各章以日常問題開場,釐清它們的演算結構後,探討研究者找出什麼解決方案,以及這些方法對學術、產業及個人生活帶來什麼幫助,像是:

►證明「所有雙人賽局至少有一個均衡狀態」的奈許均衡,讓約翰.奈許拿下了諾貝爾經濟學獎,但它的地位可能言過其實。為什麼?(賽局理論)

►自動駕駛汽車能改善交通阻塞,打造交通天堂?你可能要失望了。現在自私駕駛人各行其是的情形其實已接近最佳狀態。(賽局理論,自主行為代價)

►棉花糖實驗證明了意志力對日後的成就有深遠影響?事情沒這麼簡單。抵擋得住誘惑的另一個關鍵可能是「期望」……(貝氏法則)

►以現代投資組合理論榮獲諾貝爾經濟學獎的馬可維茲,居然把自己的退休金平均投資在債券和股票上!這未免太不聰明了?未必。(過度擬合)

►2010年5月6日,美國股市發生閃電崩盤,短短幾分鐘內有幾家公司股價飆漲、另幾家則直線崩跌,這是怎麼回事?(賽局理論,資訊瀑布)

►你打算在十八歲到四十歲期間覓得人生伴侶,那麼幾歲時選定的對象可能最好?(最佳停止點,37%法則)

►紙本資料用完隨手往旁邊疊,既沒條理又沒效率?不,根據演算法原理,這是目前已知最精良、效率最佳的資料結構。(快取)

►什麼情況下,隨便挑一封電子郵件回覆,會好過先回覆最重要的郵件?(排程,往復移動)

►為什麼玩吃角子老虎時,贏錢繼續玩同一台是好策略,但是輸錢就換一台則太過輕率?(開發與善用)

電腦科學還能協助我們清楚劃分哪些問題有明確解答、哪些則無,從而選擇自己要面對什麼,以及要讓其他人面對什麼,從而增進雙方互動的效率。
布萊恩.克里斯汀(Brian Christian)
布萊恩.克里斯擁有布朗大學和華盛頓大學的哲學、電腦科學和詩歌學位,現在是加州大學柏克萊分校的訪問學者。他個人還著有Most Human Human,亦由行路出版翻譯引介,初版中文書名為《人性較量:我們憑什麼勝過人工智慧?》,這本書為《華爾街日報》暢銷書、《紐約時報》與《紐約客雜誌》年度推薦圖書。他還有眾多作品散見於Wired、《紐約客》雜誌、《大西洋》雜誌、《華爾街日報》、《衛報》和《巴黎評論》等,以及《認知科學》等科學期刊,曾被翻譯為十一種語言。他現在住在舊金山。

湯姆‧葛瑞菲斯(Tom Griffiths)
湯姆‧葛瑞菲斯曾擔任加州大學柏克萊分校心理學和認知科學教授,現在是普林斯頓大學心理學與電腦科學教授,亦是該校的運算認知科學實驗室主任。他對於收集與分析資料的新方法(尤其是大數據)如何改變心理學研究,很感興趣,曾經發表數百篇科學論文,領域包含認知心理學和文化演變等。此外,葛瑞菲斯曾榮獲美國國家科學基金會、斯隆基金會、美國心理學會以及實驗心理學會等機構獎項。他現在住在紐澤西州的普林斯頓。

譯者簡介

甘錫安
由科學界踏入「譯界」,現為專職譯者。曾擔任Discovery頻道與資訊雜誌編譯,現仍定期為《科學人》與《BBC知識》等雜誌翻譯。書籍譯作包括《成分迷思:解讀健康新聞的10堂通識課》、《暗池:人工智慧如何顛覆股市生態》與《因果革命:人工智慧的大未來》等書。目前住在有山有海有美食的台灣頭基隆,熱愛吸收各類知識,正努力朝「全方位譯人」的目標邁進。
◎前言:為什麼我們能跟電腦學決策?
演算法的本質是「解決問題的一連串步驟」,人類面臨的許多挑戰跟電腦是一樣的:如何運用有限的空間、有限的時間、有限的注意力、未知的事物、不完整的資訊,以及無法預知的未來,並且如何輕鬆而自信地做到;以及如何在此同時與其他目標相同的人溝通。人類和電腦的解決方式融合程度極高,電腦科學不只能協助我們簡化問題以取得進展,甚至能提供具體的解決方法。本書將介紹前述難題的基本數學結構,以及工程師如何教電腦發揮最大效用,並了解人腦如何克服相同限制。作者訪問了近五十年來最知名演算法的設計者,談談他們的研究對自己的人生有何影響,以及他們怎麼將所學用於生活。

◎第一章 最佳停止點——什麼時候該見好就收?
►祕書問題 ►為什麼是37%? ►把握最佳伴侶
►孰優孰劣一目了然──完全資訊賽局 ►什麼時候賣出房子最好?
►什麼時候該停車? ►何時應該見好就收? ►隨時準備停止
盡量羅列選項,小心權衡後選出最好的一個,才是理性決策?實際上由於時間有限,決策過程最重要的面向是:何時應該停止。聘人、租屋、找車位、賣房子,以及尋覓伴侶和投資獲利時見好就收等,都是要在選項逐一出現時做出最佳選擇,它們真正困擾人的是可以考慮的選項有多少。依各狀況條件不同(比如能否吃回頭草、是否有明確標準),這章解釋了37%法則、思而後行法則、臨界值法則等,教你如何避免太早決定或找太久,以及何時該降低或提高標準、還有標準該調整多少……

◎第二章 開發與善用——嘗試新歡?還是固守舊愛?
►開發與善用 ►把握時間 ►贏錢繼續玩、輸錢換一台
►吉廷斯指數 ►遺憾與樂觀 ►網路上的土匪
►用演算法審視臨床試驗 ►變化不定的世界
►開發…… ►……以及善用
開發是蒐集資料,它能提高發現最佳選擇的機會;善用則是運用現有資訊,取得已知的良好結果,兩者各有利弊。人們大多把決策視為彼此孤立,每次分別尋找期望值最高的結果。其實決策極少是孤立的,如果你思考的是日後面對相同選項時要怎麼做,那麼權衡是要開發還是善用,就非常重要。本章以電腦科學中最能體現這兩者之矛盾,名稱取自吃角子老虎機的「多臂土匪問題」,闡述應該如何隨時間而改變目標,並且說明為何合理的行動過程多半未必會選擇最好的目標。

◎第三章 排序——依照順序排列
►排序的大用處 ►排序的苦惱 ►大O記號──衡量最差狀況的標準
►兩種平方:氣泡排序和插入排序 ►破除平方障礙:各個擊破
►比較之外:贏過對數 ►亂得有理─照順序排好之後,要幹嘛?
►名次未必反映實力──運動賽事裡的演算法
►排序效率差的價值──穩固 ►血腥排序:啄序和優勢階級
►以競賽取代打鬥
排序對於處理各種資訊都十分重要。電腦科學家經常要權衡「排序」和「搜尋」兩者,這項權衡的基本原則是:花心力排序資料,目的是讓我們日後不用花費心力搜尋資料。於是這個問題變成:如何事先評估資料未來的用途?電腦科學指出,混亂和秩序造成的危險都可以量化,它們的成本都能以「時間」這個基準來呈現。Google搜尋引擎之所以強大,其實是拜預先排序之賜;但對於另外一些狀況,保持混亂往往更有效率。另外討論演算法的最差情況表現(以排序而言是「最差完排時間」),可以讓我們確定某個程序能在期限內完成,排定運動賽程便是一例。

◎第四章 快取——忘掉就算啦!
►把常用的東西放在手邊──記憶體階層
►把隔最久才會再用的資料剔除──貝雷迪演算法
►把圖書館內外翻轉 ►街底的那片雲──距離非常重要
►家中的快取──收納空間
►關於書面資料怎麼歸檔,收納專家大多說錯了
►為最可能用到的東西騰出空間──遺忘曲線 ►經驗的反效果
你的收納問題其實與電腦管理記憶體時面臨的挑戰類似:空間有限,要如何既省荷包又省時間?快取的概念是把常用資料放在手邊備用,快取裝滿時為了騰出空間放新資料,得剔除一些舊資料——但剔除哪些好呢?電腦科學家探究了「隨機剔除」、「先進先出」(先剔除最舊的)以及「最近最少使用法」等,甚至發展出能預測未來並執行已知最佳策略的演算法。這方面的研究啟發了亞馬遜書店的「預測包裹寄送」專利,還扭轉了心理學家對於人類記憶的看法。

◎第五章 排程——優先的事情優先處理
►「花時間」如何成為一門科學 ►如果「在期限內完成」最重要
►要是「劃掉待辦清單上越多項目越好」
►先搞清楚用什麼標準來評量成果
►腳麻掉是要怎麼逃!──優先權反轉與優先權約束
►第一道障礙 ►先擱下手上的事──占先與不確定性
►讓其他工作插隊的代價──上下文交換
►忙到變成在空轉──往復移動
►錯過這次,就等待下回─中斷接合
重要且緊急、重要但不緊急、不重要但緊急、不重要但不緊急……,時間管理大師總教人照這順序處理事情,但電腦科學家會要你先搞清楚「用什麼標準來評量成果」。是在期限內完成最重要?還是盡量縮短讓客戶等待的時間?抑或劃掉待辦清單上越多項目越好?不同的評量標準得採用不同的作業策略。本章還用電腦的「上下文交換」探討讓其他工作插隊的代價,用「往復移動」提醒忙到變成在空轉的徵兆;並告訴你如何在「反應能力」和「處理能力」間取捨,為何有時完成工作的最佳策略反而是慢下來。

◎第六章 貝氏法則——預測未來
►與貝斯牧師一起逆向推理 ►拉普拉斯定律
►貝氏法則和事前看法 ►哥白尼原理 ►當貝斯遇見哥白尼
►真實世界的事前機率…… ►……以及預測它們的規則
►小數據與心靈 ►我們的預測如何讓我們認識自己
►機械複製時代中的事前分布
十八世紀的英國,賭博這個領域不僅深深吸引傑出數學家,也吸引了牧師湯瑪斯.貝斯,他由於研究彩券的中獎率,而對於「在不確定下進行推測」的歷史帶來重大影響。他認為由過去的假設狀況進行正向推理可提供基礎,讓我們逆向推出最可能的答案。其他科學家繼續研究預測事情的各種方法,像是:如何把各種可能假設狀況濃縮成單一期望值、根據事件類型提供適當的事前機率。其實我們腦中已儲存許多精確的事前分布,因此經常可由少量觀察結果做出不錯的預測,換句話說,小數據其實是偽裝的大數據。

◎第七章 過度擬合——少,但是更好
►考慮得更複雜,卻預測得更不準 ►資料的偶像崇拜
►舉目所見盡是過度擬合 ►揪出過度擬合─交叉驗證
►如何對抗過度擬合──懲罰複雜 ►少就是好─試探法的優點
►歷史的權重 ►什麼時候應該少想一點?
談到思考,我們往往覺得想得越多越好:列出的優缺點越多,做出的決定越好;列出的相關因素越多,越能精準預測股價。實際上統計模型倘若太過複雜,使用過多參數,會太容易受我們取得的資料影響,可能隨參與者不同而出現大幅差異。這就是統計學家說的過度擬合(又譯為過度配適)。機器學習的一大重要事實是:考慮因素較多、比較複雜的模型,未必比較好。這章演示了過度擬合如何扭曲我們對資料的解讀,點出日常生活中俯拾皆是的過度擬合事例,並且教你如何藉由交叉驗證等方法揪出過度擬合(像是怎麼分辨真正的人才和僅是懂得揣摩上意的員工?)並且對抗它。

◎第八章 鬆弛——放鬆點,不求完美才有解
►最知名的最佳化問題─業務員出差問題
►量化難度──用「不可能程度」來解答
►放鬆問題,提供解題的起點 ►無限多的灰階:連續鬆弛法
►拉氏鬆弛法──只要你願意付出點代價 ►學習放鬆
過去幾十年來電腦科學家發現,無論使用多快的電腦,或程式設計得多厲害,有一類問題就是不可能找出完美解方。面對無法解決的挑戰時,你毋須放棄,但也別再埋頭苦幹,而該嘗試第三種作法。電腦科學會界定問題是「可解」還是「難解」,遇到難解問題時會先「放鬆問題」:也就是先去除問題的某些限制,再著手解決它。最重要的放鬆方法比如「限制鬆弛法」、「連續鬆弛法」,以及付出點代價、改變規則的「拉氏鬆弛法」……

◎第九章 隨機性——什麼時候該讓機率決定
►抽樣 ►隨機演算法 ►禮讚抽樣
►取捨「確定程度」──電腦給的答案不一定對 ►山丘、山谷和陷阱
►離開局部最大值 ►模擬退火 ►隨機性、演化和創造力
乍看之下,隨機性似乎和理性正好相反,它代表我們放棄這個問
隨機性乍看之下似乎和理性相反,代表我們放棄這個問題,採取不得已的手段。但你若是知道隨機性在電腦科學中扮演多吃重的角色,可能會非常驚訝。面對極為困難的問題時,運用機率可能是審慎又有效的解決方法。隨機演算法未必能提出最佳解,但它不用像確定性演算法那麼辛苦,前者只要有計畫地丟幾個硬幣,就能在短短時間內提出相當接近最佳解的答案,它解決特定問題的效果,甚至超越最好的確定性演算法。這章將要告訴你依靠機率的時機、方式,以及仰賴的程度。

◎第十章 網路——我們如何互通聲息
►封包交換──為了非連續交談而創
►應答─怎麼知道訊息有沒有送達?
►指數退讓──寬恕的演算法 ►控制流量和避免壅塞
►祕密管道:語言學中的流量控制
►緩衝爆滿──笨蛋,問題出在延遲! ►既然遲了,不如就別做了
人類互通聲息的基礎是「協定」,也就是程序和預期的共通慣例,例如握手、打招呼和禮貌,以及各種社會規範。機器間的聯繫也不例外。在人際關係中,這類協定是微妙但長久存在的焦慮來源。我前幾天傳了個訊息,從何時開始我會懷疑對方根本沒收到呢?你的回答怪怪的,我們之間是不是有什麼誤會?網際網路問世後,電腦不僅是溝通管道,也是負責交談的聯絡端點,因此它們必須解決本身的溝通問題。機器與機器間的這類問題以及解決方案,很快便成了我們借鏡的對象。

◎第十一章 賽局理論——別人是怎麼想的?
►遞迴 ►奈許,就是賽局達到均衡 ►不採取「均衡」作法的代價
►公有地悲劇 ►機制設計:改變賽局 ►演化進行的機制設計
►資訊瀑布:悲慘的理性泡沫 ►忠於自己
賽局理論廣泛影響經濟學和社會科學領域,然而除非賽局參與者找得到奈許均衡,它的預測能力才會造成影響,但是電腦科學家已經證明,純粹尋找奈許均衡是難解問題……
另外傳統賽局理論有個見解:對一群依據自身利益採取理性行動的參與者而言,「均衡」或許不是最好的結果。「演算法賽局理論」依據電腦科學原理,採用了這個見解並加以量化,創造出「自主行為代價」這個度量,結果發現某些賽局中,自主行為的代價其實沒有很高,這意謂著該系統不論細心管理或放任不管都差不多。

◎結語:運算的善意
對於人類的某些問題,如今已經找到解決的演算方法;即使尚未得到所需結果,但知道自己使用最佳演算法,也會讓人感到放心。此外電腦科學還能協助我們,清楚劃分哪些問題有明確解答、哪些問題則無,從而選擇要面對什麼——包括自己要面對什麼,以及要讓別人面對什麼,其原則便是運算的善意。現今的電腦做的,並非「盡量羅列選項,找出最好的一個」。有效的演算法會做出假設,偏向選擇較簡單的解答、權衡誤差代價和延遲代價,接著冒險一試。這些都不是我們難以理性面對時的讓步,它們本身就是理性的方法。

其他人也在看