The Elements of Statistical Learning 需要怎樣的數學基礎才能讀懂?

這本書看的斷斷續續,戰戰發抖,只能看懂一小部分,不過就是這樣也大有收穫,請問大神有什麼數學基礎能把這本書打通關


最近幾個月正好在看這本書,目前進展到第十五章,就當寫個總結了。

第一章沒什麼好說的,簡單介紹了一下機器學習的幾個例子以及本書用到的數據集。

第二章基本上是全書的概覽,分類問題,回歸問題,偏差-方差分解,維度災難,以及一些結構化的模型,這一章用到的數學就是一些統計學最基本的概念,期望、條件期望、方差等,當然求解線性回歸時還需要熟悉矩陣求導(這玩意線性代數高等代數矩陣論裡面一般都不講,感覺跟微分方程一樣屬於「三不管」的領域,個人經驗就是把矩陣拆開逐元素多算幾次就熟悉了),順便說一下,整本書都大量用到了矩陣求導,所以這一塊還是應該好好掌握的。此外,個人認為,這一章對新手並不友好,如果之前完全沒有接觸過機器學習,看完整章還是一臉懵逼。。。

第三章講解線性回歸模型,從最基礎的最小二乘到多元回歸再到子集選擇,以及一些常用的正則化方法(例如嶺回歸、Lasso),最後還講到了一些較前沿的最小角回歸。這一章除了基礎的數理統計,需要大量的矩陣方面的知識,包括矩陣求導、施密特正交化、QR分解、特徵分解、奇異值分解、以及大量關於「跡」的性質,我當時看這一章時正好在學矩陣論,趁熱打鐵看得還比較順暢,此外,這一章的不少習題有相當的難度。。

第四章講解線性分類模型,線性判別分析本質上就是求解瑞利商問題,需要懂拉格朗日乘子法以及矩陣的特徵值分解;邏輯回歸需要懂梯度下降這種優化方法,當然本書強行採用的二階的優化方法牛頓法。。這線性判別分析和邏輯回歸的一大區別就是一個可以看作生成模型,一個可以看作判別模型。最後就是感知器和線性可分SVM了,需要的數學工具主要就是凸優化裡面的拉格朗日對偶。。

第五章講到了基的擴張,個人感覺是整本書對數學要求最高的一章吧,從分段多項式和平滑樣條講起(這一部分應該更偏向於數值分析的內容),其中有一些結論非常漂亮,後面繼續講解該如何通過參數控制模型的複雜度。接下來就進入到傳說中的再生核希爾伯特空間(RKHS),這部分的內容需要泛函分析的知識,可以參考李航《統計學習方法》第七章的內容,講解地非常清楚詳細,在我看來,對於非數學系的學生而言,函數空間的觀點非常重要,理解了這一觀點再看RKHS就不是特別困難了,最後的小波分析也是數學重災區,不過我自己也理解得不好,就不瞎扯了。。

第六章核光滑方法,基本就是非參數統計的知識,沒太多技術上的難點,這一章順帶提了一下樸素貝葉斯以及高斯混合模型等常用的方法。

第七章關於模型的評估與選擇,主要在於體會「偏差-方差分解」的思想,沒有特別複雜的理論推導;當然其中有一節「VC維」除外,有關於VC維更詳細的推導強烈推薦林軒田的《機器學習基石》1-7節。

雖然本書的三個作者都屬於「頻率學派」(我們一般學習的數理統計也都屬於頻率學派),在第八章他們還是提到了一些關於「貝葉斯學派」的內容,更詳細的講解需參考《貝葉斯統計》,由於貝葉斯推斷需要求解積分,計算機是無法直接求解的,因此需要通過採樣進行求解,本書提到的馬爾科夫鏈蒙特卡洛(MCMC)是一種近年提出的非常經典的採樣方法,理論保證來源於馬爾科夫鏈的平穩分布,一般的隨機過程教材對這方面都有詳細的講解。針對頻率學派,最常用的參數估計方法就是極大似然估計,然而對於一些含有隱變數的模型而言,直接採用極大似然估計很難求解,於是就有了一種近似方法——期望最大化方法(EM),將最大似然估計的過程分解為兩個步驟,更詳細的推導可以參考李航《統計學習方法》第九章,需要熟悉凸函數的一些性質,例如琴聲不等式。。

