95後哈佛小哥撰寫從零開始的機器學習入門必備,書籍資源已開放

2020-12-13 機器之心Pro

機器之心報導

作者:蛋醬、小舟

機器學習怎麼入門最簡單?今年剛剛從哈佛大學統計專業畢業的 Danny Friedman 寫了一本「轉專業學生專用教材」,無基礎也可輕鬆入門,資源現已全部開放。

說起機器學習入門書,大概有成百上千種選擇。這些書籍大多是由具備豐富研究經驗的學者撰寫的,涵蓋各種主題。

俗話說「開卷有益」,但對於轉專業的初學者來說,這本新書或許更適合入門:

近日,一位畢業於哈佛大學的小哥根據自己的機器學習入門經歷,撰寫了一本《從零開始的機器學習》。

書籍地址:https://dafriedman97.github.io/mlbook/content/introduction.html

這本書涵蓋了機器學習領域最常見的方法,就像是一位機器學習工程師的工具箱,適用於入門級學習者。撰寫目的是為讀者提供獨立構建一些基本的機器學習算法的實踐指導,如果用工具箱類比的話,就是教會讀者具體使用一把螺絲刀、一盒捲尺。書中的每一章都對應一種機器學習方法。

作者 Danny Friedman 介紹說,學習一種方法的最佳方式就是從零開始(無論是從理論上還是代碼上),因此本書的宗旨也是提供這些推導過程。每章分為三個部分:首先是從「概念」上進行介紹,並且從數學層面演示推導過程;然後是「構造」部分,如何使用 Python 從零開始演示這些方法;最後的「實現」部分介紹了如何使用 Python 包應用這些方法,比如 scikit-learn、 statsmodels 和 tensorflow。

這本書面向的是機器學習領域的新人,或者是希望深入了解算法的學習者。閱讀書中的推論可能有助於以前不熟悉算法的讀者充分理解方法背後的原理,也能幫助有建模經驗的讀者了解不同算法如何建模,並觀察每種算法的優缺點。

章節介紹

在閱讀這本書的「概念」部分之前,讀者應該熟悉微積分的知識,有的部分可能會用到概率的知識(最大似然和貝葉斯定律)以及基礎的線性代數(矩陣運算和點積)。這部分還引用了一些常見的機器學習方法(附錄中有介紹),但「概念」部分不需要編程知識。

「構造」和「代碼」部分會用到一些 Python 的知識。「構造」部分需要了解對應內容部分,並熟悉 Python 的創建函數和類。這些「代碼」部分均不需要。

全書目錄如下:

1. 普通線性回歸(Ordinary Linear Regression)

最小化損失(The Loss-Minimization Perspective)

最大似然(The Likelihood-Maximization Perspective)

2. 線性回歸擴展(Linear Regression Extensions)

正則回歸(Regularized Regression)

貝葉斯回歸(Bayesian Regression)

廣義線性模型(Generalized Linear Models)

3. 判別分類(Discriminative Classification)

邏輯回歸(Logistic Regression)

感知器算法(The Perceptron Algorithm)

Fisher 線性判別(Fisher’s Linear Discriminant)

4. 生成分類(Generative Classification)

線性和二次判別分析、樸素貝葉斯 (Linear and Quadratic Discriminant Analysis、Naive Bayes)

5. 決策樹(Decision Trees)

回歸樹(Regression Trees)

分類樹(Classification Trees)

6. 基於樹的集成方法(Tree Ensemble Methods)

Bagging

隨機森林(Random Forests)

Boosting

7. 神經網絡(Neural Networks)

線性回歸是一種相對簡單的方法,用途極為廣泛,所以也是必學算法之一。

第一章介紹了普通線性回歸,第二章主要介紹了線性回歸的擴展。可以通過多種方式擴展線性回歸,以適應各種建模需求。正則回歸懲罰了回歸係數的大小,以避免過度擬合。這對於使用大量預測變量的模型尤其有效,貝葉斯回歸對回歸係數進行先驗分布,以便將關於這些參數的現有觀念與從新數據中獲得的信息相協調。最後,廣義線性模型(GLM)通過更改假定的誤差結構並允許期望值來擴展常規的線性回歸。目標變量是預測變量的非線性函數。

分類器是一種有監督的學習算法。它試圖識別觀察值對兩個或多個組之一的成員資格。換句話說,分類中的目標變量表示有限集而不是連續數的類。例如,檢測垃圾郵件或識別手寫數字。

第三章和第四章分別介紹了判別分類和生成分類。判別分類根據觀察變量的輸入變量直接對其進行建模。生成分類將輸入變量視為觀察類的函數。它首先對觀察值屬於給定類的先驗概率建模。然後計算觀察觀察值以其類為條件的輸入變量的概率。最後使用貝葉斯定律求解屬於給定類的後驗概率。邏輯回歸不是唯一的區分性分類器,書中還介紹了另外兩種:感知器算法和 Fisher 線性判別法。

第五章演示了如何構建決策樹。第一部分涵蓋了回歸任務,其中目標變量是定量的;第二部分涵蓋了分類任務,其中目標變量是分類的。

