Bagikan melalui


PCA-Based Deteksi Anomali

Penting

Dukungan untuk Studio Azure Machine Learning (klasik) akan berakhir pada 31 Agustus 2024. Sebaiknya Anda transisi ke Azure Machine Learning sebelum tanggal tersebut.

Mulai 1 Desember 2021, Anda tidak akan dapat membuat sumber daya Studio Azure Machine Learning (klasik) baru. Hingga 31 Agustus 2024, Anda dapat terus menggunakan sumber daya Pembelajaran Mesin Studio (klasik) yang ada.

ML Dokumentasi Studio (klasik) sedang berhenti dan mungkin tidak diperbarui di masa mendatang.

Membuat model deteksi anomali menggunakan Analisis Komponen Utama

Kategori: Deteksi Anomali

Catatan

Berlaku untuk: Pembelajaran Mesin Studio (klasik) saja

Modul drag-and-drop serupa tersedia di Azure Machine Learning desainer.

Ringkasan Modul

Artikel ini menjelaskan cara menggunakan modul Deteksi Anomali Berbasis PCA di Pembelajaran Mesin Studio (klasik), untuk membuat model deteksi anomali berdasarkan Principal Component Analysis (PCA).

Modul ini membantu Anda membangun model dalam skenario di mana mudah untuk mendapatkan data pelatihan dari satu kelas, seperti transaksi yang valid, tetapi sulit untuk mendapatkan sampel yang cukup dari anomali yang ditargetkan.

Misalnya, untuk mendeteksi transaksi penipuan, sangat sering Anda tidak memiliki cukup contoh penipuan untuk dilatih, tetapi memiliki banyak contoh transaksi yang baik. Modul Deteksi Anomali Berbasis PCA memecahkan masalah dengan menganalisis fitur yang tersedia untuk menentukan apa yang merupakan kelas "normal", dan menerapkan metrik jarak untuk mengidentifikasi kasus yang mewakili anomali. Ini memungkinkan Anda melatih model menggunakan data yang tidak seimbang yang ada.

Lebih lanjut tentang Analisis Komponen Utama

Analisis Komponen Utama, yang sering disingkat menjadi PCA, adalah teknik yang mapan dalam pembelajaran mesin. PCA sering digunakan dalam analisis data eksplorasi karena mengungkapkan struktur dalam data dan menjelaskan varians dalam data.

PCA bekerja dengan menganalisis data yang berisi beberapa variabel. PCA mencari korelasi di antara variabel dan menentukan kombinasi nilai yang paling baik menangkap perbedaan dalam hasil. Nilai fitur gabungan ini digunakan untuk membuat ruang fitur yang lebih ringkas yang disebut komponen utama.

Untuk deteksi anomali, setiap input baru dianalisis, dan algoritma deteksi anomali menghitung proyeksinya pada eigenvectors, bersama dengan kesalahan rekonstruksi yang dinormalisasi. Kesalahan yang dinormalisasi digunakan sebagai skor anomali. Semakin tinggi kesalahan, semakin anomali instansnya.

Untuk informasi tambahan tentang cara kerja PCA, dan tentang implementasi untuk deteksi anomali, lihat makalah ini:

