機器學習中的正則化:如何避免過度擬合?

已發表: 2020-02-17

機器學習涉及讓計算機在沒有明確指令的情況下執行特定任務。 因此,系統被編程為自動從經驗中學習和改進。 數據科學家通常在機器學習中使用正則化來在訓練過程中調整他們的模型。 讓我們詳細了解這個概念。

目錄

正則化避免過擬合

機器學習中的正則化可以避免過度擬合訓練模型。 當您的模型捕獲訓練數據集中的任意數據時,就會發生過度擬合。 此類不具有數據屬性的數據點會使您的模型“嘈雜”。 這種噪音可能會使您的模型更加靈活,但它可能會帶來低準確性的挑戰。

考慮一個有 10 名學生的教室,其中女孩和男孩的數量相等。 年考全班成績70分,女學生平均分60分,男學生平均分80分。根據這些過去的成績,我們要預測學生未來的成績。 可以通過以下方式進行預測:

  • Under Fit:全班得分 70 分
  • 最佳擬合:這可能是一個簡單的模型,預測女孩的分數為 60,男孩的分數為 80(與上次相同)
  • Over Fit:這個模型可能使用一個不相關的屬性,比如卷號,來預測學生的分數與去年完全相同

正則化是一種回歸形式,它通過添加另一個懲罰項來調整誤差函數。 這個附加項使係數不會取極值,從而平衡過度波動的函數。

任何機器學習專家都會努力使他們的模型準確無誤。 而實現這一目標的關鍵在於掌握偏差和方差之間的權衡。 請繼續閱讀以清楚了解這意味著什麼。

平衡偏差和方差

通過找到一種能夠實現正確的“偏差-方差”平衡的方法,可以最大限度地減少預期的測試誤差。 換句話說,您選擇的統計學習方法應該通過同時實現低方差和低偏差來優化模型。 具有高方差的模型會過度擬合,而高偏差會導致模型欠擬合。

交叉驗證提供了另一種避免過度擬合的方法。 它檢查您的模型是否從數據集中提取正確的模式,並估計測試集上的錯誤。 所以,這個方法基本上驗證了你的模型的穩定性。 此外,它決定了最適合您的特定模型的參數。

增加模型的可解釋性

目標不僅是使訓練集的誤差為零,而且還要從測試數據集中預測正確的目標值。 因此,我們需要一個“調整”功能來降低此過程的複雜性。

解釋機器學習中的正則化

正則化是一種約束回歸的形式,它通過將係數估計縮小到零來工作。 通過這種方式,它限制了模型從噪聲中學習的能力。

讓我們看看這個線性回歸方程:

Y= β0+β1X1+β2X2+…..+βpXp

這裡,β 表示由 (X) 表示的不同預測變量的係數估計值。 Y 是學習關係。

由於這個函數本身可能會遇到錯誤,我們將添加一個錯誤函數來正則化學習的估計。 我們希望在這種情況下最小化錯誤,以便我們也可以將其稱為損失函數。 下面是這個損失函數或殘差平方和 (RSS) 的樣子:

因此,數據科學家使用正則化來調整預測函數。 正則化技術也稱為收縮方法或權重衰減。 讓我們詳細了解其中的一些。

嶺正則化

在嶺回歸中,損失函數被修改為對應於 β 的平方和的收縮量。 λ 的值決定了模型將受到多少懲罰。

嶺回歸中的係數估計稱為 L2 範數。 當您的數據中的自變量高度相關時,這種正則化技術將助您一臂之力。

套索正則化

在 Lasso 技術中,等於 β(β 的模)的絕對值之和的懲罰被添加到誤差函數中。 它進一步與控制懲罰強度的參數 λ 相乘。 這種方法只懲罰高係數。

Lasso 產生的係數估計值稱為 L1 範數。 當存在具有大量特徵的少量觀測值時,此方法特別有用。