第九章講解了廣義加性模型等一些相關的方法,基本上都是本書幾個作者的研究成果,我理解得並不好,也沒具體用過,就不多說了。。

第十章又是本書的一大重頭戲,首先從指數損失的角度重新解釋了經典的Adaboost演算法,接下來就是橫掃各大數據挖掘比賽的GBDT了,畢竟是本書這幾個作者搞出來的,理解的深度自然又不一樣了,不過更多的是關於方法性的東西,對數學並沒有太多的要求。。可以參考李航《統計學習方法》第八章。

第十一章,神經網路,主要講了BP演算法,需要掌握微積分中的複合求導鏈式法則,本質上就是一種動態規劃方法,感覺這一章沒有太大看的必要,內容有點過時,不如直接去看深度學習,在這裡向量化編程的重要性尤為顯著,不然訓練速度有你好受。。當然,要想熟悉向量化編程,首先需要熟練掌握各種矩陣運算

第十二章,支持向量機以及判別模型,支持向量機主要用到了拉格朗日對偶以及核方法(在第四章和第五章已經提到),更詳細的講解可以參考李航《統計學習方法》第七章以及林軒田《機器學習技法》1-6節。後面的各種判別分析主要是本書作者Hastie的研究成果,網上對此的講解非常少,我也沒怎麼理解,就不多說了。

第十三章,K近鄰以及一些推廣,沒啥可說的。

第十四章,講了這麼久的監督學習,終於進入到了非監督學習領域。各種聚類分析、主成分分析、譜聚類、獨立成分分析、矩陣分解,這部分內容用到的主要數學知識還是矩陣論,更詳細的講解可以參考多元統計分析相關的內容。本章最後提到了一些流形學習的方法,理論上很漂亮實際效果就不好說了。。最後提了一下谷歌的排名演算法,本質上也是基於馬爾科夫鏈的平穩分布

第十五章和十六章講解了隨機森林和集成學習,都是一些具體的測試結果,並沒有太多的理論分析。。最後十七和十八章沒看,暫時也沒打算看了,就醬。

縱觀全書,應用最多的數學還是微積分(數學分析)、線性代數(矩陣論)、概率論以及數理統計(包括回歸分析、多元統計分析),一定的凸優化、數值分析、隨機過程是有必要的,另外泛函分析主要可以幫助提升觀點,從統一的視角看待之前很多門數學學科,理解函數空間很有必要。

最後是個人的一些看法,感覺這本書針對很多問題解釋得過於直覺化,具體的實現細節都沒有展現出來,如果沒有具體的編程實現(比如我),還是很難領悟到這些演算法的精髓。另外,這書確實不能算入門教材,裡面的很多經典演算法講解都過於簡略,必須去參考其他書籍甚至原始的論文才看得懂。當然有機會我還會把書再看一遍的。。


一個人看不懂ESL的原因其實跟數學基礎沒關係。數學基礎不是重要的,攻數學書的這種戰略套路才是讀書有效性的關鍵

數學就是個語言,這個問題類比一下就跟 「請問看懂《國富論》《資本論》需要怎樣的英文基礎」 一樣。事實上絕大多數情況下,單純的 「英語好」 離看懂這些書之間差了很大的一截的。

ESL最漂亮的地方在於,它乍一看有大量的細節,其實每個演算法都只講了很小的一部分篇幅。它是蜻蜓踩水式的把每個演算法的核心講一下,但是更炸的其實是它在宏觀角度串聯了這些一大堆演算法,並且探討了它們共同的根源是什麼。

它這個濃縮方式大概是這樣的:

1. 把演算法trivial的細節全都略過或者放在習題裡面

2. 存在大量跳步,幾乎每兩行之間都有一步隱藏思考過程。


然後呢,沒有接受過系統數學訓練的人如果第一次讀這種書,會有兩個原因導致讀不懂

