1. 程式人生 > >500多頁的機器學習入門筆記,下載超5萬次,都講了些什麼?

500多頁的機器學習入門筆記,下載超5萬次,都講了些什麼?

640?wx_fmt=gif

導讀:今年 4 月,樑勁在百度雲盤上傳了一份自己整理的學習筆記——《機器學習——從入門到放棄》。這份學習筆記 540 多頁,圖文並茂,而且全部用英文撰寫,如今這份文件的下載量已超過 50000 次。由於在海外的 AI 社群反響強烈,樑勁隨後又將這份文件上傳到了 DropBox。

關於樑勁,關於《機器學習——從入門到放棄》的誕生始末,希望下面的對話能給你一點啟示。

在大資料(ID:hzdashuju)公眾號後臺回覆入門筆記,獲取下載連結。

作者:阿司匹林

來源:AI科技大本營(ID:rgznai100)

640?wx_fmt=jpeg

Youth is not a time of life, it is a state of mind. —— 塞繆爾·厄爾曼

雖然年紀大了,體力精力都下降了,但我不覺得自己很老,尚有一顆拼搏的心。——樑勁

1991 年,剛剛走出大學校門的樑勁被分配到政府部門當公務員。工作包分配,而且還是公務員,在很多人看來,這應該是一份非常令人豔羨的工作。但是對樑勁而言,這卻是他人生中最黑暗的時期。

那段時間每天上班就是喝茶、看報、聊天,下班後就是玩遊戲,但這不是我想要的生活,人生毫無希望的感覺,我想擺脫這種生活模式,但又覺得無能為力,我不知道如果不做公務員,我還能做什麼,我什麼也不會啊,我這 10 年最寶貴的青春就這麼稀裡糊塗荒廢了。

三十而立,但是不破不立。

2001 年,樑勁在親朋好友的反對聲中毅然選擇離開體制,並在因緣巧合之下,加入了一家 IT 創業公司,擔任產品設計經理,負責產品的構思,以及具體的使用者介面設計。從政府公務員到創業公司,一切都得從頭學起。

2005 年,樑勁離開待了 4 年的創業公司,進入 SAP 做設計師, 從事使用者體驗方面的工作,直到如今。

時間來到 2018 年,身為設計師的樑勁卻在 AI 社群一夜之間小有名氣。

今年 4 月,樑勁在百度雲盤上傳了一份自己整理的學習筆記——《機器學習——從入門到放棄》。這份學習筆記 540 多頁,圖文並茂,而且全部用英文撰寫,如今這份文件的下載量已超過 50000 次。由於在海外的 AI 社群反響強烈,樑勁隨後又將這份文件上傳到了 DropBox。

640?wx_fmt=jpeg

從動筆到完成,樑勁差不多花了一年左右的時間,作為人工智慧的門外漢,其中艱辛,可想而知。

關於樑勁,關於《機器學習——從入門到放棄》的誕生始末,希望下面的對話能給你一點啟示。

Q(AI科技大本營,下同):能簡單自我介紹下嗎?

樑勁:我是一名設計師,目前在 SAP 從事使用者體驗方面的工作,自 10 多年前加入這家公司以來,一直在做 business applications。

SAP 作為全球最大的企業級軟體系統供應商,在全球範圍內很多超大公司都在用 SAP 的軟體解決方案,包括微軟、蘋果、Intel、波音、3M 等 ,SAP 在企業管理系統方面積澱深厚,在這 10 年裡,我參與多款產品的研發工作,其中包括和數千名同事一起研發一款耗資數十億美金的大型產品,獲得了很多經驗、知識、教訓。

目前我參與的產品,是一款讓普通使用者自助式分析和展現資料的 Cloud Analytics 產品。

在加入 SAP 之前,我在一家初創公司擔任產品設計經理。這家 startup 是由 Intel 亞太區一個 VP 創立的,創立之時,正值網際網路泡沫破滅的時候,我們一群年輕人滿腔熱情地加入了這家公司。在奮鬥了 4 年之後,我選擇了離開,很不幸的是這家公司後來很快倒閉了。