Cara mengonfigurasi Deteksi Anomali PCA

  1. Tambahkan modul Deteksi Anomali Berbasis PCA ke eksperimen Anda di Studio (klasik). Anda dapat menemukan modul ini di bawah Pembelajaran Mesin, Model Inisialisasi, dalam kategori Deteksi Anomali.

  2. Di panel Properti untuk modul Deteksi Anomali Berbasis PCA , klik opsi Mode pelatihan , dan tunjukkan apakah Anda ingin melatih model menggunakan serangkaian parameter tertentu, atau gunakan sapuan parameter untuk menemukan parameter terbaik.

    • Parameter Tunggal: Gunakan opsi ini jika Anda tahu bagaimana Anda ingin mengonfigurasi model, dan memberikan set nilai tertentu sebagai argumen.

    • Rentang Parameter: Pilih opsi ini jika Anda tidak yakin dengan parameter terbaik dan ingin menggunakan sapuan parameter, menggunakan modul Tune Model Hyperparameters . Pelatih berulang dalam berbagai pengaturan yang Anda tentukan, dan menentukan kombinasi pengaturan yang menghasilkan hasil optimal.

  3. Jumlah komponen yang akan digunakan di PCA, Rentang untuk jumlah komponen PCA: Tentukan jumlah fitur output, atau komponen, yang ingin Anda output.

    Keputusan berapa banyak komponen yang akan disertakan adalah bagian penting dari desain eksperimen menggunakan PCA. Panduan umumnya adalah Anda tidak boleh memasukkan jumlah komponen PCA yang sama karena ada variabel. Sebaliknya, Anda harus mulai dengan beberapa jumlah komponen yang lebih kecil dan meningkatkannya sampai beberapa kriteria terpenuhi.

    Jika Anda tidak yakin berapa nilai optimalnya, kami sarankan Anda melatih model deteksi anomali menggunakan opsi Rentang Parameter .

    Hasil terbaik diperoleh ketika jumlah komponen output kurang dari jumlah kolom fitur yang tersedia dalam himpunan data.

  4. Tentukan jumlah pengambilan sampel yang berlebihan yang akan dilakukan selama pelatihan PCA acak. Dalam masalah deteksi anomali, data yang tidak sempurna menyulitkan penerapan teknik PCA standar. Dengan menentukan beberapa jumlah pengambilan sampel yang berlebihan, Anda dapat meningkatkan jumlah instans target.

    Jika Anda menentukan 1, tidak ada pengambilan sampel yang berlebihan yang dilakukan. Jika Anda menentukan nilai apa pun yang lebih tinggi dari 1, sampel tambahan dihasilkan untuk digunakan dalam melatih model.

    Ada dua opsi, tergantung pada apakah Anda menggunakan sapuan parameter atau tidak:

    • Parameter pengambilan sampel yang berlebihan untuk PCA acak: Ketik satu bilangan bulat yang mewakili rasio pengambilan sampel yang berlebihan kelas minoritas di atas kelas normal. (Tersedia saat menggunakan metode pelatihan parameter tunggal .)
    • Rentang untuk parameter oversampling yang digunakan dalam PCA acak: Ketik serangkaian angka untuk dicoba, atau gunakan Range Builder untuk memilih nilai menggunakan slider. (Hanya tersedia saat menggunakan metode pelatihan rentang Parameter .)

    Catatan

    Anda tidak dapat melihat kumpulan data yang terlalu banyak. Untuk detail tambahan tentang bagaimana oversampling digunakan dengan PCA, lihat Catatan teknis.

  5. Aktifkan fitur input berarti normalisasi: Pilih opsi ini untuk menormalkan semua fitur input ke rata-rata nol. Normalisasi atau penskalaan ke nol umumnya direkomendasikan untuk PCA, karena tujuan PCA adalah untuk memaksimalkan varians di antara variabel.

    Opsi ini dipilih untuk Anda secara default. Batal pilih opsi ini jika nilai telah dinormalisasi menggunakan metode atau skala yang berbeda.

  6. Koneksi himpunan data pelatihan yang ditandai, dan salah satu modul pelatihan:

    Catatan

    Jika Anda melewati rentang parameter ke Train Anomaly Detection Model, ia hanya menggunakan nilai pertama dalam daftar rentang parameter.

    Jika Anda meneruskan satu set nilai parameter ke modul Tune Model Hyperparameters , ketika mengharapkan berbagai pengaturan untuk setiap parameter, ia mengabaikan nilai dan menggunakan nilai default untuk pelajar.

    Jika Anda memilih opsi Rentang Parameter dan memasukkan satu nilai untuk parameter apa pun, nilai tunggal itu digunakan sepanjang sapuan, bahkan jika parameter lain berubah di berbagai nilai.

  7. Jalankan eksperimen, atau pilih modul dan klik Jalankan yang dipilih.

Hasil

Saat pelatihan selesai, Anda dapat menyimpan model terlatih, atau menghubungkannya ke modul Model Skor untuk memprediksi skor anomali.

