線性學習程式超參數 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

線性學習程式超參數

下表包含線性學習程式演算法的超參數。這些是由使用者設定的參數,用來協助從資料預估模型參數。首先列出的是必須設定的超參數,依字母順序排列。接著列出的是選用的超參數,也是依字母順序排列。將超參數設定為時auto,Amazon SageMaker 將自動計算並設定該超參數的值。

參數名稱 描述
num_classes

回應變數的類別數。演算法假設類別標示為 0、...、num_classes - 1

predictor_typemulticlass_classifier 時,則為必要。否則,演算法會忽略它。

有效值:3 到 1,000,000 的整數

predictor_type

將目標變數類型指定為二元分類、多類別分類,或迴歸。

必要

有效值:binary_classifiermulticlass_classifierregressor

accuracy_top_k

運算多類別分類的 top-k 準確性指標時,值為 k。如果模型將其中一個 top-k 分數指派給真正的標籤,範例會評分為正確。

選用

有效值:正整數

預設值:3

balance_multiclass_weights

指定是否使用類別加權,讓每個類別在遺失函數中都有相同的重要性。僅在 predictor_typemulticlass_classifier 時使用。

選用

有效值:truefalse

預設值:false

beta_1

第一時間預估的指數衰減率。僅在 optimizer 值為 adam 時才適用。

選用

有效值:auto 或介於 0 和 1.0 之間的浮點值

預設值:auto

beta_2

第二時間預估的指數衰減率。僅在 optimizer 值為 adam 時才適用。

選用

有效值:auto 或介於 0 和 1.0 之間的浮點整數

預設值:auto

bias_lr_mult

允許偏差項有不同學習率。偏差的實際學習率為 learning_rate * bias_lr_mult

選用

有效值:auto 或浮點正整數

預設值:auto

bias_wd_mult

允許偏差項有不同的正規化。偏差的實際 L2 正規化權重為 wd * bias_wd_mult。根據預設,偏差項上沒有正規化。

選用

有效值:auto 或浮點非負整數

預設值:auto

binary_classifier_model_selection_criteria

predictor_type 設為 binary_classifier 時,驗證資料集的模型評估條件 (或如不提供驗證資料集,則為訓練資料集)。條件包括:

  • accuracy——有最高準確性的模型。

  • f_beta——有最高 f1 分數的模型。預設值為 F1。

  • precision_at_target_recall——在指定回呼目標上有最高精確度的模型。

  • recall_at_target_precision——在指定精確度目標上有最高回呼的模型。

  • loss_function——有訓練中使用的最低損失函數值的模型。

選用

有效值:accuracyf_betaprecision_at_target_recallrecall_at_target_precisionloss_function

預設值:accuracy

early_stopping_patience 若未在相關指標中進行改善,結束訓練前要等待的 epoch 數量。如已針對 binary_classifier_model_selection_criteria 提供值,指標即為該值。否則,指標會與針對 loss 超參數所指定的值相同。

在驗證資料上評估的指標。如果尚未提供驗證資料,則指標一律與針對 loss 超參數所指定的值相同,並針對訓練資料進行評估。若要停用提早停止,請將 early_stopping_patience 值設為大於針對 epochs 所指定的值。

選用

有效值:正整數

預設值:3

early_stopping_tolerance

測量遺失中改善的相對容錯度。如遺失中的改善率除以過去最佳遺失率的結果小於此值,提早停止會將改善率視為 0。

選用

有效值:浮點正整數

預設值:0.001

epochs

針對訓練資料的最高傳遞次數。

選用

有效值:正整數

預設值:15

f_beta

計算二元或多類別分類的 F 分數指標時要使用的 beta 值。如果針對 binary_classifier_model_selection_criteria 指定的值為 f_beta,也使用它。

選用

有效值:浮點正整數

預設值:1.0

feature_dim

輸入資料中的特徵數量。

選用

有效值:auto 或正整數

預設值:auto

huber_delta

Huber 遺失的參數。在培訓與指標評估期間,運算小於 delta 的 L2 遺失的錯誤值,並運算大於 delta 的 L1 遺失錯誤值。

選用

有效值:浮點正整數

預設值:1.0

init_bias

偏差項的初始權重。

選用

有效值:浮點整數

預設值:0

init_method

設定用於模型權重的初始分發函數。函數包括:

  • uniform——(-scale, +scale) 之間均勻分佈

  • normal——常態分佈,平均值為 0 和 Sigma

選用

有效值:uniformnormal

預設值:uniform

init_scale

調整模型權重的初始均勻分布。僅在 init_method 超參數設為 uniform 時套用。

選用

有效值:浮點正整數

預設值:0.07

init_sigma

常態分布的初始標準偏差。僅在 init_method 超參數設為 normal 時套用。

選用

有效值:浮點正整數

預設值:0.01

l1

L1 正規化參數。如不希望使用 L1 正規化,請將此值設為 0。​

選用

有效值:auto 或非負浮點數

預設值:auto

learning_rate

參數更新最佳化工具使用的步驟大小。

選用

有效值:auto 或浮點正整數

預設值:auto,其值取決於所選擇的最佳化工具。

loss

指定遺失函數。