作為早期員工,我經歷了產品從誕生到死亡的全過程,很多感慨,即便離開這家公司很多年了,回想起來也依然有點感傷,就像是看著一個小寶貝誕生後不幸夭折的感覺。雖然公司的產品失敗了,但這段經歷是我職業生涯成長最快,收穫也最大的一段時間。

Q:您大學畢業之後都從事了哪些工作?

樑勁:我的專業是化學相關,大學畢業後,被分配到政府部門做公務員。這是我人生當中最黑暗的 10 年,那段時間每天上班就是喝茶、看報、聊天,下班後就是玩遊戲,但這不是我想要的生活,人生毫無希望的感覺,我想擺脫這種生活模式,但又覺得無能為力,我不知道如果不做公務員,我還能做什麼,我什麼也不會啊,我這 10 年最寶貴的青春就這麼稀裡糊塗荒廢了。掙扎了很久,我最後決定破釜沉舟,下定決心把自己的飯碗砸掉了。

這些年很多人為了考公務員,擠破了頭,是不少人熱衷的工作,即便在當時,公務員也是熱門工作。當時我辭職的時候,周圍的朋友一片反對之聲,有一個認識的領導,對我說:“你是不是腦子出問題了?多少人鑽頭覓縫想當公務,你卻要自己砸掉鐵飯碗!”回想起來,這一生做出了很多愚蠢的決定,但離開政府部門是我這一生最正確的抉擇。

離開政府後,因為機緣巧合,我加入了剛才提到的那家創業公司。其實一開始是非常艱難的,從政府部門跳到渾身不搭界的 IT 創業公司,技能上是有所欠缺的,我所有的相關技能都是基於興趣愛好自學的,從專業程度上來說,我完全就是新人。

我在那家公司,負責產品的構思,以及具體的使用者介面設計。因為是初創小公司,所以職責比較綜合,我在這家公司邊做邊學,逐漸在綜合能力上得到了很大的提高。

現在遍地都是 startup,其實當年國內的創業公司非常非常少,我們做的產品,最早是對標 Groove(後被微軟收購),後來產品方向變了,嘗試過不同的方向,但最終還是失敗了。

在初創公司工作,有朝不保夕的感覺,但做事也有它的好處,與 9 萬人的大公司相比,在小公司個人其實有更強的 ownership,對產品有更大的影響力,可以及時驗證 idea 最後的成效,雖然公司產品最終失敗了,但這個過程個人收穫不少。

在創業公司打拼了幾年之後,迫於生計,我最後選擇了進入外企,開啟了另外一段職業生涯。

Q:從什麼時候開始關注人工智慧?因為什麼原因而關注?

樑勁:最早關注人工智慧,大概是在 2016 年,也就是在 AlphaGo 一鳴驚人之後,當時感覺很震撼。然後開始斷斷續續看關於人工智慧相關的文章和視訊,但是還是停留在最基本的概念階段。後來在網易公開課上,試圖看吳恩達在斯坦福的機器學習教程(不是 Cousera 的那個版本),看了一陣就放棄了,因為看不懂 。

其實我不是程式設計師,本身沒有很強的動機去深入學習 AI,我當時做的產品本身也不涉及 AI。只是我做資料視覺化產品,已經好些年了。看到人工智慧的火爆,我在思考是否有機會用 AI 重塑傳統的Business Intelligence/Analytics(商業智慧/商業分析)?

長期以來,傳統的 Business Intelligence/Analytics 都是基於歷史資料,關注的是 “what happed? why did it happen?” ,它關注的是過去,但高階或者新一代的BI/Analytics 是predictive solution,更關注的是未來。“What will happen?” 甚至是“What is the best that could happen ?” 

傳統的BI (business intelligence)雖然號稱商業智慧,但其實沒有真正的智慧。用 AI 去革新 BI/Analytics,才有機會提供真正的“智慧”,然而這不可避免會涉及到 AI/Machine Learning,如果我自己完全不懂,我又如何能去設計突破性的 Analytics 產品呢?

