優秀的機器學習模型,可以用一輩子
1. 優秀的機器學習模型是不需要依賴複雜數學的
長久以來,有一種錯誤的風氣久驅不散:優秀的機器學習模型從數學上看必須是複雜的。然而大巧不工,優秀的模型是不需要任何數學的,也不該對使用者的學歷背景有任何要求。越來越多的人指望用高深的數學解釋深度學習 [3],他們成功了嗎?
我浪漫地認為,一個好的機器學習模型,初中數學就足夠了,不需要讀到博士就可以對其中原理聊熟於胸。當然,現在越來越多的人還是拿到了博士學位,但在實際應用中還是使用著初中數學來處理機器學習問題。在招聘的時候,我們才發現很多人的博士學位都是花架子。這也是為什麼機器學習招聘只認名校理工科專業的學位,而對其他學位缺乏信任。
一個優秀的模型,其數學原理應該非常簡單,它的構造也該向決策樹那樣清晰明了。宣傳它的傑出之處也應該更為直白:「ROC 0.99999,精度0.99999,召回率也是0.99999。」因此,考慮到從業者的水平普遍不高,在宣傳模型時應該更為直接少扯那些花架子。談什麼數學,談什麼學位,談什麼資歷?一個優秀的模型就是最好的,不容爭辯。
2. 優秀的機器學習模型是不需要調參的
文章天成,一個優秀的模型是不需要調參的。從它出現的那一刻起,就代表了我們能獲得的模型精度上限。它漸進逼近數據的真實分布,而任何調參都是對於優秀模型的褻瀆。而作為一個優秀的模型,它有對於數據的絕對洞察,任何自以為是的調參都只會把模型毀掉。所以,在機器學習領域有個說法:「不是你在調整參數,而是參數在調戲你」。人們總希望了解調參的意義 [1],但往往不會成功。
通過調參而提升模型是一種偽科學,要不為什麼叫玄學調參呢?一個優秀的模型已經證明了它是最好的,我們就該乖乖使用默認參數,而不要無事生非、浪費時間調參。實話實說,從業者中很多人根本就不懂模型,也不懂參數。他們嚷著我要調參,我要參與到建模當中去。殊不知大部分人沒有資格,成天叫嚷著調參的人都缺乏自信成為一個合格的調參師。
所以我不推薦一切形式的調參。勇敢的接受模型的輸出,承認模型的優越性,才能體現作為調參俠的浪漫。
3. 優秀的機器學習模型是不需要集成的
雖然我現在的工作和研究是集成學習 [2](ensemble learning),但我必須說:「優秀的模型是不需要集成的。」一個優秀的模型,往往可以吊打無數個表現平庸的模型。如果強行把一個傑出的模型和多個平庸的模型融合,那麼優秀的模型也將不再優秀。
更為致命的是,當我們融合多個機器學習模型時,往往需要制定融合策略,對每個基學習器都是一視同仁的。這種策略是非常可笑的,因為平庸的學習器性能而限制了優秀的學習器,實在是可惜。如果你為了優秀的模型而修改策略,又會顯得不公平,因此乾脆就不要集成。
在機器學習的發展史中,一般都是發現新的模型,當一個新的模型走到生命周期盡頭時,人們再嘗試融合多個模型。但值得指出的是,平均多個模型不如讓最優秀的模型直接做決定。
因此,如果你有一個非常厲害的機器學習模型,不要融合、不要平均,讓它直接作為最終輸出。這是實用主義,要求每個模型都平等輸出,這是平均主義的陷阱。從數學上說得過去,但現實中行不通。不要讓多個平庸的模型限制了傑出模型的表現,這是一種智慧。
4. 優秀的機器學習模型是不需要更新的
另一個值得指出的錯誤認知是,機器學習模型需要定時更新,即用新的數據重新訓練 [4],學習數據中的模式變化。但就像前文分析的那樣,優秀的模型是不需要被調整的,它本身就是oracle function,代表著真實的數據分布。
當我們獲得一個優秀的模型時,就不要再白費力氣談什麼更新了。即使有了新的數據,面臨新的問題,優秀的模型因為其自身先進性也可以自我調節。
我的老闆常說的一句話:「能得到優秀的模型是我們機器學習從業者的福分,不要動不動就更新調整。得罪了客戶,整垮了產品,誰來負責?」我氣不過,頂嘴說:「那一個模型的周期有多長?5年,10年還是20年?」
老闆說:「幼稚!一個好的機器學習模型,可以用一輩子。」
* 一個優秀的知識分子,是不需要讀懂我想說的話的。
[1] Yu, D., Deng, L. and Dahl, G., 2010, December. Roles of pre-training and fine-tuning in context-dependent DBN-HMMs for real-world speech recognition. In Proc. NIPS Workshop on Deep Learning and Unsupervised Feature Learning.
[2] Dietterich, T.G., 2002. Ensemble learning. The handbook of brain theory and neural networks, 2, pp.110-125.
[3] Montufar, G.F., Pascanu, R., Cho, K. and Bengio, Y., 2014. On the number of linear regions of deep neural networks. In Advances in neural information processing systems (pp. 2924-2932).
[4] Oza, N.C., 2005, October. Online bagging and boosting. In Systems, man and cybernetics, 2005 IEEE international conference on (Vol. 3, pp. 2340-2345). Ieee.
推薦閱讀:
※激活函數的實現與梯度檢查<五>
※微分方程和矩陣指數【MIT線代第二十三課】
※課程安利:用物理學的眼光看機器學習--Deep Learning and Quantum Many-BodyComputation
※基於NLP的股價預測
※譯文:如何為機器學習索引,切片,調整 NumPy 數組