機器學習入門線路

2021-02-23 AINLP


這是大家沒有看過的船新欄目!ML表示機器學習,DEV表示開發,本專欄旨在為大家分享作為算法工程師的工作,機器學習生態下的有關模型方法和技術,從數據生產到模型部署維護監控全流程,預備知識、理論、技術、經驗等都會涉及,近期內容以入門線路為主,敬請期待!

往期回顧:

之前寫了有關計算機開發能力和數學能力的入門,在已有一定開發和數學基礎的前提下,大家可以慢慢開展機器學習方面的學習。另外,我的線路不求全面和仔細,我只提出一種可靠性最高的線路給大家,大家可以根據自己的實際情況參考,開始之前記住一點:

入門玩家有簡單模式,高手玩家有困難模式,簡單模式的收穫肯定沒有困難模式高,當然的,入門玩家為了得到更大的收益可以先在簡單模式練習然後再上困難模式,遊戲怎麼玩都是自己喜歡的策略,但是值得關注的是,只有遊戲通關了才會有收益。

補充一句,對於已經入門的大家,也可以一起看看,自己有什麼缺漏之處,或者我有什麼可以添加的,均可交流討論。

懶人目錄:

學習目標

在開始一項任務之前,我們還是先確認一下學習目標。

基本要求如下:

基本要求其實很簡短,但其實並不是大家想的那麼簡單,注意這裡有幾個隱含的內容。

這也是機器學習初學者最容易忽略的幾個點,只有把這幾個點全都能掌握,才算是真正稱得上是「會」。

補充目標,這個是補充目標,但是非常關鍵——知道自己為什麼要學機器學習,根據自己的目標來進一步確定學習策略。

為了解決一個實際問題——理解機器學習的基本內容,多看相關的案例,然後模仿解決。

工作——直接對標算法工程師的話,技術和理論都得紮實,同時要匹配市場需求。

科研——理論優先,技術保證實現即可,以能夠做實驗比對實驗結果為目標。

我的入門經歷

簡單說說我的經歷吧,我的入門其實就是在統計梯隊下的集體學習,當時學的是《統計學習方法》的第一版。

數學系更喜歡摳理論,要求深度理解,要求知道為什麼,但是對如何實現倒是不太關心,每周一次討論班集體學習,每個人負責一章,內容基本就是在照著書本的進度在推進,同時會加上一些自己網上查閱的資料進行講解,說實話,在這段時間下,我的收穫很大,但是,我其實不止步於此吧,我還查閱了比較多的資料,了解機器學習的實現,同時也知道了很多有關python的內容,學習了python,掌握了sklearn,同時自己嘗試做了很多例子的嘗試,所以水平進步的很快吧。

至於深度學習,是在我意識到淺層的機器學習問題時才開始學習的,但是學習的路子比較粗暴,是淘寶上買課程學的,理論買了一份,tensorflow也買了一份,在此基礎上,結合網上很多前輩的博客,慢慢把只是補了上來。

在這裡給大家點啟示吧。

有高效的團隊學習,當然會事半功倍。

接上條,但是自己學,也要自己堅持下去,畢竟不是每一步都得有人陪著你走。

淘寶和B站是很好的低價甚至免費學習聖地。雖然低價和免費是好,但是有的時候為了學會下點血本真的可能會值(此條5毛記得刪)

多思考自己怎麼突破現狀,想想一個問題會有什麼更好的方法。

學習路線

我分兩塊來講吧,首先是理論。

理論學習

理論上,我只推一本書——《統計學習方法》,尤其是第二版,能看懂,你的機器學習理論能力會非常紮實,要是能手推,面試有很大優勢(這是個加分項,不是核心競爭力,畢竟真正工作不需要你會手推),而在科研上,這是你提出新算法的核心基礎,必須過,再者,第二版裡面新增了很多內容,非常建議大家好好學學。

說說這本書怎麼看,其實非常簡單,就是生啃。嘗試性地把書上的內容看懂,自己跟著推導(不是抄),遇到不懂的再行查資料(說什麼求導忘了的,自行回去看數學基礎),此時需要多問為什麼,例如為什麼此處要這麼表示,為什麼可以這麼推導,另外,不要就盯著這本書看,在學習某個點學不會時,可以多百度看看這方面的資料,很多人寫了博客筆記,對比著看,這樣有利於你了解。

視頻上,我只推一個——吳恩達老師的CS229機器學習課程,有且只有一個。照著他講的,加上課件學習,推導的時候自己也跟著推,你會成長很快,另外不要害怕英語,有中文字幕,英文課件也可以放翻譯軟體,而且,你要機器學習做進階,看論文的時候,你也避不開英文,相比你也不會只是想入個門找個工作就完事了吧?

