100% menganggap dokumen ini bermanfaat (2 suara)
454 tayangan12 halaman

Cara Memilih Algoritma Machine Learning

1. Terdapat empat jenis utama algoritma machine learning yaitu supervised learning, unsupervised learning, semi-supervised learning, dan reinforcement learning. 2. Supervised learning memerlukan data latih berupa contoh input-output, unsupervised learning hanya memerlukan data masukan tanpa label, semi-supervised learning memanfaatkan sebagian data berlabel dan tidak berlabel, sedangkan reinforcement learning belajar dari pengalaman berinteraksi dengan lingkungan.

Diunggah oleh

Azmi Faisal
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
100% menganggap dokumen ini bermanfaat (2 suara)
454 tayangan12 halaman

Cara Memilih Algoritma Machine Learning

1. Terdapat empat jenis utama algoritma machine learning yaitu supervised learning, unsupervised learning, semi-supervised learning, dan reinforcement learning. 2. Supervised learning memerlukan data latih berupa contoh input-output, unsupervised learning hanya memerlukan data masukan tanpa label, semi-supervised learning memanfaatkan sebagian data berlabel dan tidak berlabel, sedangkan reinforcement learning belajar dari pengalaman berinteraksi dengan lingkungan.

Diunggah oleh

Azmi Faisal
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 12

1

Cara Memilih Algoritma Machine Learning

Tipe Algorithms
Secara garis besar ada empat tipe algoritma utama Machine Learning (atau setidaknya yang saya
pelajari):
1. Supervised Learning
2. Unsupervised Learning
3. Semi- Supervised Learning
4. Reinforcement Learning
Berikut ilustrasinya:

Catatan DataMining - Betrand


2

Supervised Learning
Supervised Learning adalah algoritma machine learning yang dalam proses belajarnya
membutuhkan serangkaian contoh input-output yang benar, sebagai supervisor
(pengawas/pelatih).
Contoh kasus yang dapat menerapkan algoritma ini adalah Pada kasus Iris classification, kita
memiliki sejumlah dataset sampel input berupa data panjang dan lebar sepal dan petal. Masing-
masing sampel tersebut sudah memiliki output yang benar (memiliki label). Serangkaian sampel
input-output ini kemudian digunakan untuk menge-train (melatih) algoritma kita, agar kelak
dapat menghasilkan output (label) yang sesuai ketika diberikan masukan data baru.
Algoritma Supervised Learning ini sendiri juga dibagi lagi menjadi beberapa jenis algoritma
tergantung dari task/tujuan dibentuknya algoritma, antara lain:
Klasifikasi: Logistik Regression, Decision Trees, Random Forest, KNN, SVM, Neural Networks,
Naïve Bayes, dll
Prediksi Numerik/Regresi: Linear Regression, Decision Trees, Neural Networks, SVM, Trees, dll

Unsupervised Learning
Unsupervised learning adalah algoritma machine learning yang dalam proses belajarnya,
algoritma hanya diberikan sejumlah sampel masukan tanpa label (output yang benar). Sehingga
pada algoritma ini, tidak ada supervisor/pelatih yang membantu dalam menentukan apakah
kinerja dan output yang dihasilkan benar atau salah.
Contoh penggunaan algoritma ini adalah untuk segmentasi pasar. Misalkan suatu perusahaan X
memiliki data usia, gender, pekerjaan, tempat tinggal, frekuensi pembelian, dan kuantitas
pembelian dari pembeli produknya selama dua tahun terakhir. Data ini bisa digunakan oleh
perusahaan X untuk melakukan segmentasi pasar berdasarkan data-data tadi. Dengan algoritma
Unsupervised Learning, kita tidak perlu men-declare atau menetapkan ‘label’ atau ‘output yang
benar’. Kita tidak perlu melabeli pembeli dengan usia, gender, dan kriteria tertentu ke dalam
kelompok tertentu. Kita tidak perlu menentukan jumlah kelas/kelompok dan kriteria tiap
kelompok. Di sini algoritma machine learning akan melihat dan mempelajari pola-pola dari
karakteristik tiap data yang ada dan melakukan pengelompokan pembeli secara mandiri.
Untuk macam-macam algoritma unsupervised sendiri antara lain berdasarkan task/tujuan
algoritmanya:
Klustering: K-Means Clustering, Hierarchical Clustering
Association: Association Rules

Catatan DataMining - Betrand


3