1. 對需要 「一邊看一邊自己補地圖」 的這種看書方式非常的不習慣。這個是很多工科出身的人讀不懂的第一個原因。

2. 因為自己腦子裡面缺少很多東西,所以雖然有邏輯推理能力但是沒有可供推理的原材料。


第一點很好破,只要知道有這麼回事就可以習慣了。

第二點其實說的核心是這樣的:ESL對於普通人而言,應該作為ML的第二本書去讀。最好先人肉百科全書式的學一遍各種演算法,學到一個程度就是:ESL目錄裡面出現的所有名詞 你可以有個概念 這個是個啥東西,大概用來幹嘛的,大概optimization過程是怎樣的。

但是這個情況下其實懂的很淺,雖然會寫碼會調包會分析結果,但是感覺自己並沒有深入的理解演算法之間的聯繫、convention,和適用範圍。然後如果想要回頭去 從根源上理清楚這些東西,這時候就應該去看ESL了。


如果把學術書籍的層次當作一個spectrum的話,這個spectrum的兩頭大概是這樣的:

前一頭是完全沒有細節,只有框架和深刻的原理的書(代表是& &<道德經&>)後一頭是細節特別充分但是沒什麼框架和原理的書(大概街上隨便挑一本ML都是這樣的)

然後ESL這本書在這個spectrum裡面是處在中間偏前一點。

需要提到的是,前述的玩法不僅僅適用於ESL這本書,所有處在這種位置的書都可以。然後呢,剛好,有很多處在這個地方的書都是數學書。典型的比如Stein的&<分析四部曲&>。

在一般的數學學習裡面,遇到這種書,相應的學習迭代過程其實是也是差不多的:先把書雲里霧裡地看一遍,然後大量做習題或者大量看證明,然後回過頭來一次性花幾天把書看一下,以把上一步的經驗串起來完成升華。

以上全部回答都是假設題主的目的是 「讀懂ESL」。至於讀懂ESL是為了幹嘛,以及讀ESL對這個目標是否有幫助,以及達成這個目標是否一定需要讀ESL…… 這些問題由於信息不足就沒辦法分析了。其實這些問題應該更加重要一點吧。


這本書是我最常用的一本書之一。專門買了印刷版放在桌頭。每次寫論文的時候對於數學符號的應用、演算法的表述和假設、以及公式的闡述等方面有疑問的時候,我都會把這本書拿出來看下。

這本書我沒有完完整整的讀完過。但是三個作者在斯坦福開的課我都上過。這些課上都是用的這本書。基本把書上的章節都涵蓋了。所以我接下來將從兩個角度來講下我的看法。第一個角度是從斯坦福的課程安排以及課程的要求。第二個是我上課和閱讀該書的心得。

1. 斯坦福的課程安排與課程要求

在斯坦福,以這本書作為教材的課程都是300級的課程。這些課程的面向對象基本是統計博士第一年以上的學生。當然,上這些課的人包含了從本科一直到博士的學生,而且不僅限於統計系。對於這本書運用最多的是Stats 315A 和 Stats 315B 這兩節課。

在這個鏈接上(Stanford University Explore Courses)大家可以看到這兩門課需要的課程要求。Stats 315A要求的是Stats 305, 306A和306B。Stats 315B是沒有課程要求的。但是大家通常會上完315A再上這門課。Stats 305, 306A和306B這三門課現在變成了Stats 305ABC。這些課都是統計系博士一年級的必修課。內容包括了linear regression, logistic regression, generalized linear regression, categorical regression etc. 具體的內容和課堂筆記可以google課程主頁。其中306B主要講的是unsupervised learning. 其實是對stats 315AB的補充。因為在這兩門課中主要關注的還是supervised learning。Stats 305ABC的內容看起來比較簡單。在課堂上主要關注的是對於模型的分析以及各種不同情況下模型的變形。比如,305中會花兩周時間再講ANOVA的相關信息。

因此,從斯坦福的課程安排上來看,讀懂這本書需要對統計的基本概念以及模型都有一些理解和了解。這樣在讀這本書的時候就不會太過糾纏於概念。


2. 我自己上課和閱讀的心得