Untuk mengevaluasi hasil model deteksi anomali memerlukan beberapa langkah tambahan:

  1. Pastikan kolom skor tersedia di kedua himpunan data

    Jika Anda mencoba mengevaluasi model deteksi anomali dan mendapatkan kesalahan, "Tidak ada kolom skor dalam himpunan data yang dicetak untuk dibandingkan", itu berarti Anda menggunakan himpunan data evaluasi khas yang berisi kolom label tetapi tidak ada skor probabilitas. Anda perlu memilih himpunan data yang cocok dengan output skema untuk model deteksi anomali, yang mencakup kolom Label Skor dan Probabilitas Skor .

  2. Pastikan kolom label ditandai

    Terkadang metadata yang terkait dengan kolom label dihapus dalam grafik eksperimen. Jika ini terjadi, ketika Anda menggunakan modul Evaluate Model untuk membandingkan hasil dari dua model deteksi anomali, Anda mungkin mendapatkan kesalahan, "Tidak ada kolom label dalam himpunan data yang dicetak", atau "Tidak ada kolom label dalam himpunan data yang dicetak untuk dibandingkan".

    Anda dapat menghindari kesalahan ini dengan menambahkan modul Edit Metadata sebelum modul Evaluasi Model . Gunakan pemilih kolom untuk memilih kolom kelas, dan di daftar turun bawah Bidang , pilih Label.

  3. Menormalkan skor dari berbagai jenis model

    Prediksi dari model deteksi anomali PCA selalu berada dalam kisaran [0,1]. Sebaliknya, output dari modul SVM Satu Kelas adalah skor yang tidak dikalibrasi yang mungkin tidak terbatas.

    Oleh karena itu, jika Anda membandingkan model berdasarkan algoritma yang berbeda, Anda harus selalu menormalkan skor. Lihat contoh di Galeri AI Azure untuk contoh normalisasi di antara model deteksi anomali yang berbeda.

Contoh

Untuk contoh bagaimana PCA digunakan dalam deteksi anomali, lihat Galeri AI Azure:

  • Deteksi anomali: risiko kredit: Mengilustrasikan cara mengetahui outlier dalam data. Contoh ini menggunakan sapuan parameter untuk menemukan model optimal. Kemudian menerapkan model itu ke data baru untuk mengidentifikasi transaksi berisiko yang mungkin mewakili penipuan, membandingkan dua model deteksi anomali yang berbeda.

Catatan teknis

Algoritma ini menggunakan PCA untuk memperkirakan subruang yang berisi kelas normal. Subruang direntang oleh eigenvectors yang terkait dengan eigenvalues teratas dari matriks kovarian data. Untuk setiap input baru, detektor anomali terlebih dahulu menghitung proyeksinya pada eigenvectors, dan kemudian mengomputasi kesalahan rekonstruksi yang dinormalisasi. Kesalahan ini adalah skor anomali. Semakin tinggi kesalahan, semakin anomali instansnya. Untuk detail tentang bagaimana ruang normal dihitung, lihat Wikipedia: Analisis Komponen Utama

Parameter modul

Nama Jenis Rentang Opsional Deskripsi Default
Mode pelatihan CreateLearnerMode Daftar:Parameter Tunggal| Rentang Parameter Diperlukan Parameter Tunggal Tentukan opsi pelajar.

Gunakan opsi SingleParameter untuk menentukan semua nilai secara manual.

Gunakan opsi ParameterRange untuk menyapu parameter yang dapat disetel.
Jumlah komponen yang akan digunakan di PCA Bilangan bulat mode:Parameter Tunggal 2 Tentukan jumlah komponen yang akan digunakan di PCA.
Parameter oversampling untuk PCA acak Bilangan bulat mode:Parameter Tunggal 2 Tentukan parameter akurasi untuk pelatihan PCA acak.
Mengaktifkan fitur input berarti normalisasi Tipe logika Daftar:Benar| Palsu Diperlukan False Tentukan apakah data input dinormalisasi agar tidak memiliki rata-rata.
Rentang untuk jumlah komponen PCA ParameterRangeSettings [1;100] mode:Rentang Parameter 2; 4; 6; 8; 10 Tentukan rentang jumlah komponen yang akan digunakan di PCA.
Rentang untuk parameter oversampling yang digunakan dalam PCA acak ParameterRangeSettings [1;100] mode:Rentang Parameter 2; 4; 6; 8; 10 Tentukan rentang untuk parameter akurasi yang digunakan dalam pelatihan PCA acak.

Output

Nama Jenis Deskripsi
Model tak terlatih Antarmuka ILearner Model deteksi anomali berbasis PCA yang tidak terlatih

Pengecualian

Pengecualian Deskripsi
Kesalahan 0017 Pengecualian terjadi jika satu atau beberapa kolom tertentu memiliki jenis yang tidak didukung oleh modul saat ini.
Kesalahan 0062 Pengecualian terjadi ketika mencoba membandingkan dua model dengan jenis pelajar yang berbeda.
Kesalahan 0047 Pengecualian terjadi jika jumlah kolom fitur di beberapa himpunan data yang diteruskan ke modul terlalu kecil.

Untuk daftar kesalahan khusus untuk modul Studio (klasik), lihat Pembelajaran Mesin Kode kesalahan.

Untuk daftar pengecualian API, lihat Pembelajaran Mesin Kode Kesalahan REST API.

Lihat juga

Mesin Vektor Pendukung Satu Kelas