基本功
說到底機器學習還是需要一定的專業知識,這可以通過學校學習或者自學完成。但有沒有必要通曉數學,擅長優化呢?我的看法是不需要的,大前提是需要了解基本的數學統計知識即可,更多的討論可以看我這個答案「阿薩姆:如何看待「機器學習不需要數學,很多演算法封裝好了,調個包就行」這種說法?」。最低程度下我建議掌握五個小方向,對於現在和未來幾年內的工業界夠用了。再一次重申,我對於演算法的看法是大部分人不要造輪子,不要造輪子,不要造輪子!只要理解自己在做什麼,知道選擇什麼模型,直接呼叫 api 和現成的工具包就好了。
回歸模型(regression)。學校的課程中其實講得更多的都是分類,但事實上回歸才是工業屆最常見的模型。比如產品定價或者**產品的銷量都需要回歸模型。現階段比較流行的回歸方法是以數為模型的 xgboost,**效果很好還可以對變數重要性進行自動排序。而傳統的線性回歸(一元和多元)也還會繼續流行下去,因為其良好的可解釋性和低運算成本。如何掌握回歸模型?建議閱讀 introduction to statistical learning 的 2-7 章,並看一下 r 裡面的 xgboost 的 package 介紹。
分類模型(classification)。這個屬於老生常談了,但應該對現在流行並將繼續流行下去的模型有深刻的了解。舉例,隨機森林(random forests)和支援向量機(svm)都還屬於現在常用於工業界的演算法。可能很多人想不到的是,邏輯回歸(logistic regression)這個常見於大街小巷每一本教科書的經典老演算法依然佔據了工業界大半壁江山。這個部分推薦看李航《統計學習演算法》,挑著看相對應的那幾章即可。
神經網路(neural networks)。我沒有把神經網路歸結到分類演算法還是因為現在太火了,有必要學習了解一下。隨著硬體能力的持續增長和資料集愈發豐富,神經網路的在中小企業的發揮之處肯定會有。三五年內,這個可能會發生。但有人會問了,神經網路包含內容那麼豐富,比如結構,比如正則化,比如權重初始化技巧和啟用函式選擇,我們該學到什麼程度呢?我的建議還是抓住經典,掌握基本的三套網路: a. 普通的 ann b. 處理影象的 cnn c. 處理文字和語音的 rnn(lstm)。對於每個基本的網路只要了解經典的處理方式即可,具體可以參考《深度學習》的 6-10 章和吳恩達的 deep learning 網課(已經在網易雲課堂上線)。
資料壓縮 / 視覺化(data compression & visualization)。在工業界常見的就是先對資料進行視覺化,比如這兩年很火的流形學習(manifold learning)就和視覺化有很大的關係。工業界認為做視覺化是磨刀不誤砍柴工,把高維資料壓縮到 2 維或者 3 維可以很快看到一些有意思的事情,可能能節省大量的時間。學習視覺化可以使用現成的工具,如 qlik sense 和 tableau,也可以使用 python 的 sklearn 和 matplotlib。
無監督學習和半監督學習(unsupervised & semi-supervised learning)。工業界的另乙個特點就是大量的資料缺失,大部分情況都沒有標籤。以最常見的反詐騙為例,有標籤的資料非常少。所以我們一般都需要使用大量的無監督,或者半監督學習來利用有限的標籤進行學習。多說一句,強化學習在大部分企業的使用基本等於 0,估計在未來的很長一陣子可能都不會有特別廣泛的應用。
基本功的意義是當你面對具體問題的時候,你很清楚可以用什麼**來處理。而且上面介紹的很多任務具都有幾十年的歷史,依然歷久彌新。所以以 3-5 年的跨度來看,這些工具依然會非常有用,甚至像 cnn 和 lstm 之類的深度學習演算法還在繼續發展迭代當中。無論你現在還在學校還是已經開始工作,掌握這些基本的技術都可以通過自學在幾個月到一兩年內完成。
秘密**
而已經有了工作 / 研究經驗的朋友,要試著將自己的工作經歷利用起來。舉例,不要做機器學習裡面最擅長投資的人,而要做金融領域中最擅長機器學習的專家,這才是你的價值主張(value proposition)。最重要的是,機器學習的基本功沒有大家想的那麼高不可攀,沒有必要放棄自己的本專業全職轉行,沉沒成本太高。通過跨領域完全可以做到曲線救國,化劣勢為優勢,你們可能比只懂機器學習的人有更大的行業價值。
舉幾個我身邊的例子,我的乙個朋友是做傳統軟體工程研究的,前年他和我商量如何使用機器學習以 github 上的 commit 歷史來識別 bug,這就是乙個很好的結合領域的知識。如果你本身是做金融出身,在你補足上面基本功的同時,就可以把機器學習交叉運用於你自己擅長的領域,做策略研究,我已經聽說了無數個「宣稱」使用機器學習實現了交易策略案例。雖不可盡信,但對特定領域的深刻理解往往就是捅破窗戶的那最後一層紙,只理解模型但不了解資料和資料背後的意義,導致很多機器學習模型只停留在好看而不實用的階段。
換個角度思考,不同領域的人都有了對機器學習的理解能更好的促進這個技術落地,打破泡沫的傳言。而對於大家而言,不用再擔心自己會失業,還能找到自己的角度在這個全民深度學習的時代找到「金飯碗」。所以我建議各行各業的從業者不必盲目的轉計算機或者機器學習,而應該加深對本專業的了解並自學補充上面提到的基本功,自己成為這個領域的機器學習專家。
彈藥補給
沒有什麼不會改變,這個時代的科技迭代速度很快。從深度學習開始發力到現在也不過短短十年,所以沒有人知道下乙個會火的是什麼?以深度學習為例,這兩年非常火的對抗生成網路(gan),多目標學習(multi-lable learning),遷移學習(transfer learning)都還在飛速的發展。有關於深度學習為什麼有良好泛化能力的理論猜想文章在最新的 nips 聽說也錄了好幾篇。這都說明了沒有什麼行業可以靠吃老本一直瀟灑下去,我們還需要追新的熱點。但機器學習的範圍和領域真的很廣,上面所說的都還是有監督的深度學習,無監督的神經網路和深度強化學習也是現在火熱的研究領域。所以我的建議是盡量關注、學習了解已經成熟和已經有例項的新熱點,不要凡熱點必追。
人工智慧、大資料、雲計算和物聯網的未來發展值得重視,均為前沿產業,多智時代專注於人工智慧和大資料的入門和科譜,在此為你推薦幾篇優質好文:
人工智慧,機器學習和深度學習之間,主要有什麼差異?
機器學習已經被廣泛應用,但是入行機器學習主要難在**?
乾貨:深度學習 vs 機器學習 vs 模式識別三種技術對比
多智時代-人工智慧和大資料學習入門**|人工智慧、大資料、物聯網、雲計算的學習交流**
初識機器學習演算法有哪些?
機器學習無疑是現在資料分析領域的乙個重要內容,凡事從事it工作領域的人都在平時的工作中或多 或少的會用到機器學習的演算法。機器學習有很多演算法,不過大的方面可分為兩類 乙個是學習的方式,乙個是演算法的類似性。學習方式 根據資料型別的不同,對乙個問題的建模有不同的方式。在機器學習或者人工智慧領域,人們...
機器學習中,常用的損失函式有哪些?
1 0 1 loss 記錄分類錯誤的次數。2 hinge loss 最常用在svm中 最大優化間隔分類 中,對可能的輸出t 1和分類器分數y,值y的hinge loss定義如下 l y max 0.1 t y 3 log loss對數損失 對於 對數函式 由於其具有 單調性 在求最優化問題時,結果與...
液晶拼接屏的專業術語有哪些
隨著越來越多的生產廠商在這項技術上的投入,液晶拼接屏的相關引數逐漸提高,低功耗 重量輕 壽命長 一般可正常工作5萬小時以上 具有無輻射 畫面亮度均勻 色澤鮮豔等優點,且拼接縫隙也在逐漸縮小,從7.6mm逐漸縮小到今日的雙邊總拼縫5.3mm,也在日趨下滑,價效比在不斷地提公升。1.液晶拼接屏與其它電腦...