AveragedPerceptronTrainer 類別

定義

IEstimator<TTransformer> 使用以平均感知器定型的線性二元分類模型來預測目標。

public sealed class AveragedPerceptronTrainer : Microsoft.ML.Trainers.AveragedLinearTrainer<Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Trainers.LinearBinaryModelParameters>,Microsoft.ML.Trainers.LinearBinaryModelParameters>
type AveragedPerceptronTrainer = class
    inherit AveragedLinearTrainer<BinaryPredictionTransformer<LinearBinaryModelParameters>, LinearBinaryModelParameters>
Public NotInheritable Class AveragedPerceptronTrainer
Inherits AveragedLinearTrainer(Of BinaryPredictionTransformer(Of LinearBinaryModelParameters), LinearBinaryModelParameters)
繼承

備註

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

輸入和輸出資料行

輸入標籤資料行資料必須是 Boolean。 輸入特徵資料行資料必須是 的已知大小向量 Single 。 此定型器會輸出下列資料行:

輸出資料行名稱 資料行類型 描述
Score Single 模型所計算的未系結分數。
PredictedLabel Boolean 預測標籤 (根據分數的正負號)。 負值分數會對應到 false,正值分數則會對應到 true

定型器特性

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

定型演算法詳細資料

感知器是一種分類演算法,可藉由尋找分隔超平面來進行其預測。 例如,使用特徵值 $f_0,f_1,..., f_{D-1}$,藉由判中斷點落在超平面的哪一端來提供預測。 這與 feautures 加權總和的正負號相同,也就是 $\sum_{i = 0}^{D-1} (w_i * f_i) + b$,其中 $w_0,w_1,..., w_{D-1}$ 是演算法所計算的加權,$b$ 是演算法所計算的偏差。

Perceptron 是線上演算法,這表示它會一次處理一個定型集中的實例。 其開頭為一組初始權數, (零、隨機或從先前的學習模組初始化) 。 然後,針對定型集中的每個範例,會計算特徵的加權總和。 如果這個值與目前範例的標籤具有相同的符號,則權數會維持不變。 如果它們有相反的徵兆,則如果標籤是正數或負數,則權數向量會藉由相加或減 (來更新,分別) 目前範例的特徵向量乘以因數 0 < a = < 1,稱為學習速率。 在此演算法的一般化中,會藉由新增特徵向量乘以學習速率,以及上述特定案例中的某些遺失函式漸層 (,而損失是轉軸損失,其漸層為 1,當非零) 時,其漸層為 1。

在 Averaged Perceptron (也稱為 voted-perceptron) 中,針對每個反復專案,也就是通過定型資料,會計算加權向量,如上所述。 然後,最後的預測會藉由平均每個加權向量的加權總和,並查看結果的正負號來計算。

如需詳細資訊,請參閱使用 Perceptron 演算法的 Perceptron 或大型邊界分類維琪百科專案

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

欄位

FeatureColumn

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

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

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

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

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

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

屬性

Info

IEstimator<TTransformer> 使用以平均感知器定型的線性二元分類模型來預測目標。

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

方法

Fit(IDataView)

定型並傳 ITransformer 回 。

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

使用已定 modelParameters 型的 OnlineLinearTrainer<TTransformer,TModel> 繼續訓練 ,並傳 ITransformer 回 。

(繼承來源 OnlineLinearTrainer<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

IEstimator<TTransformer> 使用以平均感知器定型的線性二元分類模型來預測目標。

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

擴充方法

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

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

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

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

適用於

另請參閱