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 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 |
| WeightColumn |
Kolom berat yang diharapkan pelatih. Dapat berupa |
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 |
| 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. |