Feedly創始人是如何入門機器學習的

2021-02-13 論智

編者按:Feedly聯合創始人、大數據與機器學習主管Kireet Reddy分享了自己入門機器學習的經驗。

上大學前,我原以為自己將來會去計算機硬體行業工作,比如Intel之類。不過,到了CMU後,我發現計算機科學課程要有趣得多,看起來這些課程我也學得更好,這恐怕不是一個巧合。我真的很享受幾乎每一門參加的CS課程。實際上,只有一門例外:機器學習入門!我對這門課程很感興趣,不幸的是,看起來這門課的教授對教授這門課程的不感興趣程度和我的感興趣程度差不多,教得也不好。所以長期以來機器學習不在我的關注範圍之內。

不過,幾年前,我注意到機器學習真的吸引了很多注意力,這再次激起了我的好奇心。這次我從吳恩達的MOOC開始,吳是一個很棒的教授。和以前的區別是,我原來白天上課,現在網上上課。我一下子就著迷了,開始在網上搜索更多可以參加的課程。下面是我在學習過程中收穫的一些經驗和竅門。

毫無疑問,機器學習將經久不衰。這一領域的活躍已經有一段時間了,發展也很快,我可以說,誇大宣傳背後確實有實質性的進展。解決有些問題,機器就是比人類更擅長。

但這並不意味著機器學習適合每個人。機器學習方面的工作和其他軟體工程領域很不一樣。它更帶研究性和猜測性。如果你喜歡事先一段一段地計劃好工作,在x周之後一切就緒,那也許機器學習不怎麼適合你。如果你喜歡處理數據,持續學習新技術,(真心)喜歡數學,那麼機器學習也許是一個很棒的轉職方向。

這個問題有太多答案。我首先想到的回答是「永遠不能」。機器學習的範圍相當廣泛,同時正以驚人的速度發展。如果你碰巧和我一樣需要睡眠,那麼你大概無法跟上這一領域的每項進展。但另一個更樂觀的答案也許是4個月(每周10小時)。例如,這些時間足夠你完成fast.ai的課程了(很棒的課程)。

這並不是微不足道的投入,因為你大概有許多時間要花在工作和生活上。不過,以我的個人經歷為證,這是有可能做到的,如果你願意投入的話,其實並不難。

這真取決於你打算如何學習。就我個人而言,之所以喜歡機器學習,是因為它優雅地組合了數學和計算機科學的許多領域:概率論、線性代數、微積分、優化,等等。所以我很自然地偏向學術性課程。

斯坦福的CS231n是一個極好的學術性課程。我看了Andrej Karpathy的授課視頻,講得非常好。課程作業的設置也很好,可以遠程完成。儘管課程主要內容為圖像問題和卷積網絡,課程其實是「從頭開始」的,同樣覆蓋了前饋網絡和循環網絡。

如果你更喜歡偏實踐的課程,那fast.ai的課程很不錯。Jeremy Howard從非常基礎、系統的角度講授所有內容,課程的設計讓任何具有一定技術背景的人可以參與。另外他們的論壇也是一個很不錯的社區。

之前提到的吳恩達後來又在Coursera開了新的課程系列。我沒有親自嘗試這些課程,但我確信其中一定包含很多好東西。我感覺這門課程也是以偏向實踐的方法教授的,不過也涉及一些背後的數學。

我建議你嘗試多門課程,然後挑選一門最能吸引你的注意力的課程。不過我鼓勵你至少逐漸完成一門實踐性課程和一門理論性課程,這是一個很好的互補。為了理解論文(警告:你需要閱讀學術論文),學術性課程將幫助你適應長篇的技術內容。實踐性課程則將提供一些直覺,幫助你做出ML項目中的各種決策。

如果你需要溫習一下數學,或者想學得更深入一點,MIT有幾門很棒的課程。任何ML工作都絕對需要對概率學良好的理解,John Tsitsiklis教授的6.041/6.431講得超棒。John將複雜問題逐步分解,直到答案顯而易見的地步,這種授課方法完全是藝術。

MIT的線性代數課程(18.06)也很有意思。這門課的教授同樣很出色,風格獨特。不過這門課程並不是真的很有必要,因為大多數ML任務只需要理解矩陣乘法。

去學。

大多數ML工作基於Python完成,幸運的是,Python相當容易上手。大多數ML工作也真不需要你是一個世界級的程式設計師。但我還是建議你在進行任何ML方面的工作前參加一門關於編程的速成線上課程。一下子學習編程和機器學習的概念(更別說還需要重新學習你大概已經忘掉了的一堆數學)是災禍之因。給自己一個循序漸進的機會。