所以,我就有了學習“機器學習”的動機,我並非想成為這方面的專家,而是希望通過學習“機器學習”,瞭解它的原理,想把它和傳統的 Analytics 結合,看看有沒有機會做出有突破性的創新產品。

Q:什麼時候產生自己動手寫一本機器學習教程的想法的?為什麼?

樑勁:學習“機器學習”完全是自我驅動的,並非是工作上的硬性要求,而且我這是跨界學習,作為非程式設計師,要去學“機器學習”,本身挑戰不小。但凡自學新的 topic,特別是對上有老、下有小的職場人士,要長期堅持下去其實是不容易的事情。

如果這個 topic 還很難,如果沒有強烈的動機,不少人學著學著就很容易放棄了,這是人性使然。

我在學習初期,也遇到巨大的困難,根本學不下去。後來自己想方設法在網上找各種英文教程硬著頭皮看,勉強看懂一些,到後面才越來越順了。在看的過程中也做了一些筆記,到後來內容也積累得越來越多。

Learning by doing 和 Learning by teaching 都是高效的學習方法,所以,我就想通過 Learning by teaching 的方式去學習,於是產生了把筆記整理成教程的想法。通過整理筆記,重新組織,也是一個整理思路,加深理解的過程。

在接觸機器學習時,有兩篇文章讓我印象深刻。一篇是 Machine Learning is Fun!(https://medium.com/@ageitgey/machine-learning-is-fun-80ea3ec3c471),還有一篇是 ”圖解機器學習(http://www.r2d3.us/visual-intro-to-machine-learning-part-1 )”。

我意識到很難的 topic 其實可以用直觀、有趣的方式去呈現。市面上機器學習的教程可謂多不勝數,但寫的直白簡單的卻鳳毛麟角。人都喜歡看圖的,討厭看大段大段枯燥乏味的文字,因此,我萌發了用圖形化的方式去寫一份教程的想法。

Q:在開始動筆之前做了哪些準備?

樑勁:寫這個教程,其實是邊學邊寫。針對每個演算法,查書籍,在 YouTube上看視訊、在 Google 上搜索介紹演算法的文章,特別是斯坦福、卡內基梅隆大學的課件,如果只是簡單的黏貼和複製,那是網路搬運工,沒有太大價值。我在一開始就定位於做一份高質量的精品筆記,所以在消化它們的基礎上,吸取精華,並重新組合,儘量以圖形化的方式來展現。

雖然這份筆記的內容大部分都來自別人,但解構並重組,也算是一個再創造的過程,這個過程特別耗時。打個比方,搞懂一個演算法,花了一個星期,再把它用新的方式表述,花了 2-3 個星期。我不是 AI 專家,這份筆記跟市面上的教程,從深度或廣度都沒法比,但我自信它對於初學者的友好性,可能不亞於絕大部分教程。

Q:您是怎樣學習機器學習的數學知識的?

樑勁:吳恩達有幾個視訊,介紹機器學習裡用到的常用數學知識,可能只需要 2-3 個小時學習就能瞭解了。

Q:您是如何安排寫作時間的?

樑勁:為了寫這個教程,佔用了大量私人時間,經常做到深夜,週末泡在星巴克寫,過年的時候都每天寫,這是一個艱難的過程。

Q:在寫這本教程的過程中都碰到了哪些困難?

樑勁:遇到最大的困難,還是數學,這恐怕也是多數人學機器學習遇到的最大障礙。我大學畢業多年了,對於數學早已忘得一乾二淨,每次看到演算法部分,看到數學就崩潰,看不懂啊,那些符號是啥意思都不知道,彷彿天書一般。

後來看了 Andrew Ng(吳恩達)的 Coursera 上的教程,然後逐漸就能看懂那些公式了,看懂那些數學符號了。要精通 Machine Learning 肯定需要很懂數學,但如果只是入門和應用,需要懂的數學並非想象的那麼難。我在做這份筆記時,考慮到了初學者忘記了數學這種情況,儘量圖解註釋了相關公式。

Q:從動筆到完成大概花了多長時間?是什麼讓您支撐下去的?

樑勁:前前後後,大概花了一年左右時間。回頭一看,我都不知道自己是怎麼堅持下來的。整個過程挺艱難的,有時看不懂演算法的時候,心裡那個著急啊,數學忘光了,學起來非常吃力,有時也難免有想放棄的想法。只是又覺得筆記做得這麼多了,貌似做的還不錯,放棄也有點可惜,於是又硬著頭皮做下去,那些困難後來基本也克服了。

Q:在這個過程中您最大的收穫是什麼?

樑勁:整個過程,我特別想驗證的一點,就是是否可能把特別複雜的東西,用淺顯易懂的方式把它講述清楚?目前來看這個目標初步達到,從讀者的反饋來說,他們對筆記的評價非常 positive。如果有資源和團隊,我很自信還能以更好的方式去呈現概念,做出一份非常好的優質教程。只是限於成本和時間,我一個人目前沒有不太可能做到這點。

太多的技術書籍和文件都寫得晦澀難懂,為什麼不能寫得淺顯易懂呢?可是要把複雜的東西講得深入淺出,讓別人讀起來順暢,讀起來舒服,這本身就是一個巨大的挑戰。

我們的教育體系,沒有怎麼教過學生如何去以友好的方式、以結構化的方式去陳述和表達概念,甚至非常多的老師也不知道怎麼很好地教授複雜的概念,照本宣科。無數學生深受其害,不是學生笨,而是老師不會教。很多一流的專家,長於技術,長於研究,但不善於清晰易懂地表達,他們更不知道以何種方式向初學者去表達。

曾經看過網上有人說,“不要使用同濟版《高等數學》教材…美國的教材寫的真不錯,通俗易懂;麻省理工的老師教的真是好,深入淺出。國內的教材怎麼就這麼難懂!但是同樣是高數,為什麼學起來感受會差別這麼大呢?”

我沒有學過同濟版的高數,但我有類似的感覺,國內的教材,各種技術書籍,普遍寫的很爛。不是 topic 太難,而是它沒有被以合適的方式去表述!

我在想一個問題,國內的中學、大學教材,是否有必要來一次改寫大翻新?大學裡是否有必要把“視覺傳達設計/communication design”作為一門必修基礎課?

這是一個終生學習的時代,如何讓學習變得更輕鬆,更高效,更有趣,這裡面有很多方法和技巧,值得有志人士去研究,我也倡議一下,希望設計師、Technical Writer、產品專家、技術專家、心理學家、教育學家,共同努力研究這方面的實踐方法,總結提煉Best Practice。

比如吳恩達的《機器學習視訊教程》,算是機器學習領域屈指可數的優秀教程了,裡面有很多值得學習的教學技巧,以後有時間,可以寫篇文章分析總結好的展現技巧。

Q:筆記傳到網上之後,有人給您提意見嗎?

樑勁:有的,不斷有讀者發郵件或微信後臺留言點贊,表示感謝。普遍的評價是教程做的精美,覺得教程寫的很清晰、淺顯易懂。當然也有讀者幫助指出了教程中的差錯,提出建議,並期望提供更多演算法的介紹。

Q:未來會關注哪些 AI 領域?打算寫另外一本教程嗎?

樑勁:未來可能會關注一下強化學習。暫時沒有寫另外一本教程的打算。我這個英文版筆記是無償分享,不斷有讀者問是否有中文版,很抱歉暫時沒有這個計劃,做這個太耗費精力,以後看情況再說吧。

Q:對想轉型 AI 的職場人士有什麼建議?

樑勁:我也不是 AI 專家,提建議不敢當。我只是想說,無論公司,還是個人,需要不斷進化,以適應環境和趨勢的變化。長期侷限在某個領域和環境裡,即便成為專家。

如果不積極擁抱新事物、新知識,有 overfitting (過擬合)的巨大風險,一旦局勢發生巨大變化,原先的知識、技能、優勢都會化為大幅貶值,甚至化為烏有,被時代所拋棄。保持積極的學習心態,是避免自己走向保守封閉,跟上歷史程序的有效手段之一。

在大資料(ID:hzdashuju)公眾號後臺回覆入門筆記,獲取下載連結。

640?wx_fmt=gif

更多精彩

在公眾號後臺對話方塊輸入以下關鍵詞

檢視更多優質內容!

PPT|報告|讀書|書單| 乾貨

Python | 機器學習 | 深度學習 | 神經網路

區塊鏈 | 揭祕 | 高考 | 福利

推薦閱讀

Q: 你入門了嗎?放棄了嗎

歡迎留言與大家分享

覺得不錯,請把這篇文章分享給你的朋友

轉載 / 投稿請聯絡:[email protected]

更多精彩,請在後臺點選“歷史文章”檢視

640?wx_fmt=jpeg

相關推薦

500機器學習入門筆記下載5什麼?

導讀:今年 4 月,樑勁在百度雲盤上傳了一份自己整理的學習筆記——《機器學習——從入門到放棄》。

【資源】100機器學習入門完整版初學者必備!

【導讀】近日,作者Andriy Burkov放出了他撰寫的《The Hundred-Page Machine Learning Book》的這本書的最新版,只有100頁,目標是任何只要有基礎數學知識的人都能看懂的機器學習書籍。這本書的十一個章節最新版都已經在網站上公開,本書將涵蓋監督學習和非監督學習

100機器學習入門完整版初學者必備!

導讀:近日,Gartner機器學習團隊負責人Andriy Burkov放出了他撰寫的《The Hundred-Page Machine Learning Book》的這本書的最新版,只有100頁,目標是任何只要有基礎數學知識的人都能看懂的機器學習書籍。   這本書的十一個章節最新版

機器學習入門筆記

本系類筆記主要是學習莫煩的機器學習視訊而寫的,以防遺忘. 一.機器學習型別 ① 監督學習(有資料,有標籤)    例如:給計算機看貓和狗的照片從而讓計算機分辨出貓狗.以及神經網路 ② 非監督學習(有資料,無標籤)   例如:不告訴計算機誰是貓誰是狗,

程式設計師的機器學習入門筆記(七):推薦系統入門介紹

介紹 背景 隨著網際網路行業的井噴式發展,獲取資訊的方式越來越多,人們從主動獲取資訊逐漸變成了被動接受資訊,資訊量也在以幾何倍數式爆發增長。舉一個例子,PC時代用google reader,常常有上千條未讀部落格更新;如今的微信公眾號,也有大量的紅點未閱

Udacity機器學習入門筆記——自選演算法 隨機森林

自選三個演算法之一:隨機森林引數調整學習(Google自帶翻譯ε=(´ο`*))))在ud120-projects\choose_your_own\your_algorithm.py中新增以下程式碼from sklearn.ensemble import RandomFore

機器學習入門系列三(關鍵詞:邏輯迴歸正則化)

一、邏輯迴歸 1.邏輯迴歸 什麼是邏輯迴歸問題,通俗地講就是監督下的分類問題。通過前面的學習,我們已經掌握如何解決線性(非線性)迴歸的問題。那面對分類問題我們是否也可以用線性迴歸呢?簡單起見,我們先討論二元分類,首先讓我們來看一個例子,腫瘤的大小與是否是惡性的關係,其中紅色的×表示腫瘤大小,對應的y軸

寫給程式設計師的機器學習入門 (三) - 線性模型啟用函式與層線性模型

生物神經元與人工神經元 在瞭解神經元網路之前,我們先簡單的看看生物學上的神經元是什麼樣子的,下圖摘自維基百科: (因為我不是專家,這裡的解釋只用於理解人工神經元模擬了生物神經元的什麼地方,不一定完全準確) 神經元主要由細胞體和細胞突組成,而細胞突分為樹突 (Dendrites) 和軸突 (Axon),樹突

機器學習筆記(參考吳恩達機器學習視訊筆記)04_變數線性迴歸

4 多變數線性迴歸 4.1 多維特徵 代表特徵矩陣中第i行的第j個特徵,也就是第i個訓練例項的第j個特徵。 支援多變數的假設函式h表示為:,其中,引入。此時模型中的引數是一個n+1維的向量,特徵矩陣X的維度是m*(n+1)。因此公式可以簡化為:。 4.2 多變數梯度下降 在多

tensorflow學習筆記(第一天)-MNIST機器學習入門

MNIST機器學習入門 這個是關於tensorflow的中文文件: http://wiki.jikexueyuan.com/project/tensorflow-zh/tutorials/mnist_beginners.html MNIST是一個入門級的

深入淺出一篇棒的機器學習入門文章

在本篇文章中,我將對機器學習做個概要的介紹。本文的目的是能讓即便完全不瞭解機器學習的人也能瞭解機器學習,並且上手相關的實踐。這篇文件也算是EasyPR開發的番外篇,從這裡開始,必須對機器學習瞭解才能進一步介紹EasyPR的核心。當然,本文也面對一般讀者,不會對閱讀有相關的前提要求。

100機器學習入門書:只要有基礎數學知識就能看懂!(免費下載

  文章釋出於公號【數智物語】 (ID:decision_engine),關注公號不錯過每一篇乾貨。   轉自 | 新智元 作者 | Andriy Burkov 編輯 | 肖琴   這是一本

【轉載】機器學習入門好文強烈推薦

轉載自:https://www.cnblogs.com/subconscious/ 強烈推薦--入門必讀 如果你做好準備了,那一定耐心的讀完,你一定會有所收穫。(大概需要10分鐘)   在進入正題前,我想讀者心中可能會有一個疑惑:機器學習有什麼重要性,以至於要閱讀完這篇非常長的文章呢?

《web安全之機器學習入門》第5章K近鄰演算法讀書筆記【下】

Rootkit是一種特殊的惡意軟體,它的功能是在安裝目標上隱藏自身及指定的檔案、程序和網路連線等資訊。待分析資料集:KDD-99資料集,連結:http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html該資料集是從一個模擬的美

《web安全之機器學習入門》第5章K近鄰演算法讀書筆記【上】

K近鄰演算法的思路:如果一個樣本在空間上最近的K鄰居大多數都屬於M類,則該樣本屬於M類。在本章中,使用K近鄰演算法識別使用者操作序列中的異常命令。分析資料集url:http://www.schonlau.net/資料集說明:50個使用者的linux操作日誌以User開頭的檔案

機器學習入門】Andrew NG《Machine Learning》課程筆記之四:分類、邏輯迴歸和過擬合

分類和邏輯迴歸 在實際的生活中,會遇到很多二元分類問題(Binary Classification Problem),比如判斷一封郵件是否是垃圾郵件,攝像頭判斷使用者是男是女和一張圖片裡包含的是貓還是狗等等。 在有監督的分類問題中,通常使用帶標記(Label

機器學習入門系列04Gradient Descent(梯度下降法)

什麼是Gradient Descent(梯度下降法)? Review: 梯度下降法 在迴歸問題的第三步中,需要解決下面的最優化問題: θ∗=argminθL(θ) L:lossfunction(損失函數) θ:parameter

深度學習/機器學習入門基礎數學知識整理(一):線性代數基礎矩陣範數等

前面大概有2年時間,利用業餘時間斷斷續續寫了一個機器學習方法系列,和深度學習方法系列,還有一個三十分鐘理解系列(一些趣味知識);新的一年開始了,今年給自己定的學習目標——以補齊基礎理論為重點,研究一些基礎課題;同時逐步繼續寫上述三個系列的文章。 最近越來越多的

乾貨丨機器學習入門(經典好文強烈推薦)

讓我們從機器學習談起導讀:在本篇文章中,將對機器學習做個概要的介紹。本文的目的是能讓即便完全不瞭

深度學習/機器學習入門基礎數學知識整理(五):Jensen不等式簡單理解共軛函式

Jensen不等式及其延伸 凸函式最基本的不等式性質,又稱Jensen不等式[1] f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y)f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y) 通俗一點講就是,期望的函式值小於等於函式值的期望。