AveragedPerceptronTrainer Kelas

Definisi

IEstimator<TTransformer> untuk memprediksi target menggunakan model klasifikasi biner linier yang dilatih dengan perceptron rata-rata.

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)
Warisan

Keterangan

Untuk membuat pelatih ini, gunakan AveragedPerceptron atau AveragedPerceptron(Options).

Kolom Input dan Output

Data kolom label input harus berupa Boolean. Data kolom fitur input harus merupakan vektor berukuran dikenal dari Single. Pelatih ini menghasilkan kolom berikut:

Nama Kolom Output Tipe Kolom Description
Score Single Skor tidak terbatas yang dihitung oleh model.
PredictedLabel Boolean Label yang diprediksi, berdasarkan tanda skor. Skor negatif dipetakan ke false dan skor positif dipetakan ke true.

Karakteristik Pelatih

Tugas pembelajaran mesin Klasifikasi biner
Apakah normalisasi diperlukan? Ya
Apakah penembolokan diperlukan? Tidak
NuGet yang diperlukan selain Microsoft.ML None
Dapat diekspor ke ONNX Ya

Detail Algoritma Pelatihan

Perceptron adalah algoritma klasifikasi yang membuat prediksinya dengan menemukan hiperplane yang memisahkan. Misalnya, dengan nilai fitur $f_0, f_1,..., f_{D-1}$, prediksi diberikan dengan menentukan sisi hyperplane apa yang termasuk dalam titik. Itu sama dengan tanda feautures 'jumlah tertimbang, yaitu $\sum_{i = 0}^{D-1} (w_i * f_i) + b$, di mana $w_0, w_1,..., w_{D-1}$ adalah bobot yang dihitung oleh algoritma, dan $b$ adalah bias yang dihitung oleh algoritma.

Perceptron adalah algoritma online, yang berarti memproses instans dalam set pelatihan satu per satu. Ini dimulai dengan satu set bobot awal (nol, acak, atau diinisialisasi dari pelajar sebelumnya). Kemudian, untuk setiap contoh dalam set pelatihan, jumlah tertimbang fitur dihitung. Jika nilai ini memiliki tanda yang sama dengan label contoh saat ini, bobotnya tetap sama. Jika mereka memiliki tanda-tanda berlawanan, vektor bobot diperbarui dengan menambahkan atau mengurangi (jika label positif atau negatif, masing-masing) vektor fitur dari contoh saat ini, dikalikan dengan faktor 0 < a <= 1, yang disebut tingkat pembelajaran. Dalam generalisasi algoritma ini, bobot diperbarui dengan menambahkan vektor fitur dikalikan dengan tingkat pembelajaran, dan dengan gradien beberapa fungsi kehilangan (dalam kasus tertentu yang dijelaskan di atas, kerugiannya adalah kehilangan engsel, yang gradiennya adalah 1 ketika bukan nol).

Dalam Averaged Perceptron (alias voted-perceptron), untuk setiap iterasi, yaitu melewati data pelatihan, vektor berat dihitung seperti yang dijelaskan di atas. Prediksi akhir kemudian dihitung dengan rata-rata jumlah tertimbang dari setiap vektor berat dan melihat tanda hasilnya.

Untuk informasi selengkapnya, lihat entri Wikipedia untuk Perceptron atau Klasifikasi Margin Besar Menggunakan Algoritma Perceptron.

Periksa bagian Lihat Juga untuk tautan ke contoh penggunaan.

Bidang

Nama Deskripsi
FeatureColumn

Kolom fitur yang diharapkan pelatih.

(Diperoleh dari TrainerEstimatorBase<TTransformer,TModel>)
LabelColumn

Kolom label yang diharapkan pelatih. Dapat berupa null, yang menunjukkan bahwa label tidak digunakan untuk pelatihan.

(Diperoleh dari TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

Kolom berat yang diharapkan pelatih. Dapat berupa null, yang menunjukkan bahwa berat tidak digunakan untuk pelatihan.

(Diperoleh dari TrainerEstimatorBase<TTransformer,TModel>)

Properti

Nama Deskripsi
Info

IEstimator<TTransformer> untuk memprediksi target menggunakan model klasifikasi biner linier yang dilatih dengan perceptron rata-rata.

(Diperoleh dari OnlineLinearTrainer<TTransformer,TModel>)

Metode

Nama Deskripsi
Fit(IDataView, LinearModelParameters)

Melanjutkan pelatihan OnlineLinearTrainer<TTransformer,TModel> menggunakan yang sudah dilatih modelParameters dan mengembalikan ITransformer.

(Diperoleh dari OnlineLinearTrainer<TTransformer,TModel>)
Fit(IDataView)

Melatih dan mengembalikan ITransformer.

(Diperoleh dari TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

IEstimator<TTransformer> untuk memprediksi target menggunakan model klasifikasi biner linier yang dilatih dengan perceptron rata-rata.

(Diperoleh dari TrainerEstimatorBase<TTransformer,TModel>)

Metode Ekstensi

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

Tambahkan 'titik pemeriksaan penembolokan' ke rantai estimator. Ini akan memastikan bahwa estimator hilir akan dilatih terhadap data cache. Sangat membantu untuk memiliki titik pemeriksaan penembolokan sebelum pelatih yang mengambil beberapa data lolos.

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

Mengingat estimator, kembalikan objek pembungkus yang akan memanggil delegasi setelah Fit(IDataView) dipanggil. Seringkali penting bagi estimator untuk mengembalikan informasi tentang apa yang cocok, itulah sebabnya Fit(IDataView) metode mengembalikan objek yang di ketik secara khusus, bukan hanya umum ITransformer. Namun, pada saat yang sama, IEstimator<TTransformer> sering dibentuk menjadi alur dengan banyak objek, jadi kita mungkin perlu membangun rantai estimator melalui EstimatorChain<TLastTransformer> tempat estimator yang ingin kita dapatkan transformator dikubur di suatu tempat dalam rantai ini. Untuk skenario itu, kita dapat melalui metode ini melampirkan delegasi yang akan dipanggil setelah cocok dipanggil.

Berlaku untuk

Lihat juga