Memahami masalah

Untuk memahami masalah, lakukan tugas-tugas berikut:

  • Nyatakan sasaran untuk produk yang Anda kembangkan atau faktorkan ulang.
  • Tentukan apakah sasaran tersebut sebaiknya diselesaikan 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

Mulai dengan menyatakan sasaran Anda dalam istilah non-ML. Tujuannya adalah jawaban untuk pertanyaan, "Apa yang ingin saya capai?"

Tabel berikut dengan jelas menyatakan sasaran untuk aplikasi hipotesis:

Aplikasi Sasaran
Aplikasi Cuaca Menghitung curah hujan dalam kelipatan enam jam untuk suatu wilayah geografis.
Aplikasi Fashion Membuat berbagai desain kemeja.
Aplikasi video Menyarankan video yang berguna.
Aplikasi Email Mendeteksi spam.
Aplikasi keuangan Merangkum informasi keuangan dari berbagai sumber berita.
Aplikasi peta Hitung waktu perjalanan.
Aplikasi perbankan Mengidentifikasi transaksi penipuan.
Aplikasi makan Mengidentifikasi masakan berdasarkan menu restoran.
Aplikasi E-commerce Balas ulasan dengan jawaban yang bermanfaat.

Hapus kasus penggunaan untuk ML

Beberapa menganggap ML sebagai alat universal yang dapat diterapkan ke 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 yang menentukannya:

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 berdasarkan realitas. Biasanya menggunakan banyak data untuk melatih model pembelajaran yang diawasi, tidak diawasi, atau penguatan untuk melakukan tugas tertentu.
AI Generatif Teks
Gambar
Audio
Video
Numerik
Menghasilkan output berdasarkan niat pengguna, misalnya, meringkas artikel, atau membuat klip audio atau video singkat. Biasanya menggunakan banyak data tanpa label untuk melatih model bahasa besar atau generator gambar untuk mengisi data yang belum ada. Model ini kemudian dapat digunakan untuk tugas yang dapat dibingkai sebagai tugas mengisi titik-titik, atau dapat ditingkatkan dengan melatihnya pada data berlabel untuk beberapa tugas tertentu, seperti klasifikasi.

Untuk mengonfirmasi bahwa ML adalah pendekatan yang tepat, pastikan terlebih dahulu bahwa solusi non-ML Anda saat ini telah 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 merupakan kasus penggunaan yang baik untuk masalah Anda. Pertimbangkan pertanyaan berikut saat membandingkan pendekatan non-ML dengan pendekatan ML:

  • Kualitas. Menurut Anda, seberapa baik solusi ML? Jika Anda pikir solusi ML mungkin hanyalah peningkatan kecil, hal tersebut mungkin menunjukkan solusi yang saat ini adalah solusi terbaik.

  • Biaya dan pemeliharaan. Seberapa mahal solusi ML dalam jangka pendek dan jangka panjang? Dalam beberapa kasus, biayanya jauh lebih mahal dalam hal resource komputasi dan waktu untuk menerapkan ML. Pertimbangkan pertanyaan berikut:

    • Dapatkah solusi ML membenarkan kenaikan biaya? Perhatikan bahwa peningkatan kecil pada sistem besar dapat dengan mudah membenarkan biaya dan pemeliharaan penerapan solusi ML.
    • Berapa banyak pemeliharaan yang akan diperlukan untuk solusi tersebut? Dalam banyak kasus, implementasi ML memerlukan pemeliharaan jangka panjang khusus.
    • Apakah produk Anda memiliki sumber daya untuk mendukung pelatihan atau merekrut pekerja dengan keahlian ML?

Memeriksa Pemahaman Anda

Mengapa penting untuk menerapkan 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.

ML dan data prediktif

