Bagikan melalui


Tugas pembelajaran mesin di ML.NET

Tugas pembelajaran mesin adalah jenis prediksi atau inferensi yang dibuat, berdasarkan masalah atau pertanyaan yang diajukan, dan data yang tersedia. Misalnya, tugas klasifikasi menetapkan data ke kategori, dan mengelompokkan data grup tugas sesuai dengan kesamaan.

Tugas pembelajaran mesin mengandalkan pola dalam data daripada diprogram secara eksplisit.

Artikel ini menjelaskan berbagai tugas pembelajaran mesin yang dapat Anda pilih dalam ML.NET dan beberapa kasus penggunaan umum.

Setelah Anda memutuskan tugas mana yang berfungsi untuk skenario Anda, maka Anda perlu memilih algoritma terbaik untuk melatih model Anda. Algoritma yang tersedia tercantum di bagian untuk setiap tugas.

Klasifikasi biner

Tugas pembelajaran mesin yang diawasi yang digunakan untuk memprediksi mana dari dua kelas (kategori) instans data. Input algoritma klasifikasi adalah sekumpulan contoh berlabel, di mana setiap label adalah bilangan bulat 0 atau 1. Output algoritma klasifikasi biner adalah pengklasifikasi, yang dapat Anda gunakan untuk memprediksi kelas instans baru yang tidak berlabel. Contoh skenario klasifikasi biner meliputi:

  • Memahami sentimen komentar Twitter sebagai "positif" atau "negatif".
  • Mendiagnosis apakah pasien memiliki penyakit tertentu atau tidak.
  • Membuat keputusan untuk menandai email sebagai "spam" atau tidak.
  • Menentukan apakah foto berisi item tertentu atau tidak, seperti anjing atau buah.

Untuk informasi selengkapnya, lihat artikel Klasifikasi biner di Wikipedia.

Pelatih klasifikasi biner

Anda dapat melatih model klasifikasi biner menggunakan algoritma berikut:

Input dan output klasifikasi biner

Untuk hasil terbaik dengan klasifikasi biner, data pelatihan harus seimbang (yaitu, jumlah data pelatihan positif dan negatif yang sama). Nilai yang hilang harus ditangani sebelum pelatihan.

Data kolom label input harus Boolean. Data kolom fitur input harus menjadi vektor ukuran tetap dari Single.

Pelatih ini menghasilkan kolom berikut:

Nama Kolom Output Jenis Kolom Deskripsi
Score Single Skor mentah yang dihitung oleh model
PredictedLabel Boolean Label yang diprediksi, berdasarkan tanda skor. Skor negatif memetakan ke false dan skor positif memetakan ke true.

Klasifikasi multikelas

Tugas pembelajaran mesin yang diawasi yang digunakan untuk memprediksi kelas (kategori) instans data. Input algoritma klasifikasi adalah sekumpulan contoh berlabel. Setiap label biasanya dimulai sebagai teks. Kemudian dijalankan melalui TermTransform, yang mengonversinya ke jenis Kunci (numerik). Output algoritma klasifikasi adalah pengklasifikasi, yang dapat Anda gunakan untuk memprediksi kelas instans baru yang tidak berlabel. Contoh skenario klasifikasi multi-kelas meliputi:

  • Mengategorikan penerbangan sebagai "awal", "tepat waktu", atau "terlambat".
  • Memahami ulasan film sebagai "positif", "netral", atau "negatif".
  • Mengategorikan ulasan hotel sebagai "lokasi", "harga", "kebersihan", dll.

Untuk informasi selengkapnya, lihat artikel klasifikasi Multikelas di Wikipedia.

Catatan

Satu vs semua meningkatkan pelajar klasifikasi biner untuk bertindak pada himpunan data multikelas. Informasi lebih lanjut tentang Wikipedia.

Pelatih klasifikasi multikelas

Anda dapat melatih model klasifikasi multikelas menggunakan algoritma pelatihan berikut:

Input dan output klasifikasi multikelas

Data kolom label input harus jenis kunci . Kolom fitur harus menjadi vektor ukuran tetap dari Single.

Pelatih ini menghasilkan yang berikut:

Nama Output Tipe Deskripsi
Score Vektor dari Single Skor semua kelas. Nilai yang lebih tinggi berarti probabilitas yang lebih tinggi untuk masuk ke kelas terkait. Jika elemen i-th memiliki nilai terbesar, indeks label yang diprediksi adalah i. Perhatikan bahwa i adalah indeks berbasis nol.
PredictedLabel jenis kunci Indeks label yang diprediksi. Jika nilainya adalah i, label aktual akan menjadi kategori i-th dalam jenis label input bernilai kunci.

