Torch - 最佳化器和損失函式



Torch 中的最佳化器和損失函式對於訓練神經網路非常重要。常見的損失函式度量標準包括用於迴歸任務的均方誤差 (MSE) 和用於分類任務的交叉熵損失。Torch 中的每個元件在訓練迴圈中協同工作,其中最佳化器根據完成損失函式的梯度重新更新模型引數。

最佳化器

Adam 和隨機最佳化器確定引數以最小化損失函式,該函式度量實際值和預測值之間的差異。

  • 隨機梯度下降 (SGC):這是一種最佳化演算法,用於最小化機器學習模型中的損失函式。它使用整個資料集計算梯度,並僅使用單個或少量訓練迭代更新模型引數。

  • 自適應矩估計 (Adam):它結合了隨機梯度下降擴充套件的其他兩個優點。它為每個引數計算自適應學習率。

  • RMSprop:學習率是平方梯度的指數衰減平均值的除數。

損失函式

損失函式在機器學習中至關重要,因為它們量化了模型預測與實際資料之間的差異。它們衡量預測輸出與真實輸出之間的差異,並指導最佳化過程。常見的損失函式包括用於迴歸任務的均方誤差,它計算實際值和預測值之間的差異。

  • MSELoss(均方誤差):它衡量實際值和預測值之間的平均平方差,通常用於迴歸任務。

  • CrossEntropyLoss(交叉熵損失):它將 NLLoss 和 LogSoftmax 結合在一個類中。它用於分類任務。每個損失函式在多類問題中都特別有效,其中它計算真實分佈與預測機率分佈之間的差異。

  • NLLoss(負對數似然):它用於輸出是機率分佈的分類問題。在處理多分類任務時,此損失函式特別有效。

常用機器

Torch 使用面向物件的正規化開發,它可以透過修改現有演算法或設計新演算法來實現。以下是常用方法:

梯度機器

這是機器學習中一項重要的技術,由反向傳播演算法引入。它是將簡單的梯度下降應用於複雜的可微函式。Torch 確定訓練好的梯度下降函式。

數學表示如下:

$$\mathrm{f_{(w)}(x)=v_0+\sum^{N}{j=1}v_j\:tanh\:(v{j0}+\sum^{d}{i=1}u{ji}x^{i})}$$

此公式透過為訓練集中每個示例迭代更新函式來最佳化權重。它計算成本函式的導數。文字說明了 Torch 的模組化特性,它允許實現不同的梯度機器和成本函式。這種方法簡化了複雜模型的建立。

支援向量機 (SVM)

支援向量機是一種非常強大的機器學習演算法,廣泛用於分類任務。它們在不同的分類問題中表現出良好的效能。

數學表示如下:

$$\mathrm{k(x,x_{j})=exp(\:(−\gamma)\lVert x_{i}−x_{j}\lVert^{2})(\gamma \:\epsilon \:R)}$$

訓練 SVM 包括解決一個最佳化問題,表示為:

$$\mathrm{y=sign (\sum^{T}_{i=1}y_i\:\alpha_i\:K(x,x_i)+b)}$$

最常用的高斯核:

$$\mathrm{Q(\alpha)=−\sum^{T}{i=1}\alpha{i}+\frac{1}{2}\sum^{T}{i=1}\sum^{T}{j=1}\alpha_i \alpha_j y_iy_jk(x_i x_j)}$$

分佈

Torch 分佈是一個物件,例如高斯分佈,它計算資料集的機率、似然或密度。可以使用各種訓練演算法(例如期望最大化或維特比演算法)來確定此分佈中的引數。Torch 分佈指定訓練好的梯度機器以最佳化不同的標準,或者我們可以建立非常複雜的機器。

廣告

© . All rights reserved.