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))
継承

注釈

このトレーナーを作成するには、 LbfgsLogisticRegression または LbfgsLogisticRegression(Options)を使用します。

入力列と出力列

入力ラベル列データは Boolean にする必要があります。 入力特徴列データは、既知のサイズの Singleベクターである必要があります。

このトレーナーからは、以下の列が出力されます。

出力列の名前 列の型 説明
Score Single モデルによって計算された無制限のスコア。
PredictedLabel Boolean スコアの符号に基づく予測ラベル。 負のスコアは false にマップされ、正のスコアは true にマップされます。
Probability Single ラベルとして true を持つスコアを調整することによって計算される確率。 確率値の範囲は [0, 1] です。

トレーナーの特性

機械学習タスク 二項分類
正規化は必要ですか? はい
キャッシュは必要ですか? いいえ
Microsoft.ML に加えて必要な NuGet なし
ONNX にエクスポート可能 はい

スコアリング関数

線形ロジスティック回帰は、線形モデルのバリアントです。 機能ベクトル $\textbf{x} \in {\mathbb R}^n$ を $\hat{y}\left( \textbf{x} \right) = \textbf{w}^T \textbf{x} + b = \sum_{j=1}^n w_j x_j + b$、 ここで、$x_j$ は $j$番目の特徴の値です。$\textbf{w}$ の $j$番目の要素は、$j$番目の特徴の係数です。 $b$ は学習可能なバイアスです。 真のラベルを取得する確率は $\frac{1}{1 + e^{\hat{y}\left( \textbf{x} \right)}}} $ です。

トレーニング アルゴリズムの詳細

実装される最適化手法は、 制限付きメモリ Broyden-Fletcher-Goldfarb-Shanno メソッド (L-BFGS) に基づいています。 L-BFGSは 準ニュートン法 であり、ヘシアン行列の高価な計算コストを近似に置き換えますが、完全なヘス行列が計算される ニュートン法 のような高速収束率を引き続き楽しみます。 L-BFGS 近似は、次のステップの方向を計算するために限られた量の履歴状態のみを使用するため、高次元特徴ベクトルの問題に特に適しています。 履歴状態の数は、ユーザーが指定したパラメーターです。より大きな数値を使用すると、Hessian 行列に対する近似値が向上するだけでなく、ステップあたりの計算コストも高くなる可能性があります。

正則化は、データを補完する情報を提供し、通常は一部の標準関数によって測定されるモデルの大きさを罰することでオーバーフィットを防ぐ制約を課すことによって、不適切な問題をより扱いやすくなります。 これにより、バイアスと変位のトレードオフに最適な複雑さを選択して、学習したモデルの一般化を向上させることができます。 正則化は、仮説の誤りに対し、係数値に関連付けられているペナルティを加算することによって機能します。 極端な係数の値を持った正確なモデルにはより大きなペナルティが与えられる一方、相対的に値が控えめで正確でないモデルに与えられるペナルティは小さくなります。

この学習器は 、エラスティック ネット正則化 (L1 ノルム (LASSO)、$|| の線形の組み合わせをサポートします。\textbf{w} ||_1$、L2-norm (ridge)、$||\textbf{w} ||_2^2$ の正則化。 L1ノルムとL2ノルム正則化は、特定の点で補完的である異なる効果と使用を有する。 L1-norm を使用すると、トレーニング済みの $\textbf{w}$ のスパスパリティが増加する可能性があります。 高次元データを操作する場合、無関係な特徴の小さな重みを 0 に縮小するため、予測を行うときにそれらの不適切な特徴にリソースが費やされることはありません。 L1 標準正則化を使用する場合、トレーニング アルゴリズムは OWL-QN です。 L2 ノルム正則化は、スパースではないデータの場合に適しており、大きな重みの存在を大きく罰します。

積極的な正則化 (つまり、L1 ノルムまたは L2 ノルム正則化項に大きな係数を割り当てる) は、モデルから重要な変数を除外することで予測能力を損なう可能性があります。 したがって、ロジスティック回帰を適用する場合は、正しい正則化係数を選択することが重要です。

使用例へのリンクについては、「関連項目」セクションを参照してください。

フィールド

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)

既にトレーニング済みのを使用して、LbfgsLogisticRegressionBinaryTrainerトレーニングmodelParametersを続行し、を返します。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> 、推定器のチェーンを構築する必要がある場合があります。 このシナリオでは、このメソッドを使用して、fit が呼び出されると呼び出されるデリゲートをアタッチできます。

適用対象

こちらもご覧ください