機器學習中的模型驗證


簡介

模型驗證是一種技術,我們透過收集、預處理並將適當的資料饋送到機器學習演算法來驗證已構建的模型。我們不能直接將資料饋送到模型中,對其進行訓練然後部署。驗證模型的效能或結果至關重要,以檢查模型是否按照我們的預期執行。有多種模型驗證技術用於根據不同型別的模型及其行為來評估和驗證模型。

在本文中,我們將討論模型驗證、其背後的核心思想、為什麼需要它、它的優勢以及如何使用SKLearn驗證模型。這將幫助人們更深入地理解模型驗證的概念,並能夠使用SKLearn驗證模型。

什麼是模型驗證?

機器學習完全關乎資料、資料質量、資料數量以及對資料的操作。大多數情況下,我們收集資料;我們必須對其進行清理、預處理,然後應用適當的演算法並從中獲得最佳擬合模型。但是,獲得模型後,任務並未完成;模型驗證與訓練一樣重要。

直接訓練然後部署模型是行不通的,在醫療保健模型等敏感領域,存在巨大的風險,並且必須進行現實生活中的預測;在這種情況下,模型中不應該出現錯誤,因為它可能會造成巨大的損失。

模型驗證的優勢

模型驗證提供了許多優勢。

模型的質量

模型驗證的首要優勢是模型的質量;是的,我們可以透過驗證模型來快速瞭解模型的效能和質量。

模型的靈活性

其次,驗證模型可以很容易地瞭解其靈活性。模型驗證也有助於使模型更靈活。

過擬合和欠擬合

模型驗證有助於識別模型是否欠擬合或過擬合。在欠擬合的情況下,模型在訓練資料中給出較高的準確性,但在驗證階段模型效能較差。在過擬合的情況下,模型在訓練或驗證階段的效能都不好。

有多種技術可用於驗證模型;讓我們嘗試逐一討論它們。

訓練測試分割

訓練測試分割是用於驗證資料的最基本和最簡單的模型驗證技術之一。在這裡,我們可以輕鬆地將資料分成兩部分,訓練集和測試集。此外,我們還可以選擇要分割資料的比例。

如果訓練集中不存在任何資料集的子集,而測試集中存在該子集,則train_test_split方法存在一個問題,在這種情況下,模型將報錯。

留出法

留出法也與訓練測試分割方法非常相似;只是這裡,我們對資料進行了額外的分割。使用訓練測試分割方法時,可能會發生資料有兩個分割,並且資料可能會洩漏,從而導致模型過擬合。為了克服這個問題,我們還可以將資料再分割成一個部分,稱為留出集或驗證集。

所以基本上,在這裡,我們在大型訓練集上訓練我們的資料,然後在測試集上測試模型。一旦模型在訓練集和測試集上都表現良好,我們就會在最終的驗證集上嘗試模型,以瞭解模型在未知資料集中的行為。

K折交叉驗證

K折交叉驗證是將資料分割成其訓練點和測試點的一種廣泛使用且最準確的方法之一。在這種方法中,使用了KNN演算法的邏輯或工作機制。與KNN演算法一樣,這裡我們也有一個稱為K的項,它是資料的分割次數。

在這種方法中,我們不是將資料分割一次,而是根據K的值進行多次分割。假設K的值定義為5。然後模型將資料集分割五次,並且每次都會選擇不同的訓練集和測試集。

透過這樣做,我們獲得了一個顯著的優勢,即模型可以測試所有資料,並且模型不會有偏差。

留一法

留一法也是K折交叉驗證技術的一種變體,其中我們將K定義為n。其中n是我們資料集中擁有的樣本數或資料觀測數。在這裡,模型對每個資料樣本進行訓練和測試,並且模型將每個樣本視為測試集,而其他樣本視為訓練集。

儘管這種方法並未廣泛使用,但留出法和K折方法解決了大多數與模型驗證相關的問題。

關鍵要點

  • 模型驗證是機器學習中最重要的任務之一,應該對所有要部署的模型進行實施。

  • 模型驗證使我們能夠了解模型的行為、其在資料上的效能、過擬合和欠擬合等問題以及與模型相關的錯誤。

  • 訓練測試分割和留出法是簡單且最常用的模型驗證方法,其中資料被分成兩到三部分,並在測試集上驗證模型。

  • K折方法是一種更高階且更準確的模型驗證方法,其中資料被分割K次,每次訓練集和測試集都保持變化。

  • 留一法是K折方法的一種變體,其中模型將資料的一個觀測值排除在訓練集之外,並將其用作測試集。

結論

在本文中,我們討論了模型驗證、其重要性、模型驗證的優勢以及用於驗證機器學習模型的不同模型。這將有助於人們理解模型驗證並將其應用於任何資料和任何模型。

更新於:2023年2月24日

2K+ 閱讀量

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.