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!
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.
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?
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
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
A Structured Approach to Learning Data Science
The Machine Learning Specialization is an 8-week bundle curated to accelerate a student’s mastery in building data products, developing machine learning models, and understanding the core components that form most of industrial-grade AI today.
Students are not assumed to have a working knowledge of R or prior proficiency in statistics/mathematics/algebra. The workshop follows a gentle learning curve and emphasizes hands-on, one-to-one tutoring from our team of instructors and teaching assistants.
Throughout the course of the Academy, you will learn to build, evaluate and deploy your data science products, one project after another.
Algoritma machine learning adalah metode dimana sistem artificial intelligence mengerjakan tugasnya secara otomatis. Umumnya algoritma machine learning ini digunakan untuk memprediksi nilai output dari input yang diberikan. Dua proses utama dari algoritma machine learning adalah klasifikasi dan regresi. Algoritma machine learning sendiri dibagi menjadi dua, yaitu supervised dan unsupervised learning. Supervised learning membutuhkan data input dan data output yang diinginkan dan digunakan untuk membuat pelabelan, sedangkan algoritma unsupervised learning bekerja dengan data yang tidak diklasifikasikan atau tidak diberi label. Contoh algoritma unsupervised learning adalah pengelompokan atau clustering data yang tidak difilter berdasarkan persamaan dan perbedaan. Pada artikel kali ini, kita akan membahas algoritma supervised learning, yaitu algoritma klasifikasi.
Terkadang sulit memutuskan algoritma machine learning mana yang paling baik untuk klasifikasi diantara banyaknya pilihan dan jenis algoritma klasifikasi yang ada. Namun, ada algoritma klasifikasi machine learning yang paling baik digunakan dalam masalah atau situasi tertentu. Algoritma klasifikasi ini digunakan untuk klasifikasi teks, analisis sentimen, deteksi spam, deteksi penipuan, segmentasi pelanggan, dan klasifikasi gambar. Pilihan algoritma yang sesuai bergantung pada kumpulan data dan tujuan yang akan dicapai. Lalu apa saja algoritma klasifikasi terbaik tersebut? Yuk simak artikel kali ini hingga akhir!
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.
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.
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
%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+Ï