我不是學習統計的。我自己最開始是先上的Stats315B因為看到網站上沒有課程要求。但是當時上的很痛苦。因為之前僅僅上個CS229 Machine Learning。在關注很多統計概念的時候很吃力。後來上了一些統計系針對碩士的課程後,再上Stats 305ABC和Stats 315A就覺得連貫了很多。


我覺得需要知識點(都是大學本科基本的課程)包括有(其中很多之前的答主已經說了):

1. 線性代數,尤其是matrix calculus

2. 統計知識

3. 概率知識,尤其是Bayesian statistics

4. 基本的演算法知識,因為其中有些地方提到了演算法複雜的等內容

5. 常見機器學習的模型和方法,比如squared loss funciton, l1 norm, l2 norm等

6. 一些簡單的estimation的方法,尤其是maximum likelihood method

7. 常見的統計定理, Markov inequality, Law of Large Number


在讀ESL的時候,我更多是把它當做一本工具書。舉個最簡單的例子,我有一個linear regression的問題需要解決。那麼我會先看下這本書裡面是如何解決這個問題的,假設是什麼。如果有一些條件不滿足,書里是否講了。沒有的話,再去google。這本書上的內容並不是很新,但是很經典。我本人的科研方向是偏工程領域,因此對於我個人來說這本書裡面很多的方法是足夠用的。


最後,我推薦大家先讀一下三位作者的另外一本入門書 Introduction to Statistical Learning . 我認為讀完這本書在讀ESL會讓整個閱讀感受更加直觀和順暢。


認真回答一下這題吧。

簡單來說,數學上的內容,必備的有:

微積分、矩陣微積分、線性代數、概率論、數理統計、線性回歸、非參數統計、多元統計分析、凸優化(線性、二次)、泛函分析;

其它一些懂最好不懂也能沒啥障礙跟著的:

數值優化、數值線性代數、概率圖、boostrapping、隨機過程(馬爾科夫模型)、learning theory

下面詳細說一下:

這本書是斯坦福統計系Stats 315a, Stats 315b statistical lear ning的教材,當然Stats 306b unsupervised learning有時也會用這本書。上課的老師一般都是那3個作者啦,所以有老師講解會好很多。當年還有視頻上課,我錄了下來;stats 315b是找同學錄的,後來不見了,然後2015年的時候認識了一個師弟,找他要了帳號,又錄了一遍,也重新聽了一遍,那時候深度學習已經火起來了,聽聽斯坦福統計系教授對深度學習的看法也挺好。

網上有人對比stats 315ab和計算機系吳恩達的cs 229 machine learning,當然那個人是偏向吳恩達的,比如cs 229材料更新更快、內容更友好、編程作業設計更好等等。從課程設計來說,統計系的這些課貌似真的比不上cs 229,但從學習內容來看,統計系的要更嚴謹一些,而計算機系的課更偏重數值計算,比如提出一些很直觀的優化方法來提高速度等。

先看這本書的封面:

Rob Tibshirani是lasso的提出者,拿過統計學總統獎COPSS;

Jerome Friedman是GDBT(gradient boosting decision tree)的提出者,拿過統計學總統獎COPSS,演算法也稱為gradient boosting machine, 或者multiple addictive regression tree( MART);

Travor Hastie提出了elastic net,就是R裡面的glmnet,也是業界大牛。

所以他們的方法會更偏lasso這種sparsity的方法一些,跟深度學習很不一樣。

第一章 introduction舉了幾個例子簡單介紹了一下,沒什麼太多的內容,數學要求不高;

第二章 簡單的回歸和分類模型,課後習題建議都做一下,網上搜得到答案,上交的一個同學和國外的一個同學做過。另外那幅分類的圖習題2.2要計算貝葉斯最優邊界的貌似都沒有做出答案,或許並沒有解析解,但畫圖還是容易的,數值解也不難,我自己也沒有太仔細研究;