為了簡化上述方法,考慮一個常數 s,它存在於每個 λ 值。 現在,在 L2 正則化中,我們求解係數平方和小於或等於 s 的方程。 而在 L1 正則化中,係數模的總和應小於或等於 s。

閱讀:機器學習與神經網絡

上述兩種方法都力求確保回歸模型不消耗不必要的屬性。 因此,嶺回歸和 Lasso 也稱為約束函數。

RSS 和約束函數的預測器

借助前面的解釋,嶺回歸和 Lasso 的損失函數 (RSS) 可以由β1² + β2² ≤ s 和 |β1|給出。 + |β2| ≤ s,分別。 β1² + β2² ≤ s將形成一個圓,並且 RSS 將是其內所有點的最小值。 至於 Lasso 函數,RSS 將是位於|β1|給出的菱形內的所有點的最低值。 + |β2| ≤ 秒。

嶺回歸縮小了最不重要的預測變量的係數估計值,但不會消除它們。 因此,由於非零估計,最終模型可能包含所有預測變量。 另一方面,Lasso 可以強制某些係數恰好為零,尤其是當 λ 很大時。

閱讀:用於機器學習的 Python 庫

正則化如何達到平衡

標準最小二乘模型存在一些差異。 正則化技術減少了模型的方差,而不會顯著增加其平方偏差。 調整參數 λ 的值在不消除數據的關鍵屬性的情況下協調這種平衡。 當 λ 的值為零時,懲罰無效,這是普通最小二乘回歸的情況。

方差僅隨著 λ 值的上升而下降。 但這只會發生到某一點,之後偏差可能會開始上升。 因此,選擇這個收縮因子的值是正則化中最關鍵的步驟之一。

結論

在本文中,我們了解了機器學習中的正則化及其優勢,並探索了嶺回歸和套索等方法。 最後,我們了解了正則化技術如何幫助提高回歸模型的準確性。 如果您剛剛開始正規化,這些資源將闡明您的基礎知識並鼓勵您邁出第一步!

如果您有興趣了解有關機器學習的更多信息,請查看 IIIT-B 和 upGrad 的機器學習和人工智能 PG 文憑,該文憑專為工作專業人士設計,提供 450 多個小時的嚴格培訓、30 多個案例研究和作業、IIIT- B 校友身份、5 個以上實用的實踐頂點項目和頂級公司的工作協助。

學習機器學習後你的工作選擇是什麼?

機器學習是技術領域最新和最有前途的職業道路之一。 隨著機器學習的不斷進步和擴展,它為渴望在這一技術領域開創事業的個人開闢了新的工作機會。 想要成為機器學習工程師的學生和專業人士可以期待獲得獎勵和激動人心的學習體驗,當然,他們也希望在薪酬高的頂級組織中找到工作。 從數據科學家和機器學習工程師到計算語言學家和以人為本的機器學習設計師等等,你可以根據自己的技能和經驗擔任許多有趣的工作角色。

機器學習工程師一年能拿到多少薪水?

在印度,初級機器學習工程師的平均年薪約為 6 到 82 萬印度盧比。 但對於具有中級工作經驗的專業人士,薪酬平均在 13 至 150 萬印度盧比左右,甚至更高。 現在,機器學習工程師的平均年收入將取決於多種因素,例如相關工作經驗、技能、整體工作經驗、證書,甚至地點等。 高級機器學習專業人員每年可以賺取約 1 千萬印度盧比。

機器學習所需的技能是什麼?

如果您渴望在機器學習領域建立成功的職業生涯,那麼對特定主題有基本的了解和一定程度的舒適是有益的。 首先,您需要了解概率和統計數據。 創建機器學習模型和預測結果需要統計和概率知識。 接下來,您應該熟悉 Python 和 R 等廣泛用於機器學習的編程語言。 學習機器學習也需要一些用於數據分析的數據建模知識和強大的軟件設計技能。