Beberapa Algoritma Dasar Machine Learning
Algoritma adalah sekumpulan cara, teknik, metode, kerangka, formulasi, atau rumusan yang digunakan oleh sebuah program komputer untuk mengolah data menjadi informasi yang bermakna. Dalam hal ini, bisa jadi mengambil suatu keputusan atau memprediksi data. Misal saya punya deret seperti ini: 2, 4, 6, 8, n, 12. Berapakah nilai 'n'? karena data sebelumnya menunjukan deret f(x) = 2x, maka mesin akan dengan mudah mengetahui bahwa n = 10. Tapi f(x) = 2x bukanlah sebuah algoritma, ia hanya sekedar formulasi. Algoritmanya adalah regresi linear.
Beberapa algortima dibuat baik melalui proses penalaran alami, perhitungan statistik mapun pengalaman manusia secara langsung. Adapun beberapa algoritma dasar machine learning adalah seperti berikut:
Decision Tree (Sistem Pakar)
Decision Tree (sistem pakar) adalah suatu algoritma yang membentuk pola pikir seorang pakar yang biasanya berbentuk jika-maka menjadi sebuah model. Konsepnya adalah jika sesuatu melalui nilai tertentu, maka sesuatu yang lain akan terjadi. Konsepnya pure berpaku pada pengelompokan data, sehingga nilai yang dihasilkan bukanlah sebuah probabilitas. Contoh algoritma sistem pakar decission tree adalah seperti berikut:
Dari bagan diatas, kita bisa mengambil keputusan bahwa seseorang yang memiliki tingkat kebugaran jasmani buruk tidak akan lolos. Sementara jika kebugaran jasmaninya baik, maka akan dilihat pada parameter kedua, yaitu mata. Jika matanya normal maka lolos, dan jika matanya ga normal maka akan gagal.
Decission tree memiliki kelebihan karena perhitungan statistik hanya dilakukan ketika pembuatan model saja, sementara pada saat prediksi hanya tinggal mengecek kondisii jika-maka saja.
K-Nearest Neighbors (KNN)
KNN adalah algoritma yang mengambil keputusan berdasarkan 'n' jumlah data terdekat. Misal kita bingung mau ke hajatan pakek baju biru atau merah. Biru nanti dikira Demokrat, merah nanti dikira PDIP. Padahal keluarga kita PKS. Nah dalam kebimbangan itu kita bertanya pada 5 orang. 3 orang menyarankan kita untuk menggunakan baju biru, sementara 2 orang menyarankan kita untuk menggunakan baju merah. Maka keputusan yang kita ambil adalah merah. Dalam kasus ini, nilai 'n' = 5. Contoh dari algoritma KNN adalah seperti berikut:
Dari bagan diatas, kita dapat mengambil kesimpulan bahwa keputusan yang akan diambil adalah baju biru. KNN memiliki keunggulan karena basis perhitungannya bukan statistik, melainkan aritmatik. KNN sangat mudah dihitung secara manual dan akan sangat mudah dimengerti bahkan oleh seorang pemula sekalipun.
Naive Bayes
Naive bayes adalah algoritma yang sangat statistik. Perhitungannya berakar pada probabilitas suatu kejadian jika kejadian lain terjadi. Contohnya seperti ini: 8 dari 10 orang tidak belajar sebelum ujian, dan 87,5% (7/8) dari mereka tidak lulus ujian. Sementara 2 orang sisanya belajar sebelum ujian, dan 100% (2/2) dari mereka lulus ujian. Jika saya tidak belajar, maka berapakah peluang saya akan lulus? Kira-kira kasus ini kalau divisualisasikan seperti ini:
Nama Murid | Belajar | Lulus |
Simon | Tidak | Tidak |
Andreas | Tidak | Tidak |
Yakobus | Tidak | Tidak |
Yohanes | Tidak | Tidak |
Filipus | Tidak | Tidak |
Bartolomeus | Tidak | Tidak |
Thomas | Tidak | Ya |
Matius | Ya | Ya |
Yudas | Ya | Ya |
Dari tabel diatas, dapat diketahui peluang saya lulus jika saya tidak belajar adalah 10%.
Naive bayes mencoba menyelesaikan problema diatas menggunakan pendekatan statistik. Keputusan diambil begitu saja (secara naive) menggunakan teorema bayes. Konsepnya berapakah peluang suatu kejadian jika kejadian lain terjadi. Keputusan akan diambil berdasarkan nilai probabilitas yang paling tinggi.
Suport Vector Machine (SVM)
SVM adalah algoritma yang berusaha membuat sebuah batas area antara beberapa buah label. Batas ini disebut hyperplane. Jika sebuah data berada didalam area hyperplane tertentu, maka ia akan dikelompokan sesuai areanya, meskipun ia masih lebih dekat kepada label area lawannya. Kira-kira seperti ini:
Misal seorang siswa bertanya apakah saya lulus? Setelah dilihat data-datanya secara statistik, posisi siswa tersebut berada didalam hyperplane tidak lulus. Maka siswa tersebut akan dinyatakan tidak lulus bersama kwannya si Ali. Padahal dia jauh lebih dekat ke si ade dan roy yang notabene lulus. Tapi ya gak peduli, kalau kamu ada dibawah hyperplane tidak lulus maka kamu akan dinyatakan tidak lulus.
SVM merupakan algoritma yang cukup rumit untuk dimngerti dan dipelajari. Tapi juga merupakan algoritma yang sangat powerfull dengan berbagai kemampuan.
Sebenernya masih banyak lagi algortima yang bisa kalian pelajari. So, stay tune ya di Kelas AI. Jangan kemana-kemana. Kamu boleh pergi ke tempat lain, tapi pastikan hatimu kau tinggalkan disini.
Baca Juga:
Artikel yang mungkin relate buat kamu
Machine learning (pembelajaran mesin) adalah salah satu cabang dari kecerdasan buatan (AI) yang memungkinkan komputer untuk "belajar" dari data tanpa harus diprogram secara eksplisit. Sederhananya, ...
Proses pembelajaran dengan disupervisi (diajarkan) dinamakan supervised learning. Sementara proses pembelajaran yang tidak diajarkan, dalam artian, mesin dibiarkan untuk mengambil keputusannya sendiri disebut dengan unsupervised ...