第三章線性回歸,各種lasso, ridge的模型,其實linear algebra, matrix calculus還是必須的,取決於自己的熟悉程度,有一些這方面的講義可以搜一下;當然,probability and mathematical statistics也是需要的,國內一般大一大二會學吧;其實這本書也假設最好學過一門回歸分析的課,這應該是統計系大三的課;這章的習題會有點難度,建議找幾個同學一起來做,用latex寫,然後大家共享。這本書估計有點難,網上貌似沒有很全面的習題解答,那幾個斯坦福的老教授又比較懶,當然我上過課收集幾年的習題解答還是能湊出一些的,自己也能做出一些;

第四章講線性分類的,最後提到了分割平面,所以linear and nonlinear optimization的理論也需要一些,也有地方叫做convex optimization,國內一般大三會學,最好是這些基礎都準備好了再讀這本書,因為他寫的比較跳躍,如果遇到不懂了,假設自己懂了繼續看,這樣子隨著「假設懂了」的情況越來越多,自己越來越蒙。另外一個學習的技巧在於把裡面的圖表都重現一下,哪怕理論證明我不懂,但這些程序我會寫,也是一種收穫,畢竟實際工作中主要是寫程序。

第五章主要是非參數統計,當然如果之前上過一門nonparametric statistics會比較好,這本書煩就煩在每個知識都用到一些,但為了這些知識專門去上一門課似乎划不來,但如果不上自己自學又看不大懂,也就是說這本教材並不是十分自洽的。一般非參數統計是統計系大三的課,數學系、計算機系都不會學,需要自己選修,所以有點麻煩。而且這章還用到了泛函分析希爾伯特空間空空間之類的,functional analysis也是數學系大三的課,所以對數學系學生來說讀這本書也是挺合適的,很多數學系的學生總是抱怨說讀了這麼多這些東西以後有什麼用啊,其實如果上cs 229 machine learning卻是沒用,但是讀讀這本elements of statistcal learning還是能刷存在感的。如果以後做量化金融還是有點用的,比如

還有就是MIT的Andrew Lo(羅聞全)研究技術分析的時候用nonparametric kernel regression逼近價格曲線之後通過簡單的求導找出極值點,本質上就是過濾掉噪音。所以這些傳統的數理方法還是有點用的,大家認真學學吧。

第六章也是講這些kernel的,還是nonparametric regression,所以如果讀過一門非參數統計的話會好很多,否則也會比較吃力。但只要能編程實現,大概脈絡懂了,數學推導的細節不必太在意。

第七章講模型選擇的,就是bias-variance的分解,避免過度擬合之類的,略微提到了VC維這種純learning theory的內容,另外還有boostrapping,其實boostrapping一般是用來估計標準差的,機器學習裡面可能用的不多,因為機器學習貌似只關係prediction error,不大關心估計值的置信區間。斯坦福的Efron是提出boostrapping的人,也是這些人的導師輩,寫了本這方面的書,有時間也可以看看,但一般大學統計系不會有專門的課講這些,這些也不難。

第八章又是比較牛逼的一章,講了用EM演算法計算Maximum Likelihood、Markov Chain Monte Carlo、Bayesian Statistics等等,我在D. Koller的Probablistic Graphical Model中看到過這些內容,專門的monte carlo的課可能也不多,或許需要研究生一年級的課程。當然吳恩達裡面有提到Jensus Inequality和EM Algorithm。

第九章又變得溫和一些,主要講tree -based model,回歸樹、分類樹之類的,其實很多書講得更好,比如他們很多年以前出了一本Classification and Regression Tree(CART)的書,這些屬於比較老的方法,更多是為了第十章打基礎。

第十章主要講boosting and addictive trees,講課的是Friedman,由於是他自己提出來的方法當然重點講,比如說這是當今最受歡迎的方法啊,60%的kaggle最優演算法都是啊,剩下的是隨機森林之類的,總之tree-based model很受歡迎啊。。。另外還有一些numerical optimization的內容,主要是計算gradient,其實這些都是軟體包的事情,這些深入下去也是無邊無際的,numerical optimization屬於比較偏門的內容,一些科學計算的專業可能會學,研究生一年級吧,stephen wright有一本很著名的教材就叫做numerical optimization,另外stephen boyd寫的convex optimization也會提到,他的ee 364b會重點講這些,但是沒有出書。