對於深度學習,其實我學的路子很野,基本上是百度找的博客自學的,基礎模型百度一定有啊。至於細節理論會通過看論文方式深入了解,知識點上主要是這些:

說白就這些,剩下其實都是圍繞這些進行的,對於比較新潮潮流的,你可以在進階學習中補充,例如atteention等,說白了這些改進都離不開前面這些基礎。

順便回應一下為什麼不推薦《機器學習》西瓜書和被譽為」AI聖經「的花書《深度學習》,並非抨擊,只是覺得有些不合適。(個人建議,不喜勿噴)

西瓜書雖然內容全面性很強,但是個人覺得內容講的太泛不夠深入,看完了其實就只能浮於表面,舉個例子,對於隱馬爾可夫,這本書只提到了他涉及的3個問題,但是解決方案根本沒有,所以為了深入理解機器學習理論,西瓜書不太建議作為主線學習材料,當然做輔助材料還是可以的。

花書同樣是一本全面性很強的書,理論講解其實也很泛泛,或者有些該深入的地方講的很粗略,讓人反而看不懂,裡面雖然談到很多模型但是感覺都沒講到位,要是真想看完整的理解,建議看黑色封面的《神經網絡與機器學習》。

建議:

技術學習

其實對於有開發基礎的同學,這些實現都不是難事了,很多方案其實百度就能了解到,而如果你要系統學習,路徑當然還是有的。

機器學習方面的書籍,首推塞巴斯蒂安的《python機器學習》,很全面。至於視頻,小象學院、七月在線啥的其實都行,機器學習這個領域的模式已經非常規範化,所以課程其實也比較規範。

深度學習方向,我比較喜歡用tensorflow和keras,我各推薦一本,黃文堅的《tensorflow實戰》,《keras深度學習實戰》,當然的,網絡資源豐富,大家也可以找更多適合自己的,tf的更新迭代很快,2現在也有了(雖然很多公司還沒開始用),大家可以通過網絡資源開始學習。

建議:

其他學習

除了理論和技術,這兩個非常受到初學者關心的內容之外,應該還有很多該學該做的事情,只有這些事情做完了,掌握了,你才能說機器學習上道了。

首先要說的是特徵工程,這是一個位於機器學習模型上遊的重要步驟,具體的工作就是對特徵進行處理,使之對目標具有更直接的指向性,或者說使特徵所表現的形式更加適合這個機器學習模型。推薦兩本書吧,《特徵工程入門與實踐》,另外是《百面機器學習》中有關特徵工程的部分,特徵工程的知識本身比較規範化,但是用起來會比較靈活,基礎知識知道後,後續就是根據自己對業務的理解進行操作。

然後是,模型評估,如何衡量一整套機器學習方法是否達到目標,這是需要評估的,理論指標、性能指標等等,都需要學習,這不是個很大的問題,卻是一個有點深度的問題,我曾經在我的一個小系列中討論過這個問題,此處我把它放出來供大家參考。

最後,就是實戰了,自己找個機器學習問題,自己動手實踐一下。例如一些天池、kaggle的競賽,一些經典例子,如手寫數字識別等,這裡不要求大家拿獎啥的,而是找個比較貼合的例子,有代碼有實戰,自己動手做,在此基礎上帶上自己的想法,思考怎麼迭代更新使得結果更加好,思考過程才是最為重要的,結束之後復盤,思考自己的優缺點,從而總結得到比較好的經驗。

總結

有關機器學習入門就談到這裡,希望能夠對大家有所幫助吧,按照這個路線走,肯定能夠比較好的入門,萬丈高樓平地起,大家紮實的學,紮實的做,總有質變時候,加油吧。

悄悄預告一下,本系列下一期討論機器學習如何進階,敬請期待!

由於微信平臺算法改版,公號內容將不再以時間排序展示,如果大家想第一時間看到我們的推送,強烈建議星標我們和給我們多點點【在看】。星標具體步驟為:

(1)點擊頁面最上方"AINLP",進入公眾號主頁。

(2)點擊右上角的小點點,在彈出頁面點擊「設為星標」,就可以啦。

感謝支持,比心

進群請添加AINLP小助手微信 AINLPer(id: ainlper),備註NLP技術交流

推薦閱讀

這個NLP工具,玩得根本停不下來

徵稿啟示| 200元稿費+5000DBC(價值20個小時GPU算力)

