Bagikan melalui


RandomizedPcaTrainer Kelas

Definisi

IEstimator<TTransformer> untuk melatih perkiraan PCA menggunakan algoritma SVD Acak.

public sealed class RandomizedPcaTrainer : Microsoft.ML.Trainers.TrainerEstimatorBase<Microsoft.ML.Data.AnomalyPredictionTransformer<Microsoft.ML.Trainers.PcaModelParameters>,Microsoft.ML.Trainers.PcaModelParameters>
type RandomizedPcaTrainer = class
    inherit TrainerEstimatorBase<AnomalyPredictionTransformer<PcaModelParameters>, PcaModelParameters>
Public NotInheritable Class RandomizedPcaTrainer
Inherits TrainerEstimatorBase(Of AnomalyPredictionTransformer(Of PcaModelParameters), PcaModelParameters)
Warisan

Keterangan

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

Kolom Input dan Output

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 negatif dan tidak terbatas yang dihitung oleh model deteksi anomali.
PredictedLabel Boolean Label yang diprediksi, berdasarkan ambang batas. Skor yang lebih tinggi dari peta ambang ke true dan skor yang lebih rendah dari peta ambang ke false. Ambang default adalah 0.5. Gunakan <xref:AnomalyDetectionCatalog.ChangeModelThreshold> untuk mengubah nilai default.

Karakteristik Pelatih

Tugas pembelajaran mesin Deteksi Anomali
Apakah normalisasi diperlukan? Ya
Apakah penembolokan diperlukan? Tidak
NuGet yang diperlukan selain Microsoft.ML Tidak ada
Dapat diekspor ke ONNX Tidak

Detail Algoritma Pelatihan

Pelatih ini menggunakan eigenvectors teratas untuk memperkirakan subspace yang berisi kelas normal. Untuk setiap instans baru, ini menghitung perbedaan norma antara vektor fitur mentah dan fitur yang diproyeksikan pada sub-ruang tersebut. Jika kesalahan mendekati 0, instans dianggap normal (non-anomali).

Lebih khusus lagi, pelatih ini melatih perkiraan PCA menggunakan metode acak untuk menghitung dekomposisi nilai tunggal (SVD) matriks yang barisnya adalah vektor input. Model yang dihasilkan oleh pelatih ini berisi tiga parameter:

  • Matriks proyeksi $U$
  • Vektor rata-rata di ruang fitur asli $m$
  • Vektor rata-rata dalam ruang fitur yang diproyeksikan $p$

Untuk vektor fitur input $x$, skor anomali dihitung dengan membandingkan norma $L_2$ dari vektor input asli, dan norma $L_2$ dari vektor yang diproyeksikan: $\sqrt{\left(|x-m|_2^2 - | Ux-p|_2^2\right)|x-m|_2^2}$.

Metode ini dijelaskan di sini.

Perhatikan bahwa algoritma dapat dibuat menjadi Kernel PCA dengan menerapkan ke ApproximatedKernelTransformer data sebelum meneruskannya ke pelatih.

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 melatih perkiraan PCA menggunakan algoritma SVD Acak.

Metode

Fit(IDataView)

Melatih dan mengembalikan ITransformer.

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

IEstimator<TTransformer> untuk melatih perkiraan PCA menggunakan algoritma SVD Acak.

(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