机器学习数学提要
挺不錯(cuò)的博客鏈接:
●《高數(shù)上下冊(cè)》
●《概率論與數(shù)理統(tǒng)計(jì)浙大版》
●《數(shù)理統(tǒng)計(jì)學(xué)簡史》陳希孺
●《矩陣分析與應(yīng)用》張賢達(dá)
●《凸優(yōu)化 (Convex Optimization)》-Stphen Boyd&Lieven Vandenberghe
●《統(tǒng)計(jì)學(xué)習(xí)方法》李航
●《PRML》
1、機(jī)器學(xué)習(xí)中的數(shù)學(xué)基礎(chǔ)
- Taylor展式的應(yīng)用
- 常見概率分布與共軛分布
- 最大似然估計(jì)
- 中心極限定理及其應(yīng)用
- 大數(shù)定理及其應(yīng)用
- Lagrange凸優(yōu)化
2、Python及其數(shù)學(xué)/機(jī)器學(xué)習(xí)庫的使用
- 機(jī)器學(xué)習(xí)算法類別
- 機(jī)器學(xué)習(xí)應(yīng)用的一般流程
- 解釋器Python2.7與IDE:Anaconda/Pycharm
- numpy/scipy/matplotlib/panda庫的介紹和典型使用
- 舉例:SVD用于圖像處理
3、回歸
- 線性回歸
- 高斯分布
- Logistic回歸
- 最大似然估計(jì)
- 梯度下降算法:BGD與SGD
- 特征選擇與過擬合
4、回歸實(shí)踐
- 機(jī)器學(xué)習(xí)sklearn庫介紹
- Ridge回歸、LASSO
- Logistic/Softmax回歸
- 回歸代碼實(shí)現(xiàn)和調(diào)參
- 數(shù)據(jù)可視化
5、決策樹和隨機(jī)森林
- 熵、聯(lián)合熵、條件熵、KL散度、互信息
- 最大似然估計(jì)與最大熵模型
- ID3、C4.5、CART詳解
- 決策樹的評(píng)價(jià)
- 預(yù)剪枝和后剪枝
- Bagging
- 隨機(jī)森林
6、隨機(jī)森林實(shí)踐
- 手寫隨機(jī)森林實(shí)踐
- 調(diào)用開源庫函數(shù)完成隨機(jī)森林
- 數(shù)據(jù)結(jié)構(gòu)的綜合使用
- gini系數(shù)
7、提升
- 提升為什么有效
- Adaboost算法
- 加法模型與指數(shù)損失
- 梯度提升決策樹GBDT
8、xgboost
- 自己動(dòng)手實(shí)現(xiàn)GBDT
- xgboost庫介紹
- Taylor展式與學(xué)習(xí)算法
- xgboost應(yīng)用于實(shí)踐
9、SVM
- 線性可分支持向量機(jī)
- 軟間隔的改進(jìn)
- 損失函數(shù)的理解
- 核函數(shù)的原理和選擇
- SMO算法
10、SVM實(shí)踐
- libSVM代碼庫介紹
- 原始數(shù)據(jù)和特征提取
- 手寫隨機(jī)森林實(shí)踐
- 調(diào)用開源庫函數(shù)完成SVM
- SVM、Logistic回歸、隨機(jī)森林三者的橫向比較
11、聚類
- 各種相似度度量及其相互關(guān)系
- K-means與K-Medoids及變種
- AP算法/LPA算法及其應(yīng)用
- 密度聚類DBSCAN/DCluster(Science2014)
- 譜聚類SC
- 聚類評(píng)價(jià)和結(jié)果指標(biāo)
12、聚類實(shí)踐
- 動(dòng)手自己實(shí)現(xiàn)K-means
- K-Means++算法原理和實(shí)現(xiàn)
- 并查集的實(shí)踐應(yīng)用
- 密度聚類的代碼實(shí)現(xiàn)
- 使用開源機(jī)器學(xué)習(xí)包完成聚類
13、EM算法
- 最大似然估計(jì)
- Jensen不等式
- 樸素理解EM算法
- 精確推導(dǎo)EM算法
- EM算法的深入理解
- 混合高斯分布
14、EM算法實(shí)踐
- 多元高斯分布的EM實(shí)現(xiàn)
- 分類結(jié)果的數(shù)據(jù)可視化
- EM與聚類的比較
- 主題模型pLSA與EM算法
15、主題模型LDA
- 貝葉斯學(xué)派的模型認(rèn)識(shí)
- 共軛先驗(yàn)分布
- Dirichlet分布
- Laplace平滑
- Gibbs采樣詳解
16、LDA實(shí)踐
- 停止詞和高頻詞
- 動(dòng)手自己實(shí)現(xiàn)LDA
- LDA開源包的使用和過程分析
- Metropolis-Hastings算法
- MCMC
- LDA與word2vec的比較
17、隱馬爾科夫模型HMM
- 概率計(jì)算問題
- 前向/后向算法
- HMM的參數(shù)學(xué)習(xí)
- Baum-Welch算法詳解
- Viterbi算法詳解
18、HMM實(shí)踐
- 動(dòng)手自己實(shí)現(xiàn)HMM用于中文分詞
- 多個(gè)語言分詞開源包的使用和過程分析
- 文件數(shù)據(jù)格式UFT-8、Unicode
- 停止詞和標(biāo)點(diǎn)符號(hào)對(duì)分詞的影響
- 前向后向算法計(jì)算概率溢出的解決方案
- EM算法和MLE的優(yōu)劣比較
- 發(fā)現(xiàn)新詞和分詞效果分析
附贈(zèng):機(jī)器學(xué)習(xí)用于股票預(yù)測(綜合)
你可以從一個(gè)由你熟悉的語言編寫的庫開始學(xué)習(xí),然后再去學(xué)習(xí)其他功能強(qiáng)大的庫。如果你是一個(gè)優(yōu)秀的程序員,你會(huì)知道怎樣從一種語言,簡單合理地遷移到另一種語言。語言的邏輯都是相同的,只是語法和API稍有不同。
?R Project for Statistical Computing:這是一個(gè)開發(fā)環(huán)境,采用一種近似于Lisp的腳本語言。在這個(gè)庫中,所有你想要的與統(tǒng)計(jì)相關(guān)的功能都通過R語言提供,包括一些復(fù)雜的圖標(biāo)。CRAN(你可以認(rèn)為是機(jī)器學(xué)弟的第三方包)中的機(jī)器學(xué)習(xí)目錄下的代碼,是由統(tǒng)計(jì)技術(shù)方法和其他相關(guān)領(lǐng)域中的領(lǐng)軍人物編寫的。如果你想做實(shí)驗(yàn),或是快速拓展知識(shí),R語言都是必須學(xué)習(xí)的。但它可能不是你學(xué)習(xí)的第一站。
?WEKA:這是一個(gè)數(shù)據(jù)挖掘工作平臺(tái),為用戶提供數(shù)一系列據(jù)挖掘全過程的API、命令行和圖形化用戶接口。你可以準(zhǔn)備數(shù)據(jù)、可視化、建立分類、進(jìn)行回歸分析、建立聚類模型,同時(shí)可以通過第三方插件執(zhí)行其他算法。除了WEKA之外, Mahout是Hadoop中為機(jī)器學(xué)習(xí)提供的一個(gè)很好的JAVA框架,你可以自行學(xué)習(xí)。如果你是機(jī)器學(xué)習(xí)和大數(shù)據(jù)學(xué)習(xí)的新手,那么堅(jiān)持學(xué)習(xí)WEKA,并且全心全意地學(xué)習(xí)一個(gè)庫。
?Scikit Learn:這是用Python編寫的,基于NumPy和SciPy的機(jī)器學(xué)習(xí)庫。如果你是一個(gè)Python或者Ruby語言程序員,這是適合你用的。這個(gè)庫很用戶接口友好,功能強(qiáng)大,并且配有詳細(xì)的文檔說明。如果你想試試別的庫,你可以選擇Orange。
?Octave:如果你很熟悉MatLab,或者你是尋求改變的NumPy程序員,你可以考慮 Octave。這是一個(gè)數(shù)值計(jì)算環(huán)境,與MatLab像是,借助Octave你可以很方便地解決線性和非線性問題,比如機(jī)器學(xué)習(xí)算法底層涉及的問題。如果你有工程背景,那么你可以由此入手。
?BigML:可能你并不想進(jìn)行編程工作。你完全可以不通過代碼,來使用 WEKA那樣的工具。你通過使用BigMLS的服務(wù)來進(jìn)行更加深入的工作。BigML通過Web頁面,提供了機(jī)器學(xué)習(xí)的接口,因此你可以通過瀏覽器來建立模型。
挑選出一個(gè)平臺(tái),并且在你實(shí)際學(xué)習(xí)機(jī)器學(xué)習(xí)的時(shí)候使用它。不要紙上談兵,要去實(shí)踐!
Video Courses視頻課程
很多人都是通過視頻資源開始接觸機(jī)器學(xué)習(xí)的。我在YouTube和VideoLectures上看了很多于機(jī)器學(xué)習(xí)相關(guān)的視頻資源。這樣做的問題是,你可能只是觀看視頻而并不實(shí)際去做。我的建議是,你在觀看視頻的時(shí)候,應(yīng)該多記筆記,及時(shí)后來你會(huì)拋棄你的筆記。同時(shí),我建議你將學(xué)到的東西付諸實(shí)踐。
坦白講,我沒有看見特別合適初學(xué)者的視頻資源。視頻資源都需要你掌握一定的線性代數(shù)、概率論等知識(shí)。Andrew Ng在斯坦福的講解可能是最適合初學(xué)者的,下面是我推薦的一些視頻資源。
?Stanford Machine Learning斯坦福的機(jī)器學(xué)習(xí)課程:可以在Coursera上觀看,這門課是由 Andrew Ng講解的。只要注冊(cè),你可以隨時(shí)觀看所有的課程視頻,從Stanford CS229 course下載講義和筆記。這門課包括了家庭作業(yè)和小測試,課程主要講解了線性代數(shù)的知識(shí),使用Octave庫。
?Caltech Learning from Data加利福尼亞理工學(xué)院的數(shù)據(jù)分析課程:你可以在edX上學(xué)習(xí)這門課程,課程是由Yaser Abu-Mostafa講解的。所有的課程視頻和資料都在加利福尼亞理工學(xué)院的網(wǎng)站上。與斯坦福的課程類似,你可以根據(jù)自己的情況安排學(xué)習(xí)進(jìn)度,完成家庭作業(yè)和小論文。它與斯坦福的課程主題相似,關(guān)注更多的細(xì)節(jié)和數(shù)學(xué)知識(shí)。對(duì)于初學(xué)者來說,家庭作業(yè)可能稍有難度。
?Machine Learning Category on VideoLectures.Net網(wǎng)站中的機(jī)器學(xué)習(xí)目錄:這是個(gè)很容易令人眼花繚亂的資源庫。你可以找出比較感興趣的資源,并且深入學(xué)習(xí)。不要糾結(jié)于不適合你的視頻,或者對(duì)于感興趣的內(nèi)容你可以做筆記。我自己會(huì)一直重復(fù)深入學(xué)習(xí)一些問題,同時(shí)發(fā)現(xiàn)新的話題進(jìn)行學(xué)習(xí)。此外,在這個(gè)網(wǎng)站上你可以發(fā)現(xiàn)是這個(gè)領(lǐng)域的大師是什么樣的。
?“Getting In Shape For The Sport Of Data Science” – 由Jeremy Howard講授:這是與機(jī)器學(xué)習(xí)競賽者的對(duì)話,他們是一些實(shí)踐中的R語言用戶。這是非常珍貴的資源,因?yàn)楹苌儆腥藭?huì)討論研究一個(gè)問題的完整過程和究竟怎樣做。我曾經(jīng)幻想過在網(wǎng)上找到一個(gè)TV秀,記錄機(jī)器學(xué)習(xí)競賽的全過程。這就是我開始學(xué)習(xí)機(jī)器學(xué)習(xí)的經(jīng)歷!
Overview Papers綜述論文
如果你并不習(xí)慣閱讀科研論文,你會(huì)發(fā)現(xiàn)論文的語言非常晦澀難懂。一篇論文就像是一本教科書的片段,但是論文會(huì)介紹一個(gè)實(shí)驗(yàn)或者是領(lǐng)域中其他的前沿知識(shí)。然而,如果你準(zhǔn)備從閱讀論文開始學(xué)習(xí)機(jī)器學(xué)習(xí)的話,你還是可以找到一些很有意思的文章的。
?The Discipline of Machine Learning機(jī)器學(xué)習(xí)中的規(guī)則:這是由Tom Mitchell編著的白皮書,其中定義了機(jī)器學(xué)習(xí)的規(guī)則。Mitchell在說服CMU總裁為一個(gè)百年內(nèi)都存在的問題建立一個(gè)獨(dú)立的機(jī)器學(xué)習(xí)部門時(shí),也用到了這本書中的觀點(diǎn)。
?A Few Useful Things to Know about Machine Learning:這是一篇很好的論文,因?yàn)樗栽敿?xì)的算法為基礎(chǔ),又提出了一些很重要的問題,比如:選擇特征的一般化,模型簡化等。
我只是列出了兩篇重要的論文,因?yàn)殚喿x論文會(huì)讓你陷入困境。
Beginner Machine Learning Books給機(jī)器學(xué)習(xí)初學(xué)者的書
關(guān)于機(jī)器學(xué)習(xí)的書有很多,但是幾乎沒有為初學(xué)者量身定做的。什么樣的人才是初學(xué)者呢?最有可能的情況是,你從另外一個(gè)完全不同的領(lǐng)域比如:計(jì)算機(jī)科學(xué)、程序設(shè)計(jì)或者是統(tǒng)計(jì)學(xué),來到機(jī)器學(xué)習(xí)領(lǐng)域。那么,大部分的書籍要求你有一定的線性代數(shù)和概率論的基礎(chǔ)。
但是,還有一些書通過講解最少的算法來鼓勵(lì)程序員學(xué)習(xí)機(jī)器學(xué)習(xí),書中會(huì)介紹一些可以使用工具、編程函數(shù)庫來讓程序員嘗試。其中最有代表性的書是:《Programming Collective Intelligence》,《Machine Learning for Hackers》,《Hackersand Data Mining: Practical Machine Learning Tools and Techniques》(Python版, R版, 以及Java版)。如果感到迷惑的話,你可以選擇其中一本開始學(xué)習(xí)。
?Programming Collective Intelligence: Building Smart Web 2.0 Applications:這本書是為程序員寫的。書中簡略介紹相關(guān)理論,重點(diǎn)以程序?yàn)槔?#xff0c;介紹web中的實(shí)際問題和解決辦法。你可以買來這本書,閱讀,并且做一些練習(xí)。
?Machine Learning for Hackers (中文版:機(jī)器學(xué)習(xí):實(shí)用案例解析 ):我建議你在閱讀了《Programming Collective Intelligence》一書之后,再閱讀這本書。這本書中也提供了很多實(shí)踐練習(xí),但是涉及更多的數(shù)據(jù)分析,并且使用R語言。我個(gè)人很喜歡這本書!
?Machine Learning: An Algorithmic Perspective:這本書是《Programming Collective Intelligence》的高級(jí)版本。它們目的相同(讓程序員開始了解機(jī)器學(xué)習(xí)),但是這本書包括一些數(shù)學(xué)知識(shí),參考樣例和phython程序片段。如果你有興趣的話,我建議你在看完《Programming Collective Intelligence》之后來閱讀這本書。
?數(shù)據(jù)挖掘:實(shí)用機(jī)器學(xué)習(xí)工具與技術(shù)(英文版·第3版) :我自己是從這本書開始了解機(jī)器學(xué)習(xí)的,那時(shí)是2000年這本書還是第一版。我那時(shí)是Java程序員,這本書和WEKA庫為我的學(xué)習(xí)和實(shí)踐提供了一個(gè)很好的環(huán)境。我通過這樣的平臺(tái)和一些插件,實(shí)現(xiàn)我的算法,并且真正開始實(shí)踐機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘的過程。我強(qiáng)烈推薦這本書,和這樣的學(xué)習(xí)過程。
?Machine Learning(中文版:計(jì)算機(jī)科學(xué)叢書:機(jī)器學(xué)習(xí) ):這是一本很老的書,包括了一些規(guī)則和很多參考資料。這是一本教科書,為每個(gè)算法提供了相關(guān)講解。
有一些人認(rèn)為那些經(jīng)典的機(jī)器學(xué)習(xí)教科書很了不起。 我也贊同,那些書的確非常好。但是,我認(rèn)為,對(duì)于初學(xué)者來說,這些書可能并不合適。
Further Reading 繼續(xù)閱讀
在寫這篇文章時(shí),我認(rèn)真思考了相關(guān)問題,同時(shí)也參考了其他人推薦的資料,以確保我沒有遺漏任何重要參考資料。為了確保文章的完整性,下面也列出了一些網(wǎng)上流行的,可以供初學(xué)者使用的材料。.
?A List of Data Science and Machine Learning Resources:這是一份仔細(xì)整理的列表。你可以花一些時(shí)間,點(diǎn)擊鏈接,仔細(xì)閱讀作者的建議。值得一讀!
?What are some good resources for learning about machine learning Why:這個(gè)問題的第一個(gè)答案令人吃驚。每次我閱讀這篇文章的時(shí)候,都會(huì)做好筆記,并且插入新的書簽。答案中對(duì)我最有啟發(fā)的部分是機(jī)器學(xué)習(xí)課程列表,以及相應(yīng)的課程筆記和問答網(wǎng)站。
?Overwhelmed by Machine Learning: is there an ML101 book:這是StackOverflow上的問題。并且提供了一系列機(jī)器學(xué)習(xí)推薦書籍。Jeff Moser提供的第一個(gè)答案是很有用的,其中有課程視頻和講座的鏈接。
總結(jié)
- 上一篇: 张志华 机器学习 两门课程正确顺序及视频
- 下一篇: 广义逆高斯分布及推广(To be con