Memahami masalah

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

Mengapa penting untuk memiliki solusi non-ML atau heuristik sebelum menganalisis solusi ML?
Solusi non-ML adalah tolok ukur untuk mengukur solusi ML.
Solusi non-ML membantu Anda menentukan biaya solusi ML.

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

Saat menganalisis set data, apa tiga atribut utama yang harus Anda cari?
Representasi dunia nyata.
Berisi nilai yang benar.
Fitur memiliki kemampuan prediktif untuk label.
Cukup kecil untuk dimuat ke komputer lokal.
Dikumpulkan dari berbagai sumber yang tidak dapat diprediksi.

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.

Gunakan ML. Tim engineer memiliki sasaran yang ditentukan dengan jelas. Heuristik mereka tidak akan cukup baik untuk kasus penggunaan mereka. Set data tampaknya memiliki fitur prediktif untuk label, time_on_hold.
Jangan gunakan ML. Meskipun memiliki sasaran yang jelas, mereka harus menerapkan dan mengoptimalkan solusi non-ML terlebih dahulu. Selain itu, set data mereka tampaknya tidak berisi cukup fitur dengan kemampuan prediktif.