Semi-Supervised Learning
Dalam praktiknya, tidak semua data memiliki data input dan output yang jumlahnya sama.
Terkadang ada kumpulan data yang memiliki variabel input, namun variabel outputnya hanya
ada sebagian. Untuk menyelesaikan kasus seperti ini, kita bisa menggunakan algoritma semi
supervised learning. Algoritma ini berada di tengah-tengah antara algoritma supervised dan
unsupervised learning. Cara kerja algoritma ini adalah dengan menggunakan teknik unsupervised
learning untuk menemukan dan mempelajari struktur dalam variabel input. Setelah itu, sistem
akan menggunakan algoritma supervised learning untuk membuat prediksi terbaik dari data tak
berlabel dan memasukkan kembali data tersebut ke algoritma supervised learning sebagai data
latih lalu menggunakan model tersebut untuk membuat prediksi baru dari data input baru.
Saya menemukan banyak sekali “kisah sukses” semi-supervised clustering dalam menyelesaikan
berbagai permasalahan di dunia nyata yang bersesuaian. Namun demikian, saya menemukan
banyak studi yang melaporkan kegagalan semi-supervised classification ketimbang
kesuksesannya.
Reinforcement Learning
Satu model dalam machine learning yang kekinian adalah Reinforcement Learning. Pada
reinforcement learning, terdapat dua komponen utama yaitu agent dan environment. Di
algoritma pembelajaran ini, agent ‘dipaksa’ untuk dengan sendirinya mempelajari bagaimana ia
harus bertindak menghadapi environment-nya untuk mencapai tujuannya. Di sini tidak ada
kumpulan dataset yang diberikan seperti pada Supervised Learning dan Unsupervised Learning.
Contohnya misal kita hendak membuat sebuah
machine yang dapat bermain catur melawan
Magnus Carlsen, sang Juara Catur Dunia. Tujuan
dari machine ini adalah memenangkan
pertandingan. Dengan Reinforcement Learning,
machine bertindak sebagai agent. Bagaimana cara
bermain catur, aturan mainnya, dan trik yang biasa
digunakan Magnus Carlsen adalah environment,
yang tentunya harus ia pelajari sendiri. Sehingga
dalam kasus ini, si machine pokoknya harus bisa
belajar dengan sendirinya meraba-raba
environment yang ada biar menang. Titik.
Dalam proses belajarnya sendiri ia akan belajar dari pengalaman-pengalaman yang ia peroleh
ketika bermain (tanpa kita ajarkan). Misalkan pengalaman ketika ia mendapatkan skak dari lawan
ataupun pengalaman ketika ia berhasil memakan benteng lawan. Dari pengalaman-pengalaman
ini, ia dipaksa belajar untuk memahami apa yang harus dan tidak boleh ia lakukan dalam
menghadapi lawan dan membuat strateginya sendiri agar menang.

Catatan DataMining - Betrand


4

Catatan DataMining - Betrand


5

Setelah mengetahui garis besar tipe algoritma-algoritma machine learning secara umum, berikut
ini sedikit penjelasan terkait contoh-contoh dari algoritma yang telah disebutkan di atas.

Catatan DataMining - Betrand


6

1. Logistic Regression
Algoritma ini biasa digunakan untuk menghitung nilai probabilitas, sehingga output yang
dihasilkan berada antara nilai 0 hingga 1. Contoh penggunaannya adalah proses pengajuan kredit
di bank. Biasanya pihak bank akan mengajukan sejumlah pertanyaan/kuisioner untuk menilai
kelayakan calon penerima kredit. Dari beberapa pertanyaan itulah nantinya pihak bank akan
memperhitungkan probabilitas calon penerima kredit akan mengembalikan pinjaman atau tidak.

2. Decision Trees
Algoritma jenis ini melakukan tugasnya dengan menggunakan konsep struktur flowchart
bercabang menggunakan decision rules atau aturan-aturan keputusan yang dibuat oleh
desainernya.

Ilustrasi Decision Tree dalam Klasifikasi (kiri) dan Decision Tree dalam Prediksi Numerik (kanan)

3. Random Forest
Random Forest merupakan kumpulan dari sejumlah Decision Tree. Oleh karena itu, prinsip dasar
random forest mirip dengan decision tree. Masing-masing decision tree akan menghasilkan
output (hasil) yang bisa saja berbeda-beda. Nah, random forest ini akan melakukan voting untuk
menentukan hasil mayoritas dari semua decision tree.
Bedanya, random forest akan memberikan output berupa mayoritas hasil dari semua decision
tree. Pusing ya? Mungkin bisa dilihat di ilustrasinya biar lebih jelas.

