0
雷鋒網AI研習社按:隨著硬件算力的上升、數據量的加大以及各種新算法的浮現,機器學習也變得一天比一天火熱。不夸張的說,這是機器學習的時代。然而,機器學習雖然能夠給出驚艷的結果,但其有限的解釋性也常被人戲稱為“黑箱”。而實踐者在使用機器學習的過程中往往也會面臨各種各樣的選擇。本文的目的就是幫助實踐者在使用機器學習過程中做出正確的選擇和判斷。文章內容根據知乎人氣答主阿薩姆在雷鋒網AI研習社上直播分享整理而成。如您想直接看視頻回放,可點擊這里。
阿薩姆,普華永道高級數據科學家,負責統計學習模型開發。有豐富的工業及學術經驗,擅長將理論知識應用于實踐中。曾以第一作者發表過多篇不同領域的學術文章,如人機互動、智能系統等。研究興趣包括異常檢測、集成學習、跨領域機器學習。以筆名“阿薩姆”在知乎上創作了多篇機器學習相關的文章,曾數次被知乎及知乎日報收錄。樂于技術分享,近期正在進行機器學習實踐書籍創作。
以下是阿薩姆的直播分享內容:
機器學習無處不在的選擇

數據如何清理?使用哪個模型?如何進行評估?如何發現過擬合與欠擬合?這些問題都還沒有準確的答案,往往依賴于使用者的經驗與直覺。在今天的分享課中,我們將會集中討論在機器學習中所面臨的選擇,并給出一些實用的經驗建議。
實際問題抽象化
機器學習和深度學習聽起來非常酷炫,但不要為了使用模型而創造問題:機器學習的目標是解決問題。不要為了使用機器學習而創造問題。
機器學習可以預測很多東西,要學會確定“最小預測單元”,每當你把精度加深的時候,預測的難度就會加大。
切記盲目追求通過一個模型預測多個目標,盡量拆分問題。

確定最優框架,在可以使用監督學習,半監督學習,無監督學習,強化學習的情況下,優先使用監督學習

監督學習和無監督學習是”準確“和”探索“之間的平衡。

在了解了怎么定義一個最小單元,也知道選擇什么樣的框架后,下面需要考慮的問題是時間與空間上的依賴性。如果不考慮時空依賴性,問題會得到簡化,但可能有嚴重偏差。如果需要考慮時間與空間上的依賴性,優先從簡單的角度入手。

因為在實際生產中需要的是一個能用的模型,而不是要一個完美的模型,這是一個迭代的過程。
在了解了時空依賴性對于機器學習問題的意義,下一個問題談的是回歸和分類。

什么情況下是適合進行回歸到分類的轉化。

另外一個問題,數據質量往往不是連貫的。如果情況沒有那么好,可以舍棄一部分數據或對數據切分。
小結
確定要預測的目標,找到項目痛點,不追求同事預測多個目標。
確定解決問題的框架,優先使用監督學習
結合已有的規則, 嘗試融合機器學習模型和人為規則
如果可能,優先嘗試分類任務,也可以嘗試將回歸轉為分類
從易到難,確定嘗試哪些機器學習模型
要解決的問題是否對于”時空“存在依賴性,如果可以回避依懶性,可以先試試簡單模型
如果發現使用全部數據效果不好,可以嘗試拋棄部分數據或分段處理。
如何選擇并處理數據
首先,大家要知道,數據不是越多越好,要根據領域經驗挑選相關特征。有一個誤區就是信息越多越好。其實不然,無關信息可能與預測值存在某種巧合,導致對檢測結果造成負面影響。所以只選擇與預測值可能有關聯的信息。

如何判斷特征與結果之間的相關性

相關性分析的意義,可以發現數據中的問題,發現數據中有意思的部分,評估模型的能力。如果多個特征高度相關,那可能模型預測能力效果有限。
如果發現很多特征高度相關,是否應該移除?

總結來看,如果不存在特別嚴重的相關性,去相關性不是必要步驟。從理論和實驗角度來看,去掉或者合并相關性特征不一定會提高模型的預測能力。
從實踐角度來看,樹模型對于相關性的魯棒性強,如果可能,可以先使用未處理的特征在樹模型進行嘗試。
如果有必要移除相關性,下面是移除相關性的方法:
特征選擇
設定閾值,去除高線性相關的特征組。
連續特征離散化

數據與特征工程小結
在處理數據上,數據并非越多越好,多余的無關特征會因為偽相關、巧合而影響模型。
對數據做相關性分析的時候,善用可視化可以一目了然發現問題。
對于高度相關的特征,移除或者合并前要三思,可能并不會提高模型能力。
如果選用了線性模型,可能需要對特征進行離散化
對于大部分模型來說,歸一化或者標準化是必不可少的步驟,至少”無害“
如果問題較為復雜,盡量選擇非線性的魯棒性強的模型
模型選擇與評估的小結
以下是我推薦的模型選擇及評估流程:
根據要解決的問題和對數據的理解,大致決定出模型的搜索范圍,如嘗試SVM,邏輯回歸,隨機森林等。如資源允許,可擴大模型候選名單。
根據要解決的問題和對數據的理解,決定模型的評估標準。雖然建議選擇單一的評估標準進行對比,但推薦計算所有可能的評估標準。
根據具體問題中的數據量大小,以及模型穩定性,決定是否使用交叉驗證。
結合參數搜索、交叉驗證方法,通過選定的評估標準從候選模型中找到表現最好的模型。
對上一步中的所選模型進行微調。
迭代以上步驟直到找到最優的模型。
如何調試機器學習模型
我們常常看到的一種調試方法是分析一個模型的泛化能力,主要看他的偏差與方差。

量化模型泛化能力-過擬合

量化模型泛化能力的診斷方式

模型問題診斷-高偏差和模型問題診斷-高方差


使用集成學習降低方差與偏差

機器學習模型調試小結

機器學習互動問答

更多精彩內容,請觀看雷鋒網AI慕課學院視頻回放。
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。