第十一章講神經網路,但是只講了單個隱層的,出書是2008年左右,那時候深度學習還沒火起來,深度學習應該是2012年開始才比較火的,所以這部分內容不是很多,加上作者對深度學習的鄙視態度,這方面的內容不多,有興趣的可以看deep learning的書。

第十二章講支持向量機,這也是機器學習裡面很著名的一個方法,而且數學味道比較濃,主要是用了很多凸優化的內容,其實很多模型理論複雜,使用都挺簡單的,不同的kernel試一下。

第十三章講k-means, nearest-neighbour,很多講分類的書一開始會講,但這裡放到比較後面,其實內容是挺簡單的,沒啥特別的數學吧,除了多元正態分布那些。

第十四章講unsupervised learning,其實很多是多元統計那些,multivariate statistics,principal component, independent component等等,多元統計一般是大三的課吧,可以對付,它也講很複雜的那些統計分布。

第十五章講隨機森林,也是很常用的一種模型,不怎麼需要調參,數學基礎就不多了,有了前面的知識足夠應付。

第十六章講ensemble learning,其實random forest和boosting也可以看成是ensemble,bayesian prior那些也可以看成是ensemble method,貌似svm也看成是ensemble method,所以前面講的那些基本都是了。其實在統計學家眼中,貌似這些機器學習的模型都是把簡單的統計學模型ensemble一下吧。

第十七章講概率圖的,比如Markov Graph,如果專門學過Probablistic Graphical Modelhui1比較好,但那又是更大部頭的一本書。。。或許直接學ESL還容易一些。

第十八章講p&>&>N,統計學家就喜歡搞這些,數學上沒有太多新的內容。。


我是數學PhD出身然而看這本書仍然略頭疼。我認為是作者寫得不好,但也可能是受篇幅限制很多內容沒法詳細解釋。
我的建議是最好先去看同樣是Hastie寫的statistical learning with R。此書覆蓋的內容較少,去除了許多晦澀的內容,整體上更直觀易懂。


謝邀

數學基礎的話, 基本上大學數學學到的幾門課的內容就夠了, 包括微積分, 線性代數, 概率論, 隨機過程等. 特別是前面三門課程, 基本上大學理工科都學的吧?

如果這些內容都忘了, 建議找點教材學習一下, 或者可以看看可汗學院相關課程的視頻. 同時, 如果在啃的過程中遇到些許不懂的知識點, 也可以通過網路獲取相關知識點的基礎部分, 現在學習比起若干年前, 還是方便許多的.

另外, 個人覺得, 這本書比較枯燥, 最需要的是要能夠堅持住, 把它啃下來. 寶劍鋒從磨礪出, 梅花香自苦寒來, 如果能把這本書啃的滾瓜爛熟, 應該能夠勝任絕大多數工程類的機器學習的工作了. 樓主以及走過路過的朋友, 如果啃下來後, 歡迎把簡歷發我, 敝司(金融科技類, 非大廠)招人, 同時敝人若干朋友的公司(各種,包括2B的, 非大廠)也招人.


我覺得很好的一本書呀。看不懂大概是因為沒有跟著做project. 我們當時是博一的時候, applies stat Andrew Gelman 推薦的這本,然後基本裡面經典的例子都親手碼了matlab or splus. 當時覺得,哇塞,還可以這樣不管assumption 的用公式,而且結果居然不賴。對以後選應用還是技術崗影響深重。