可用的損失函數及其預設值取決於 predictor_type 的值:

  • 如果 predictor_type 設定為 regressor,則可用的選項為 autosquared_lossabsolute_losseps_insensitive_squared_losseps_insensitive_absolute_lossquantile_losshuber_lossauto 的預設值為 squared_loss

  • 如果 predictor_type 設定為 binary_classifier,則可用的選項為 autologistichinge_lossauto 的預設值為 logistic

  • 如果 predictor_type 設定為 multiclass_classifier,則可用的選項為 autosoftmax_lossauto 的預設值為 softmax_loss

有效值:autologisticsquared_lossabsolute_losshinge_losseps_insensitive_squared_losseps_insensitive_absolute_lossquantile_losshuber_loss

選用

預設值:auto

loss_insensitivity

小量低敏感度遺失類型的參數。在訓練和指標評估期間,任何小於此值的錯誤皆視為零。

選用

有效值:浮點正整數

預設值:0.01

lr_scheduler_factor

針對每個 lr_scheduler_step 超參數,學習率會依此數量下降。僅在 use_lr_scheduler 超參數設為 true 時套用。

選用

有效值:auto 或介於 0 和 1 之間的浮點正整數

預設值:auto

lr_scheduler_minimum_lr

學習率永遠不會下降至低於針對 lr_scheduler_minimum_lr 所設定的值。僅在 use_lr_scheduler 超參數設為 true 時套用。

選用

有效值:auto 或浮點正整數

預設值:auto

lr_scheduler_step

學習率下降級數之間的步驟數量。僅在 use_lr_scheduler 超參數設為 true 時套用。

選用

有效值:auto 或正整數

預設值:auto

margin

hinge_loss 函數的邊際。

選用

有效值:浮點正整數

預設值:1.0

mini_batch_size

資料反覆運算器每個微型批次的觀察項數量。

選用

有效值:正整數

預設值:1000

momentum

sgd 最佳化工具的動能。

選用

有效值:auto 或介於 0 和 1.0 之間的浮點整數

預設值:auto

normalize_data

在訓練前標準化特徵資料。資料標準化會將每個特徵的資料移至平均值為零,再加以調整以符合單位標準偏差。

選用

有效值:autotruefalse

預設值:true

normalize_label

標準化標籤。標籤標準化會將標籤移至平均值為零,再加以調整以符合單位標準偏差。

auto 預設值會將迴歸問題的標籤標準化,但不適用於分類問題。如果您針對分類問題將 normalize_label 超參數設為 true,則演算法會忽略它。

選用

有效值:autotruefalse

預設值:auto

num_calibration_samples

用於模型校正之驗證資料集的觀察數量 (尋找最佳閾值時)。

選用

有效值:auto 或正整數

預設值:auto

num_models

平行訓練的模型數量。針對預設值 auto,演算法會決定要訓練的平行模型數量。根據指定培訓參數 (正規化、最佳化工具、遺失) 來培訓一個模型,而其他模型則使用封閉式參數培訓。

選用

有效值:auto 或正整數

預設值:auto

num_point_for_scaler

用於計算標準化或取消項目偏差的資料點數量。

選用

有效值:正整數

預設值:10,000

optimizer

要使用的最佳化演算法。

選用

有效值:

  • auto——預設值。

  • sgd——Stochastic gradient descent。

  • adam——Adaptive momentum estimation

  • rmsprop——以漸層為基礎的最佳化技術,該技術使用平方漸層的移動平均值來標準化漸層。

預設值:autoauto 的預設設定為 adam

positive_example_weight_mult

訓練二元分類工具時指派給正面範例的權重。負面範例的權重固定為 1。如果希望演算法選擇權重,讓分類負面 vs. 正面範例的錯誤對於訓練遺失產生同等影響,請指定 balanced。如果希望演算法選擇最佳化效能的權重,請指定 auto

選用

有效值:balancedauto 或浮點正整數

預設值:1.0

quantile

分位數遺失的分位數。針對分位數 q,模型會嘗試產生預測,讓 true_label 的值大於使用機率 q 的預測。

選用

有效值:介於 0 和 1 之間的浮點整數

預設值:0.5

target_precision

目標精確度。如果 binary_classifier_model_selection_criteriarecall_at_target_precision,則精確度會保留在這個值,同時最大化取回。

選用

有效值:介於 0 和 1.0 之間的浮點整數

預設值:0.8

target_recall

目標取回。如果 binary_classifier_model_selection_criteriaprecision_at_target_recall,則取回會保留在這個值,同時最大化精確度。

選用

有效值:介於 0 和 1.0 之間的浮點整數

預設值:0.8

unbias_data

在訓練前取消功能的偏差,讓平均值為 0。根據預設,當 use_bias 超參數設為 true 時,則取消資料偏差。

選用

有效值:autotruefalse

預設值:auto

unbias_label

在訓練前取消標籤的偏差,讓平均值為 0。僅在 use_bias 超參數設為 true 時套用至迴歸。

選用

有效值:autotruefalse

預設值:auto

use_bias

指定模型是否應該包含偏差項,這是線性方程式中的攔截項。

選用

有效值:truefalse

預設值:true

use_lr_scheduler

學習率是否使用排程工具。如果您想要使用排程工具,請指定 true

選用

有效值:truefalse

預設值:true

wd

權重衰減參數,也稱為 L2 正規化參數。如不希望使用 L2 正規化,請將此值設為 0。​

選用

有效值:auto 或浮點非負整數

預設值:auto