決策樹是用於回歸和分類的可解釋機器學習方法。樹根據所選預測變量的值迭代地拆分訓練數據的樣本。每次拆分的目的是創建兩個子樣本(即「孩子」)。其目標變量的 purity 高於其「父親」。對於分類任務,purity 意味著第一個孩子應該觀察一個類別,第二個孩子主要觀察另一個類別。對於回歸任務,purity 意味著第一個孩子的目標變量值應該較高,而第二個孩子的目標變量值應該較低。

以下是使用 penguins 數據集的分類決策樹的示例:

由於其高方差,決策樹通常無法達到與其他預測算法可比的精確度。在第五章中介紹了幾種最小化單個決策樹的方差的方法,例如剪枝或調整大小。第六章將介紹另一種方法:集成方法。集成方法結合了多個簡單模型的輸出,以創建具有較低方差的最終模型。書中在基於樹的學習器的背景下介紹集成方法,但集成方法也可以用於多種學習算法。在這本書中,作者討論了三種基於樹的集成方法:bagging、隨機森林和 boosting。

第七章介紹了神經網絡,一種功能強大且用途廣泛的模型,已成為機器學習中的一大熱門話題。儘管神經網絡的性能通常勝過其他模型,但神經網絡也不像想像中那麼複雜。相反,通過優化高度參數化和非線性的結構,神經網絡具有足夠的靈活性對其他模型難以檢測到的細微關係進行建模。

這一章按照如下結構展開:

1. 模型結構

概述

層與層之間的交互

激活函數

2. 優化

反向傳播

計算梯度

將結果與鏈式法則結合

3. 結合觀察值

一種新的表徵

梯度

其他資源推薦

此外,作者還推薦了三本經典的機器學習理論入門書籍,也都能在網絡上獲取免費資源:

1、《統計學習導論:基於 R 應用》

資源地址:http://faculty.marshall.usc.edu/gareth-james/ISL/

2、《統計學習的要素:數據挖掘、推理和預測》

資源地址:https://web.stanford.edu/~hastie/ElemStatLearn/

3、《模式識別與機器學習》

資源地址:https://www.microsoft.com/en-us/research/publication/pattern-recognition-machine-learning/