完結撒花!李宏毅老師深度學習與人類語言處理課程視頻及課件(附下載)

從數據到模型,你可能需要1篇詳實的pytorch踩坑指南

如何讓Bert在finetune小數據集時更「穩」一點

模型壓縮實踐系列之——bert-of-theseus,一個非常親民的bert壓縮方法

文本自動摘要任務的「不完全」心得總結番外篇——submodular函數優化

Node2Vec 論文+代碼筆記

模型壓縮實踐收尾篇——模型蒸餾以及其他一些技巧實踐小結

中文命名實體識別工具(NER)哪家強?

學自然語言處理,其實更應該學好英語

史丹福大學NLP組Python深度學習自然語言處理工具Stanza試用

關於AINLP

AINLP 是一個有趣有AI的自然語言處理社區,專注於 AI、NLP、機器學習、深度學習、推薦算法等相關技術的分享,主題包括文本摘要、智能問答、聊天機器人、機器翻譯、自動生成、知識圖譜、預訓練模型、推薦系統、計算廣告、招聘信息、求職經驗分享等,歡迎關注!加技術交流群請添加AINLPer(id:ainlper),備註工作/研究方向+加群目的。

閱讀至此了,分享、點讚、在看三選一吧🙏

相關焦點

  • 機器學習入門
    機器學習理論主要是設計和分析一些讓計算機可以自動「學習」的算法。機器學習算法是一類從數據中自動分析獲得規律,並利用規律對未知數據進行預測的算法。因為學習算法中涉及了大量的統計學理論,機器學習與統計推斷學聯繫尤為密切,也被稱為統計學習理論。算法設計方面,機器學習理論關注可以實現的,行之有效的學習算法。
  • 我的機器學習入門路線圖
  • 機器學習:從入門到精通,總有一款教程適合你!
    但機器學習不是一個容易學習的領域,需要選擇適合自己難度的學習資料。這裡簡單地將學習深度分為三個階段,建議選擇適合自己的難度。了解。機器學習是什麼?了解機器學習的應用,並對機器學習有較為概念性的了解。適合非機器學習相關專業、希望對機器學習有大概了解的人群,比如產品經理。應用。知道怎麼實現機器學習,能使用程式語言編寫基礎的機器學習算法,並對數學原理有初步理解。
  • 【書單推薦】機器學習入門書單
    以極為通俗的語言講述了數學在機器學習和自然語言處理等領域的應用。《Machine Learning》(《機器學習》)作者TomMitchell是CMU的大師,有機器學習和半監督學習的網絡課程視頻。這本書是領域內翻譯的較好的書籍,講述的算法也比《統計學習方法》的範圍要大很多。
  • 入門者的機器學習/深度學習自學指南
    連結:https://zhuanlan.zhihu.com/p/45851189來源:知乎本文提供了適合入門者的機器學習、
  • 機器學習/深度學習入門資料匯總
    經常被同學和朋友詢問機器學習或深度學習入門,有哪些不錯的參考資料。老實講,這個問題在網上隨便一搜就是一大把的答案。
  • 機器學習漫遊指南 最完整的入門書單(外文版)
    這份指南適合多樣背景的讀者:從想要了解機器學習的普通人,到入門新手,再到高階開發者和學術研究人員。因此,雷鋒網對其進行編譯整理,特來與大家分享。友情提醒:該指南只考慮了英文市場的機器學習圖書,適合大家作為國際 ML 讀物的參考。而例如周志華老師 《機器學習》等國內優秀著作並沒有體現,請讀者見諒。
  • 推薦|機器學習入門方法和資料合集
    近些天在微信群裡經常看小夥伴問到「機器學習如何入門,看哪些資料 ?」,於是乎想根據筆者學習兩年多的學習經驗,介紹下機器學習如何入門,該看哪些資料?下面我將從以下幾個方面整理機器學習入門的資源:(1)語言:機器學習中常用的語言。
  • Python機器學習入門實例
    本文來源《Python程序設計案例教程——從入門到機器學習(微課版)》1.
  • AI | 怎樣快速入門機器學習和深度學習?
    編者按:入門機器學習和深度學習並不是一件容易的事情。需要學習大量的知識,初學者常常會迷茫不知所措。現在我們給你帶來一篇純乾貨,幫助你入門機器學習和深度學習。機器學習算法書籍:《統計學習方法》:李航博士的經典教材。用最精煉的語言描述機器學習算法,轉行AI必讀書籍《機器學習》:周志華教授的西瓜書。統計學習方法涵蓋面太窄,配合西瓜書來擴展寬度。《python機器學習及實現》:適合入門,學習曲線平滑,理論書看累了,就跟著這本書打一遍代碼,對kaggle就會大致的了解。
  • Feedly創始人是如何入門機器學習的
    編者按:Feedly聯合創始人、大數據與機器學習主管Kireet Reddy分享了自己入門機器學習的經驗。
  • 機器學習Kaggle入門,房價預測比賽
    前面已經有了兩篇機器學習Kaggle入門的筆記,機器學習Kaggle入門,經典又兼具備趣味性的鐵達尼號問題
  • 機器學習入門經典課程,臺大李宏毅教授機器學習課程 2019 版來啦
    雷鋒網 AI 科技評論按,提到臺灣大學李宏毅教授,想必很多同學馬上會想到他的機器學習課程。近日,李教授機器學習課程 2019 年版視頻&課程資料終於上線啦~那麼我們在哪裡可以學習這個課程呢?目前,他是國立臺灣大學電氣工程系助理教授,研究方向是機器學習、語音識別和語意理解。 在此前,他在 2017 年開設過《機器學習》的課程,受到很多同學的歡迎,好評如潮。讓我們看看知乎上的網友是怎麼評價李宏毅教授的課程的: 有人說,李教授的課幽默風趣、重點突出、基礎知識和最新技術一應俱全,PPT 也做得簡潔易懂,非常用心。
  • 小白必看的機器學習入門知識
    人工智慧、深度學習以及機器學習之間的關係是怎樣的呢?一、為什麼最近幾年人工智慧再次火爆?二、人工智慧、機器學習以及深度學習是什麼樣的關係?圖1 機器學習在人工智慧中的地位從上面的圖中我們可以知道:人工智慧的領域範圍最廣,深度學習領域最窄。
  • 開發 | 開發者入門必讀:最值得看的十大機器學習慕課教程
    截至目前,國內開設人工智慧(AI)專業的高校不多,相當多的開發者是跨界入門,需要自學大量知識並摸索。因而優質的學習資源至關重要。因此,編輯搜集了全世界範圍內最受歡迎的機器學習課程,整理成這份「機器學習十大入門公開課」盤點,集中呈現給各位。這份推薦榜頗費心血,綜合考慮了難易、側重點、時效性等諸多因素,希望能幫助大家找到最適合自己的學習資源。
  • 機器學習入門 12-2 信息熵
    References:Python3入門機器學習 經典算法與應用: https://coding.imooc.com/class/chapter/169.html#Anchor【機器學習入門筆記】11-8 RBF核函數中的gamma【機器學習入門筆記】11-9 SVM思想解決回歸問題【機器學習入門筆記】12-1 什麼是決策樹?
  • 【資源分享】入門量子機器學習大禮包
    終於到了兌現年終承諾的時候了~本期,小編帶大家一起橫掃入門量子機器學習的各種資源。【本期內容】:針對量子計算、機器學習、量子機器學習、量子物理方向列舉些許資源,希望有所幫助。可以在這裡找到關於量子計算、機器學習、量子機器學習各個領域的文章分享。
  • 機器學習入門教程-第03課:如何學習「機器學習」
    第03課:如何學習「機器學習」學習「機器學習」這件事,我走過很長的一段彎路。有一些心得、體會和方法,在此和大家分享。以模型為驅動,了解「機器學習」的本質本課力圖引導大家以模型為驅動,進行學習。我選擇了幾種經典模型(例如:線性回歸、邏輯回歸、決策樹、支持向量機、條件隨機場、K 均值等),作為入門的進階。初次學習模型,不必貪多。但就這些選定的模型,一定要搞清楚其問題域、模型函數、目標函數、訓練算法……潛入到數學公式推導的層面,對每一步的公式變換和對應的物理意義有所理解,然後再去實踐。
  • 優秀機器學習和AI課程推薦,帶你從入門到精通
    字幕組雙語原文:最棒的免費機器學習和AI課程,讓你從入門到精通英語原文:Awesome Machine Learning and AI Courses翻譯:雷鋒字幕組(明明知道)這是一個精心策劃、超讚的、免費的機器學習和人工智慧課程與視頻講座清單。
  • 564 頁《Hands-On Machine Learning》已開源,機器學習入門必備!
    點擊上方「深度學習專欄」,選擇「置頂」公眾號重磅乾貨,第一時間送達今天給大家推薦一本機器學習、深度學習入門的必備書籍:《Hands-On Machine Learning with Scikit-Learn & TensorFlow》,中文譯為《Scikit-Learn 與 TensorFlow 機器學習實用指南》。