Data adalah kekuatan pendorong ML prediktif. Untuk membuat prediksi yang baik, Anda memerlukan data yang berisi fitur dengan kekuatan prediktif. Data Anda harus memiliki karakteristik berikut:

  • Lengkap. Semakin relevan dan bermanfaat contoh dalam set data Anda, semakin 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 dapat diandalkan yang sama.

  • Tepercaya. Pahami asal data Anda. Apakah data akan berasal dari sumber tepercaya yang Anda kontrol, seperti log dari produk Anda, atau apakah akan berasal dari sumber yang tidak banyak Anda ketahui, seperti output dari sistem ML lainnya?

  • Tersedia. Pastikan semua input tersedia pada waktu prediksi dalam format yang benar. Jika akan sulit mendapatkan nilai fitur tertentu pada waktu prediksi, hapus fitur tersebut dari set data Anda.

  • Benar. Dalam set data besar, tidak dapat dipastikan bahwa beberapa label akan memiliki nilai yang salah. Namun, jika lebih dari sebagian kecil label salah, model akan menghasilkan prediksi yang buruk.

  • Representatif. Set data harus sebisa mungkin mewakili dunia sebenarnya. Dengan kata lain, set data harus secara akurat mencerminkan peristiwa, perilaku pengguna, dan/atau fenomena dunia nyata yang dimodelkan. Pelatihan pada set data yang tidak representatif dapat menyebabkan performa yang buruk saat model diminta untuk membuat prediksi yang nyata.

Jika Anda tidak bisa mendapatkan data yang dibutuhkan dalam format yang diperlukan, model Anda akan membuat prediksi yang buruk.

Kekuatan prediktif

Agar model dapat membuat prediksi yang baik, fitur dalam set data Anda harus memiliki daya prediktif. Semakin berkorelasi fitur dengan label, semakin besar kemungkinan prediksi.

Beberapa fitur akan memiliki kemampuan prediksi yang lebih besar daripada fitur lainnya. 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 oleh pengguna.

Perhatikan bahwa kemampuan prediktif fitur dapat berubah karena konteks atau domain berubah. Misalnya, dalam aplikasi video, fitur seperti upload_date mungkin—secara umum—berkorelasi lemah dengan label. Namun, pada subdomain di video game, upload_date mungkin sangat berkaitan dengan labelnya.

Menentukan fitur yang memiliki kemampuan prediktif dapat menjadi proses yang membutuhkan waktu. Anda dapat mempelajari kekuatan prediktif fitur secara manual dengan menghapus dan menambahkannya saat melatih model. Anda dapat mengotomatiskan pencarian kekuatan prediktif fitur dengan menggunakan algoritme seperti korelasi Pearson, Informasi timbal balik yang disesuaikan (AMI), dan Nilai Shapley, yang memberikan penilaian numerik untuk menganalisis kekuatan prediktif suatu fitur.

Memeriksa Pemahaman Anda

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

Untuk mengetahui panduan selengkapnya tentang cara menganalisis dan menyiapkan set data, lihat Persiapan Data dan Teknik Fitur untuk Machine Learning.

Prediksi vs. tindakan

Tidak ada gunanya memprediksi 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 menemukan video yang berguna, harus memasukkan ke aplikasi yang merekomendasikan video yang berguna. Model yang memprediksi apakah akan turun hujan ke 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.

Sasarannya: Untuk memberi tahu penelepon berapa lama mereka akan menunggu karena volume panggilan saat ini.

Mereka belum memiliki solusi apa pun, tetapi mereka berpikir bahwa heuristik adalah membagi jumlah pelanggan yang ada yang ditahan dengan jumlah karyawan yang menjawab telepon, lalu mengalikannya dengan 10 menit. Namun, mereka tahu bahwa beberapa pelanggan telah menyelesaikan masalah mereka dalam dua menit, sementara yang lain dapat memerlukan waktu hingga 45 menit atau lebih lama.

Heuristik mereka mungkin tidak akan mendapatkan jumlah yang cukup tepat. 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 jelas. Heuristiknya tidak akan cukup baik untuk kasus penggunaannya. Set data tampaknya memiliki fitur prediktif untuk label, time_on_hold.
Jangan gunakan ML. Meskipun memiliki tujuan yang jelas, mereka harus menerapkan dan mengoptimalkan solusi non-ML terlebih dahulu. Selain itu, set data mereka tampaknya tidak berisi cukup fitur dengan kekuatan prediktif.