這乙個月,從對機器學習充滿好奇與畏懼,到對各種演算法稍有理解以及圍繞推薦場景的編碼實踐,算是對機器學習有了乙個入門的體驗。但是中間也踩過不少坑,比如啃過線性代數的教材、看過無聊的機器學習課程、追過高階的機器學習書籍、陷入乙個演算法無法自拔(最後也沒整明白)...其實,學習機器學習沒有那麼難,也很容易走偏。謹以此文,作為ml入門小白的乙個小小的參考...本篇雖不是這乙個月的流水賬,但是基本按照下面的思路對著乙個月做了一次總結:
希望讀者有所收穫,另外,如果文中有任何理解上的錯誤,還望指正!之前在沒有具體接觸到機器學習前,我大概對他有乙個概念上的認識,覺得是一種很高階的演算法,能讓機器學會很多的事情,就像...《我的機械人女友》裡那樣!
或者是《機械公敵》裡的智慧型機械人?...
專門研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的效能。其實機器學習就是通過一些前人總結的資料公式,幫我們簡化了很多手工操作很麻煩甚至無法操作的事情。就舉個身邊很常見的例子,當你在**搜尋了某個寶貝後,之後的商品頁面會為你推薦跟這個搜尋相關的商品;再比汽車在經過司機的一段駕駛後,汽車自己能基於道路狀況自動調整方向盤以及車速,實現無人駕駛;再如,家裡的熱水器會記錄你使用熱水的時間,提前一段時間燒水,而在其他時間不加熱,以節省水電。這些都是機器學習,都是身邊已經出現或者即將出現的場景,所以,機器學習其實就在我們身邊。
在機器學習中,演算法可以按照多種維度進行分類,比如監督學習、無監督學習、強化學習等...讓人看著就眼暈。
記得有一篇文章總結的就非常易懂,他認為機器學習其實可以分成三類,分類、回歸、聚類。
結合到演算法裡面:
如果看過一遍《機器學習實戰》,應該就會對上述的演算法有一定的了解。不需要到公式推導級別,先能了解他們的用法即可,比如:
這麼多演算法其實只是機器學習中的一部分....
機器學習的應用場景
機器學習的應用還是很廣泛的,比如無人駕駛、機械人等等高大上的東西,以及咱們身邊的拼車演算法、電商的個性化推薦、婚戀**的快速配偶等等。只要是涉及到資料之間的關係,都可以使用機器學習來達到很好的效果。
這三種境界純粹是個人的胡亂設定,僅僅是為了給自己的學習定下乙個目標!
第一層 了解演算法的過程和作用
這種一般是那些自學機器學習的朋友,在看過幾本機器學習相關的書籍後,對所有的演算法都有一點了解。能跟別討論一些機器學習的演算法和用途,並且能理解相關技術分享大致過程。
第二層 能把演算法運用到實踐中
這一層可以認為是對某個機器學習的庫比較熟悉,能真正的利用機器學習來解決一些問題。比如可以使用spark mllib中的某個演算法解決實際的問題,如基於物品或者使用者的協同過濾演算法。這就好像是使用現代的機械工具蓋房子,而不是像過去純人工搬石頭壘長城,效率和產出上都要好的多。
第三層 對演算法的推導融會貫通
這種可以說是集數學與計算機功底於一身,是倚天劍與屠龍刀的合體。對數學公式推導瞭如指掌,各種模型的優化也深諳其道。其實機器學習使用某個庫出乙個簡單的效果很簡單,但是想要對演算法模型進行優化卻很難,大多時候都是盯著演算法結果,目瞪口呆,不知道下一步該怎麼辦。如果對演算法了解的很深,對實際的業務又很熟悉,那麼就能結合兩點對演算法模型進行優化,改進機器學習的結果。
經過不到乙個月的學習,對機器學習也算是初步有了一定的了解,最起碼知道機器學習能幹什麼了,所以現在還在處於上面的第乙個境界....
2 推薦閱讀《機器學習實戰》了解下機器學習相關的演算法。我之前也看過機械工業出版社的《機器學習》、也看過點周志華老師的《機器學習》,前一本概念太多,後一本公式也挺多。《機器學習實戰》相對來說要好得多,先介紹點理論背景,在基於python介紹下演算法的實現以及一兩個案例。
3 很多人都覺得機器學習需要很好的數學功底,於是學習機器學習前,先捧著高數、線代、概率論看,結果看了兩天,覺得枯燥無味,就打算放棄。其實沒必要的,結合上面的《機器學習實戰》,遇到什麼公式,進行相應的複習就行了,這也是為什麼把數學放在第三個步驟。其實機器學習裡面能理解高數的求導、線代的矩陣以及向量、概率的期望方差等就差不多了,其他有需要的話針對學習就行。
4 學習機器學習肯定是要看吳恩達老師的公開課了,公開課的位址,我剛看了兩集,感覺還是非常不錯的。
5 學習spark mllib相關的演算法實現,如果有時間的話,可以看看原始碼。
通過上面的學習,暫時可以到達第二個層次了。我想一般搞計算機的,應該很少有能對各種演算法推導融會貫通的。所以第三種境界,就留給其他人吧....
1 《機器學習實戰》
2 機器學習 斯坦福 公開課
3 《推薦系統實踐》
4 spark mllib官方文件以及example**樣例
剛接觸機器學習這乙個月我都做了什麼?
這乙個月,從對機器學習充滿好奇與畏懼,到對各種演算法稍有理解以及圍繞推薦場景的編碼實踐,算是對機器學習有了乙個入門的體驗。但是中間也踩過不少坑,比如啃過線性代數的教材 看過無聊的機器學習課程 追過高階的機器學習書籍 陷入乙個演算法無法自拔 最後也沒整明白 其實,學習機器學習沒有那麼難,也很容易走偏。...
這乙個月來的感受
好久沒有更新部落格了哈,這乙個月以來一直在準備各種筆試,面試,但回想起來 都收穫不大,所以很氣 這乙個月主要在學二進位制 熟悉od 熟悉測試 堆疊溢位的原理,學的沒有很上道 等學完這一階段,來一次很大場面的集體更新吧。這乙個月 內推了360 qa中心 無果 內推了阿里 一面4月1號 50分鐘 讓我很...
關於過去的這乙個月 面試經歷
國慶後的一周,斷斷續續請了差不多一周的假,參加了很多筆試和面試,公司大概有10多家,拿到了7家的offer,這其中,我對這些公司做個評價。tp link 最負責任的好公司,因筆試地點在電子科大,再加上當時學位 採集,不得不放棄了筆試,以為這就是說我放棄了tp,不過後來又收到了參加面試的通知,很感謝t...