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.
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.
Mulai Belajar Menjadi Data Scientist dari Sekarang!
Tahukah kalian bahwa data scientist kini sangat banyak diminati oleh berbagai kalangan. Data scientist merupakan profesi terseksi di abad ini serta gaji dan jenjang karirnya pun cukup menjanjikan. Jadi, Untuk mengetahui lebih lanjut terkait data scientist kita dapat mempelajarinya di DQLab lohh. Caranya sangat mudah, yaitu cukup signup di DQLab dan nikmati momen belajar gratis bersama DQLab dengan mengakses module gratis dari R, Python atau SQL!
Penulis : Latifah Uswatun Khasanah
Editor : Annissa Widya Davita
A. M. Argina, “Penerapan Metode Klasifikasi K-Nearest Neigbor pada Dataset Penderita Penyakit Diabetes,†Indonesian Journal of Data and Science, vol. 1, no. 2, 2020, doi: 10.33096/ijodas.v1i2.11.
D. Sisodia and D. S. Sisodia, “Prediction of Diabetes using Classification Algorithms,†in Procedia Computer Science, 2018, vol. 132. doi: 10.1016/j.procs.2018.05.122.
D. Tomar and S. Agarwal, “A survey on data mining approaches for healthcare,†International Journal of Bio-Science and Bio-Technology, vol. 5, no. 5, 2013, doi: 10.14257/ijbsbt.2013.5.5.25.
D. A. Agatsa, R. Rismala, and U. N. Wisesty, “Klasifikasi Pasien Pengidap Diabetes Metode Support Vector Machine,†e-Proceeding of Enginering, vol. 7, no. 1, 2020.
D. A. Nasution, H. H. Khotimah, and N. Chamidah, “Perbandingan Normalisasi Data untuk Klasifikasi Wine Menggunakan Algoritma K-NN,†Computer Engineering, Science and System Journal, vol. 4, no. 1, 2019, doi: 10.24114/cess.v4i1.11458.
H. Henderi, “Comparison of Min-Max normalization and Z-Score Normalization in the K-nearest neighbor (kNN) Algorithm to Test the Accuracy of Types of Breast Cancer,†IJIIS: International Journal of Informatics and Information Systems, vol. 4, no. 1, 2021, doi: 10.47738/ijiis.v4i1.73.
I. M. K. Karo, A. Khosuri, and R. Setiawan, “Effects of Distance Measurement Methods in K-Nearest Neighbor Algorithm to Select Indonesia Smart Card Recipient,†2021. doi: 10.1109/ICoDSA53588.2021.9617476.
B. Muhamad Akbar, A. T. Akbar, and R. Husaini, “Analisis Sentimen dan Emosi Vaksin Sinovac pada Twitter menggunakan Naïve Bayes dan Valence Shifter,†Jurnal Teknologi Terpadu, vol. 7, no. 2, pp. 83–92, 2021.
F. W. Townes, S. C. Hicks, M. J. Aryee, and R. A. Irizarry, “Feature selection and dimension reduction for single-cell RNA-Seq based on a multinomial model,†Genome Biol, vol. 20, no. 1, 2019, doi: 10.1186/s13059-019-1861-6.
A. Rana and R. Pandey, “A review of popular decision tree algorithms in data mining,†Asian Journal of Multidimensional Research, vol. 10, no. 10, 2021, doi: 10.5958/2278-4853.2021.00837.5.
I. M. K. Karo, M. Y. Fajari, N. U. Fadhilah, and W. Y. Wardani, “Benchmarking Naïve Bayes and ID3 Algorithm for Prediction Student Scholarship,†IOP Conf Ser Mater Sci Eng, vol. 1232, no. 1, p. 012002, Mar. 2022, doi: 10.1088/1757-899X/1232/1/012002.
I. M. Karo Karo, S. Nadia Amalia, dan Dian Septiana, P. Ilmu Komputer, and P. Matematika, “Klasifikasi Kebakaran Hutan Menggunakan Feature Selection dengan Algoritma K-NN, Naive Bayes dan ID3,†Journal of Software Engineering, Information and Communication Technology, vol. 3, no. 1, pp. 121–126, 2022.
I. M. Karo Karo, M. F. M. Fudzee, S. Kasim, and A. A. Ramli, “Sentiment Analysis in Karonese Tweet using Machine Learning,†Indonesian Journal of Electrical Engineering and Informatics, vol. 10, no. 1, pp. 219–231, Mar. 2022, doi: 10.52549/ijeei.v10i1.3565.
%PDF-1.5 %µµµµ 1 0 obj <>>> endobj 2 0 obj <> endobj 3 0 obj <>/XObject<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 22 0 R 23 0 R 24 0 R] /MediaBox[ 0 0 595.32 841.92] /Contents 4 0 R/Group<>/Tabs/S/StructParents 0>> endobj 4 0 obj <> stream xœµ<Û’Û6²ï®ò?°NÕVI[#q!f·¶Ö—8vÏzÇ““ï>p4 3i,QNÍþôþÂén $A�ʩIJ6Ý�¾ôù‹]]ÝË:úë_Ï_Ôu±¼+o¢ÏçWÛÇŸ_==–ç‹Uµ)êj»9ÿt¸®qèmYÜ”»¿ý-zùúUôòêù³ó7,b,Ndtuûü‹ø�E)Kb!#-X,utõðüYðã‡çÏ>Ï¢ù¿£«Ÿ?ûæyþìŸÏŸ!&7Whç,ÒLÇJÒÜϳOõ¡3ǃÎuÌ…}SÎõl3W³z¾�³è²Ü—Å\Ìvs9[ÞEðíGø¶…?BÀb@ïé¢?A~ÊãJÒXi;ãízk\ó¡œ/Ä,†¯lžÎÎàïèèÅçq€ ÉYÌR§ Âf±ê…`ErDëk �ÏöåÃ5TîB3q“&.¢eì-`Õ4Í¢«åçO¸8!ûÎÌ„æoÀù> ‰\&q*¢,ç±vø}`A.U¬sv‚M“X1öÝ<Ÿ}ÂÍý4Ïfø%ú”+â¹’!õMäšÐ’"ѱè±"x:gÉŒG7Å´)úš«X,&²&T³>kŸ ;ñæñ5gbäM²MsÒš’Ðo*‰žEoÁd‹uP¿²$æÊŸÊ%J%h"ZÇéDº ˆór…ÈYoƨ#ôæ«/CçÈ3ðd ö,CŸÉE,#F³våóg·Ur75�uÇÝ‚1ÿãÝw!¹‰„‘êu&Å ËUÃ@g`¢»Õàð%ùñ»º~Ü£·ø6èüüµa[�¢Ä[Ý@IÎA (.PS6KU¢Îñ×óîWxþ^¦x|¬bT«¯ä° 5ïÒ<âuçÒ‡ :X»Í]X�„Èv·±]‘ã8 Œ¾]ź€|›� T+Ï
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.
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
Unsupervised Learning
Kita dapat mebayangkan unsupervised learning sebagai usaha cara menemukan variabel-variabel tertentu dari data. Seperti namanya, unsupervised learning machine learning tidak memiliki pengawasan atau panduan dari manusia dalam mempelajari data. Sebaliknya, mesin diharapkan menghasilkan solusi berdasarkan pembelajaran algoritma.
Unsupervised learning dimaksudkan untuk mengeksplorasi data dan menghasilkan output berdasarkan pembelajaran algoritma. Algoritma memberi umpan dari data training tanpa label dan menghasilkan learning output. perhatikan contoh hasil unsupervised learning dengan algoritma K-Means.
Gambar 2. Hasil unsupervised learning dengan K-Means
Hasil di atas adalah algoritma Clustering yang digunakan untuk mengelompokkan data ke dalam sejumlah group. Pemanfaatan lain dari unsupervised learning adalah Dimensionality Reduction yang menyederhanakan data tanpa kehilangan terlalu banyak informasi dari data asli.
Apa Perbedaan Antara Supervised, Unsupervised, dan Reinforcement Learning?
Machine learning adalah bidang studi dimana manusia mencoba memberikan kemampuan kepada mesin untuk belajar dari data secara eksplisit. Mesin inilah yang kita sebut model machine learning dan yang kita gunakan untuk menyelesaikan masalah kita. Ada berbagai bentuk aplikasi machine learning di industri, misalnya: face recognition machine dan email spam detection adalah aplikasi model machine learning.
Mengetahui model machine learning mana yang harus diterapkan dalam setiap use case sangat penting karena tidak semua model dapat diaplikasikan untuk setiap use case. Model yang sesuai akan meningkatkan metrik model kita.
Machine learning adalah bidang yang luas dengan banyak istilah yang digunakan di dalamnya. Untuk memberikan pemahaman yang jelas tentang apa itu algoritma klasifikasi, pertama-tama kita perlu membahas tentang tiga sistem machine learning yang berbeda berdasarkan pengawasan manusia; Supervised, Unsupervised, dan Reinforcement Learning?
Supervised Learning adalah model machine learning yang menggunakan data training dari manusia yang mencakup solusi yang diinginkan. Data training sudah berisi jawaban untuk masalah yang ingin kita selesaikan, dan mesin diharapkan meniru pola pada input data (prediktor) untuk menghasilkan output yang serupa.
Contoh data training untuk Supervised Learning adalah sebagai berikut:
Gambar 1. Data training untuk Supervised Learning
Ada dua typical tasks dari supervised learning; Klasifikasi dan Regresi. Apa perbedaan di antara keduanya? Pada dasarnya, perbedaannya berasal dari hasil prediksi.
Algoritma klasifikasi berfokus pada hasil prediksi diskrit, misalnya, prediksi Churn (keluar atau tidak), Heart Disease (terpengaruh oleh penyakit jantung atau tidak), dll.
Sebaliknya, algoritma regresi berfokus pada hasil prediksi numerik di mana hasilnya tidak terbatas pada kelas tertentu, misalnya: harga rumah, jarak mobil, penggunaan energi, dll.
Support Vector Machine
SVM (Support Vector Machine) adalah algoritma klasifikasi yang memiliki kinerja yang bagus, tingkat keakuratan yang dinilai cukup tinggi untuk pengklasifikasian data, dan error rate yang dihasilkan minimum. Adapun keuntungan dari algoritma SVM adalah dapat menentukan hyperplane atau pemisah dengan memilih bidang yang memiliki optimal margin maka generalisasi pada SVM dapat terjaga dengan sendirinya, tingkat generalisasi pada SVM tidak dipengaruhi oleh jumlah data latih , dengan menentukan parameter soft margin, noise dapat dikontrol pada kesalahan klasifikasi sehingga proses pelatihan menjadi jauh lebih ketat.
Algoritma KNN atau sering disebut K-Nearest Neighbor merupakan algoritma yang melakukan klasifikasi berdasarkan kedekatan jarak suatu data dengan data yang lain. Dekat atau jauh suatu jarak dihitung berdasarkan jarak Euclidean. KNN merupakan salah satu algoritma non parametrik yang digunakan dalam pengklasifikasian. Selain naive bayes, algoritma KNN juga menjadi algoritma pengklasifikasian yang terkenal dengan tingkat keakuratan yang baik. Keuntungan dari algoritma KNN adalah sangat nonlinear, lebih mudah dipahami dan diimplementasikan karena kita cukup mendefinisikan fungsi untuk menghitung jarak antar-instance, menghitung jarak x dengan semua instance lainnya berdasarkan fungsi tersebut dan menentukan kelas x sebagai kelas yang paling banyak muncul di k-instance.
Baca juga : Belajar Data Science: Pahami Penggunaan Machine Learning pada Python
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
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.