什么是好算法
在應用科學領域,算法的選擇和應用是一個復雜的問題,它涉及到數學、工程和業務策略等多個方面。這篇文章,我們來看看算法的增益、部署問題、線性與非線性模型的選擇,以及樹模型和神經網絡算法的適用場景。
其實,在應用科學領域,這是最微不足道的。
AI,就是數學的游戲,這不能算貶義,因為數學真的是皇冠。
算法帶來的超額效果很小。除了邏輯回歸復雜度較低之外,xgb、lgb,神經網弱等學習能力都很強,算法的增益幾乎可以忽略不計。
選擇算法,最重要的是考慮部署問題。如果你們工程上只會邏輯回歸的線性計算,那你就只能選邏輯回歸。選擇別的算法,要先解決工程問題。但其實都好解決,也不好解決,主要看系統能力,其次看個人能力。
從線性和非線性的角度說吧,邏輯回歸當然是線性的,神經網絡和樹模型是非線性的。這個問題帶來的結果是,線性的需要分客群,非線性的可能可以不特別需要分客群。
為什么?
ln(odds)=a1x1+a2x2+…,你看表達式就知道了,不同客群的系數矩陣A肯定是不一樣的,實際上連組成X矩陣的woe值都不一樣。不一樣的表達式,采用線性的方式強行合成一個,肯定是有損的。
那樹模型呢?分客群可以看作第一層分裂進行了手動分群,其實還不如不分,留給算法自己分。如果你保證總的復雜度不變的話,我相信算法自己分效果會更好。
也就是說,假如分了n個客群,建了n個模型,對比的那一個不分客群的模型,在相同的參數下,評估器的數量應該乘以n。
我們這里說的是做模型分不分客群。建模不分客群不代表策略不分客群,做策略的時候自行去劃分就好了。
有人說,神經網絡算法更適合同質類數據,即數據的每一維變量是有同樣含義的,比如圖像中的像素、文字中的字符、音頻中的波形,決策樹算法更適合異質類數據,比如風控場景中的年齡、收入、職業等。
有點道理,這是結構化數據和非結構化數據的另一種說法。
有人說,在風險建模的時候,若采用樹算法,最常采用的參數為低深度、高數量(樹深通常設置為2-3,樹的棵數設置為幾十到一百),一旦樹深設置過高,則極易產生過擬合,這與我們對金融數據缺少高階信息的評判相符。一旦涉及到高階交叉特征,則此時帶來的噪聲極可能超過信號,甚至影響到低階特征的學習效果。對于同質信息,比如數據源都為多頭信息,樹深可以設置的高一些,因為此時更深的樹也不代表高階交叉,本質上只是同一個信息源的不同分裂節點而已。
有點道理,樹深的問題理解成高階不高階,仁者見仁智者見智,畢竟樹深越深模型越復雜效果就是越好,你不能說它有什么大問題。設置低樹深更重要的是和策略,和人的理解保持一致,三個變量交叉已經夠你理解的了。至于同質信息,更深的樹不代表高階交叉,這樣說也對,畢竟多個多頭變量組合你可以理解成一個更復雜的多頭變量加工。但是無須差異化,仍然保持低樹深即可。
本文由人人都是產品經理作者【雷帥】,微信公眾號:【雷帥快與慢】,原創/授權 發布于人人都是產品經理,未經許可,禁止轉載。
題圖來自Unsplash,基于 CC0 協議。
- 目前還沒評論,等你發揮!