歡迎光臨
每天分享高質量文章

是否人人都能學機器學習?入門的前提是什麼?

機器學習是什麼?


套用一下大神們對機器學習的定義,機器學習研究的是計算機怎樣模擬人類的學習行為,以獲取新的知識或技能,並重新組織已有的知識結構使之不斷改善自身。簡單一點說,就是計算機從資料中學習出規律和樣式,以應用在新資料上做預測的任務。



近年來網際網路資料大爆炸,資料的豐富度和改寫面遠遠超出人工可以觀察和總結的範疇,而機器學習的演演算法能指引計算機在海量資料中,挖掘出有用的價值,也使得無數學習者為之著迷。


作為機器學習工程師,雖說不是專家,但總算有一些機器學習的專案經驗,這一篇就我們的經驗和各位同仁的分享,總結一些對於初學者入門有幫助的方法和對進階有用的資料。


◆ ◆ 

機器學習關註問題


並非所有的問題都適合用機器學習解決(很多邏輯清晰的問題用規則能很高效和準確地處理),也沒有一個機器學習演演算法可以通用於所有問題。機器學習,到底關心和解決什麼樣的問題。


從功能的角度分類,機器學習在一定量級的資料上,可以解決下列問題:


1.分類問題根據資料樣本上抽取出的特徵,判定其屬於有限個類別中的哪一個。比如:垃圾郵件識別(結果類別:1、垃圾郵件 2、正常郵件)。


2.回歸問題根據資料樣本上抽取出的特徵,預測一個連續值的結果。比如:星爺《美人魚》票房


3.聚類問題根據資料樣本上抽取出的特徵,讓樣本抱抱團(相近/相關的樣本在一團內)。比如:google的新聞分類。


我們再把上述常見問題劃到機器學習最典型的2個分類上。

  • 分類與回歸問題需要用已知結果的資料做訓練,屬於“監督學習”

  • 聚類的問題不需要已知標簽,屬於“非監督學習”。


如果在IT行業(尤其是網際網路)裡溜達一圈,你會發現機器學習在以下熱點問題中有廣泛應用:


◆ ◆ 

入門方法與學習路徑


機器學習對大多數入門者也有一個比較通用的學習路徑,也有一些優秀的入門資料可以降低大家的學習門檻,同時激發我們的學習樂趣。


簡單說來,大概的一個學習路徑如下: 



最左邊之所以列了『數學基礎』『典型機器學習演演算法』『程式設計基礎』三個並行的部分,是因為機器學習是一個將數學/演算法理論和工程實踐緊密結合的領域,需要扎實的理論基礎幫助引導資料分析與模型調優,同時也需要精湛的工程開發能力去高效化地訓練和部署模型和服務。


在網際網路領域從事機器學習的人,有2類背景的人比較多:

1.程式員出身,這類同學工程經驗相對會多一些。

2.學數學統計領域出身,這部分同學理論基礎相對扎實一些。

因此對比上圖,2類同學入門機器學習,所欠缺和需要加強的部分是不一樣的。


下麵就上述圖中的部分,展開來分別扯幾句:


 數學基礎 


機器學習之所以相對於其他開發工作,更有門檻的根本原因就是數學。每一個演演算法,要在訓練集上最大程度擬合同時又保證泛化能力,需要不斷分析結果和資料,調優引數,這需要我們對資料分佈和模型底層的數學原理有一定的理解。所幸的是如果只是想合理應用機器學習,而不是做相關方向高精尖的research,需要的數學知識啃一啃還是基本能理解下來的。


基本所有常見機器學習演演算法需要的數學基礎,都集中在微積分、線性代數和機率與統計當中。


 典型演演算法 


絕大多數問題用典型機器學習的演演算法都能解決,粗略地列舉一下這些方法如下:



機器學習裡所說的“演演算法”與程式員所說的“資料結構與演演算法分析”裡的“演演算法”略有區別。前者更關註結果資料的召回率、精確度、準確性等方面,後者更關註執行過程的時間複雜度、空間複雜度等方面。 當然,實際機器學習問題中,對效率和資源佔用的考量是不可或缺的。


 程式語言、工具和環境 


看了無數的理論與知識,總歸要落到實際動手實現和解決問題上。對初學者而言,Python和R語言是很好的入門語言,很容易上手,同時又活躍的社群支援,豐富的工具包幫助我們完成想法。相對而言,似乎計算機相關的同學用Python多一些,而數學統計出身的同學更喜歡R一些。資深程式員則更偏向java和C++相關機器學習package。


 基本工作流程 


以上我們基本具備了機器學習的必要條件,剩下的就是怎麼運用它們去做一個完整的機器學習專案。其工作流程如下: 抽象成數學問題—— 獲取資料——特徵預處理與特徵選擇——訓練模型與調優——模型診斷——模型融合——上線執行。


這些工作流程主要是工程實踐上總結出的一些經驗。並不是每個專案都包含完整的一個流程。這裡的部分只是一個指導性的說明,只有大家自己多實踐,多積累專案經驗,才會有自己更深刻的認識。


說了這麼多,你應該對機器學習都有了基本框架!或者已經機器學習有了自己的一套心得。那麼如何求職機器學習工程師呢?


最好的方法就是能找到一個比你自己更靠譜的前輩、老師幫你持續性的指導!


因此,就在5月9日網易雲課堂準備了一場關於《機器學習》的免費直播課,告訴你如何快速拿到機器學習工程師offer!



掃碼即可加入“機器學習QQ群”

獲取機器學習資料、直播課和精品體驗課

贊(0)

分享創造快樂