跳到主要內容

大演算:機器學習的終極演算法將如何改變我們的未來,創造新紀元的文明 notes

大演算:機器學習的終極演算法將如何改變我們的未來,創造新紀元的文明?


這本《大演算》,500頁的書,完整筆記就做了兩萬五千字,讓我受益匪淺的一本書,絕對是我2016 Top 10選書。

★亞馬遜AI與機器學習類暢銷榜 第1名
★亞馬遜數學與統計類暢銷榜 第1名
★亞馬遜資訊理論類暢銷榜 第1名
★CNN、《新科學人》、《經濟學人》、《柯克斯書評》等多家媒體推薦報導
★比爾.蓋茲年度選書!

如果你已瞭解了一些 machine learning的演算法原理,像是SVM / bayes / tree ...,就更能瞭解作者多明戈斯的天才,也更能享受本書帶來的知識及想法。

多明戈斯認為,如果有人可以成功整合這些演算法的優點,就能發展出「終極演算法」,便可以從大數據與人工智慧中,獲得世界上過去、現在與未來的所有知識,將創造新紀元的文明。


本書主要的思想學派共分成五個,將為每個學派開闢一個章節專門介紹。

  • 符號理論學派( Symbolists )將學習視為是一種逆向演繹法,是從哲學、心理學和邏輯思路方面取得概念。
  • 類神經網路學派( Connectionists )會進行大腦的反向工程( reverse engineer ),主要是受到神經科學和物理學的啟發,模擬人腦思考行為。
  • 演化論學派( Evolutionaries )會在電腦上模擬演化演變,澈底運用遺傳學( genetics )和演化生物學(evolutionary biology )理論。
  • 貝氏定理學派( Bayesians )相信學習是機率推理的一種形式,是根據統計學做為理論的依據。
  • 而類比推理學派( Analogizers )則是透過從相似度判斷進行推論學習,並且受到心理學和數學的最佳化影響。


當我們在認識每一種思想學派時,我們的目標是蒐集完整的機器學習拼圖,並詳加解讀每一類型演算法適合應用的地方。要注意的是,沒有一位盲人可以正確摸熟整隻大象身軀。

並非所有機器學習演算法的運作都一樣,其差異也會產生不同的影響。以亞馬遜和Netflix 的推薦系統( recommenders )為例,每家公司都試圖經由網站流程介面引導「適合你」的採購行為,試圖確認什麼是你「需要」的商品,亞馬遜系統會推薦你瀏覽以前經常光顧的貨架﹔ Netflix 系統則會帶你瀏覽商店中你尚未瀏覽、陌生且看似新奇特異的部分,協助你找到最終會喜歡的影片。

有些學習器是學習知識,有的學習器是學習技能。

電腦科學歷來都是關於確定性( deterministically )的思維,但機器學習則是需要統計的思維。

事實上所有主要的學習器,包括最近鄰居演算法、決策樹、貝氏網路,一種概括的簡單貝氏演算法等,都具有以下普遍的意義:如果你給予學習器足夠數量的適當資料,學習器就可提供密切近似的任何函數(function),這是學習任何事物的一種數學說詞。唯一美中不足的,所謂「足夠的資料」可能是極為龐大。因為從有限的數據資料中學習,必然需要做出假設,因此我們可以看到,不同的學習器會做出不同的假設,這使得它們只能做好某些事情,而不適用於各種情況

這本書的核心假設:
透過一個單一、通用的機器學習演算法,可以從數據資中,推論出過去、現在和未來的所有知識。

有些事情是可以預測的,有些則無法預測,機器學習專家的首要責任,就是區分這兩類。
在一般的情況下,大多數銀行的模型都無法做出精準的預測,然而這是由於這些模型本身所具有的局限,並不是機器學習的限制。

為了使用一種技術,我們不需要精通它的內部運作原理,但我們的確需要針對這項技術,擁有一個好的概念模型。例如:我們不需要了解收音機的內部構造,只需要知道如何在收音機上找到一個廣播電臺,或是改變音量。
也許最重要的是,一旦我們也了解,一個特定的學習器是如何成其推論,那麼我們才會知道如何去看待這些資訊,要相信什麼、要反饋給製造商什麼修正意見,以及如何在下一次得到更好的結果。