Catatan DataMining - Betrand


7

Ilustrasi Random Forest

4. K-Nearest Neighbors (KNN)


Seperti telah sedikit disinggung di tulisan sebelumnya, KNN pada prinsipnya akan
mengklasifikasikan data baru ke kelas tertentu berdasarkan jarak data baru tersebut dengan k
data terdekat.

Ilustrasi klasifikasi dengan KNN

Catatan DataMining - Betrand


8

5. Support Vector Machine (SVM)


Algoritma ini pada dasarnya dapat digunakan untuk melakukan pengelompokan
pada algoritma multidimensi. SVM mengelompokkan data menggunakan apa yang
disebut sebagai hyperplane (classifier/pemisah).

Ilustrasi SVM

6. Neural Network
Algoritma jenis ini terinspirasi dari cara kerja jaringan saraf manusia. Oleh karena itu, arsitektur
dari algoritma ini mirip dengannya. Secara garis besar, di algoritma ini tiap data pada suatu
“layer” akan diolah dan diteruskan ke “layer” berikutnya hingga ke layer terakhir (layer output).

Ilustrasi Neural Network

7. Naive Bayes
Algoritma ini menggunaan prinsip teorema Bayes. Sehingga pada proses pengolahan data,
masing-masing feature (feature itu semacam parameter, dalam kasus klasifikasi Iris, features-nya
antara lain adalah panjang dan lebar sepal dan petal) dianggap independen atau tidak terkait
satu sama lain.

Catatan DataMining - Betrand


9

8. Linear Regression
Sebagai ilustrasi, pada grafik dua dimensi, algoritma ini melakukan task prediksi suatu nilai
variabel dependent di sumbu y berdasarkan variabel independent di sumbu x. Pusing ya?

Ilustrasi Regresi Linier

9. K-Means Clustering (Unsupervised Learning)


Seperti namanya, algoritma ini biasa digunakan untuk kasus clustering. Cara kerja algoritma ini
mula-mula adalah dengan membentuk sejumlah k titik, yang disebut dengan centroid (dimana
nilai k merepresentasikan jumlah cluster). Kemudian titik-titik data (data points) yang ada akan
membentuk cluster dengan centroid terdekat darinya. Otomatis, titik pusat (centroid) akan
berubah seiring dengan pertambahan anggota tiap cluster-nya (yang mana adalah datapoints
tadi). Oleh karena itu, tiap-tiap cluster yang telah terbentuk akan ‘mencari’ titik centroid barunya.
Proses ini terus menerus dilakukan hingga diperoleh kondisi konvergensi, contohnya jika posisi
centroid sudah tidak berubah.

10. Hierarchical Clustering (Unsupervised Learning)


Secara prinsip, hierarchical clustering ini akan melakukan clustering secara berjenjang
berdasarkan kemiripan tiap data. Sehingga pada akhirnya, pada ujung hierarki akan terbentuk
cluster-cluster yang karakteristiknya berbeda satu sama lain, dan objek di satu cluster yang sama
memiliki kemiripan satu sama lain.

11.Association Rules (Unsupervised Learning)


Prinsip algoritma ini dalam melakukan tugasnya adalah dengan menemukan
probabilitas hubungan asosiasi antar data

Catatan DataMining - Betrand


10

Ilustrasi Hierarchical Clustering

Yaaaaa, itu tadi beberapa algoritma machine learning yang cukup sering digunakan
(atau setidaknya yang saya pelajari haha). Tentunya masih banyak lagi algoritma-
algoritma lainnya yang belum disebutkan.
Algoritma yang dipakai tentunya disesuaikan dengan tujuan pemakaiannya. Bisa
jadi suatu masalah dapat diselesaikan tidak hanya dengan satu algoritma saja.
Semua algoritma memiliki kelemahan dan kelebihannya masing-masing. Oleh
karena itu, kita dapat memilah-milah atau mengkombinasikan beberapa algoritma
dalam menyelesaikan masalah untuk memperoleh hasil yang maksimal.

Catatan DataMining - Betrand


11

Tips Memilih Algoritma


Memilih algoritma machine learning yang tepat untuk menyelesaikan masalah yang sedang kita
kerjakan merupakan bagian penting karena akan mempengaruhi hasil yang akan diperoleh.
Banyak algoritma machine learning yang dapat kita pilih untuk setiap tipe kasus yang ingin
diselesaikan. Namun, terkadang kita masih bingung hal-hal apa saja yang harus dipertimbangkan
dalam pemilihan algoritma machine learning.

