<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【機器學習】機器學習實踐中的 7 種常見錯誤

          共 2481字,需瀏覽 5分鐘

           ·

          2021-07-18 17:02

          編譯:伯樂在線 - yixingqingkong,英文:Cheng-Tao Chu


          編注:本文作者是 Codecademy 的分析主管 Cheng-Tao Chu,其專長是數(shù)據(jù)挖掘和機器學習,之前在 Google、LinkedIn和Square就職。




          統(tǒng)計建模非常像工程學。


          在工程學中,有多種構(gòu)建鍵-值存儲系統(tǒng)的方式,每個設(shè)計都會構(gòu)造一組不同的關(guān)于使用模式的假設(shè)集合。在統(tǒng)計建模中,有很多分類器構(gòu)建算法,每個算法構(gòu)造一組不同的關(guān)于數(shù)據(jù)的假設(shè)集合。


          當處理少量數(shù)據(jù)時,嘗試盡可能多的算法,然后挑選最好的一個的做法是比較合理的,因為此時實驗成本很低。但當遇到“大數(shù)據(jù)”時,提前分析數(shù)據(jù),然后設(shè)計相應(yīng)“管道”模型(預處理,建模,優(yōu)化算法,評價,產(chǎn)品化)是值得的。


          正如我之前文章中所指出的,有很多種方法來解決一個給定建模問題。每個模型做出不同假設(shè),如何導引和確定哪些假設(shè)合理的方法并不明確。在業(yè)界,大多數(shù)實踐者是挑選他們更熟悉而不是最合適的建模算法。在本文中,我想分享一些常見錯誤(不能做的),并留一些最佳實踐方法(應(yīng)該做的)在未來一篇文章中介紹。


          1. 想當然地使用缺省損失函數(shù)


          許多實踐者使用缺省損失函數(shù)(如,均方誤差)訓練和挑選最好的模型。實際上,現(xiàn)有損失函數(shù)很少符合業(yè)務(wù)目標。以欺詐檢測為例,當試圖檢測欺詐性交易時,業(yè)務(wù)目標是最小化欺詐損失。現(xiàn)有二元分類器損失函數(shù)為誤報率和漏報率分配相等權(quán)重,為了符合業(yè)務(wù)目標,損失函數(shù)懲罰漏報不僅要多于懲罰誤報,而且要與金額數(shù)量成比例地懲罰每個漏報數(shù)據(jù)。此外,欺詐檢測數(shù)據(jù)集通常含有高度不平衡的標簽。在這些情況下,偏置損失函數(shù)能夠支持罕見情況(如,通過上、下采樣)。


          2.非線性情況下使用簡單線性模型


          當構(gòu)建一個二元分類器時,很多實踐者會立即跳轉(zhuǎn)到邏輯回歸,因為它很簡單。但是,很多人也忘記了邏輯回歸是一種線性模型,預測變量間的非線性交互需要手動編碼?;氐狡墼p檢測問題,要獲得好的模型性能,像“billing address = shipping address and transaction amount < $50”這種高階交互特征是必須的。因此,每個人都應(yīng)該選擇適合高階交互特征的帶核SVM或基于樹的分類器。


          3.忘記異常值


          異常值非常有趣,根據(jù)上下文環(huán)境,你可以特殊關(guān)注或者完全忽略它們。以收入預測為例,如果觀察到不同尋常的峰值收入,給予它們額外關(guān)注并找出其原因可能是個好主意。但是如果異常是由于機械誤差,測量誤差或任何其它不可歸納的原因造成的,那么在將數(shù)據(jù)輸入到建模算法之前忽略掉這些異常值是個不錯的選擇。


          相比于其它模型,有些模型對異常值更為敏感。比如,當決策樹算法簡單地將每個異常值計為一次誤分類時,AdaBoost算法會將那些異常值視為“硬”實例,并為異常值分配極大權(quán)值。如果一個數(shù)據(jù)集含有相當數(shù)量的異常值,那么,使用一種具有異常值魯棒性的建模算法或直接過濾掉異常值是非常重要的。


          4.樣本數(shù)少于特征數(shù)(n<<p)時使用高方差模型


          SVM是現(xiàn)有建模算法中最受歡迎算法之一,它最強大的特性之一是,用不同核函數(shù)去擬合模型的能力。SVM核函數(shù)可被看作是一種自動結(jié)合現(xiàn)有特征,從而形成一個高維特征空間的方式。由于獲得這一強大特性不需任何代價,所以大多數(shù)實踐者會在訓練SVM模型時默認使用核函數(shù)。然而,當數(shù)據(jù)樣本數(shù)遠遠少于特征數(shù)(n<<p)—業(yè)界常見情況如醫(yī)學數(shù)據(jù)—時,高維特征空間意味著更高的數(shù)據(jù)過擬合風險。事實上,當樣本數(shù)遠小于特征數(shù)時,應(yīng)該徹底避免使用高方差模型。


          5.尚未標準化就進行L1/L2/等正則化


          使用L1或L2去懲罰大系數(shù)是一種正則化線性或邏輯回歸模型的常見方式。然而,很多實踐者并沒有意識到進行正則化之前標準化特征的重要性。


          回到欺詐檢測問題,設(shè)想一個具有交易金額特征的線性回歸模型。不進行正則化,如果交易金額的單位為美元,擬合系數(shù)將是以美分為單位時的100倍左右。進行正則化,由于L1/L2更大程度上懲罰較大系數(shù),如果單位為美元,那么交易金額將受到更多懲罰。因此,正則化是有偏的,并且趨向于在更小尺度上懲罰特征。為了緩解這個問題,標準化所有特征并將它們置于平等地位,作為一個預處理步驟。


          6. 不考慮線性相關(guān)直接使用線性模型


          設(shè)想建立一個具有兩變量X1和X2的線性模型,假設(shè)真實模型是Y=X1+X2。理想地,如果觀測數(shù)據(jù)含有少量噪聲,線性回歸解決方案將會恢復真實模型。然而,如果X1和X2線性相關(guān)(大多數(shù)優(yōu)化算法所關(guān)心的),Y=2*X1, Y=3*X1-X2或Y=100*X1-99*X2都一樣好,這一問題可能并無不妥,因為它是無偏估計。然而,它卻會使問題變得病態(tài),使系數(shù)權(quán)重變得無法解釋。


          7. 將線性或邏輯回歸模型的系數(shù)絕對值解釋為特征重要性


          因為很多現(xiàn)有線性回歸量為每個系數(shù)返回P值,對于線性模型,許多實踐者認為,系數(shù)絕對值越大,其對應(yīng)特征越重要。事實很少如此,因為:(a)改變變量尺度就會改變系數(shù)絕對值;(b)如果特征是線性相關(guān)的,則系數(shù)可以從一個特征轉(zhuǎn)移到另一個特征。此外,數(shù)據(jù)集特征越多,特征間越可能線性相關(guān),用系數(shù)解釋特征重要性就越不可靠。


          這下你就知道了機器學習實踐中的七種常見錯誤。這份清單并不詳盡,它只不過是引發(fā)讀者去考慮,建模假設(shè)可能并不適用于手頭數(shù)據(jù)。為了獲得最好的模型性能,挑選做出最合適假設(shè)的建模算法—而不只是選擇你最熟悉那個算法,是很重要的。


          看完本文有收獲?請轉(zhuǎn)發(fā)分享給更多人

          往期精彩回顧




          本站qq群851320808,加入微信群請掃碼:
          瀏覽 28
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日本爱爱网址 | 一区二区久久在线 | 欧美三级片在线观看 | 时逼高清视频免费少妞 | 一级黄片毛片在线播放 |