LinearSvmTrainer クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
IEstimator<TTransformer>線形 SVM でトレーニングされた線形二項分類モデルを使用してターゲットを予測する。
public sealed class LinearSvmTrainer : Microsoft.ML.Trainers.OnlineLinearTrainer<Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Trainers.LinearBinaryModelParameters>,Microsoft.ML.Trainers.LinearBinaryModelParameters>
type LinearSvmTrainer = class
inherit OnlineLinearTrainer<BinaryPredictionTransformer<LinearBinaryModelParameters>, LinearBinaryModelParameters>
Public NotInheritable Class LinearSvmTrainer
Inherits OnlineLinearTrainer(Of BinaryPredictionTransformer(Of LinearBinaryModelParameters), LinearBinaryModelParameters)
- 継承
注釈
このトレーナーを作成するには、 LinearSvm または LinearSvm(Options)を使用します。
入力列と出力列
入力ラベル列データは Boolean にする必要があります。 入力特徴列データは、既知のサイズの Singleベクターである必要があります。 このトレーナーからは、以下の列が出力されます。
出力列の名前 | 列の型 | 説明 |
---|---|---|
Score |
Single | モデルによって計算された無制限のスコア。 |
PredictedLabel |
Boolean | スコアの符号に基づく予測ラベル。 負のスコアは false にマップされ、正のスコアは true にマップされます。 |
トレーナーの特性
機械学習タスク | 二項分類 |
正規化は必要ですか? | はい |
キャッシュは必要ですか? | いいえ |
Microsoft.ML に加えて必要な NuGet | なし |
ONNX にエクスポート可能 | はい |
トレーニング アルゴリズムの詳細
線形 SVM は、 SVM の問題を解決することによって、二項分類用の特徴空間でハイパープレーンを検出するアルゴリズムを実装します。 たとえば、特徴値が $f_0、f_1,..., f_{D-1}$ の場合、ポイントがどの辺にあるかを決定することで予測が行われます。 これは、$\sum_{i = 0}^{D-1} \left(w_i * f_i \right) + b$ の符号と同じです。ここで、$w_0、w_1,..., w_{D-1}$ はアルゴリズムによって計算される重みであり、$b$ はアルゴリズムによって計算されるバイアスです。
線形 SVM は、確率的勾配降下ステップと投影ステップを交互に行う PEGASOS メソッドを実装しています。この方法は、Shalev-Shwartz、Singer、Srebro によって この論文 で紹介されています。
使用例へのリンクについては、「参照」セクションを参照してください。
フィールド
FeatureColumn |
トレーナーが期待する特徴列。 (継承元 TrainerEstimatorBase<TTransformer,TModel>) |
LabelColumn |
トレーナーが期待するラベル列。 できます |
WeightColumn |
トレーナーが期待する重み列。 できます。 |
プロパティ
Info |
IEstimator<TTransformer>線形 SVM でトレーニングされた線形二項分類モデルを使用してターゲットを予測する。 (継承元 OnlineLinearTrainer<TTransformer,TModel>) |
メソッド
Fit(IDataView, LinearModelParameters) |
既にトレーニング済 |
Fit(IDataView) |
をトレーニングして返します ITransformer。 (継承元 TrainerEstimatorBase<TTransformer,TModel>) |
GetOutputSchema(SchemaShape) |
IEstimator<TTransformer>線形 SVM でトレーニングされた線形二項分類モデルを使用してターゲットを予測する。 (継承元 TrainerEstimatorBase<TTransformer,TModel>) |
拡張メソッド
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
エスティメーター チェーンに 'キャッシュ チェックポイント' を追加します。 これにより、ダウンストリームエスティメーターがキャッシュされたデータに対してトレーニングされます。 複数のデータを受け取るトレーナーが渡す前にキャッシュ チェックポイントを設定すると便利です。 |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
エスティメーターを指定すると、デリゲートを 1 回 Fit(IDataView) 呼び出すラップ オブジェクトが呼び出されます。 多くの場合、エスティメーターが適合した内容に関する情報を返すことが重要です。そのため Fit(IDataView) 、メソッドは一般的 ITransformerなオブジェクトではなく、具体的に型指定されたオブジェクトを返します。 ただし、同時に、 IEstimator<TTransformer> 多くのオブジェクトを含むパイプラインに形成されることが多いため、トランスフォーマーを取得するエスティメーターがこのチェーンのどこかに埋もれる場所を介して EstimatorChain<TLastTransformer> 、推定器のチェーンを構築する必要がある場合があります。 このシナリオでは、このメソッドを使用して、fit が呼び出されると呼び出されるデリゲートをアタッチできます。 |