Perbedaan Machine Learning dengan Program Biasa

Selama ini mungkin sudah tidak asing di telinga kita jika mendengar self driving car, alexa, google assistant, google translate dan masih banyak lagi. Hal hal ini sebenarnya adalah implementasi machine learning dan deep learning.

Bagi kalian yang mendengar kata machine learning ataupun deep learning (machine learning yang memiliki lebih dari 1 layer neuron)  mungkin sudah pada menyangka bahwa hal hal ini seperti racket science dan sulit sekali serta butuh IQ tinggi untuk mempelajari dan master di bidang tersebut. Terus mungkin bagi kalian yang developer kalian akan mungkin juga berpikir demikian layaknya orang awam. Dalam topik bahasan kali ini, saya akan memberitahukan perbedaan signifikan antara software development biasa dan machine learning program development.

 

Software Development Biasa

Software development biasa atau bisa disebut pelakunya adalah programmer dan coder adalah proses pembangunan software dengan mengetahui dahulu background knowledge kemudian melakukan pemrograman software berdasarkan fungsional dari yang diketahui. Di software development biasa, kita tidak perlu memiliki data existing, malah dari program yang dibuat tersebut dimaksudkan untuk menambang data yang ada. Jadi kita tidak memerlukan data lama.

Software development biasa tidak dapat melakukan prediksi. Hal ini dikarenakan software biasa hanya dapat menampilkan/memvisualisasikan atau juga menyimpulkan dari data yang sudah diinputkan oleh user. Software biasa tidak dapat memprediksi hasil dari user ataupun input yang user akan masukan di masa depan.

 

Machine Learning Program

Machine learning memiliki beberapa sub grup sebenarnya, tetapi untuk kemudahan mencerna informasi kita jadi satukan semua sub grup tersebut dalam satu pembahasan. Machine learning programming adalah pendekatan development software yang menggunakan data dari masa lalu untuk memprediksi pola kemudian dari pola tersebut dapat kita tafsirkan kecenderungan hasil / kesimpulan / data yang akan diinput user itu seperti apa. Machine learning akan sangat sulit jika anda tidak mengerti matematika dan programming dasar. Malah diperlukan ilmu statistik juga sepanjang jalan development.

Machine learning sangat baik jika data yang digunakan baik. Juga selain itu machine learning harus menggunakan model yang baik terutama. Jika modelnya yang digunakan tidak mendapatkan accuracy prediksi >80% maka bisa dibilang model itu jelek. Jika terlalu baik pun prediksinya juga bisa jelek, untuk data yang samplenya baru. Model yang baru akan membuat overfit ML pada suatu data tertentu akan menganggap sample data yang baru ini tidak sama karena sudah terlalu detail toleransinya. Toleransi yang terlalu rendah tidak baik untuk recognize dan prediksi. Sehingga perlu dilakukan overfiting prevention approach (kita akan bahas ini nanti)

Machine learning sendiri sebenarnya tidak memerlukan background knowledge dari developernya. Tidak seperti software biasa, machine learning juga tidak perlu diperintah melakukan apa. Kita hanya membangun pipeline neural network, dan seiring pemasukan data terus menerus machine learning model akan menyesuaikan diri sehingga akhirnya kita dapat acuracy >80 %. Jadi tanpa adanya background knowledge dari apa yang kita buat sebenarnya software dapat dibuat. Hal ini dikarenakan kita sudah memprovide data yang ada. Jadi hanya melakukan apa yang data itu lakukan, seperti belajar dari alam, jika dalam perspektif makhluk hidup.

Prediksi machine learning dapat dilakukan pada berbagai domain. Domain bisa dalam manufacturing seperti di Entreprise Resource Planing perusahaan, di healthcare dapat membantu dokter dalam menganalisa gambar xray, mata , kulit dsb. Bahkan, sebenarnya kita tidak membutuhkan dokter sama sekali untuk diagnosa secara hemat. Serta masih banyak lagi pengaplikasian machine learning di kehidupan kita.