AveragedPerceptronTrainer Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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 |
WeightColumn |
Kolom berat yang diharapkan pelatih. Dapat berupa |
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 |
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. |