機器學習是大數據、人工智能的核心,是從事這個領域的必經之路。但是懂得算法還遠遠不能體現機器學習的價值所在。如果你是開發者,方便的機器學習,為你涉入該領域提供了便捷。不過,能夠確定一套高商業價值的模型,你需要很長的積淀。總結八個機器學習的核心能力以供把控方向。
1、問題模型化能力
機器學習的最終目的是實現某種問題的利益最大化,所有實際問題最終都會轉化為一個數據科學的優化問題,那么就需要你有較好的行業背景認識。盡管海量數據會大量縮小你對行業熟知知識的要求,但數據往往不全是海量的,且熟悉的行業背景知識可大大提高效率。
2、復雜數據結構化能力
喂入算法是數據是設計好的,結構化了的數據,但實際數據往往有各種來源,如圖像數據、文本數據、空間、事件序列。..故而合理的結構化數據的能力是很有必要的。
3、數據量、數據結構與數據合理預處理的能力
1)數據量VS異常值
所謂異常值,即不是缺失值,也不是錯誤值,同樣是真實情況的表現,之所以覺得一個數據異常,是因為我們能夠用到的數據量不夠大,無法準確地代表整個此類數據的分布。故當數據量足夠大時,異常值不再異常,且提升了數據的覆蓋面,如個性化推薦。
2)數據平衡VS采樣
如果數據分布均衡,應盡可能避免采樣;因為上下采樣都有其不利影響,上采樣不得當,使得數據中存在大量相同的數據,會導致模型過擬合;下采樣則必然減少數據信息量。
數據不平衡時,常見的處理方式有:
簡單粗暴地復制小樣本數量的樣本——容易過擬合;
調整權重——其效果基本近似于上一種;
隨機森林,使每棵樹訓練時的樣本均衡;
觀察導致樣本不均衡的因素,或可在該因素下先分類,再分別訓練模型。
4、理解特征、并可以有效轉換特征的能力
海量數據特征中,必然有很多特征存在相關性,常常通過降維有效合并相關數據,這樣,在防止了過擬合的同時,也緩解了計算機的負擔;
有時特征經過轉換后,預測效果更佳。如連續變量離散化、重新劃分離散區間。..。
也可對特征重要性排序,繪制特征數量增加與模型預測結果的關系曲線。
5、選擇適當算法的能力
1) 算法不是越復雜越好的,記住:同樣的數據下,當所有模型擬合效果相近時,復雜度越小的算法,帶來不必要的麻煩越小,可解釋性也相對更高。
2) 在相同算法下,訓練的效果會隨著數據的增加而增加,但超過一定程度后,訓練效果將趨于穩定,此時應該考慮更換復雜度較高的算法。
可以參考下圖為數據選擇合理的算法。
6、優化損失函數的能力
當數據分布不均、或需要為某個類別增加權重時,就需要調整損失函數的權值參數,或增加懲罰項。如通過在特定的錯誤類型上,增加更多的懲罰來解釋它們的權重
7、模型訓練與模型融合的能力
想要訓練出一個好的模型參數也不簡單,最好對算法參數有較深的理解。可以使用柵格搜索(GridSearchCV)輔助調參,但真正得到的好的參數,還需要與你長期的經驗相結合。
有時單一的模型不能很好的擬合數據,此時可以將多個模型融合做訓練,常見的模型融合有Boosting、Bagging兩種。典型的如Adaboost、隨機森林
8、區分經驗誤差與泛化誤差
訓練集上的效果不能代表實際效果,要得到好的實際預測效果,及減小泛化誤差。交叉驗證可以實現這一目的,不過最好還要準備一套測試數據來驗證。通俗理解:交叉驗證是高考前的各種模考,而最終測試數據的結果就是高考結果。
此外可以使用正則化來減小泛化誤差。
-
人工智能
+關注
關注
1791文章
47352瀏覽量
238791 -
大數據
+關注
關注
64文章
8894瀏覽量
137494
原文標題:機器學習的八個核心能力
文章出處:【微信號:IV_Technology,微信公眾號:智車科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論