好,現在到了開始建模的時候了!一般來說有兩條路可走:1) 在工作中找一個項目,或者進行一個個人項目;2) 找一個Kaggle競賽。這取決於你的具體情況,不過我建議選Kaggle,主要原因如下:

問題是明確定義的。恰當地結構化真實生活中的ML問題可能需要一定的技巧。Kaggle就不存在這個問題。

類似地,有時候自己創建的數據集可能包含一些難以診斷的缺陷。而Kaggle競賽會給你提供數據。

Kaggle提供了一個處理同樣問題的社區。如果你陷入困境或者需要一點指引,有地方可去。

另一方面,如果你在工作中能碰到為ML方案量身定做的問題(比如圖像分類),那麼也許工作項目是給你的同事留下深刻印象並說服老闆讓你在機器學習上投入更多時間的快捷方式。

所以,如果你正考慮鑽研機器學習,請勇往直前!機器學習最棒的一點是人們在時間和知識方面真的很慷慨。一旦開始,你能在網上找到很棒的支持系統,幫助你前行。

原文地址:https://blog.feedly.com/getting-started-with-machine-learning/

相關焦點

  • 機器學習入門
    機器學習理論主要是設計和分析一些讓計算機可以自動「學習」的算法。機器學習算法是一類從數據中自動分析獲得規律,並利用規律對未知數據進行預測的算法。因為學習算法中涉及了大量的統計學理論,機器學習與統計推斷學聯繫尤為密切,也被稱為統計學習理論。算法設計方面,機器學習理論關注可以實現的,行之有效的學習算法。
  • 機器學習入門線路
    ML表示機器學習,DEV表示開發,本專欄旨在為大家分享作為算法工程師的工作,機器學習生態下的有關模型方法和技術,從數據生產到模型部署維護監控全流程,預備知識、理論、技術、經驗等都會涉及,近期內容以入門線路為主,敬請期待!往期回顧:之前寫了有關計算機開發能力和數學能力的入門,在已有一定開發和數學基礎的前提下,大家可以慢慢開展機器學習方面的學習。
  • 我的機器學習入門路線圖
  • 人工智慧3分鐘入門基礎,機器學習如何快速上手?
    人工智慧的創始人之一約翰麥卡錫曾說過「一旦它起作用,就再也沒有人稱它為人工智慧」。如何建立你的第一個Bot?您還可以從使用能夠構建最終用戶應用程式的API和工具開始。 這可以幫助您實際構建一些東西,而不必過多擔心理論。
  • Feedly推薦系統背後的數據科學
    編者按:Feedly官方博客介紹了Feedly推薦系統背後使用的機器學習技術。web的最大優勢之一是其開放性和分布式本質。
  • 推薦|機器學習入門方法和資料合集
    近些天在微信群裡經常看小夥伴問到「機器學習如何入門,看哪些資料 ?」,於是乎想根據筆者學習兩年多的學習經驗,介紹下機器學習如何入門,該看哪些資料?下面我將從以下幾個方面整理機器學習入門的資源:(1)語言:機器學習中常用的語言。
  • 機器學習入門教程-第03課:如何學習「機器學習」
    第03課:如何學習「機器學習」學習「機器學習」這件事,我走過很長的一段彎路。有一些心得、體會和方法,在此和大家分享。以模型為驅動,了解「機器學習」的本質本課力圖引導大家以模型為驅動,進行學習。我選擇了幾種經典模型(例如:線性回歸、邏輯回歸、決策樹、支持向量機、條件隨機場、K 均值等),作為入門的進階。初次學習模型,不必貪多。但就這些選定的模型,一定要搞清楚其問題域、模型函數、目標函數、訓練算法……潛入到數學公式推導的層面,對每一步的公式變換和對應的物理意義有所理解,然後再去實踐。
  • 入門者的機器學習/深度學習自學指南
    連結:https://zhuanlan.zhihu.com/p/45851189來源:知乎本文提供了適合入門者的機器學習、
  • 機器學習漫遊指南 最完整的入門書單(外文版)
    這份指南適合多樣背景的讀者:從想要了解機器學習的普通人,到入門新手,再到高階開發者和學術研究人員。因此,雷鋒網對其進行編譯整理,特來與大家分享。友情提醒:該指南只考慮了英文市場的機器學習圖書,適合大家作為國際 ML 讀物的參考。而例如周志華老師 《機器學習》等國內優秀著作並沒有體現,請讀者見諒。
  • 機器學習/深度學習入門資料匯總
    經常被同學和朋友詢問機器學習或深度學習入門,有哪些不錯的參考資料。老實講,這個問題在網上隨便一搜就是一大把的答案。
  • 【書單推薦】機器學習入門書單
    以極為通俗的語言講述了數學在機器學習和自然語言處理等領域的應用。《Machine Learning》(《機器學習》)作者TomMitchell是CMU的大師,有機器學習和半監督學習的網絡課程視頻。這本書是領域內翻譯的較好的書籍,講述的算法也比《統計學習方法》的範圍要大很多。
  • 機器學習Kaggle入門,房價預測比賽
    前面已經有了兩篇機器學習Kaggle入門的筆記,機器學習Kaggle入門,經典又兼具備趣味性的鐵達尼號問題
  • AI | 怎樣快速入門機器學習和深度學習?
    編者按:入門機器學習和深度學習並不是一件容易的事情。需要學習大量的知識,初學者常常會迷茫不知所措。現在我們給你帶來一篇純乾貨,幫助你入門機器學習和深度學習。機器學習算法書籍:《統計學習方法》:李航博士的經典教材。用最精煉的語言描述機器學習算法,轉行AI必讀書籍《機器學習》:周志華教授的西瓜書。統計學習方法涵蓋面太窄,配合西瓜書來擴展寬度。《python機器學習及實現》:適合入門,學習曲線平滑,理論書看累了,就跟著這本書打一遍代碼,對kaggle就會大致的了解。
  • 機器學習入門 12-2 信息熵
    前言上一小節介紹了什麼是決策樹以及如何通過決策樹來進行具體的分類。構造決策樹的時候,每個節點其實都是一個判斷條件,為了得到這個判斷條件我們需要知道兩個信息:當確定某個維度之後,具體要在這個維度上的哪個值上進行劃分?這些信息該如何確定呢?本小節首先介紹一種方式:信息熵。
  • Python機器學習入門實例
    本文來源《Python程序設計案例教程——從入門到機器學習(微課版)》1.
  • 開發 | 開發者入門必讀:最值得看的十大機器學習慕課教程
    截至目前,國內開設人工智慧(AI)專業的高校不多,相當多的開發者是跨界入門,需要自學大量知識並摸索。因而優質的學習資源至關重要。因此,編輯搜集了全世界範圍內最受歡迎的機器學習課程,整理成這份「機器學習十大入門公開課」盤點,集中呈現給各位。這份推薦榜頗費心血,綜合考慮了難易、側重點、時效性等諸多因素,希望能幫助大家找到最適合自己的學習資源。
  • 小白必看的機器學習入門知識
    也就是說,機器學習是人工智慧的子領域,而深度學習又是機器學習的一個分支!因此我們可以看出機器學習在 AI 領域具有很重要的地位。為什麼要先學習機器學習而不是直接學習深度學習呢?我相信很多初學者應該都會有這方面的疑惑或者思維誤區。正所謂「基礎不牢,地動山搖」講得就是這個道理。所以入門機器學習也要從基礎知識開始。
  • 機器學習入門3 ——感知器和邏輯回歸
    一種感知模型機器學習和AI的目標之一就是做人類所做的甚至超越他們的事情。因此,嘗試並模仿人類在大腦方面的工作是有意義的。感知器模仿機器學習算法中神經元的功能。感知器是現有的最古老的機器學習算法之一。往期推薦機器學習入門-2: 回歸第2屆國際區塊鏈學術會議接受論文機器學習入門-1: 分類區塊鏈應用案例2—股市,投票,保險,身份管理,貿易金融區塊鏈應用案例1—衛生保健
  • 如何使用 Python學習機器學習
    ,本文整理了一些好用學習資源希望幫助初學者能更容易使用 Python 入門機器學習的領域中,從零開始學習機器學習。機器學習技術可以應用的範圍十分廣泛,總的來說機器學習可以解決以下幾種問題:1.   分類問題:這是A 類或 B 類嗎?2.   異常值判斷:這很奇怪嗎?3.   預測性分析:有多少?4.   分群問題:這是如何組織的?5.   增強學習協助決策:我接下來該怎麼辦?
  • 保研講座 | 計算機專業研究生如何做科研?聽聽中科院學霸怎麼說 (附機器學習入門指導)
    >,如何寫出高質量論文等問題。如果對講座有任何疑問或者建議,歡迎直接在公眾號後臺與我們聯繫~另外,學長還為有興趣的同學整理了機器學習入門學習路線,具體如下:👉 1. 吳恩達(Andrew Ng)《Machine Learning》該門課程是吳恩達在Coursera上開設的機器學習入門課,授課地址為:https://www.coursera.org/learn/machine-learning這門課基本涵蓋了機器學習的主要知識點