Gitchat上的機器學習入門
來自專欄機器學習演算法與自然語言處理19 人贊了文章
本文其實是一個不成廣告的廣告,在一個學校分享群里看到 GitChat 平台上有個關於「機器學習」的入門課程,設計還算不錯。作者是來自微軟的高級工程師。
如果讀者們感興趣可以看看下面這個課程的開篇詞。
李燁 的達人課
一、課程背景
首先,我們來看一下當前機器學習領域招聘市場的行情。
上面表格中所有帶有「演算法」、「人工智慧」、「數據挖掘」、「視覺」字樣的職位,都需要懂機器學習。
在產品和服務中應用機器學習模型,已經逐步成為了互聯網行業的通行方法。甚至很多傳統軟體企業,也開始嘗試應用機器學習。說得更直接一點,人工智慧正處在炙手可熱的風口浪尖上,作為程序員不會機器學習都不好意思去找工作了。
很多技術開發者迫切希望快速進入人工智慧領域,從事工程或者演算法等相關工作,這也是我推出這門課程的初衷。
二、課程大綱
本課程針對機器學習初學者,從機器學習、深度學習最基本的原理及學習意義入手,以模型為驅動,帶領大家吃透幾大最經典的機器學習模型——學習其原理、數學推導、訓練過程和優化方法。配合精心設計的極小數據量的「極簡版」實例,方便讀者從直觀上了解模型的運行原理,利用實例大家還可將自己變身為「人肉計算機」,通過口算/筆算每一步的推導,模擬演算法全過程,進而徹底理解每個模型的運作方式。結合自身實踐經驗,我總結了多個構建數據集、特徵選擇、調參、驗證模型的高效方法,並教授大家如何同步進行編程語言學習,助您快速擁有機器學習產品開發的基本能力。
本課程大綱分為六大部分,共計 34 篇:
第一部分:緒論
- 授人以魚不如授人以漁。本部分從意義和作用出發,給出相應的學習方法和與理論配套的編程學習。
第二部分:基本原理
- 深諳其理,才能靈活應變。本部分開始帶大家了解什麼是機器學習、機器如何自己學習、以及機器學習三要素:數據、模型、演算法之間的關係。
- 模型是機器學習的核心,那麼模型是怎麼得到的呢?本部分也將講解模型的獲取(訓練)和評價(驗證/測試)過程,相應的數據集合的劃分以及具體的評價指標。
- 這部分知識和後面講述的具體模型結合起來,就可以實踐了!
第三部分:有監督學習 I
- 抓住關鍵,個個擊破。本部分重在詳細講解有監督學習中經典的線性回歸、樸素貝葉斯、邏輯回歸、決策樹模型。這幾個模型不僅基礎、經典、常用,而且數學工具特別簡單。
第四部分:有監督學習 II
- 百尺竿頭,更上一層樓。本部分講述支持向量機、支持向量回歸、隱馬爾科夫和條件隨機場模型,從支持向量機開始,數學工具的需求較之前上了一個台階,難度明顯加大。
第五部分:無監督學習
- 無須標註,方便運行。本部分重在講解無監督學習中的聚類、高斯混合及主成分分析等模型。這部分模型的特徵是所需訓練數據無須標註,方便在各種數據上隨時進行嘗試。在現實中,經常用來作為有監督的輔助手段使用。
第六部分:從機器學習到深度學習
- 超越自我,實現蛻變。本部分重在講解深度學習基本原理、深度學習與機器學習的關聯與銜接、以及深度學習目前的應用領域,為讀者下一步學習「深度學習」奠定基礎。
整個課程以經典模型為驅動,講述每一個模型所解決的問題域,模型的原理和數學推導過程。作為課程的主體,第三部分和第四部分講解的每個模型,都附有實例和相應的 Python 代碼。每個例子的數據量都非常小——這樣設計就是為了讓讀者可以用人腦模擬計算機,根據剛剛學到的模型演算法對這些極小量數據進行「模擬訓練/預測」,以此來加深對模型的理解。
三、你將收穫什麼
AI 技術崗位求職知識儲備
如果大家真的有意投身到人工智慧領域做技術性工作,那麼經過技術筆試、面試是必要條件。在面試中被要求從頭解釋某一個機器學習模型的運行原理、推導過程和優化方法,是目前非常常見的一種測試方法。機器學習模型雖然很多,但是經典、常用的很有限。如果能把本課程中講解的經典模型都學會,用來挑戰面試題相信是足夠了。
觸類旁通各大模型與演算法
各種機器學習模型的具體形式和推導過程雖然有很大差別,但卻在更基礎的層面有許多共性。掌握共性之後,再去學新的模型、演算法,就會高效得多。雖然本課的第二部分集中描述了部分一般性共同點,但真要理解個中含義,卻還要以若干具體模型為載體,從問題發源,到解決方案,再到解決方案的數學抽象,以及後續數學模型求解的全過程,來了解體味。這也就是本課以模型為驅動的出發點。
極簡版實例體驗實際應用
運用到實踐中去,是我們學習一切知識的目的。機器學習本身更是一種實操性很強的技術,學習它,原本就是為了應用。反之,應用也能夠促進知識的深化理解和吸收。本課雖然以原理為核心,但也同樣介紹了:劃分數據集、從源數據中提取特徵、模型訓練過程、模型的測試和評估等方法和工具。
配套數據+代碼快速實操上手
本課程中各個實例的 Python 代碼及相應數據,大家可以下載、運行、改寫、參考。
四、課程寄語
我希望本課的讀者在知識和技巧的掌握之外,能夠將學習到的基本規律運用到日常生活中,更加理性地看待世界。
再遇到「人工智慧產品」,能夠根據自己的知識,去推導:How it works——
- 它背後有沒有用到機器學習模型?
- 如果有的話是有監督模型還是無監督模型?
- 是分類模型還是回歸模型?
- 選取的特徵是哪些?
- 如果由你來解決這個問題,有沒有更好的方法?
我們自己用來判斷萬事萬物的「觀點」、「看法」、「洞察」,實際上都是我們頭腦中一個個「模型」對所聞所見(輸入數據)進行「預測」的結果。這些模型自身的質量,直接導致了預測結果的合理性。
借鑒機器學習認識客觀規律的過程,可以知道,模型是由數據和演算法決定的。對應到人腦,數據是我們經過見過的萬事萬物,而演算法則是我們的思辨能力。
我們作為人類不必被動等待一個外來的主宰者。完全可以主動訓練自己的思維模型,通過改進演算法和增大數據量及數據多樣性來提升模型質量——如果能在這方面給讀者朋友們帶來些許啟發,我實在不勝榮幸。
最後,預祝每一位訂閱課程的朋友,能夠通過學習找到心儀的工作,如果大家有任何疑問和建議,也歡迎通過讀者圈與我交流,我們共同學習,共同進步。
課程鏈接:
李燁 的達人課安利一下, GitChat是個很不錯的技術分享平台,詳情可以點擊下方進行了解。
http://gitbook.cn/m/mazi/saleActivity?utm_source=ml002
推薦閱讀:
※動手實踐神經網路1: 單個神經元
※相比於深度學習,傳統的機器學習演算法難道就此沒落了嗎,還有必要去學習嗎?
※GAN、WGAN通俗基本原理
※CVPR 2018 Paper漫談三
※AlphaGo唯一的對手:深度神經網路