首先想補充一點。我個人認為線性代數上的最大的難點是在於對於矩陣和向量求導。我自己所在的學校教授的線性代數課對此並沒有涉及,但是在學習過程中發現這方面的知識至關重要。舉個例子,比如說最土的多變數線性回歸的推導,或者從convex optimization角度推導同樣很土的SVM,都需要這方面的知識。
其次比較重要的自然是概率論了。當然,如果只是為了讀懂這本書,沒有必要去了解測度論之類。但是各種convergence in probability可能要玩熟,然後一些常見的很土的方法(kernel regression啊,histogram啊亂七八糟的)也要有大致的了解。
最後就是一丟丟的實分析和大量的微積分了,尤其是微積分要玩的特別熟。微積分其他答主說的已經非常到位了,我就斗膽補充下實分析上的知識吧。因為很多對於被估計的函數的平滑性假設都是建立於實分析的概念之上(Sobolev,Lipschitz,Holder),而且常見證明中也常常會運用到各種泰勒展開,尤其是對於高斯分布的相關的證明。所以有實分析知識肯定會有很大的幫助。當然如果完全沒有也問題不太大,稍稍了解下把概念弄清楚就好。
最後安利CMU 10-702的lecture notes,nonparametrics那一塊是EOSL作者Robert Tibshirani的兒子Ryan Tibshirani寫的...然後他突然當爹後就不教課了(


正在看這本,我覺得這本書的一大特點就是文並茂,很多插圖能夠把問題說到點子上,同時又能兼顧美觀(彩色?)

不知道題主的水平如何,不過我個人是覺得這本書不太適合作為學習新知識的書籍,感覺它扮演的有點類似於《統計學習方法》的那種風格。倒不是需要多少數學和統計知識的問題,而是需要一個真正在優化和ML問題中把這些概念不斷融會貫通加以運用的過程。乍看上去好像書中公式插圖應用都涉及到了,但是真正一步步走的時候中間有很多的gap是沒有提及的,讓新手容易處於一種被動接受的狀態,而不是自己順著跟主線一步步走下去。

也許是我的愚笨,但是越學越覺得在學習這個領域的過程中,general picture是相當重要的,如果一本資料讓人把大量的精力花費在琢磨作者的文外之義,就很難再兼顧整體的把握,而這個東西,並不僅僅是那幾門課的事情。(我就看到某數學系小哥看這本看得很歡快)

發現作者還搞了R裡面的glmnet,真是給跪了....

Update 3/23/17

今天又去了OH, 更加感到如果是要入門的話還是不建議從這本書開始,盯著書上寥寥數語放飛想像的翅膀卻什麼也找不到是很浪費時間的。更不用說如果把一個問題考慮到每個毛孔里(比如具體怎麼用裡面的方法解決實際問題)。

舉個可能不恰當的例子,國畫留白很美,但是沒有體會遼闊意境的時候,看到的只有白,空洞的白。


這本書對數學的要求不高,有大學基本的微積分,線性代數和概率統計知識就夠了。我覺得這本書讀不懂的主要原因是不太能理解variance-bias tradeoff,這需要仔細讀線性回歸那一章。


金工本,統計雙,剛開始跟著老師在讀... 只看了前三章,感覺數分 高代 概率論 數理統計的基礎再加一點回歸就足夠推倒書上面絕大多數定理了。不過還是啃的日常懷疑智商。但願申請前能讀完 半年後再來答 逃..

習題有相當難度.有些甚至是是unsolved,得靠弘毅小夥伴和老師來。正文部分的推倒翻翻優化的書還是能找到支持的。 因為讀過西瓜書,凸優化,python實戰,像高票答案說的一樣的,感覺看啦西瓜書和python實戰是能調包,公式抄寫,但是總有種很不通透的感覺,但是凸優化結合ESL能把演算法之間的關係和原理厘的很清楚,不過初讀的時候很容易淹死在證明裡面出不來


謝一霸哥邀請。
這本書我大三的時候甚至大四的時候都曾嘗試閱讀,但感覺除了學了幾個名詞拿來自high一下,裝一裝逼外並沒有什麼太大收穫。

後來有幸上Trevor Hastie老爺子的課時覺得好像自己懂了,回頭卻好像又發現自己還是不太懂。仔細想想還是因為學的時候太浮躁了,聽老爺子說一遍覺得自己抓住了intuition。但其實並沒有,自己只是記住了「評論」而已。那麼多演算法,互相之間的關係和優劣不是幾堂課下來就能弄清楚的。得認真的啃明白這些演算法的推導,才能算讀通透這本書。就推導這些演算法而言,以下一些數學知識比較重要:最優化,矩陣論,離散數學,概率論。不過換一個角度來說,學習很多演算法並不一定要只看這本書來學。比如EM演算法我個人就覺得吳恩達的機器學習筆記講的更容易理解一點。

另:為表誠意,特地去亞馬遜買了本老爺子的書,紙質不錯。。。


讀的每天都在懷疑智商


如果就說需要什麼數學基礎能讀懂,線性代數,微積分還有基本數理統計就行了。

這本書通俗易懂,比較難的數學都跳過了,如果數學基礎好,感覺就像在看小說一樣。

不過,想學好內容,強烈建議用python實現裡面的演算法或者學會如何用scikit learning調用相應的functions。


首先說一下這本書確實是一本相當好的書,引用我們系一位很牛逼的老師的話是 You should know in your high school。其實如果只想簡單套用這本書簡單的方法 因為網上有絕大多數方法的程序 基本微積分 線性代數 概率論 數理統計 以及優化的知識就夠了。如果想深入了解這本書裡面的某種演算法的話,個人建議去看相關的論文,因為這本書講的有些過於簡單,大概掌握裡面證明問題 一定要掌握凸優化的內容。這本書我也只是淺嘗輒止的讀了下,個人覺得這本書作為統計學習方法的概覽比較好,深入思考其中的問題還是多去讀讀論文。


最近正在上統計學習課,用的就是這本書,看完書來答


這本書的作者是Stanford統計系的三個大牛,Rob Tibshirani是COPSS獎獲得者,其他兩個也是ASA的Fellow,學術水平首先沒有的說。

這哥仨的主要研究成果我來介紹一下,Hastie最重要的是GAM(在ESL的第九章),一些nonlinear的判別分析(第四章和第十二章);Tibshirani是LASSO(ESL的第三章),這是他獲得COPSS的貢獻,除此之外就是他和Hastie co-author的GAM和他自己在一些生物統計方面的工作;Friedman的工作要偏向計算機一點,他的主要貢獻是Gradient Boosting(第十章),MARS(第九章),PPR(第十一章),此外這哥仨還寫了一堆的R包,造福了很多統計的Ph.D.

我們從研究方向可以看出來這三位作者實際是統計領域的統計學家而不是計算機領域的機器學習專家。所以他們的作品也會打上很深的統計烙印,和計算機領域的專家的書籍的側重點不同。所以書中會出現大量統計中特有的方法,比如第三章的LARS,第六章的local polynomial,第十二章的RDA,這些內容在CS這裡並不是重點。所以題主如果是CS的學生或者是只想在業界應用,我建議可以輔助的讀一些類似PRML,MLAPP,統計學習方法這樣的書。如果題主是統計的學生想繼續深造,那麼可以重點讀一下這本書的前九章(第十章往後就不是統計的熱門話題了,而且他們寫的也不算好)。


可以另一本簡單的,然後在看這本


這本書非常不容易讀,並非因為本身難度,而是因為涉及廣度太廣,相當於一本大字典。通篇讀完+習題做完+引用文獻讀完可能要花上好多年。

舉例來講,chap 9 Tree-Based Models 裡面講到Regression Tree, 提及Weakest link pruning ,但是並沒有給出證明,而是提及了另兩個文獻, Breiman et al(1984)或者Ripley (1996)中有詳細的細節。

假如你有志於深入了解機器學習,認真鑽研這種細節證明還是很重要的 ,所以你還需要找時間研究這兩個文獻...


統計學專業本科大三在讀,這本書目前也有看,不過看的不多,目前精力主要是在另一本相對簡單的書,也就是ISL。對於前面章節的內容只需要有數分,高代,概率論以及數理統計和回歸的基礎即可。後面涉及到的優化問題其實大多是通過分析的方法解決的。
這本書內容很豐富,這學期開的統計實驗課老師讓我們自己講課我準備的東西主要就是參考這本書~認真把這本書讀了自身水平會大大提高的~


推薦閱讀:

機器學習各種演算法怎麼調參?
深度學習caffe的代碼怎麼讀?
機器學習中常常提到的正則化到底是什麼意思?
有哪些現代分析方法可以用於解決「紅樓夢續寫爭議」?有哪些例子?
神經網路,人工智慧這塊怎麼入門?

TAG:數學 | 機器學習 | 統計 |