1. Jenis kasus/masalah
Hal pertama yang harus diperhatikan dalam memilih algoritma machine learning adalah kita
harus paham masalah apa yang akan diselesaikan. Ada beberapa jenis masalah yang dapat
diselesaikan dengan machine learning, seperti regresi, klasifikasi, clustering, anomaly detection,
recommender, text analytic, dan image classification.
Setelah mengetahui masalahnya, barulah kita memilih opsi algoritma apa saja yang mungkin
dapat digunakan untuk menyelesaikan masalah tersebut dan mengeliminasi algoritma yang tidak
mungkin digunakan. Misalnya saat kita akan mengerjakan permasalahan klasifikasi, kita bisa
mengeliminasi Linear Regression dari pilihan karena algoritma Linear Regression hanya dapat
dipakai untuk menyelesaikan masalah regresi.

2. Ukuran training set


Untuk mendapatkan hasil prediksi yang baik dan akurat, biasanya kita direkomendasikan agar
memiliki data training dalam jumlah besar. Namun, terkadang ketersediaan data itu sendiri
terbatas. Jadi bagaimana mengakalinya?
Jika kita memiliki data training dengan jumlah yang sedikit tetapi memiliki banyak fitur, pilihlah
algoritma yang high bias/low variance seperti Linear SVM, Linear Regression, atau Naïve Bayes.
Namun, jika Anda memiliki data training dalam jumlah besar atau banyak dan fitur yang
digunakan juga banyak, maka pilihlah algoritma yang low bias/high variance seperti Decision
Tree, K-Nearest Neighbor (KNN) atau Kernel SVM.

3. Akurasi
Akurasi dalam machine learning merupakan ukuran keefektifan sebuah model sebagai proporsi
dari hasil yang benar atau sesuai dari total data yang ada. Namun kebutuhan skor akurasi sendiri
berbeda tergantung pada kasusnya. Terkadang kita hanya membutuhkan metode perkiraan
untuk mengurangi waktu proses dan menghindari overfitting.
Untuk mengetahui algoritma yang terbaik, Anda dapat membandingkan nilai akurasi dari model-
model yang menggunakan algoritma berbeda, namun menggunakan dataset yang sama.

Catatan DataMining - Betrand


12

4. Kecepatan waktu training


Seperti yang kita ketahui bahwa ada banyak algoritma yang dapat digunakan dalam machine
learning. Nah, algoritma-algoritma tersebut tentunya memiliki kecepatan waktu proses training
yang berbeda-beda. Ini mungkin terlihat ketika dataset yang digunakan berjumlah sangat banyak.
Linear Regression, Logistic Regression dan Support Vector Machine (SVM) adalah termasuk
algoritma-algoritma yang memiliki kecepatan yang baik.
Terlepas dari dampak yang mungkin ditimbulkan, algoritma semacam ini sangat populer untuk
digunakan sebagai pilihan pertama karena dinilai simple dan cepat dalam proses training.

5. Jumlah parameter
Parameter-parameter yang digunakan pada algoritma machine learning berperan penting dalam
membangun model machine learning yang baik. Parameter mempengaruhi bagaimana algoritma
tersebut akan bekerja, seperti menoleransi kesalahan, jumlah iterasi, atau berbagai pilihan
lainnya. Oleh karena itu, kombinasi dari parameter-parameter yang bisa digunakan juga perlu
dipertimbangkan untuk memilih algoritma machine learning yang baik.

6. Jumlah fitur
Di dalam machine learning, fitur merupakan variabel yang ingin dianalisis. Untuk beberapa jenis
data tertentu, jumlah fitur bisa sangat besar dibandingkan dengan jumlah datanya, misalnya
pada jenis data genetik dan data tekstual. Banyaknya jumlah fitur dapat memperlambat proses
training beberapa algoritma. Support Vector Machine (SVM) merupakan salah satu algoritma
yang cocok untuk jenis kasus seperti ini.
Mungkin segitu dulu tipsnya, beberapa informasi seperti algoritma SVM belum masuk kedalam
tipe algoritma diatas karena pemanfaatannya bisa beradaptasi dalam keluarga regresi dan
klasifikasi. Gambar dibawah ini menunjukan bahwa SVM masuk kedalam keluarga dari liniear
regression dan classification, yang mana akhir-akhir ini sudah ada development untuk
penggunaan nonlinear classification dengan memanfaatkan kernel tricks. Semoga mencerahkan..

Catatan DataMining - Betrand

Anda mungkin juga menyukai