Bagikan melalui


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 Boolean. Data kolom fitur input harus merupakan vektor berukuran besar yang diketahui dari Single. Pelatih ini menghasilkan kolom berikut:

Nama Kolom Output Jenis Kolom Deskripsi
Score Single Skor tidak terikat yang dihitung oleh model.
PredictedLabel Boolean Label yang diprediksi, berdasarkan tanda skor. Skor negatif memetakan ke false dan skor positif memetakan ke true.

Karakteristik Pelatih

Tugas pembelajaran mesin Klasifikasi biner
Apakah normalisasi diperlukan? Ya
Apakah penembolokan diperlukan? Tidak
NuGet yang diperlukan selain Microsoft.ML Tidak ada
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 mana yang termasuk dalam titik. Itu sama dengan tanda jumlah tertimbang perayaan, 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. 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 yang 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 kerugian (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 perulangan, 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

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

Info

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

(Diperoleh dari OnlineLinearTrainer<TTransformer,TModel>)

Metode

Fit(IDataView, LinearModelParameters)

Melanjutkan pelatihan menggunakan OnlineLinearTrainer<TTransformer,TModel> 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

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 berlalu.

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> di mana estimator yang ingin kita dapatkan transformator dimakamkan di suatu tempat dalam rantai ini. Untuk skenario itu, kita dapat melalui metode ini melampirkan delegasi yang akan dipanggil setelah fit dipanggil.

Berlaku untuk

Lihat juga