相關焦點

  • 95後哈佛小哥撰寫《從零開始的機器學習》,入門必備,書籍資源已開放
    機器之心報導作者:蛋醬、小舟機器學習怎麼入門最簡單?今年剛剛從哈佛大學統計專業畢業的 Danny Friedman 寫了一本「轉專業學生專用教材」,無基礎也可輕鬆入門,資源現已全部開放。
  • 95後數據科學家教你從零自學機器學習,這有3本入門必看書籍
    最近一位22歲的數據科學家Dario,以自學經歷中用到的資源告訴你,如何從零開始學習數據科學。所謂從零開始自學,是針對那些可以自主學習在線課程和閱讀書籍,卻沒有上班之餘接受課堂教育的人士。在學完以上內容後可以進入下面的學習。看書還是看視頻如果想進入數據科學領域,每天一兩個小時的學習是必不可少的,是看書還是選擇看視頻?很多人都不想在每天工作8小時後還看書,因此視頻教程是個不錯的選擇,而且可以在通勤路上觀看。
  • 564 頁《Hands-On Machine Learning》已開源,機器學習入門必備!
    點擊上方「深度學習專欄」,選擇「置頂」公眾號重磅乾貨,第一時間送達今天給大家推薦一本機器學習、深度學習入門的必備書籍:《Hands-On Machine Learning with Scikit-Learn & TensorFlow》,中文譯為《Scikit-Learn 與 TensorFlow 機器學習實用指南》。
  • 【資源分享】入門量子機器學習大禮包
    終於到了兌現年終承諾的時候了~本期,小編帶大家一起橫掃入門量子機器學習的各種資源。【本期內容】:針對量子計算、機器學習、量子機器學習、量子物理方向列舉些許資源,希望有所幫助。可以在這裡找到關於量子計算、機器學習、量子機器學習各個領域的文章分享。
  • 機器學習漫遊指南 最完整的入門書單(外文版)
    在雷鋒網所篩選的學習資源中,這堪稱是迄今為止最全面、最完整、權威性比較高的一份 ML 書單,涵蓋了最值得學習者、從業者、開發者認真研讀的精品書目。這份指南適合多樣背景的讀者:從想要了解機器學習的普通人,到入門新手,再到高階開發者和學術研究人員。因此,雷鋒網對其進行編譯整理,特來與大家分享。
  • 機器學習/深度學習入門資料匯總
    機器學習很多人會推薦吳恩達在斯坦福的公開課CS229,但對於初學的同學來說,我覺得並不適合。雖然Andrew在課的最開始就說了,他的這門看更側重於實踐。但真實情況是,裡面有太多的數學推導和證明。直接使用這門課來入門,對初學的同學來說,在信心上會是不小的打擊。
  • 機器學習經典書籍
    這本書最大的優勢就是裡面沒有理論推導和複雜的數學公式,是很不錯的入門書。目前中文版已經脫銷,對於有志於這個領域的人來說,英文的pdf是個不錯的選擇,因為後面有很多經典書的翻譯都較差,只能看英文版,不如從這個入手。還有,這本書適合於快速看完,因為據評論,看完一些經典的帶有數學推導的書後會發現這本書什麼都沒講,只是舉了很多例子而已。
  • 資源 | 開放Python書籍:一本短小精悍的初學者入門指南
    如何快速熟悉 Python 編程一直是很多初學者的疑問,我們經常考慮要不要系統地從頭開始啃 Python 教程,但這種方法不僅非常枯燥且很難堅持
  • 經典機器學習書籍推薦
    這本書最大的優勢就是裡面沒有理論推導和複雜的數學公式,是很不錯的入門書。目前中文版已經脫銷,對於有志於這個領域的人來說,英文的pdf是個不錯的選擇,因為後面有很多經典書的翻譯都較差,只能看英文版,不如從這個入手。還有,這本書適合於快速看完,因為據評論,看完一些經典的帶有數學推導的書後會發現這本書什麼都沒講,只是舉了很多例子而已。
  • 7步讓你從零開始掌握Python機器學習!
    如果你不懂編程,我建議你從下面的免費在線書籍開始學習,然後再進入後續的材料:如果你有編程經驗,但不懂 Python 或還很初級,我建議你學習下面兩個課程:谷歌開發者 Python 課程(強烈推薦視覺學習者學習):https://www.youtube.com/playlist?
  • 564 頁《Hands-On Machine Learning》已開源,入門必備!
    點擊上方「AI有道」,選擇「置頂」公眾號重磅乾貨,第一時間送達今天給大家推薦一本機器學習、深度學習入門的必備書籍:《Hands-On Machine Learning with Scikit-Learn & TensorFlow》,中文譯為《Scikit-Learn 與 TensorFlow 機器學習實用指南》。
  • 最熱門的深度學習框架TensorFlow入門必備書籍
    但進入機器學習和人工智慧領域並不是一件簡單的事情,目前市場上有許多大量的學習資源,許多開發者和想要進入的愛好者往往很難找到適合自己的發展路徑。其實,早在 2015 年底,谷歌就開源了內部使用的深度學習框架 TensorFlow 。眾多研究表明,Tensorflow 是研究深度學習的首選平臺。
  • 我的機器學習入門路線圖
  • 【乾貨薈萃】機器學習&深度學習知識資料大全集(二)(論文/教程/代碼/書籍/數據/課程等)
    【導讀】轉載來自ty4z2008(GItHub)整理的機器學習&深度學習知識資料大全薈萃,包含各種論文、代碼、視頻、書籍、文章、數據等等。是學習機器學習和深度學習的必備品!介紹:Spark機器學習入門實例——大數據集(30+g)二分類.  介紹:為入門者準備的深度學習與神經網絡免費資源.
  • 機器學習入門線路
    另外,我的線路不求全面和仔細,我只提出一種可靠性最高的線路給大家,大家可以根據自己的實際情況參考,開始之前記住一點:入門玩家有簡單模式,高手玩家有困難模式,簡單模式的收穫肯定沒有困難模式高,當然的,入門玩家為了得到更大的收益可以先在簡單模式練習然後再上困難模式,遊戲怎麼玩都是自己喜歡的策略,但是值得關注的是,只有遊戲通關了才會有收益。
  • 2021年必讀Python書籍!沒有之一!Python從入門到實踐
    撰寫本文的目的是將一些最優秀的Python書籍匯總起來,以幫助您使用這種令人驚嘆的程式語言來獲得知識和信心。根據Stackoverflow的介紹,Python是最受歡迎的語言,這意味著大多數開發人員都使用python。Python書籍書籍很可能是幾乎任何主題的頂級信息資源之一,在本節中,我們收集了十多本頂級書籍,以幫助您熟悉Python並獲得一些實踐知識。
  • java入門必備書籍
    上回給大家推薦了一些C++的書籍,每個人可能喜歡的閱讀方式不同,有其他建議或者好的書籍推薦給我們留言,大家一塊學習進步。
  • 【書單推薦】機器學習入門書單
    這本書最大的優勢就是裡面沒有理論推導和複雜的數學公式,是很不錯的入門書。目前中文版已經脫銷,對於有志於這個領域的人來說,英文的pdf是個不錯的選擇,因為後面有很多經典書的翻譯都較差,只能看英文版,不如從這個入手。還有,這本書適合於快速看完,因為據評論,看完一些經典的帶有數學推導的書後會發現這本書什麼都沒講,只是舉了很多例子而已。
  • 資源推薦|機器學習與深度學習視頻和書籍資源拿去!
    (Neural Networks for Machine Learning)授課:Geoffrey Hintonhttps://www.coursera.org/learn/neural-networksUdacity — 機器學習導論(Intro to Machine Learning)
  • AI | 怎樣快速入門機器學習和深度學習?
    編者按:入門機器學習和深度學習並不是一件容易的事情。需要學習大量的知識,初學者常常會迷茫不知所措。現在我們給你帶來一篇純乾貨,幫助你入門機器學習和深度學習。書大致可以分為三類『科普書籍』『機器學習算法書籍』『編程書籍』。1.