LbfgsLogisticRegressionBinaryTrainer 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
, 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))
- 繼承
備註
若要建立此定型器,請使用 LbfgsLogisticRegression 或 LbfgsLogisticRegression (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 |
定型器預期的標籤資料行。 可以是 |
WeightColumn |
定型器預期的加權資料行。 可以是 |
屬性
Info |
, IEstimator<TTransformer> 使用使用 L-BFGS 方法定型的線性羅吉斯回歸模型來預測目標。 (繼承來源 LbfgsTrainerBase<TOptions,TTransformer,TModel>) |
方法
Fit(IDataView, LinearModelParameters) |
繼續使用已定 |
Fit(IDataView) |
定型並傳 ITransformer 回 。 (繼承來源 TrainerEstimatorBase<TTransformer,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> 會在此鏈結的某處放置。 在該案例中,我們可以透過這個方法附加呼叫一次會呼叫的委派。 |
適用於
另請參閱
- LbfgsLogisticRegression(BinaryClassificationCatalog+BinaryClassificationTrainers, String, String, String, Single, Single, Single, Int32, Boolean)
- LbfgsLogisticRegression(BinaryClassificationCatalog+BinaryClassificationTrainers, LbfgsLogisticRegressionBinaryTrainer+Options)
- LbfgsLogisticRegressionBinaryTrainer.Options