貝氏定理(Bayes' theorem),就是告訴我們當你觀察到新的事證時,如何依此更新你的信念。貝氏定理學習器(Bayesian learner)是從提出一系列關於這個世界的假設開始。當學習器觀察到新的數據資料時,原本已推導出的假設就會變得更具可能性,而且這些假設不會變得不太可能,甚至是不可能的。當學習器觀察到足夠的數據資料後,一個單一假設或是少數假設就會占有重要的地位。

大演算使採用一種歸納法(induction),而圖靈機(Turing Machine,指的是寫程式的方法)採用的是演繹法(deduction)。

理論的力量在於它能簡化多少我們對世界的描述

一個相關、經常聽到的反對意見是「數據資料不能取代人類的直覺」。事實上卻是相反,因為人類的直覺不能取代數據資料。通常當你不知道事情的真相時,你會使用直覺去判斷,而且因為你往往並不知道,所以直覺是很寶貴的。但當證據都擺放在你面前時,你為什麼會否認它呢?

對於符號理論學派來說,所有的智慧可以被簡化成操縱符號,就像數學家求解方程式的過程,是透過用其他表達式來替換表達式的方法。符號理論學派明白,你不能從頭學起,你需要一些初步的知識,與數據資料相配合。符號理論學派們已經找到了如何將先前存在的知識納入學習,以及如何快速地將不同的知識進行結合,以解決新的問題。他們的主要演算法是逆向的演繹法,透過這種演算法可以找出哪些知識是欠缺的,以便能做出邏輯的演繹推論,然後使其盡可能地被通則應用。

對於類神經網路學派來說,學習就是人類大腦所做的事情,所以我們需要做的,就是對大腦進行反向工程。大腦的學習是透過調整神經元之間的連結強度,而關鍵的問題是找出哪些神經元的連接,必須對哪些錯誤負責,並依此對應地改變它們。類神經網路學派的主要演算法是倒傳遞理論演算法(Back propagation),它會比較系統的輸出與期望的輸出,然後依次改變一層又一層的神經元連結,以便使得輸出結果可以更接近於它應該呈現的。

演化論學派則認為,所有學習之母就是物競天擇。如果物競天擇可以造就我們,那麼它就可以造就任何事情,而我們所需要做的,就是在電腦上模擬它。演化論學派所解決的關鍵性問題就是學習的結構,不只是調整參數而已,就像倒傳遞理論演算法所做的,可以創建一種能夠讓這些調整進行微調的大腦。演化論學派的主要演算法是一種遺傳程式規劃(genetic programming), 就像人自然會交配與演化生物一樣;同樣地,遺傳程式規劃也會以相同的方式,繁衍與演化電腦程式系統。

貝氏定理學派最關注的課題就是不確定性。這門學派主張所有學到的知識都是不確定的,而且學習本身就是一種不確定的推理形式。那麼這個問題就變成如何處理雜訊、不完整,以及相互矛盾的資訊,而不會造成分崩離析。解決的辦法就是機率推理,而主要的演算法是貝氏定理與其衍生物。貝氏定理告訴我們如何把新證據轉化為信念,而機率推理演算法則盡可能有效地做到這一點。

對於類比推理學派而言,學習的關鍵是認識各種情況之間的相似之處,從而推斷其他情境的相似地方。如果兩位患者都有相似的症狀,也許他們患有相同的疾病,問題的關鍵是要判斷兩件事情之間是如何相似。類比推理學派的主要演算法就是支持向量機(Support Vector Machine,簡稱SVM),它可以找出哪些經驗是需要記住的,以及如何結合這些經驗,做出新的預測。

日星鑄字行 04

在機器學習領域,先入為主的觀念影響甚巨,只有排除偏見才可能進行學習。

如何從原始資料中探勘出規則定律。標準的解決方式,是假設我們知道真相的形式,而學習器的工作就是不斷地充實它。

資料探勘的意思是指「拷問數據資料,直到它供認為止。」
雜訊( noise )嚴重加劇了過度擬合的問題。雜訊在機器學習中,只是意謂著在數據資料裡的錯誤,或是你無法預測的隨機事件。
當你有太多的假設,而且沒有足夠的數據資料可以區分它們時,便會發生過度擬合。壞消息是,即使是簡單的合取學習器,假設數會隨著屬性數呈指數倍增。
學習器嘗試越多的定義,就越有可能在偶然機會下,從它們之中找到一個可以符合所有案例的定義。

科學不只是關於預測而已,它也是關於解釋和理解。但如果你的模型,最終無法對新的數據資料進行準確的預測,你便不能確定自己是否已經能真正了解或解釋這個潛在現象。對於機器學習來說,利用未曾見過的數據資料進行測試,是不可少的驗證過程,因為這是唯一可以告訴我們學習器是否產生過度擬合的現象。

在貝氏定理的核心觀念中,它只是一個簡單的規則,用於當你取得新事證時,更新你對已有假設的信念程度( degree of belief) ,如果證據與假設一致,這些假設的機率就會上升﹔如果沒有,機率就會下降。

機率並不是一個頻率,但卻是一個主觀的信念程度。因此它取決於你決定要把它設定成多少,而且所有的貝氏定理的推理,就是要讓你可以利用新的證據來更新你的先驗信念,以便獲得你的後驗信念,這也被稱為「激起對貝氏定理的興趣」( turning the Bayesian crank )。

對於最近鄰居演算法來說,分類邊界就是暗指資料點的位置與測量的距離,而唯一的成本便是查詢的時間
形成一個局部模型,而不是一個整體模型的相同概念,也適用在許多分類以外的問題上。科學家們經常使用線性迴歸預測連續變數,但大多數的現象都不是線性的問題。幸運的是,它們是局部線性的問題,因為平滑的曲線可以說是局部近似於直線。因此如果不能嘗試運用一條直線來對應分類所有的數據資料,那麼我們只能把它修正為用查詢點附近的點來進行對應分類,如此一來,你便可以擁有一個非常強大的非線性迴歸演算法。

k-means 演算法的缺點是我們需要提前確認集群的數目,但在現實世界中,總是會意外的遇到新類型的物件。一種選擇是假如這個新的物件與現有的集群差異太大,那麼就讓這個新的物件重新產生一個新的集群﹔另一種選擇是當我們繼續往下執行時,中途允許集群拆分和合併。無論哪種方式,我們可能希望演算法要包含產生較少集群的偏好,免得最後造成每一個物件都產生其自己的集群。

每一個機器學習演算法的三個組成部分:表示法、評估和最佳化。學習器的表示法會限制它可以學習的東西。如果我們想讓學習器成為一個功能非常強大的機器學習演算法,就像馬可夫邏輯網路一樣,那麼原則上學習器便可以學習任何東西。然後最佳化程式會竭盡一切力量,來最大化評估函數,不能多也不能少,而評估函數則是由我們決定的。

機器將會給予我們所要求的事情,而不是我們想要的事情。

......


這本書的內容真的很精彩,學習 Machine learning的朋友千萬不要錯過。

所有的筆記就不 po上來了,有興趣的可以一起來討論。


留言

這個網誌中的熱門文章

小褶 Life(3) 古亭景美線段

經過上周的總統大選後,想說可以好好地規劃路線,這週末再來享受我的Bike Life,沒想到天氣預報一直恐嚇著我:「週末會下雨,週末會下雨,週末會下雨......。」 哇靠,早上起來,天色是有些陰暗,查了yahoo天氣,竟然下雨機率僅20%,趕緊重新考慮騎車的路線。 這次的目標是新店溪。 想說從哪邊切入比較好,唔,從師大路那邊進古亭河濱公園看來是不錯的選擇,要是下午真的下雨,就在師大路那邊晃一下午也比較安全。 查了google map,怪怪的,不知哪邊是公園的入口處。 不管了,到那附近再說,總有路口的。 結果是......迷路了。 -___-||| 到師大路跟兒童交通博物館那邊,就是看不到古亭河濱公園的入口。 沒辦法,走確定知道的路,以前新店上班時,總是從思源街接到景美堤外便道,果然,從那邊進去就對了。 (後來從古亭河濱公園也騎到中正河濱公園,才發現,那邊只有很小一條汽車進來的道路,真的很難找。 建議從思源街沿自來水廠那邊進來比較方便。) 就目前騎的3個線段而言,沿景美溪新店溪的河濱是最好騎的了,路又寬廣又平直,要飆車也容易。 看看地圖,只到舊橋就沒了,不知什麼時候才會完工咧...... 這樣,之後還可以直接騎到動物園咧!! 這個線段有較多的網球場地,靠古亭河濱公園那邊還有羽球場地,騎車的族群跟前兩次的線段比較起來,嗯,在地居民比較多(關渡到淡水則是遊客特多),應該是方便的緣故吧,騎Dahoon折疊車的人也比較多,莫非這附近有Dahoon專賣店?! 終點出來就到景美夜市一帶。 不錯的塗鴉作品。北市很多自行車道旁的圍牆,是開放給民眾塗鴉的。 (旁邊有 borther的簽名,莫非這是傳說中塗鴉客brother先生的作品?! 但......割腕的少女 ...... 繪在自行車道的旁邊,想表達什麼咧!?) 在終點處有很大的Taipei Cycling Mark。 雖然一開始有些小迷路,但也剛好繞到了兒童交通博物館......的外面,跟小丸子的看板合照。 門票太貴了,也聽有人說其實有些不值得,所以也不打算買票進去。 >___

能力並非來自於神來之筆

建立深度關係的關鍵是投入,經由時間與精力的累計,你與這一事物的關係日益深厚,你逐漸掌握了它,與它相遇,而能力,是你的存在與它的存在相遇的副產品。 事實上,能力差的人,常是太期待神來之筆的人。 具體來說就是,他們覺得,一旦某個事物被自己掌握,那首先是因為我掌握了自己;如果它沒有被掌握,那是因為我沒有掌握好自己。即,我狀態好,就可以讓周圍世界如我所願;我狀態不好,周圍世界就不能如我所願——倒推後其實是這句:當外界不如自己所願時,他們會在自己身上找原因,因他們認定,自己是能輕鬆掌控世界的,而狀態不好,就是能找到的最直接原因。 因這一邏輯,他們花很大力氣去調整狀態,還會花很多時間去等待自己狀態好,而不懂得,關鍵是持續投入,瑣細努力即可累積出成功。 能力是建立深度關係的副產品,而建立關係時,比努力更為關鍵的一點是,你不是自戀地將自己意願強加在這一事物之上的,而是臣服於這一事物。不是你個人太牛逼,所以掌握了這一事物,而是你臣服,放下自戀,放下預期和判斷,放空自己,然後你就可以與這一事物的存在相遇了。 能持續努力的人,是有了相對成熟的心理:我未必能立即掌握一個事物,但只要我持續努力,並且尊重這一事物自身的規律,我會與這一事物建立起很好的關係。 一旦有“我這個人失敗了”的感覺,一個人就會體驗到,伴隨著自我崩塌感的,是無力感,即你感覺暫時發不出力量了。其實,只是你暫時控制不了外部事物而已。 成功者會相對擁有更多神來之筆,但絕非“一直擁有”,且“神來之筆”之所以會有,是大量投入而與事物建立了關係的結果。 總結一下,要破除對“神來之筆”過於期待而不受挫的心理,需要懂得這樣幾點: 一、能力是建立了深度關係的結果; 二、建立深度關係需要持續的投入; 三、建立深度關係的關鍵,不是將你的自戀強加於事物之上,而是放下自戀想像,尊重事物本身的真實規律; 四、一件外部事物能否被我控制,取決於那一刻我的內部狀態,這是嬰兒式全能自戀心理的殘留; 五、一受挫,就覺得“我整個人不好”,也源自全能自戀心理——我和整個世界是一體的,所以我能控制一切,否則就意味著一切都是我控制不了的; 六、關鍵不是要神來之筆這種好的感覺,而是如何處理挫敗感。 -- 《巨嬰國》

GLOOMY BEAR 暴力熊

Gloomy Bear身世背景: Gloomy是一隻在路邊被遺棄的粉紅色小熊 , 被小朋友Pity發現,並將牠帶回家中收養, 並為小熊取名為Gloomy。 可惜.....Gloomy外表可愛,但因為被拋棄的緣故~卻有著一般熊的暴力性格, 長大長出爪子後就時常向主人用暴力招數打招呼, 而Pity就慘被Gloomy日日夜夜地欺負!悲慘ㄉ人生就這樣子開始囉!! 暴力熊喜好~咬主人頭, 而牠的主人,復原能力極高...打不死喔~厲害厲害! 暴力熊顏色:粉紅色,金色,銀色,紅色,藍色,黃色,還有罕見的綠色與混色。 粉紅色暴力熊性別:女 頭大身細,眼珠黑色,爪白色兼尖利,具有殺傷力,她多數用口爪殺人,殺完人後喜歡在街上徘徊。 小主人每次都被暴力熊揍得半死兼頭破血流, 但仍然不離不棄地緊緊抱住這隻血腥的寵物; Pity就算受到傷害亦要讓開心的回憶遮掩,然後繼續微笑期待小熊再次跟他一起溫習/做功課/看書;相信等待他的會是小熊的溫柔而非暴力傷害; 暴力熊和他小主人之間微妙的情感讓人感動又心酸; 這次轉輪科技所推出的暴力熊,內容包含小男孩Pity與粉紅熊Gloomy兩支一組。造形上善用Gloomy胖胖的軀體,將轉輪關節隱藏其中,全身有14處可動。可替換配件包含小男孩被打的表情,還有防止熊熊咬人的口罩以及牠嘴角流下來的血,原型制作為山口勝久。