吴恩达斯坦福大学机器学习 CS229 课程学习笔记(一)
說到機器學習總繞不過幾個鼎鼎大名的人物,他們都創造了不少的機器學習資料,斯坦福吳恩達Andrew Ng的公開課CS229;Google李飛飛的CS231、周志華的、李航的《統計學習方法》、林軒田的《機器學習基石》、Peter Harringtond 的《機器學習實戰》、周志華的《機器學習》(西瓜書,書中都是拿西瓜舉例子)。
CS229的官方網站是http://cs229.stanford.edu/,網易公開課視頻地址是http://open.163.com/special/opencourse/machinelearning.html,可以同時下載打包的課件,b站也可以看https://www.bilibili.com/video/av9909092/index_25.html。知乎大神CycleUser翻譯了筆記,托管在github上https://github.com/Kivy-CN/Stanford-CS-229-CN/,還上傳了百度云:https://pan.baidu.com/s/1kV4vDEv#list/path=%2F。百度文庫也有一份個人筆記:https://wenku.baidu.com/view/99b86f70650e52ea54189862.html。知乎上面有人對機器學習的資源進行了整理<em>機器學習</em>該怎么入門? - 張松陽的回答 - 知乎https://www.zhihu.com/question/20691338/answer/53910077,但我覺得還是不要圖多,好好鉆研才重要。
本課程主要介紹機器學習和統計模式識別。主題包括:監督學習(生成/鑒別學習、參數/非參數學習、神經網絡、支持向量機support vector machines);無監督學習(聚類clustering、降維、核方法);學習理論(偏差/方差權衡;風險投資理論VC theory;大的利潤);強化學習和自適應控制。該課程還將討論機器學習的最新應用,如機器人控制、數據挖掘data mining、自主導航、生物信息學、語音識別、文本和web數據處理。
第一課中,前半部分Ng主要照著handout簡單說了一些課程的設置,需要掌握基礎的統計知識,說明會有project,項目要求掌握matlab或者Octave?,F在看來Python應該會是更好的選擇,不僅可以調用matlab模塊,還可以調用現成的機器學習算法包scikit-learn:http://scikit-learn.org/stable/。然后,Ng講了什么是機器學習。1959年Arthur samuel定義機器學習是在不直接針對特定問題編程的情況下讓機器具有特定學習能力的的領域。他寫了一個下棋的程序,在程序自己和自己下了很多遍之后,程序可以知道說明會導致輸贏。這也反駁了程序只會做明確指定的功能的言論。在1998年Tom Mitchell做了一個更加現代的定義:
對一個計算機來說,在擁有經驗E和評價標準P,可以自己提升對任務T的性能,就可以稱作機器學習。在表述中不僅做出了定義,還很押韻。
接下來對課程做一個整體的把握。分成四個部分
第一部分是有監督的學習supervised Learning。Ng舉了一個房屋價格的例子。有一些是統計出來的,房屋面積和價格一一對應。當我們想要知道一個新的房屋價格,卻只知道它的面積時,就可以根據之前采集的數據畫出的曲線來預測。之前的幾組數據看作是標準答案,所以叫監督,我們希望機器學習輸入和標準答案之間的對應關系。這種問題就是回歸問題,Regression Problem,Regression這個詞也反映了我們預測的數據是連續的。另一個監督學習類的問題是分類問題。在分類問題中是離散的。Ng舉了腫瘤的例子。為了簡單起見,只考慮腫瘤的大小,和對應是否是良性腫瘤。而實際中輸入的特征往往是多維的,比如腫瘤的大小,患者的年齡,腫塊厚度等。通過學習現有的數據,判斷新來的病人的腫瘤是否是良性。多維輸入的情況下,我們不能將點畫在平面中,可以用支持向量機SVM映射到計算機內存中
第二部分,Learning Theory。Ng的一般數學家朋友致力于揭示宇宙中的真美,但是Ng希望用機器學習解決實際的問題。什么樣的算法可以近似不同的函數,需要多少訓練數據。它只是一種工具,和木匠的錘子一樣,真正的木匠能用工具解決其他人無法解決的問題。
第三部分是Unsupervised Learning,非監督學習。這中無監督的學習中我們事先不知道輸入數據的標準答案,只能自己找到一些有趣的數據結構。有一個學生用聚類技術對圖像的像素進行分類。進階地,利用聚類的結果,實現了通過單幅圖像建立了3D模型。還有社交網絡分析,市場分析,宇宙星系分析。還有一個例子是雞尾酒會,很多人在談話,希望把感興趣的人的聲音單獨分離出來。用matlab的一行代碼就可以解決,實現了ICA算法。
第四部分是Reinforcement Learning,預測腫瘤屬性的例子中,錯判的代價是很大的。Ng展示了他做的無人直升機的例子。直升機可以實現四腳朝天飛的特技。這很難由人工之間直接寫程序來實現。背后的一個基本概念是reward function匯報函數,就像像訓練狗一樣,做對事情的時候,就給以獎勵。這時候我們只需要定義什么是好的積極的行為,機器會學習如何獲得最大的回報。
還有很多人對機器學習不以為然,其實機器學習確實只是一種工具,還是需要建立在專業知識之上。好的木匠在動手之前在腦海中已經有一件偉大的作品了。
總結
以上是生活随笔為你收集整理的吴恩达斯坦福大学机器学习 CS229 课程学习笔记(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【每日SQL打卡】
- 下一篇: 操作系统之死锁