機器學習中的超引數詳解


為了改進機器學習的學習模型,機器學習中提供了各種概念。超引數就是這樣一種重要的概念,用於改進學習模型。它們通常被歸類為模型超引數,在將機器擬合到訓練集時不包含在內,因為它們指的是模型選擇任務。在深度學習和機器學習中,超引數是在將學習演算法應用於資料集之前需要應用或設定的變數。

什麼是超引數?

超引數是由使用者專門定義的,以改進學習模型並控制機器訓練過程的引數。它們在機器學習中被明確使用,以便在應用模型的學習過程之前設定它們的值。這簡單地意味著在機器學習訓練期間無法更改這些值。超引數使學習過程能夠輕鬆控制訓練集的過擬合。超引數提供了控制學習過程的最佳或最優方法。

超引數被外部應用於訓練過程,並且它們的值在訓練過程中不能更改。大多數情況下,人們會混淆學習過程中使用的引數和超引數。但是引數和超引數在各個方面都不同。讓我們在下面一節中簡要了解引數和超引數之間的區別。

引數與超引數

這些術語通常被使用者誤解。但是超引數和引數彼此之間有很大區別。您將在下面瞭解這些區別 -

  • 模型引數是由模型本身從訓練資料中學習到的變數。另一方面,超引數是在訓練模型之前由使用者設定的。

  • 模型引數的值在訓練過程中學習,而超引數的值在學習過程中不能學習或更改。

  • 顧名思義,模型引數具有固定數量的引數,而超引數不是訓練模型的一部分,因此超引數的值不會被儲存。

超引數的分類

超引數主要分為兩類。它們解釋如下 -

用於最佳化的超引數

用於增強學習模型的超引數稱為用於最佳化的超引數。最重要的最佳化超引數如下 -

  • 學習率 - 學習率超引數決定了它如何覆蓋資料集中先前可用的資料。如果學習率超引數具有較高的最佳化值,則學習模型將無法正確最佳化,這將導致超引數可能跳過最小值的可能性。或者,如果學習率超引數具有非常低的最佳化值,則收斂也將非常緩慢,這可能會在確定學習模型的交叉檢查時引發問題。

  • 批大小 - 學習模型的最佳化取決於不同的超引數。批大小就是這些超引數之一。可以使用批處理方法提高學習過程的速度。此方法涉及透過將超引數劃分為不同的批次來加快資料集的學習過程。為了調整所有超引數的值,獲取了批處理方法。在這種方法中,訓練模型遵循建立小批次、訓練它們以及評估以調整所有超引數的不同值的程式。批大小會影響許多因素,如記憶體、時間等。如果增加批次的大小,則需要更長的學習時間,並且還需要更多記憶體來處理計算。同樣,批次的大小越小,超引數的效能越低,這會導致誤差計算中出現更多噪聲。

  • 時期數 - 機器學習中的時期是一種超引數,它指定訓練資料的一個完整週期。時期數是訓練資料的主要超引數。時期數始終是一個整數,在每個週期之後表示。時期在學習過程中起著重要作用,在學習過程中需要重複嘗試和錯誤的過程。可以透過增加時期數來控制驗證錯誤。時期也被稱為提前停止超引數。

特定模型的超引數

  • 隱藏單元數 - 深度學習模型中隱藏著各種神經網路。必須定義這些神經網路才能瞭解模型的學習能力。用於查詢這些神經網路數量的超引數稱為隱藏單元數。隱藏單元數是為關鍵功能定義的,它不應過度擬合學習模型。

  • 層數 - 使用更多層的超引數可以提供比層數少的超引數更好的效能。它有助於效能增強,因為它使訓練模型更可靠且無錯誤。

結論

  • 超引數是由機器學習工程師外部定義的引數,用於改進學習模型。

  • 超引數控制機器的訓練過程。

  • 引數和超引數聽起來很相似,但它們在本質和效能上完全不同。

  • 引數是在學習過程中可以更改的變數,但超引數是外部應用於訓練過程的,並且它們的值在訓練過程中不能更改。

  • 各種方法被分類為不同型別的超引數,這些超引數可以增強學習模型的效能,並且還可以建立無錯誤的學習模型。

更新於: 2023年4月11日

281 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.