Regresi

Tugas pembelajaran mesin yang diawasi yang digunakan untuk memprediksi nilai label dari serangkaian fitur terkait. Label dapat memiliki nilai nyata apa pun dan bukan dari sekumpulan nilai terbatas seperti dalam tugas klasifikasi. Algoritma regresi memodelkan dependensi label pada fitur terkaitnya untuk menentukan bagaimana label akan berubah karena nilai fitur bervariasi. Input algoritma regresi adalah sekumpulan contoh dengan label nilai yang diketahui. Output algoritma regresi adalah fungsi, yang dapat Anda gunakan untuk memprediksi nilai label untuk serangkaian fitur input baru. Contoh skenario regresi meliputi:

  • Memprediksi harga rumah berdasarkan atribut rumah seperti jumlah kamar tidur, lokasi, atau ukuran.
  • Memprediksi harga saham di masa mendatang berdasarkan data historis dan tren pasar saat ini.
  • Memprediksi penjualan produk berdasarkan anggaran iklan.

Pelatih regresi

Anda dapat melatih model regresi menggunakan algoritma berikut:

Input dan output regresi

Data kolom label input harus Single.

Pelatih untuk tugas ini menghasilkan yang berikut:

Nama Output Tipe Deskripsi
Score Single Skor mentah yang diprediksi oleh model

Pengklusteran

Tugas pembelajaran mesin yang tidak diawasi yang digunakan untuk mengelompokkan instans data ke dalam kluster yang berisi karakteristik serupa. Pengklusteran juga dapat digunakan untuk mengidentifikasi hubungan dalam himpunan data yang mungkin tidak Anda dapatkan secara logis dengan menelusuri atau pengamatan sederhana. Input dan output algoritma pengklusteran tergantung pada metodologi yang dipilih. Anda dapat mengambil pendekatan distribusi, sentroid, konektivitas, atau berbasis kepadatan. ML.NET saat ini mendukung pendekatan berbasis sentroid menggunakan pengklusteran K-Means. Contoh skenario pengklusteran meliputi:

  • Memahami segmen tamu hotel berdasarkan kebiasaan dan karakteristik pilihan hotel.
  • Mengidentifikasi segmen dan demografi pelanggan untuk membantu membangun kampanye iklan yang ditargetkan.
  • Mengategorikan inventarisasi berdasarkan metrik manufaktur.

Pelatih pengklusteran

Anda dapat melatih model pengklusteran menggunakan algoritma berikut:

Pengklusteran input dan output

Data fitur input harus Single. Tidak ada label yang diperlukan.

Pelatih ini menghasilkan yang berikut:

Nama Output Tipe Deskripsi
Score vektor dari Single Jarak titik data yang diberikan ke semua sentroid kluster
PredictedLabel jenis kunci Indeks kluster terdekat yang diprediksi oleh model.

Deteksi anomali

Tugas ini membuat model deteksi anomali dengan menggunakan Analisis Komponen Utama (PCA). Deteksi Anomali Berbasis PCA 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 memadai dari anomali yang ditargetkan.

Teknik yang mapan dalam pembelajaran mesin, PCA sering digunakan dalam analisis data eksploratif 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.

Deteksi anomali mencakup banyak tugas penting dalam pembelajaran mesin:

  • Mengidentifikasi transaksi yang berpotensi penipuan.
  • Pembelajaran pola yang menunjukkan bahwa intrusi jaringan telah terjadi.
  • Menemukan kluster pasien yang abnormal.
  • Memeriksa nilai yang dimasukkan ke dalam sistem.

Karena anomali adalah peristiwa langka menurut definisi, mungkin sulit untuk mengumpulkan sampel data yang representatif untuk digunakan untuk pemodelan. Algoritma yang termasuk dalam kategori ini telah dirancang khusus untuk mengatasi tantangan inti membangun dan melatih model dengan menggunakan himpunan data yang tidak seimbang.

Pelatih deteksi anomali

Anda dapat melatih model deteksi anomali menggunakan algoritma berikut:

Input dan output deteksi anomali

Fitur input harus menjadi vektor berukuran tetap dari Single.

Pelatih ini menghasilkan yang berikut:

Nama Output Tipe Deskripsi
Score Single Skor non-negatif dan tidak terbatas yang dihitung oleh model deteksi anomali
PredictedLabel Boolean Nilai true/false yang menunjukkan apakah input adalah anomali (PredictedLabel=true) atau tidak (PredictedLabel=false)

Peringkat teratas

