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