Membuat Machine Learning Andal Meski dengan Keterbatasan Data, Ini Caranya!
Data merupakan kunci menghasilkan model Machine Learning yang baik, untuk itu kita memperlukan data yang tidak sedikit. Namun apa yang terjadi jika data kita terbatas? Yuk, cari tahu cara mengatasinya!
Table of Contents
Pada era perkembangan teknologi saat ini tentu kita sudah sering mendengar isu mengenai Data Science, Artificial Intelligence, Machine Learning, Big Data dan sebagainya. Semua bidang di atas sangat erat kaitannya dengan data sebagai contoh adalah Machine Learning, yang mana data merupakan bahan pembelajaran model sehingga kualitas Machine Learning akan sangat ditentukan oleh kualitas data atau terkadang terkendala dengan keterbatasan data.
Banyak perusahaan yang sudah menyadari benefit penerapan Machine Learning dalam berbagai lini perusahaan, yaitu berupa efektifitas dan efisiensi dalam menjalankan proses bisnis sehingga meningkatkan profitabilitas perusahaan.
Memang kita menyadari terdapat isu Big Data, yang mana terdapat keberlimpahan data yang dihasilkan oleh masyarakat. Namun demikian, realitasnya tidak semua perusahaan mempunyai akses tersebut, cenderung hanya dimiliki oleh perusahaan teknologi yang memiliki user banyak sehingga data yang dihasilkan melimpah pula. Oleh sebab itu, cukup realistis menyadari kenyataan banyak perusahaan yang ingin memperoleh benefit dari menerapkan Machine Learning tetapi terkendala dalam hal ketersediaan data. Ketersediaan ini dapat berupa kualitas data ataupun kuantitas data yang dimiliki sebab banyak perusahaan yang belum memiliki manajemen data yang baik.
Seberapa Banyak Data yang Dibutuhkan untuk Membuat Model Machine Learning?
Machine Learning merupakan sebuah sistem yang dibangun dengan memberikan kemampuan pada komputer untuk dapat menemukan pola dari proses pembelajaran data. Mungkin kita pernah terpikir seberapa banyak data yang dibutuhkan untuk menghasilkan model Machine Learning?
Untuk itu memang tidak ada jawaban pasti untuk pertanyaan ini, sebab setiap kasus proyek, fitur-fitur dalam data dan sebagainya relatif berbeda. Namun demikian, terdapat beberapa level ambang/kategori Machine Learning atau Deep Learning (pengembangan lebih lanjut dari Machine Learning) yang lebih cepat konvergen (mencapai titik maksimum) secara performa sehingga apabila data terus ditambahkan ketika sudah mencapai konvergen maka tidak akan mempengaruhi performa model alias cenderung konstan.
Memang seiring berjalannya waktu, model Machine Learning dan Deep Learning cenderung akan berkinerja baik ketika jumlah data yang dimasukkan meningkat, tetapi setelah beberapa titik atau sejumlah data, perilaku model akan menjadi konstan, dan berhenti belajar dari data.
Gambar di atas menunjukkan kinerja beberapa Machine Learning terkenal dan arsitektur Deep Learning dengan jumlah data yang dimasukkan ke algoritma. Di sini kita dapat melihat bahwa algoritma Tradisional Machine Learning belajar banyak dari data pada periode awal, tetapi setelah beberapa waktu, ketika level ambang datang, kinerjanya menjadi konstan. Setelah itu, jika kita memberikan lebih banyak data ke algoritma maka ia tidak akan mempelajari apa pun, dan versinya tidak akan bertambah atau berkurang.
Dalam kasus algoritma Deep Learning, ada total tiga jenis arsitektur deep learning dalam gambar. Jenis dangkal (Shallow Neural Networks) dari struktur pembelajaran mendalam adalah arsitektur pembelajaran mendalam kecil dalam hal kedalaman, yang berarti bahwa ada beberapa lapisan dan neuron tersembunyi dalam arsitektur Deep Learning eksternal. Dalam kasus jaringan saraf yang dalam (Deep Neural Networks), jumlah lapisan dan neuron tersembunyi sangat tinggi dan dirancang dengan sangat mendalam.
Dari gambar, kita dapat melihat total tiga arsitektur deep learning, dan ketiganya bekerja secara berbeda ketika sejumlah data dimasukkan dan ditingkatkan. Jaringan saraf yang dangkal (Shallow Neural Networks) dan medium (Medium Neural Networks) cenderung berfungsi seperti algoritma Tradisional Machine Learning, di mana kinerjanya menjadi konstan setelah sejumlah ambang batas data. Pada saat yang sama, Deep Neural Networks terus belajar dari data saat data baru dimasukkan. Dari gambar tersebut, kita dapat menyimpulkan bahwa semakin kompleks algoritma (arsitekturnya semakin dalam) maka semakin membutuhkan data yang besar dan ini berpengaruh pula pada peningkatan performa yang dapat diberikan.
Masalah Apa yang Muncul karena Data yang Terbatas?
Keterbatasan data akan bermasalah terkait ketidakmampuan sekumpulan data mewakili populasi. Umumnya keterbatasan data akan berpengaruh dalam performa model. Hal ini disebabkan model yang kompleks membutuhkan jumlah data yang mumpuni agar dapat memberikan performa relatif lebih baik. Dengan demikian, keterbatasan data cenderung menimbulkan hilangnya kesempatan memanfaatkan benefit dari model yang lebih kompleks. Berikut kita akan mengulas masalah umum yang muncul dengan data terbatas :
1. Klasifikasi
Dalam klasifikasi, jika jumlah data yang sebagai input sedikit, maka model akan sering salah mengklasifikasikan pengamatan, artinya sulit memberikan hasil berupa kelas yang akurat.
2. Regresi
Dalam masalah regresi, jika akurasi modelnya rendah oleh sebab keterbatasan data maka model tersebut akan memprediksi dengan nilai yang sangat jauh dari nilai sebenarnya (error besar).
3. Pengelompokkan (Clustering)
Model akan mengelompokkan data-data yang serupa berbeda kelompok alias tidak dapat memberikan rekomendasi cluster yang tepat.
4. Deret Waktu (Time Series)
Dalam analisis Time Series, model akan memiliki akurasi yang rendah dan memberikan perkiraan hasil yang mungkin jauh lebih besar atau lebih kecil dari nilai sebenarnya pada periode waktu tertentu alias memiliki nilai error yang tinggi sehingga sulit diandalkan sebagai pertimbangan.
5. Deteksi Objek (Object Detection)
Model akan mendeteksi suatu objek dengan nama objek yang berbeda alias tidak dapat mengklasifikasikan suatu objek secara tepat.
Bagaimana Mengatasi Masalah Keterbatasan Data?
1.Augmentasi Data
Augmentasi data berarti menambah jumlah data, yang umumnya dilakukan dengan merekayasa dari data yang sudah ada. Umumnya Augmentasi data dilakukan untuk kasus data gambar tetapi konsep ini dapat dimanfaatkan pula pada data tabular (baris/kolom) yang berarti menambah jumlah baris atau objek. Seringkali Augmentasi data dipilih sebagai solusi keterbatasan data sebab biaya dan akurasi yang dapat diberikan. Setiap proses pengumpulan data senantiasa berkaitan dengan biaya yang bukan hanya sekadar uang melainkan tenaga manusia, sumber daya komputasi, dan tentu saja waktu yang dikonsumsi dalam prosesnya. Selain pertimbangan biaya, akurasi (performa) yang dihasilkan juga cenderung signifikan sebab model menganggap data dari hasil Augmentasi merupakan data baru sehingga menambah jumlah data pelatihan.
Contoh penerapan Augmentasi data dalam kasus data gambar adalah dengan memutar gambar asli, mengubah kondisi pencahayaan, memangkasnya secara berbeda, dan masih banyak lagi sehingga untuk satu gambar dapat menghasilkan sub-sampel yang berbeda. Dengan demikian, melalui satu gambar dapat dilipatgandakan dalam hitungan detik saja.
2. Gunakan Beberapa Model (Ensembles Method)
Salah satu trik terbaik yang sudah cukup populer di dunia pengembangan Artificial Intelligence akademis adalah Ensembeles Method. Konsep dari Metode ini adalah menggabungkan beberapa model bersama untuk menghasilkan sebuah prediksi.
Sebagai gambaran mengenai konsep ini, semisal kita ingin mengukur seberapa bahagia seseorang, apakah cukup dengan mengajukan satu pertanyaan? Seperti seberapa bahagia Anda dalam skala 1–10? Namun, apakah kita akan secara akurat menangkap kebahagiaan mereka? Mungkin tidak. Sebaliknya, jika kita menanyai mereka dengan beberapa cara berbeda tentang kebahagiaan mereka dan kemudian menghitung rata-rata skor tersebut bersama-sama, mungkin kita lebih yakin bahwa skornya lebih akurat menangkap tingkat kebahagiaan mereka.
Menggabungkan beberapa model yang sama-sama dapat menyelesaikan persoalan cenderung akan meningkatkan kepercayaan kita mengenai hasil prediksi sebab divalidasi oleh beberapa model. Dengan menggabungkan output dari beberapa model melalui rata-rata atau pemungutan suara (2 teratas dari 3 model misalnya), kita akan melakukan pekerjaan yang lebih baik dalam menangani varian model dan meningkatkan kemampuan model untuk menggeneralisasi (menangkap pola) alias meningkatkan performa model menjadi lebih baik. Namun demikian, dalam pengembangan Artificial Intelligence di dunia Industri cenderung cukup menantang menggunakan Ensembeles Method sebab biaya komputasi yang digunakan cukup tinggi (karena menggabungkan beberapa model) sehingga menjadi tantangan tersendiri ketika menggunakan model secara luas (deployment).
3. Data Sintetis
Seiring perkembangan dunia Data Science sebagai sebuah bidang, semakin banyak teknik tersedia untuk membantu memperluas kumpulan data kecil dengan data sintetik. Data sintetik adalah data yang dihasilkan dari model lain, simulasi, atau permutasi kumpulan data kecil untuk menghasilkan kumpulan data masuk akal yang lebih besar. Tujuannya adalah untuk memperkirakan populasi secara akurat sekaligus meningkatkan kekuatan statistik.
Seringkali Data Sintesis diterapkan terutama ketika berurusan dengan data pribadi (perbankan, layanan kesehatan, dll.) yang menjadikan penggunaan data sintetik sebagai pendekatan pengembangan yang lebih aman dalam kasus tertentu. Data sintetik sebagian besar digunakan ketika tidak ada cukup data nyata atau tidak ada cukup data nyata untuk pola tertentu yang Anda ketahui. Penggunaannya sebagian besar untuk pelatihan dan pengujian dataset.
Synthetic Minority Over-sampling Technique (SMOTE) dan Modified-SMOTE adalah dua contoh teknik menghasilkan data sintetis. Sederhananya, SMOTE mengambil titik data kelas minoritas dan membuat titik data baru yang terletak di antara dua titik data terdekat yang digabungkan dengan garis lurus.
4. Manfaatkan Transfer Learning
Pendekatan terakhir yang cenderung menghasilkan keuntungan signifikan pada kasus penggunaan sejumlah kecil data yang tersedia untuk dilatih dengan model dikenal sebagai Transfer Learning. Transfer Learning adalah tempat menggunakan model yang telah dilatih oleh Data Scientists lain dan kemudian tinggal memperbarui model tersebut dengan data baru kita.
Misalnya, saya ingin dapat mengidentifikasi nama orang di email perusahaan. Saya mungkin memiliki akses ke ribuan email tetapi tidak satu pun dari mereka diberi label dengan benar untuk pelatihan model dan hal itu akan memakan waktu sangat lama untuk melabelinya. Jadi sebagai gantinya, saya memilih untuk menggunakan salah satu dari Spacy’s (pustaka Python open-source yang banyak digunakan untuk pemrosesan bahasa alami) yaitu model pre-trained (pra-terlatih) yang dapat mengidentifikasi orang sebagai entitas.
Setelah mendapatkan model tersebut maka kita akan memberi label pada sampel kecil terkait email pada perusahaan kita. Model pre-trained ini akan memperbarui koefisien model dengan data pelatihan baru ini (model menyesuaikan dengan data sebenarnya). Ini adalah inti dari pembelajaran transfer yaitu memperbarui koefisien model yang dilatih pada set data yang sangat besar. “ Transfer Learning benar-benar berdiri di pundak para raksasa untuk memungkinkan solusi yang lebih baik untuk masalah bisnis. ”
Kesimpulan
Kita telah membahas banyak hal mengenai keterbatasan data, mulai dari patokan kebutuhan data dalam membangun Machine Learning, masalah yang mungkin ditimbulkan oleh keterbatasan data, hingga solusi atas keterbatasan data tersebut. Keterbatasan data merupakan faktor penentu kualitas model Machine Learning. Oleh sebab itu, mengatasi keterbatasan data merupakan kunci menghasilkan model Machine Learning yang andal.
Kita tentu sudah menyadari bahwa banyak perusahaan masa kini yang sudah melirik Machine Learning untuk dimanfaatkan dalam proses bisnis mereka. Tentu ini merupakan peluang emas bagi seseorang yang memiliki kemampuan menghasilkan Machine Learning. Anda juga dapat memiliki dan mengasah kemampuan Machine Learning dan pemanfaatannya lebih lanjut hingga berkarir di dunia data menjadi seorang data scientist handal, Anda dapat mengikuti Bootcamp Algoritma Data Science School yang memiliki serangkaian program yang dapat membantu Anda menguasai dunia data di industri yang Anda minati. Yuk, bergabung bersama Algoritma sekarang!