Tugas peringkat membangun ranker dari sekumpulan contoh berlabel. Contoh set ini terdiri dari grup instans yang dapat dinilai dengan kriteria tertentu. Label peringkat adalah { 0, 1, 2, 3, 4 } untuk setiap instans. Ranker dilatih untuk memberi peringkat grup instans baru dengan skor yang tidak diketahui untuk setiap instans. ML.NET pelajar peringkat berbasis peringkat yang dipelajari mesin.

Algoritma pelatihan peringkat

Anda dapat melatih model peringkat dengan algoritma berikut:

Memberi peringkat input dan output

Jenis data label input harus jenis kunci atau Single. Nilai label menentukan relevansi, di mana nilai yang lebih tinggi menunjukkan relevansi yang lebih tinggi. Jika label adalah jenis kunci , maka indeks kunci adalah nilai relevansi, di mana indeks terkecil paling tidak relevan. Jika label adalah , nilai yang lebih besar menunjukkan relevansi yang Singlelebih tinggi.

Data fitur harus menjadi vektor ukuran tetap dan Single kolom grup baris input harus jenis kunci .

Pelatih ini menghasilkan yang berikut:

Nama Output Tipe Deskripsi
Score Single Skor tidak terbatas yang dihitung oleh model untuk menentukan prediksi

Rekomendasi

Tugas rekomendasi memungkinkan pembuatan daftar produk atau layanan yang direkomendasikan. ML.NET menggunakan matrix factorization (MF), algoritma pemfilteran kolaboratif untuk rekomendasi saat Anda memiliki data peringkat produk historis di katalog Anda. Misalnya, Anda memiliki data peringkat film historis untuk pengguna Anda dan ingin merekomendasikan film lain yang kemungkinan akan mereka tonton berikutnya.

Algoritma pelatihan rekomendasi

Anda dapat melatih model rekomendasi dengan algoritma berikut:

Prakiraan

Tugas prakiraan menggunakan data rangkaian waktu sebelumnya untuk membuat prediksi tentang perilaku di masa mendatang. Skenario yang berlaku untuk prakiraan termasuk prakiraan cuaca, prediksi penjualan musiman, dan pemeliharaan prediktif.

Prakiraan pelatih

Anda dapat melatih model prakiraan dengan algoritma berikut:

ForecastBySsa

Klasifikasi Gambar

Tugas pembelajaran mesin yang diawasi yang digunakan untuk memprediksi kelas (kategori) gambar. Input adalah sekumpulan contoh berlabel. Setiap label biasanya dimulai sebagai teks. Kemudian dijalankan melalui TermTransform, yang mengonversinya ke jenis Kunci (numerik). Output algoritma klasifikasi gambar adalah pengklasifikasi, yang dapat Anda gunakan untuk memprediksi kelas gambar baru. Tugas klasifikasi gambar adalah jenis klasifikasi multikelas. Contoh skenario klasifikasi gambar meliputi:

  • Menentukan jenis anjing sebagai "Siberian Husky", "Golden Retriever", "Poodle", dll.
  • Menentukan apakah produk manufaktur rusak atau tidak.
  • Menentukan jenis bunga apa sebagai "Rose", "Sunflower", dll.

Pelatih klasifikasi gambar

Anda dapat melatih model klasifikasi gambar menggunakan algoritma pelatihan berikut:

Input dan output klasifikasi gambar

Data kolom label input harus jenis kunci . Kolom fitur harus merupakan vektor berukuran variabel dari Byte.

Pelatih ini menghasilkan kolom berikut:

Nama Output Tipe Deskripsi
Score Single Skor semua kelas. Nilai yang lebih tinggi berarti probabilitas yang lebih tinggi untuk masuk ke kelas terkait. Jika elemen i-th memiliki nilai terbesar, indeks label yang diprediksi adalah i.Perhatikan bahwa i adalah indeks berbasis nol.
PredictedLabel Jenis kunci Indeks label yang diprediksi. Jika nilainya adalah i, label aktual akan menjadi kategori i-th dalam jenis label input bernilai kunci.

Deteksi Objek

Tugas pembelajaran mesin yang diawasi yang digunakan untuk memprediksi kelas (kategori) gambar tetapi juga memberikan kotak pembatas tempat kategori tersebut berada dalam gambar. Alih-alih mengklasifikasikan satu objek dalam gambar, deteksi objek dapat mendeteksi beberapa objek dalam gambar. Contoh deteksi objek meliputi:

  • Mendeteksi mobil, tanda, atau orang di jalan.
  • Mendeteksi cacat pada gambar produk.
  • Mendeteksi area yang menjadi perhatian pada gambar X-Ray.

Pelatihan model deteksi objek saat ini hanya tersedia di Model Builder menggunakan Azure Pembelajaran Mesin.