普通碼農如何正確學習機器學習的知識?

Part.1

機器學習是什麼?

 

關於機器學習的定義有很多,它屬於人工智能的一種實現形式,用通俗點的語言來說,一系列改善機器模擬人類行爲的方法都可以稱之爲機器學習

 

機器學習可以做很多事情,包括但不限於以下幾個方面:

 

  • 計算機視覺:如人臉識別,高速路上的電子眼(違章識別),火車票,身份證識別等;

  • 自然語言處理:如大量文章自動分類(新聞分類),文章或評論情感分類等;

  • 語音識別、語音合成:如瀏覽器里語音搜索,語音輸入法,智能音箱等;

  • 個性化內容推薦:如電商平臺的猜你喜歡,今日頭條文章推薦等。

 

機器學習中的很多內容和人本身的行爲是很像的,尤其是深度學習那一部分,最初是從人類大腦的仿生學借鑑而來的。

 

比如金融領域的信用評估,

 

人類的思維模式

假如一個人來向你借錢,你需要判斷他的信用等級,來確定是否借錢給他,借多少錢給他,你最終從他的工作,收入,是否有車,是否有房,是否有社保,是否有公積金等維度來判斷他屬於哪一類人。

 

機器的計算方式

同人的思考方式是很類似的,不同的是機器更高效了,機器可以一天24小時不間斷的工作,一天可以處理上百萬個借錢訂單,這是人遠遠不及的。

 

Part.2

機器學習難嗎?

 

任何學習都需要由淺入深,先入門把基礎打紮實,再去攻克其它內容。想要成爲一名優秀的機器學習算法工程師,需要掌握一張不算小的知識網絡:

640?wx_fmt=png

 

 

把上圖的知識進行拆分,主要可以分爲以下四點:

 

01:基礎開發能力

所謂算法工程師,首先需要是一名工程師,那麼就要掌握所有開發工程師都需要掌握的一些能力。在大多數企業的大多數職位中,算法工程師需要負責從算法設計到算法實現再到算法上線這一個全流程的工作。

 

02:概率和統計基礎

概率和統計可以說是機器學習領域的基石之一,從某個角度來看,機器學習可以看做是建立在概率思維之上的一種對不確定世界的系統性思考和認知方式。

 

在統計方面,一些常用的參數估計方法也需要掌握,典型的如最大似然估計、最大後驗估計、EM 算法等。這些理論和最優化理論一樣,都是可以應用於所有模型的理論,是基礎中的基礎。

 

03:開發語言和開發工具

近年來 Python 可以說是數據科學和算法領域最火的語言,主要原因是它使用門檻低,上手容易,同時具有着完備的工具生態圈,同時各種平臺對其支持也比較好。

 

但是在模型訓練方面,有一些更加專注的工具可以給出更好的訓練精度和性能,典型的如 LibSVM、Liblinear、XGBoost等。大數據工具方面,目前離線計算的主流工具仍然是Hadoop和Spark,實時計算方面 Spark Streaming 和 Storm 也是比較主流的選擇。

 

04:機器學習理論(最重要)

雖然現在開箱即用的開源工具包越來越多,但並不意味着算法工程師就可以忽略機器學習基礎理論的學習和掌握。這樣做主要有兩方面的意義

 

掌握理論才能對各種工具、技巧靈活應用,而不是隻會照搬套用。只有在這個基礎上才能夠真正具備搭建一套機器學習系統的能力,並對其進行持續優化。否則只能算是機器學習搬磚工人,算不得合格的工程師。出了問題也不會解決,更談不上對系統做優化。

 

學習機器學習基礎理論的目的不僅僅是學會如何構建機器學習系統,更重要的是,這些基礎理論裏面體現的是一套思想和思維模式,其內涵包括概率性思維、矩陣化思維、最優化思維等多個子領域,這一套思維模式對於在當今這個大數據時代做數據的處理、分析和建模是非常有幫助的。如果你腦子裏沒有這套思維,面對大數據環境還在用老一套非概率的、標量式的思維去思考問題,那麼思考的效率和深度都會非常受限。

 

希望對你有幫助。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章