Algoritma Machine Learning Klasifikasi
Support Vector Machine (SVM)
SVM adalah algoritma klasifikasi yang cukup populer karena berhasil melampaui beberapa algoritma canggih lainnya pada kasus tertentu, seperti digits recognition. Dalam istilah yang lebih sederhana, SVM adalah pengklasifikasi yang membuat batasan untuk memisahkan kelas-kelas yang berbeda. Data disebut support vektor untuk membantu membuat batasan.
Batasan itu disebut hyperplane atau pembagi. Ini dihitung berdasarkan dataset dan dengan mengukur margin terbaik dengan memindahkan hyperplane. Ketika data berada dalam dimensi yang lebih tinggi atau ketika ada data yang tidak dapat dipisahkan secara linear, kita akan menggunakan Kernel trick untuk menemukan hyperplane.
Perhitungan untuk mengukur hyperplane memang sulit, dan saya menyarankan membaca materi berikut di sini. Berikut adalah representasi gambar SVM.
Gambar 12. Ilustrasi SVM dapat dipisahkan dari hyperplane
Naive Bayes Classifier
Naive bayes classifier merupakan algoritma klasifikasi yang sangat sederhana berdasarkan apa yang disebut pada teorema bayesian. Algoritma ini memiliki satu sifat umum, yaitu setiap data diklasifikasikan tidak bergantung pada fitur lain yang terikat pada kelas atau biasa disebut dengan independen. Artinya, satu data tidak berdampak pada data yang lain. Meskipun algoritma ini merupakan algoritma yang tergolong sederhana, namun naive bayes dapat mengalahkan beberapa metode klasifikasi yang lebih canggih. Algoritma ini biasa digunakan untuk deteksi spam dan klasifikasi dokumen teks. Kelebihan algoritma ini adalah sederhana dan mudah diterapkan, tidak sensitif terhadap fitur yang tidak relevan, cepat, hanya membutuhkan sedikit data training, dan dapat digunakan untuk masalah klasifikasi multi-class dan biner.
Baca juga : 3 Jenis Algoritma Machine Learning yang Dapat Digunakan di Dunia Perbankan
Decision tree membangun model klasifikasi dan regresi dalam bentuk struktur pohon. Algoritma ini menguraikan kumpulan data menjadi himpunan bagian yang lebih kecil dan menghubungkannya menjadi pohon keputusan yang terkait. Tujuan utama dari algoritma decision tree adalah untuk membangun model pelatihan yang digunakan untuk memprediksi nilai variabel target dengan mempelajari aturan keputusan. Aturan ini disimpulkan dari data training yang sebelumnya telah diinput. Keuntungan algoritma ini adalah mudah dimengerti, mudah menghasilkan aturan, tidak mengandung hiper-parameter, dan model decision tree yang kompleks dapat disederhanakan secara signifikan dengan visualisasinya.
Hierarchical Clustering
Hierarchical Clustering adalah teknik clustering dengan algoritma Machine Learning yang membentuk hirarki atau berdasarkan tingkatan tertentu sehingga menyerupai struktur pohon. Dengan demikian proses pengelompokannya dilakukan secara bertingkat atau bertahap. Biasanya, metode ini digunakan pada data yang jumlahnya tidak terlalu banyak dan jumlah cluster yang akan dibentuk belum diketahui.
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.
Di dalam metode hirarki, terdapat dua jenis strategi pengelompokan yaitu Agglomerative dan Divisive. Agglomerative Clustering (metode penggabungan) adalah strategi pengelompokan hirarki yang dimulai dengan setiap objek dalam satu cluster yang terpisah kemudian membentuk cluster yang semakin membesar. Jadi, banyaknya cluster awal adalah sama dengan banyaknya objek. Sedangkan Divisive Clustering (metode pembagian) adalah strategi pengelompokan hirarki yang dimulai dari semua objek dikelompokkan menjadi cluster tunggal kemudian dipisah sampai setiap objek berada dalam cluster yang terpisah.
Baca juga : 3 Jenis Algoritma Machine Learning yang Dapat Digunakan di Dunia Perbankan
Support Vector Machine
Support Vector Machine atau biasa dikenal dengan algoritma SVM adalah algoritma machine learning yang digunakan untuk masalah klasifikasi atau regresi. Namun, aplikasi yang paling sering digunakan adalah masalah klasifikasi. Algoritma SVM banyak digunakan untuk mengklasifikasikan dokumen teknis misalnya spam filtering, mengkategorikan artikel berita berdasarkan topik, dan lain sebagainya. Keuntungan algoritma ini adalah cepat, efektif untuk ruang dimensi tinggi, akurasi yang bagus, powerful dan fleksibel, dan dapat digunakan di banyak aplikasi.
K-Nearest Neighbor (K-NN)
K-Nearest Neighbor atau K-NN adalah algoritma klasifikasi sederhana berbasis jarak data dan masalah optimasi Nearest Neighbor. Tidak seperti model-model sebelumnya, K-NN tidak mempelajari parameter seperti koefisien tetapi hanya menggunakan data aktual sebagai model.
Algoritma K-NN bertujuan untuk mengukur kedekatan data baru dibandingkan dengan data pelatihan yang telah dipelajari sebelumnya oleh model. Alih-alih mempelajari parameter apa pun, model menetapkan K jumlah observasi terdekat untuk mengklasifikasikan data baru.
Cara termudah untuk memahami cara kerja K-NN adalah dengan membayangkan model sebagai peta, dan setiap titik baru ditetapkan ke kelas baru dengan mayoritas jumlah K observasi terdekat menggunakan pengukuran jarak (seringkali Euclidean Distance).
Perhatikan gambar di bawah ini.
Gambar 13. Contoh model K-NN
Gambar di atas menunjukkan data aktual dari dua kelas yang berbeda (biru dan oranye). Bintang adalah data baru yang K-NN mencoba prediksi. Jika kita set K = 3, data baru akan mencari tiga data terdekat. Dengan menggunakan contoh di atas, data baru akan diklasifikasikan sebagai biru karena sebagian besar data terdekat adalah biru. Namun, jika kita meningkatkan K = 5, K-NN akan mengklasifikasikan data baru sebagai oranye karena mayoritas bergeser.
Sebagai catatan, jangan gunakan angka genap untuk K karena klasifikasi akan menjadi prediksi acak jika seri. Menemukan jumlah K yang optimal juga merupakan eksperimen, jadi cobalah mengevaluasi model pembelajaran mesin dengan metrik yang relevan.
Neural Networks adalah model machine learning yang didasarkan pada otak saraf manusia, dan model ini adalah subset dari machine learning yang fokus pada deep learning method. Secara lebih rinci, neural network biasanya terdiri dari tiga komponen simpul (node):
Mari kita lihat gambar di bawah ini untuk mendapatkan detail lebih mendalam.
Gambar 14. Model Neural Network
Secara umum, Anda bisa memiliki jumlah hidden layer yang tak terbatas untuk meningkatkan algoritma. Namun, lebih banyak node berarti daya komputasi dan waktu pelatihan yang semakin tinggi. Jadi, tidak baik jika meningkatkan jumlah layer terlalu tinggi.
Neural network menghitung prediksi dengan menghitung data melalui layer. Data diproses dalam hidden layer node di mana setiap node terdiri dari dua fungis: linear function, dan activation function. Anggaplah fungsi linear sebagai model linear, dan activation function adalah fungsi yang memperkenalkan non-linearitas ke model. Untuk menyelaraskan perhitungan, metode backpropagation digunakan.
Singkatnya, setiap data di layer input akan melewati hidden layer, dan fungsi akan membuat nilai output.
Neural network sering digunakan untuk prediksi data tidak terstruktur, seperti data gambar, teks, atau audio, karena neural network dapat mengonsumsi data ini. Ini juga memungkinkan banyak kasus penggunaan, seperti image recognition, text recognition, dll.
Model machine learning adalah algoritma yang dirancang untuk mempelajari data dan membuat output yang menyelesaikan masalah manusia. Klasifikasi dalam machine learning berkaitan dengan hasil prediksi diskrit.
Kita telah membahas tujuh algoritma klasifikasi berbeda, yaitu:
Support Vector Machine (SVM)
K-Nearest Neighbour (K-NN)
Saat ini, perusahaan berteknologi besar maupun kecil, semua bersaing untuk mewujudkan teknologi paling canggih. Kamu pasti pernah mendengar atau membaca bacaan yang membahas tentang perusahaan berteknologi berskala besar. Hal tersebut pasti tidak jauh dengan istilah yang digunakan pada teknologi seperti, Data Science, AI (Artificial Intelligence), Machine Learning, Deep Learning, hingga Natural Language Processing.
Dalam dunia Data Science, kita dapat membuat model Machine Learning menggunakan beberapa bahasa di antaranya adalah Python. Python saat ini masih menjadi bahasa yang sangat digemari oleh banyak pihak. Hasil belajar Machine Learning dengan python banyak sekali menghasilkan tools yang membantu dalam kemudahan interaksi bahkan mempersingkat kerja manusia.
Tipe tipe algoritma pada Machine Learning terdiri dari Unsupervised Learning, Supervised Learning dan Semi Supervised Learning. Seperti yang pernah dibahas di artikel lainnya, Machine Learning tanpa data maka tidak akan bisa bekerja. Oleh sebab itu, hal yang pertama kali perlu disiapkan adalah data. Untuk menghasilkan pola atau suatu kesimpulan yang diinginkan, algoritma pada Machine Learning menghasilkan suatu model yang didasari sebuah data. 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!
Belajar Algoritma machine learning Beserta Tools-nya
Di era big data, machine learning merupakan salah satu teknologi yang banyak dicari. Hal ini menyebabkan meningkatnya minat belajar algoritma machine learning. Karena sebagian besar menggunakan data berukuran besar, maka tools yang digunakan pun tidak sembarangan dan perlu keahlian untuk mengaplikasikan tools tersebut. Ingin belajar machine learning beserta tools-nya? Yuk bergabung bersama DQLab! Kursus belajar data DQLab memiliki berbagai modul yang berisi bermacam-macam metode machine learning dengan tools yang banyak digunakan oleh data scientist profesional. Tunggu apa lagi? Klik button di bawah ini dan nikmati modul gratis DQLab sebagai pijakan awal dalam belajar algoritma machine learning. Selamat belajar!
Penulis: Galuh Nurvinda K
Editor: Annissa Widya Davita
Machine learning merupakan pembelajaran mesin yang mempelajari beberapa hal di dalamnya seperti algoritma, ilmu statistik, dan lainnya. Machine learning merupakan teknologi bagian dari Artificial Intelligence. Ketika seseorang melakukan proses pengolahan data, sebagian besar orang membutuhkan algoritma machine learning untuk menyelesaikan atau mencari solusi dari permasalahan data yang ada. Algoritma machine learning pun sangat beragam dan digunakan sesuai dengan masalah data yang sesuai.
Algoritma sendiri merupakan suatu proses langkah demi langkah yang tersusun untuk menyelesaikan permasalahan. Algoritma machine learning sendiri sangat beragam dan sudah sering digunakan untuk menyelesaikan permasalahan data dalam berbagai bidang seperti kesehatan, pendidikan, bisnis, keuangan, dan masih banyak lainnya. Kira-kira apa saja ya algoritma machine learning yang cukup sering digunakan dan bagaimana cara kerja machine learning? Yuk, simak artikel berikut ini!
Naive Bayes merupakan salah satu algoritma supervised learning yang sederhana dan cukup sering digunakan. Algoritma ini menggunakan dasar Teori Bayes di dalamnya. Algoritma ini memiliki data training (data yang sudah terdapat label kelas) dan data testing (data yang belum memiliki label kelas). Algoritma Naive Bayes bekerja dengan cara memaksimalkan nilai suatu kelas. Kelas yang memiliki probabilitas tertinggi akan masuk ke dalam salah satu dari label-label yang tersedia.
Baca juga : 3 Jenis Algoritma Machine Learning yang Dapat Digunakan di Dunia Perbankan
Jika pada algoritma supervised learning salah satu tujuan kita adalah untuk mengetahui label kelas pada data, maka pada unsupervised learning tidak berlaku demikian. K-Means merupakan salah satu algoritma supervised learning yang mana cara kerjanya adalah mengklaster atau mengelompokkan data sesuai dengan karakteristik atau kemiripan data menjadi beberapa klaster sesuai dengan nilai k yang telah ditentukan. Pada algoritma ini dibutuhkan centroid atau nilai pusat serta menghitung jarak kedekatan data dengan centroid. Algoritma ini dilakukan secara berulang sampai tidak ada perubahan anggota dalam masing-masing kelompok.
KNN atau K-Nearest Neighbour merupakan salah satu algoritma supervised learning yang mengklasifikasikan atau mengelompokkan data ke dalam beberapa kelompok berdasarkan kemiripan sifat dari data. Algoritma ini hampir mirip dengan algoritma K-Means, yang membedakan adalah pada K-Means melakukan proses clustering sedangkan pada KNN melakukan proses klasifikasi. Terkadang orang menyebut algoritma ini dengan sebutan algoritma malas dikarenakan pada algoritma ini tidak mempelajari cara mengkategorikan data akan tetapi hanya mengingat data yang sudah ada.
Algoritma Klasifikasi pada Machine Learning
Kita telah memahami dasar untuk setiap sistem machine learning dan bagaimana masalah yang berbeda memerlukan algoritma yang berbeda. Secara umum, sebagian besar masalah di industri adalah masalah klasifikasi, sehingga akan berguna bagi kita untuk memahami lebih lanjut tentang algoritma klasifikasi.
Mari kita pahami tujuh algoritma klasifikasi yang paling sering digunakan dan kapan masing-masing algoritma bisa digunakan.
Model machine learning adalah algoritma yang dirancang untuk mempelajari data dan membuat output yang memecahkan masalah manusia. Apa itu algoritma klasifikasi dalam machine learning, dan seberapa berguna setiap model dalam menyelesaikan masalah bisnis kita?
Random Forest Classifier
Algoritma Random Forest Classifier merupakan salah satu algoritma klasifikasi machine learning yang paling populer. Seperti namanya, algoritma ini bekerja dengan cara membuat hutan pohon secara acak. Semakin banyak pohon yang dibuat, maka hasilnya akan semakin akurat. Dasar dari algoritma random forest adalah algoritma decision tree. Keuntungan dari algoritma ini adalah dapat digunakan u8ntuk rekayasa fitur seperti mengidentifikasi fitur yang paling penting diantara semua fitur yang tersedia dalam dataset training, bekerja sangat baik pada database berukuran besar, sangat fleksibel, dan memiliki akurasi yang tinggi.
Baca juga : Belajar Data Science: Pahami Penggunaan Machine Learning pada Python
Reinforcement Learning
Reinforcement learning adalah sistem machine learning yang melakukan tugas dengan memaksimalkan reward melalui tindakan tertentu. Reinforcement learning menggunakan agen untuk mengamati keadaan lingkungan tertentu dan memilih suatu keadaan untuk bertindak. Tindakan akan menghasilkan reward atau penalty tergantung pada pilihan tersebut. Reinforcement learning akan mendorong algoritma untuk menemukan strategi terbaik dalam memaksimalkan reward. Keputusan tersebut kemudian akan menjadi agen dalam suatu lingkungan tertentu.
Kita sering menggunakan reinforcement learning ketika kita tidak memiliki banyak data atau mendapatkan data dengan berinteraksi dengan lingkungan. Contoh reinforcement learning adalah self-driving car dan AI Chess.