Untuk memahami masalahnya, lakukan tugas berikut:
- Nyatakan sasaran untuk produk yang Anda kembangkan atau faktorkan ulang.
- Tentukan apakah sasaran tersebut paling baik dipecahkan menggunakan ML prediktif, AI generatif, atau solusi non-ML.
- Pastikan Anda memiliki data yang diperlukan untuk melatih model jika menggunakan pendekatan ML prediktif.
Nyatakan sasaran
Mulailah dengan menyatakan sasaran Anda dalam istilah non-ML. Tujuan adalah jawaban atas pertanyaan, "Apa yang saya coba capai?"
Tabel berikut menyatakan sasaran dengan jelas untuk aplikasi hipotetis:
Aplikasi | Sasaran |
---|---|
Aplikasi Cuaca | Menghitung presipitasi dalam penambahan enam jam untuk wilayah geografis. |
Aplikasi mode | Buat berbagai desain kemeja. |
Aplikasi video | Merekomendasikan video yang berguna. |
Aplikasi email | Mendeteksi spam. |
Aplikasi keuangan | Meringkas informasi keuangan dari beberapa sumber berita. |
Aplikasi peta | Menghitung waktu perjalanan. |
Aplikasi perbankan | Mengidentifikasi transaksi penipuan. |
Aplikasi makan | Identifikasi masakan berdasarkan menu restoran. |
Aplikasi E-commerce | Balas ulasan dengan jawaban yang bermanfaat. |
Kasus penggunaan yang jelas untuk ML
Beberapa orang melihat ML sebagai alat universal yang dapat diterapkan untuk semua masalah. Pada kenyataannya, ML adalah alat khusus yang hanya cocok untuk masalah tertentu. Anda tidak ingin menerapkan solusi ML yang kompleks jika solusi non-ML yang lebih sederhana akan berfungsi.
Sistem ML dapat dibagi menjadi dua kategori besar: ML prediktif dan AI generatif. Tabel berikut mencantumkan karakteristik penentunya:
Input | Output | Teknik pelatihan | |
---|---|---|---|
ML Prediktif |
Teks Gambar Audio Video Numerik |
Membuat prediksi, misalnya, mengklasifikasikan email sebagai spam atau bukan spam, menebak curah hujan besok, atau memprediksi harga saham. Output biasanya dapat diverifikasi dengan kenyataan. | Biasanya menggunakan banyak data untuk melatih model supervised learning, unsupervised learning, atau reinforcement learning untuk melakukan tugas tertentu. |
AI Generatif |
Teks Gambar Audio Video Numerik |
Menghasilkan output berdasarkan intent pengguna, misalnya, meringkas artikel, atau membuat klip audio atau video singkat. | Biasanya menggunakan banyak data tidak berlabel untuk melatih model bahasa atau generator gambar besar untuk mengisi data yang tidak ada. Model tersebut kemudian dapat digunakan untuk tugas yang dapat dibingkai sebagai tugas mengisi titik-titik, atau dapat disesuaikan dengan melatihnya pada data berlabel untuk beberapa tugas tertentu, seperti klasifikasi. |
Untuk mengonfirmasi bahwa ML adalah pendekatan yang tepat, verifikasi terlebih dahulu bahwa solusi non-ML saat ini dioptimalkan. Jika Anda tidak menerapkan solusi non-ML, coba selesaikan masalah secara manual menggunakan heuristik.
Solusi non-ML adalah tolok ukur yang akan Anda gunakan untuk menentukan apakah ML adalah kasus penggunaan yang baik untuk masalah Anda. Pertimbangkan pertanyaan berikut saat membandingkan pendekatan non-ML dengan pendekatan ML:
Kualitas. Seberapa baik menurut Anda solusi ML? Jika Anda berpikir bahwa solusi ML mungkin hanya memberikan sedikit peningkatan, hal itu mungkin menunjukkan bahwa solusi saat ini adalah yang terbaik.
Biaya dan pemeliharaan. Seberapa mahal solusi ML dalam jangka pendek dan panjang? Dalam beberapa kasus, biayanya jauh lebih besar dalam hal resource komputasi dan waktu untuk menerapkan ML. Pertimbangkan pertanyaan berikut:
- Dapatkah solusi ML membenarkan peningkatan biaya? Perhatikan bahwa peningkatan kecil dalam sistem besar dapat dengan mudah membenarkan biaya dan pemeliharaan penerapan solusi ML.
- Berapa banyak pemeliharaan yang diperlukan solusi tersebut? Dalam banyak kasus, penerapan ML memerlukan pemeliharaan jangka panjang khusus.
- Apakah produk Anda memiliki sumber daya untuk mendukung pelatihan atau perekrutan orang dengan keahlian ML?
Memeriksa Pemahaman Anda
Data dan ML prediktif
Data adalah pendorong ML prediktif. Untuk membuat prediksi yang baik, Anda memerlukan data yang berisi fitur dengan kemampuan prediktif. Data Anda harus memiliki karakteristik berikut:
Banyak. Makin banyak contoh yang relevan dan berguna dalam set data, makin baik model Anda.
Konsisten dan andal. Memiliki data yang dikumpulkan secara konsisten dan andal akan menghasilkan model yang lebih baik. Misalnya, model cuaca berbasis ML akan mendapatkan manfaat dari data yang dikumpulkan selama bertahun-tahun dari instrumen yang andal dan sama.
Tepercaya. Memahami dari mana data Anda akan berasal. Apakah data akan berasal dari sumber tepercaya yang Anda kontrol, seperti log dari produk Anda, atau akan berasal dari sumber yang tidak banyak Anda ketahui, seperti output dari sistem ML lain?
Tersedia. Pastikan semua input tersedia pada waktu prediksi dalam format yang benar. Jika akan sulit untuk mendapatkan nilai fitur tertentu pada waktu prediksi, hapus fitur tersebut dari set data Anda.
Benar. Dalam set data besar, beberapa label akan memiliki nilai yang salah, tetapi jika lebih dari sebagian kecil label salah, model akan menghasilkan prediksi yang buruk.
Representatif. Set data harus serepresentatif mungkin dari dunia nyata. Dengan kata lain, set data harus mencerminkan peristiwa, perilaku pengguna, dan/atau fenomena dunia nyata yang dimodelkan secara akurat. Pelatihan pada set data yang tidak representatif dapat menyebabkan performa buruk saat model diminta untuk membuat prediksi dunia nyata.
Jika Anda tidak dapat mendapatkan data yang diperlukan dalam format yang diperlukan, model Anda akan membuat prediksi yang buruk.
Kemampuan prediktif
Agar model dapat membuat prediksi yang baik, fitur dalam set data Anda harus memiliki kemampuan prediktif. Makin berkorelasi fitur dengan label, makin besar kemungkinannya untuk memprediksinya.
Beberapa fitur akan memiliki kemampuan prediktif yang lebih baik daripada yang lain. Misalnya, dalam set data cuaca, fitur seperti cloud_coverage
, temperature
, dan dew_point
akan menjadi prediktor hujan yang lebih baik daripada moon_phase
atau day_of_week
. Untuk contoh aplikasi video, Anda dapat membuat hipotesis bahwa fitur
seperti video_description
, length
, dan views
mungkin merupakan prediktor yang baik untuk
video yang ingin ditonton pengguna.
Menentukan fitur mana yang memiliki kemampuan prediktif dapat menjadi proses yang memakan waktu. Anda dapat menjelajahi kemampuan prediktif fitur secara manual dengan menghapus dan menambahkannya saat melatih model. Anda dapat mengotomatiskan penemuan daya prediktif fitur menggunakan algoritma seperti Pearson correlation, Adjusted mutual information (AMI), dan Shapley value, yang memberikan penilaian numerik untuk menganalisis daya prediktif fitur.
Memeriksa Pemahaman Anda
Untuk panduan selengkapnya tentang cara menganalisis dan menyiapkan set data, lihat Penyiapan Data dan Rekayasa Fitur untuk Machine Learning.
Prediksi vs. tindakan
Tidak ada nilai dalam memprediksi sesuatu jika Anda tidak dapat mengubah prediksi menjadi tindakan yang membantu pengguna. Artinya, produk Anda harus mengambil tindakan dari output model.
Misalnya, model yang memprediksi apakah pengguna akan menganggap video berguna harus dimasukkan ke dalam aplikasi yang merekomendasikan video yang berguna. Model yang memprediksi apakah akan turun hujan harus dimasukkan ke dalam aplikasi cuaca.
Memeriksa Pemahaman Anda
Berdasarkan skenario berikut, tentukan apakah penggunaan ML adalah pendekatan terbaik untuk masalah tersebut.
Tim engineer di organisasi besar bertanggung jawab untuk mengelola panggilan telepon masuk.
Sasaran: Untuk memberi tahu pemanggil berapa lama mereka akan menunggu dalam mode tunggu mengingat volume panggilan saat ini.
Mereka tidak memiliki solusi apa pun, tetapi mereka berpikir bahwa heuristik akan membagi jumlah pelanggan yang saat ini ditunda dengan jumlah karyawan yang menjawab telepon, lalu mengalikan dengan 10 menit. Namun, mereka tahu bahwa masalah beberapa pelanggan dapat diselesaikan dalam dua menit, sementara yang lain dapat memerlukan waktu hingga 45 menit atau lebih.
Heuristik mereka mungkin tidak akan mendapatkan angka yang cukup akurat. Mereka
dapat membuat set data dengan kolom berikut:
number_of_callcenter_phones
, user_issue
,
time_to_resolve
, call_time
,
time_on_hold
.
time_on_hold
.