LbfgsLogisticRegressionBinaryTrainer 類別

定義

IEstimator<TTransformer> 使用使用 L-BFGS 方法定型的線性羅吉斯回歸模型來預測目標。

public sealed class LbfgsLogisticRegressionBinaryTrainer : Microsoft.ML.Trainers.LbfgsTrainerBase<Microsoft.ML.Trainers.LbfgsLogisticRegressionBinaryTrainer.Options,Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Calibrators.CalibratedModelParametersBase<Microsoft.ML.Trainers.LinearBinaryModelParameters,Microsoft.ML.Calibrators.PlattCalibrator>>,Microsoft.ML.Calibrators.CalibratedModelParametersBase<Microsoft.ML.Trainers.LinearBinaryModelParameters,Microsoft.ML.Calibrators.PlattCalibrator>>
type LbfgsLogisticRegressionBinaryTrainer = class
    inherit LbfgsTrainerBase<LbfgsLogisticRegressionBinaryTrainer.Options, BinaryPredictionTransformer<CalibratedModelParametersBase<LinearBinaryModelParameters, PlattCalibrator>>, CalibratedModelParametersBase<LinearBinaryModelParameters, PlattCalibrator>>
Public NotInheritable Class LbfgsLogisticRegressionBinaryTrainer
Inherits LbfgsTrainerBase(Of LbfgsLogisticRegressionBinaryTrainer.Options, BinaryPredictionTransformer(Of CalibratedModelParametersBase(Of LinearBinaryModelParameters, PlattCalibrator)), CalibratedModelParametersBase(Of LinearBinaryModelParameters, PlattCalibrator))
繼承

備註

若要建立此定型器,請使用 LbfgsLogisticRegressionLbfgsLogisticRegression (Options)

輸入和輸出資料行

輸入標籤資料行資料必須是 Boolean。 輸入特徵資料行資料必須是 的已知大小向量 Single

此定型器會輸出下列資料行:

輸出資料行名稱 資料行類型 描述
Score Single 模型計算的未系結分數。
PredictedLabel Boolean 預測標籤 (根據分數的正負號)。 負值分數會對應到 false,正值分數則會對應到 true
Probability Single 藉由校正具有 true 作為標籤的分數來計算的機率。 機率值的範圍 [0, 1]。

定型器特性

機器學習工作 二元分類
是否需要正規化?
是否需要快取?
除了 Microsoft.ML 之外,還需要 NuGet
可匯出至 ONNX

評分函式

線性羅吉斯回歸是線性模型的變體。 它會透過 $\hat{y}\left ( \textbf{x} \right) = \textbf{w}^T \textbf{x} + b = \sum_{j=1}^n w_j x_j + b$,將特徵向量 $\textbf{x} \in {\mathbb R}^n$ 對應至純量 其中 $x_j$ 是$j$-th 特徵的值,$\textbf{w}$ 的 $j$-th 元素是$j$-th 功能的係數, 和 $b$ 是可學習的偏差。 取得真實標籤的對應機率是 $\frac {1} {1 + e^{\hat{y}\left ( \textbf{x} \right) }}$。

定型演算法詳細資料

實作的優化技術是以 有限的記憶體 Broyden-Fletcher-Goldfarb-Shanno 方法為基礎, (L-BFGS) 。 L-BFGS 是一種 准 Newtonian 方法 ,它會以近似值取代 Hessian 矩陣的昂貴計算成本,但仍享有快速聚合率,例如計算完整 Hessian 矩陣的 Newton 方法 。 由於 L-BFGS 近似值只會使用有限數量的歷程記錄狀態來計算下一個步驟方向,因此特別適用于高維度特徵向量的問題。 歷程記錄狀態的數目是使用者指定的參數,使用較大的數位可能會導致比較接近 Hessian 矩陣,但每個步驟的計算成本也較高。

正規化是一種方法,可藉由強制條件約束來提供資訊來補充資料,並藉由一些標準函式通常測量模型的大小來防止過度學習,而使問題變得較不合理。 這可藉由選取偏差差異取捨中的最佳複雜度,來改善所學習模型的一般化。 正規化的運作方式是將假設錯誤加上係數值相關聯的懲罰。 具有極端係數值的精確模型會受到較多懲罰,而具有較保守值的不精確模型受到較少懲罰。

此學習模組支援 彈性 net 正規化:L1-norm (LASSO) 、$||\textbf{w} ||_1$ 和 L2-norm () ,$||\textbf{w} ||_2^2$ 正規化。 L1-norm 和 L2-norm 正規化有不同的效果,而且在某些方面是互補的用法。 使用 L1-norm 可以增加定型 $\textbf{w}$ 的疏疏性。 使用高維度資料時,它會將無關功能的小型權數縮減為 0,因此在進行預測時,不會花費任何資源來處理這些不良特徵。 如果使用 L1 標準正規化,則定型演算法為 OWL-QN。 L2 標準正規化對於不是疏鬆的資料而言是較佳的,而且它基本上會使大型權數存在。

積極正規化 (,也就是將大型係數指派給 L1-norm 或 L2-norm 正規化詞彙,) 可藉由排除模型中的重要變數來損害預測容量。 因此,套用羅吉斯回歸時,選擇正確的正規化係數很重要。

如需使用範例的連結,請參閱另請參閱一節。

欄位

FeatureColumn

定型器預期的功能資料行。

(繼承來源 TrainerEstimatorBase<TTransformer,TModel>)
LabelColumn

定型器預期的標籤資料行。 可以是 null ,表示標籤不會用於定型。

(繼承來源 TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

定型器預期的加權資料行。 可以是 null ,表示加權不會用於定型。

(繼承來源 TrainerEstimatorBase<TTransformer,TModel>)

屬性

Info

IEstimator<TTransformer> 使用使用 L-BFGS 方法定型的線性羅吉斯回歸模型來預測目標。

(繼承來源 LbfgsTrainerBase<TOptions,TTransformer,TModel>)

方法

Fit(IDataView)

定型並傳 ITransformer 回 。

(繼承來源 TrainerEstimatorBase<TTransformer,TModel>)
Fit(IDataView, LinearModelParameters)

繼續使用已定 modelParameters 型的 LbfgsLogisticRegressionBinaryTrainer 來訓練 ,並傳 BinaryPredictionTransformer<TModel> 回 。

GetOutputSchema(SchemaShape)

IEstimator<TTransformer> 使用使用 L-BFGS 方法定型的線性羅吉斯回歸模型來預測目標。

(繼承來源 TrainerEstimatorBase<TTransformer,TModel>)

擴充方法

AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

將「快取檢查點」附加至估算器鏈結。 這可確保下游估算器會針對快取的資料定型。 在接受多個資料通過的定型器之前,先有快取檢查點會很有説明。

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

指定估算器時,傳回包裝物件,一旦 Fit(IDataView) 呼叫委派即可。 估算器通常務必傳回符合專案的相關資訊,這就是 Fit(IDataView) 方法傳回特定型別物件的原因,而不是只傳回一般 ITransformer 。 不過,同時, IEstimator<TTransformer> 通常會形成具有許多物件的管線,因此我們可能需要透過建置估算器的鏈結,而我們想要取得轉換器的估算器 EstimatorChain<TLastTransformer> 會在此鏈結的某處放置。 在該案例中,我們可以透過這個方法附加呼叫一次會呼叫的委派。

適用於

另請參閱