Machine Learning | 41 4. DEPLOYMENT MODEL adalah tahap penting dalam Machine Learning Lifecycle yang melibatkan implementasi model machine learning ke dalam lingkungan produksi atau aplikasi nyata. Model yang telah melalui tahap pelatihan, validasi, dan penyetelan parameter siap digunakan untuk membuat prediksi dan pengambilan keputusan berdasarkan data yang masuk. Proses deployment memerlukan integrasi yang baik dengan infrastruktur yang ada dan memerhatikan aspek keamanan dan privasi data. Model yang diimplementasikan menjadi inti dari solusi yang dapat memberikan nilai tambah dalam berbagai konteks, mulai dari bisnis hingga kesehatan dan lainnya. Kualitas implementasi yang baik adalah kunci dalam keberhasilan proyek machine 5. MONITORING adalah tahap penting dalam Machine Learning Lifecycle yang terjadi setelah model dikembangkan. Ini melibatkan pemantauan terus-menerus terhadap performa model dalam produksi. Data masukan dan keluaran dievaluasi secara berkala untuk mendeteksi perubahan dalam lingkungan operasional. Jika model mengalami degradasi performa atau ada masalah, tindakan perbaikan dapat diambil. Monitoring adalah langkah yang kritis untuk memastikan model tetap akurat dan sesuai dengan tujuan bisnis seiring waktu. Ini memastikan bahwa model machine learning tetap menjadi alat yang relevan dan efektif dalam membuat keputusan yang berkualitas learning. Pemahaman yang kuat tentang Machine Learning Lifecycle sangat penting karena:
42 | Machine Learning 1. Meminimalkan Risiko: Memiliki siklus yang terstruktur membantu mengidentifikasi risiko dan masalah lebih awal dalam proses pengembangan model. 2. Meningkatkan Kualitas Model: Dengan mengikuti tahapan yang terstruktur, Anda dapat memastikan bahwa model yang dihasilkan memiliki kualitas yang baik. 3. Menghemat Waktu dan Sumber Daya: Siklus yang baik akan membantu menghindari upaya yang sia-sia dan pemborosan sumber daya. 4. Meningkatkan Kepatuhan dan Keamanan: Ketika Anda mengimplementasikan model dalam skala produksi, pemahaman siklus ini dapat membantu memastikan kepatuhan dan keamanan yang tepat. Dengan demikian, Machine Learning Lifecycle adalah dasar penting untuk kesuksesan dalam memanfaatkan kecerdasan buatan dalam berbagai aspek kehidupan kita. Dengan memahami siklus ini, kita dapat mengoptimalkan proses pengembangan model machine learning dan meraih manfaat penuh dari teknologi ini. Revolusi Machine Learning adalah salah satu tonggak paling menonjol dalam dunia teknologi modern. Ia membawa perubahan mendasar dalam cara kita memproses, menganalisis, dan memahami data. Ketika kita membahas revolusi ini, tidak hanya berbicara tentang perkembangan teknologi, tetapi juga tentang transformasi mendasar dalam cara kita berinteraksi dengan dunia di sekitar kita. Machine learning, yang merupakan cabang dari kecerdasan buatan, memungkinkan sistem komputer untuk belajar dari data dan mengambil keputusan cerdas tanpa perlu diprogram secara eksplisit. Ini adalah konsep yang kuat yang telah membuka berbagai pintu dalam berbagai industri. Apa yang dimulai sebagai
Machine Learning | 43 ilmu komputer eksperimental telah berkembang menjadi kekuatan pendorong inovasi di hampir semua aspek kehidupan kita. Meskipun konsep machine learning telah ada selama beberapa dekade, perkembangan dan kemajuan dalam komputasi serta ketersediaan data yang melimpah telah mempercepat pertumbuhan disiplin ini. Pada 1950-an, para peneliti pertama kali mencoba memprogram komputer untuk "belajar" dari data, tetapi keterbatasan komputasi pada saat itu membuat kemajuan sangat lambat. Pada tahun 1990-an, terutama dengan munculnya internet, data mulai berkembang pesat. Inilah yang memungkinkan machine learning untuk menjadi lebih kuat. Algoritma yang lebih canggih dan model statistik yang lebih rumit dikembangkan, memungkinkan sistem untuk mengenali pola dalam data dan menghasilkan hasil yang lebih akurat. Selain itu, perkembangan dalam arsitektur perangkat keras juga memberikan dorongan signifikan. Prosesor grafis (GPU) yang kuat membantu dalam pelatihan model machine learning dengan cepat dan efisien. Ini adalah salah satu faktor yang memungkinkan model deep learning menjadi begitu sukses, termasuk jaringan saraf tiruan yang mendalam. Revolusi Machine Learning telah merambah hampir semua aspek kehidupan kita. Berikut adalah beberapa bidang
44 | Machine Learning kunci di mana teknologi ini memiliki dampak yang signifikan: Kesehatan, Machine learning digunakan dalam pengobatan modern untuk diagnosis penyakit, peramalan penyakit, dan bahkan perawatan pasien. Ini membantu dokter dalam pengambilan keputusan yang lebih baik dan memberikan solusi yang lebih efektif dalam perawatan kesehatan. Otomotif, Kendaraan otonom adalah salah satu aplikasi yang paling mencolok dari machine learning. Mobil dapat mengenali rute, menghindari tabrakan, dan bahkan mengemudi sendiri dalam beberapa situasi. Keuangan, Dalam industri keuangan, machine learning digunakan untuk mengidentifikasi pola penipuan, menganalisis risiko kredit, dan memprediksi pergerakan pasar. Ini memungkinkan lembaga keuangan untuk mengambil keputusan yang lebih cerdas dan mengurangi kerugian. Pendidikan, Machine learning digunakan dalam pendidikan untuk membuat kurikulum yang disesuaikan, memprediksi keberhasilan siswa, dan bahkan memberikan bantuan pembelajaran yang personal. Perdagangan dan E-niaga, Dalam perdagangan dan e-niaga, machine learning digunakan untuk merekomendasikan produk kepada pelanggan, mengoptimalkan rantai pasokan, dan memahami perilaku konsumen. Layanan Pelanggan, Banyak perusahaan menggunakan chatbot yang diperkuat oleh machine learning untuk memberikan dukungan pelanggan 24/7. Ini meningkatkan layanan pelanggan dan mengurangi biaya operasional. Analisis Data, Dalam analisis data, machine learning digunakan untuk mengidentifikasi pola dalam data besar dan kompleks. Ini memungkinkan perusahaan untuk mengambil
Machine Learning | 45 keputusan yang lebih cerdas berdasarkan informasi yang ditemukan dalam data. Machine learning memungkinkan komputer untuk memahami pola dalam data, belajar dari pengalaman, dan mengambil keputusan cerdas. Teknik-teknik ini memungkinkan mesin untuk mengenali gambar, menafsirkan teks, dan bahkan bermain catur melawan pemain manusia yang paling mahir. Ini adalah revolusi dalam pemrosesan data, dan dampaknya dirasakan dalam banyak sektor, termasuk bisnis, kesehatan, finansial, dan banyak lagi. Namun, kesuksesan machine learning tidak terjadi dengan sendirinya. Di balik setiap model cerdas yang menghasilkan hasil yang memukau, ada proses yang sangat terstruktur yang memandu pengembangan dan penerapan model-machine tersebut. Inilah tempat Machine Learning Lifecycle hadir sebagai panduan penting. Revolusi Machine Learning tidak hanya mengubah cara kita berinteraksi dengan dunia, tetapi juga bagaimana kita mengembangkan dan menerapkan solusi machine learning. Machine Learning Lifecycle adalah panduan yang mendasar dalam pengembangan model machine learning yang efektif dan sukses. Seiring dengan perkembangan teknologi dan perluasan penerapan machine learning, penting untuk memiliki proses yang terstruktur untuk memandu perjalanan dari identifikasi masalah hingga implementasi model. Machine Learning Lifecycle memungkinkan para praktisi dan peneliti untuk menghindari kesalahan yang mahal, memaksimalkan hasil,
46 | Machine Learning dan memberikan nilai nyata dalam berbagai aspek kehidupan kita. Dalam panduan ini, kita akan menjelajahi setiap tahapan Machine Learning Lifecycle, dari identifikasi masalah hingga implementasi dan pemeliharaan model. Kita akan menggali lebih dalam tentang pentingnya setiap langkah dalam proses ini dan bagaimana mereka berkontribusi pada kesuksesan proyek machine learning. Selama kita melanjutkan perjalanan revolusi machine learning ini, penting untuk memiliki pemahaman yang kuat tentang bagaimana teknologi ini digunakan dan diimplementasikan. Machine Learning Lifecycle membantu kita memahami dan mengikuti langkah-langkah kunci dalam proses ini sehingga kita dapat meraih manfaat penuh dari teknologi yang sedang berkembang pesat ini.
Machine Learning | 47 5 Klasterisasi K-Means
48 | Machine Learning Klasterisasi memiliki peran yang signifikan dalam konteks machine learning, khususnya dalam domain pembelajaran tanpa pengawasan (unsupervised learning) [1]. Dalam machine learning, tujuan utama dari klasterisasi adalah untuk mengelompokkan data menjadi kelompok-kelompok atau klaster berdasarkan pola atau kesamaan tertentu di antara entitas data tersebut [2]. Konteks klasterisasi dalam machine learning mencakup beberapa aspek kunci yang perlu dipahami untuk memahami kontribusinya terhadap proses pembelajaran mesin secara keseluruhan. Klasterisasi sering digunakan dalam pembelajaran tanpa pengawasan karena tidak memerlukan label kelas yang sudah diketahui. Dalam kasus ini, algoritma klasterisasi seperti k-means membantu mengidentifikasi pola dan struktur yang mungkin tidak terlihat secara langsung [1]. Klasterisasi juga membantu dalam menemukan struktur intrinsik dari data, mengungkapkan pola dan hubungan yang mungkin tidak terdeteksi oleh pengamatan langsung [3]. Dalam industri dan bisnis, klasterisasi dapat digunakan untuk segmentasi pelanggan, membantu perusahaan membuat strategi pemasaran yang lebih terfokus dan personal [4]. Analisis geospasial juga dapat memanfaatkan klasterisasi untuk mengidentifikasi pola spasial dalam data, seperti pengelompokan area berdasarkan pola curah hujan, suhu, atau faktor lingkungan lainnya [5]. Sebagai langkah prapemrosesan, klasterisasi dapat membantu mengurangi dimensi data, memudahkan interpretasi, dan mempersiapkan data untuk tahap selanjutnya dalam proses pembelajaran mesin [6]. Hasil klasterisasi dapat digunakan sebagai fitur tambahan dalam model pembelajaran mesin,
Machine Learning | 49 meningkatkan kinerja model dengan memberikan informasi tambahan tentang struktur data [7]. Dengan menyediakan metode untuk mengelompokkan dan memahami hubungan antar data, klasterisasi memainkan peran integral dalam mendukung tujuan pembelajaran mesin, baik untuk analisis ekploratif data maupun pengembangan model prediktif [2]. Dalam bagian ini akan berfokus pada pembahasan mengenai klasterisasi menggunakan metode K-Means. Pembahasan akan dimulai dari sperti apa alur kerja dari algoritma K-Means, contoh perhitungan algoritma K-Means dan evaluasi model. Konsep dasar klasterisasi menitikberatkan pada ide pengelompokan entitas data berdasarkan kemiripan karakteristik atau atribut tertentu. Dengan kata lain, objekobjek yang mirip atau serupa satu sama lain dikelompokkan bersama dalam satu klaster, sementara objek yang berbeda secara signifikan ditempatkan dalam klaster yang berbeda. Dalam klasterisasi, pusat klaster berperan penting. Pusat klaster adalah representasi pusat atau titik pusat dari kelompok entitas data di dalam suatu klaster. Pemilihan dan pembaruan pusat klaster adalah langkah-langkah kunci dalam algoritma klasterisasi, dan mereka menentukan kesamaan antara entitas data dan klaster [3]. Penentuan jarak atau kemiripan antara entitas data adalah aspek sentral dari klasterisasi. Metrik jarak, seperti jarak Euclidean atau Mahalanobis, digunakan untuk mengukur seberapa dekat atau jauh dua entitas data.
50 | Machine Learning Pemilihan metrik jarak ini akan memengaruhi struktur dan kualitas klaster yang dihasilkan [8]. Konsep dasar klasterisasi juga melibatkan kriteria berhenti yang menentukan kapan proses klasterisasi dihentikan. Kriteria ini bisa berupa jumlah iterasi maksimum, tingkat perubahan yang dianggap cukup kecil, atau ketika tidak ada perubahan signifikan dalam alokasi data ke klaster [9]. Langkah awal dalam klasterisasi melibatkan inisialisasi klaster, yaitu pemilihan titik awal atau pusat klaster. Cara inisialisasi dapat memengaruhi konvergensi dan hasil akhir klasterisasi, dan metode seperti k-means++ dapat digunakan untuk meningkatkan inisialisasi [10]. Akhirnya, interpretasi hasil klasterisasi adalah bagian penting dari konsep dasar. Hasil klasterisasi dapat membantu dalam pemahaman struktur data, pengambilan keputusan, dan bahkan dapat digunakan sebagai fitur tambahan dalam pembelajaran mesin [11]. Dengan memahami konsep dasar klasterisasi dalam konteks pembelajaran mesin, kita dapat lebih baik mengaplikasikan teknik ini untuk analisis data yang efektif dan pemodelan yang sesuai. Pembelajaran tanpa pengawasan, melalui klasterisasi, memungkinkan kita untuk menemukan pola-pola dan hubungan dalam data tanpa bergantung pada label kelas yang sudah diketahui, memberikan wawasan yang berharga dalam eksplorasi data. 1. Algoritma Klasterisasi K-means Algoritma k-means adalah salah satu algoritma klasterisasi yang paling umum digunakan dalam pembelajaran mesin dan analisis data [1]. Algoritma ini bekerja dengan cara mengelompokkan data menjadi
Machine Learning | 51 kelompok-kelompok atau klaster berdasarkan kemiripan atribut. Berikut adalah penjelasan mendalam mengenai algoritma klasterisasi k-means: a. Inisialisasi Pusat Klaster. Langkah pertama dalam algoritma k-means adalah memilih secara acak k titik sebagai pusat awal klaster. Pilihan inisialisasi ini dapat memengaruhi konvergensi dan hasil akhir klasterisasi [10]. Penentuan titik k sebagai pusat secara random dapat dilihat pada gamabr dibawah yang mana menunjukkan 3 titik k yang diposisikan secara random. Pada kondisi awal ini data yang ditunjukkan point hitam pada gambar di bawah ini. b. Alokasi Data ke Klaster. Setiap data poin diatributkan ke klaster yang memiliki pusat terdekat. Jarak antara data poin dan pusat klaster diukur menggunakan metrik jarak tertentu, seperti jarak Euclidean [2]. Langkah ini akan melakukan penghitungan jarak antara titik data dengan semua pusat klaster. Jarak terkecil antara titik data dengan masing masing pusal klaster akan menentukan data tersebut masuk ke dalam klaster apa. Berikut formula untuk perhitungan jarak menggunakan Euclidean Distance.
52 | Machine Learning Dimana: p adalah data. c adalah pusat klaster. n adalah jumlah data. i adalah iterasi. Setelah dilakukan perhitungan jarak maka akan didapatkan klaster dari setiap data. Digambarkan pada gambar berikut ini. Pada tahap ini data sudah terklaster dengan ditunjukkan setiap point pada gambar memiliki tiga warna berbeda karena di awal dialokasikan jumlah klaster sebanyak tiga titip pusat klaster. c. Perbarui Pusat Klaster Setelah alokasi awal, pusat klaster diperbarui dengan menghitung rata-rata (mean) dari data poin di dalam klaster. Pembaruan ini dilakukan untuk setiap klaster [2]. Berikut formula untuk proses penentuan titip pusat klaster baru.
Machine Learning | 53 d. Ulangi Langkah 2 dan 3. Langkah-langkah alokasi dan pembaruan pusat klaster diulang sampai tidak ada atau hanya sedikit perubahan dalam alokasi data poin ke klaster. Ini dapat diukur dengan kriteria berhenti tertentu, seperti jumlah iterasi maksimum atau perubahan yang dianggap cukup kecil [2]. Berikut hasil titip pusat yang sudah stabil. e. Hasil Akhir. Setelah iterasi selesai, data poin telah dikelompokkan ke dalam k klaster, dan pusat klaster telah diperbarui ke posisi optimal. Hasil klasterisasi dapat digunakan untuk analisis lebih lanjut atau sebagai langkah persiapan data [1]. f. Pemilihan Jumlah Klaster (k). Pemilihan jumlah klaster (k) merupakan langkah yang kritis dan dapat memengaruhi hasil klasterisasi. Beberapa metode, seperti metode elbow atau indeks Silhouette, dapat digunakan untuk membantu menentukan k yang optimal.
54 | Machine Learning 2. Karakteristik K-means K-Means adalah salah satu algoritma klasterisasi yang paling umum digunakan dalam analisis data dan pembelajaran mesin. Algoritma ini memiliki beberapa karakteristik khusus yang mendefinisikan cara kerjanya dan memberikan pemahaman tentang kapan dan bagaimana sebaiknya digunakan. Berikut adalah beberapa karakteristik utama dari K-Means: a. K-Means sebagai Algoritma Iteratif, yaitu algoritma yang bekerja dengan memperbarui secara berulang pusat klaster dan mengalokasikan ulang data ke klaster berdasarkan pusat yang baru. Proses ini diulang hingga tidak ada perubahan signifikan dalam alokasi klaster. b. Tujuan Minimisasi Varians Dalam Klaster yang artinya algoritma ini berusaha membuat klaster yang kompak dan terpusat di sekitar pusatnya. c. Pemilihan Jumlah Klaster (k) yang mana pemilihan k yang optimal dapat memerlukan analisis dan metode evaluasi seperti metode elbow atau indeks Silhouette. d. Inisialisasi pusat klaster awal memiliki dampak signifikan pada hasil akhir K-Means. e. Sensitivitas terhadap Outliers yang artinya algoritma ini berusaha meminimalkan varians total sehingga outliers dapat menggeser pusat klaster dan memengaruhi hasil klasterisasi secara signifikan. f. K-Means lebih cocok untuk data berkualitas tinggi dan dataset dengan klaster yang jelas terdefinisi. Ketika klaster kurang jelas atau bentuknya
Machine Learning | 55 kompleks, K-Means mungkin tidak memberikan hasil yang optimal. g. K-Means umumnya konvergen dengan cepat, membuatnya efisien untuk dataset besar. Namun, kecepatan konvergensi dapat dipengaruhi oleh inisialisasi dan distribusi data. Implementasi K-Means Clustering pada python menggunakan library sklearn. 1. Import library yang akan digunakan. Library pandas pada implementasi ini berfungsi untuk membuat data ujicoba dengan tipe dataframe. Library sklearn berfungsi untuk memanggil metode KMeans clustering. 2. Membuat data dengan tipe pandas dataframe. Berikut ini datanya:
56 | Machine Learning 3. Mengelompokan data dengan metode K-Means clustering. Berikut ini parameter yang ada pada class KMeans Melihat label cluster yang sudah terbentuk Melihat centroid yang sudah convergence. Melihat berapa banyak iterasi untuk mencapai convergence. 4. Menentukan data baru masuk di cluster mana dari model clustering yang sudah ada. Misal kita ingin mengetahui cluster dari data baru dengan x = 20 dan y = 50. 5. Visualisasi mengunakan plot. Tambahkan library matplotlib Setelah itu ketik syntax python di bawah ini.
Machine Learning | 57 6 Support Vector Machine
58 | Machine Learning Support Vector Machine (SVM) adalah salah satu algoritma pembelajaran mesin yang paling populer dan kuat. SVM dikenal karena kemampuannya dalam melakukan klasifikasi, regresi, dan juga deteksi outlier. Inti dari SVM adalah menciptakan sebuah model yang dapat membedakan antar kategori data dengan menemukan 'hyperplane' terbaik yang memisahkan data tersebut. Konsep 'hyperplane' ini esensial dalam SVM, karena memungkinkan algoritma untuk tidak hanya bekerja dengan data yang dapat dipisahkan secara linear, tetapi juga dengan data yang lebih kompleks melalui teknik yang disebut "kernel trick". Gambar 1. Support Vektor dan Hyperplane SVM dikembangkan pada akhir tahun 1960-an di AT&T Bell Laboratories oleh Vladimir Vapnik dan Alexey Chervonenkis. Awalnya, SVM dirancang untuk masalah klasifikasi biner. Seiring waktu, metode ini berkembang dan menjadi lebih canggih dengan pengenalan konsep seperti soft margin dan kernel trick, yang meningkatkan fleksibilitas dan kekuatan SVM dalam menangani berbagai jenis data. SVM telah digunakan di berbagai bidang, mulai dari pengenalan gambar, bioinformatika, hingga analisis sentimen. Dalam pengenalan gambar, SVM mampu mengklasifikasikan gambar ke dalam kategori tertentu. Di bioinformatika, SVM
Machine Learning | 59 digunakan untuk mengklasifikasikan protein dan gen. Dalam analisis sentimen, SVM digunakan untuk membedakan antara komentar positif dan negatif. Keefektifan SVM dalam berbagai kasus ini dikarenakan kemampuannya dalam menangani dimensi data yang besar dan kemampuannya dalam memodelkan batas keputusan yang kompleks. Vektor biasanya merujuk pada array numerik yang merepresentasikan titik data. Dalam ruang dua dimensi, vektor dapat digambarkan sebagai panah dari titik asal ke suatu titik di ruang. Setiap dimensi dalam vektor merepresentasikan suatu fitur dari data. Misalnya, dalam klasifikasi, vektor bisa berisi nilai-nilai yang menggambarkan karakteristik dari suatu objek yang akan diklasifikasi. Ruang vektor adalah kumpulan vektor yang memenuhi beberapa aturan tertentu (seperti penambahan vektor dan perkalian skalar). Dalam konteks SVM, ruang vektor sering kali berdimensi tinggi, di mana setiap dimensi merepresentasikan suatu fitur dari data. SVM bekerja dengan mengidentifikasi hyperplane (sebuah semacam 'permukaan' dalam ruang vektor) yang memisahkan data ke dalam kategori yang berbeda dengan margin terbesar yang mungkin. Dalam SVM, konsep vektor dan ruang vektor digunakan untuk menggambarkan Data, pembentukan hyperplane serta Margin dan Support Vectors.
60 | Machine Learning Ada beberapa jenis SVM yang dirancang untuk menangani berbagai jenis masalah. Berikut adalah penjelasan tentang beberapa jenis utama SVM(Trivusi, 2022): 1. SVM Linear Ini adalah bentuk paling sederhana dari SVM, digunakan untuk data yang linearly separable, artinya data dapat dipisahkan dengan garis lurus (dalam 2D) atau hyperplane (dalam ruang berdimensi lebih tinggi). SVM linear menemukan hyperplane dengan margin terbesar antara dua kelas. 2. SVM Non-Linear Ketika data tidak linearly separable, SVM non-linear menjadi pilihan. Metode ini menggunakan kernel trick untuk memetakan data ke ruang berdimensi lebih tinggi di mana mereka bisa dipisahkan secara linear. Kernel yang umum digunakan termasuk polinomial, radial basis function (RBF), dan sigmoid. 3. One-Class SVM Digunakan dalam deteksi anomali, di mana tujuannya adalah untuk menemukan hyperplane yang memisahkan semua data dari asal dalam ruang fitur. Ini berguna dalam kasus di mana hanya ada data dari satu kelas. Dan masih ada jenis SVM lainnya yang mana cocok untuk berbagai jenis masalah data dan memerlukan pemilihan parameter yang cermat untuk mendapatkan performa yang optimal.
Machine Learning | 61 Kernel dalam Support Vector Machine (SVM) adalah konsep penting yang memungkinkan SVM mengatasi kasuskasus di mana batas keputusan antara kelas-kelas data sulit diungkapkan dalam ruang dimensi rendah. Fungsi kernel memfasilitasi transformasi data ke dalam ruang fitur yang memiliki dimensi lebih tinggi, di mana pola keputusan dapat lebih mudah dipisahkan. Beberapa jenis fungsi kernel yang umum digunakan dalam SVM melibatkan transformasi nonlinear dari data. Berikut adalah beberapa contoh fungsi kernel yang sering digunakan: 1. Linear Kernel: Fungsi kernel linear adalah yang paling sederhana. Dalam hal ini, tidak ada transformasi tambahan yang diterapkan pada data, dan SVM bekerja dalam ruang dimensi asli. 2. Polynomial Kernel: Fungsi kernel polinomial menggunakan transformasi polinomial untuk meningkatkan dimensi data. Ini didefinisikan oleh parameter derajat polinomial. 3. RBF (Radial Basis Function) atau Gaussian Kernel: RBF kernel merupakan salah satu yang paling umum digunakan. Fungsi kernel ini mengukur kesamaan antara
62 | Machine Learning dua sampel sebagai fungsi dari jarak Euklides antara keduanya dalam ruang fitur tinggi. 4. Sigmoid Kernel: Fungsi kernel sigmoid mengaplikasikan fungsi sigmoid pada hasil produk titik data. 5. Kernel Kustom: Selain dari kernel-kernel standar, Anda juga dapat mendefinisikan kernel kustom yang sesuai dengan karakteristik data spesifik Anda. Berikut adalah contoh kasus penggunaan SVM (Support Vector Machine) secara manual dengan data binatang yang memiliki dua fitur: ukuran dan bulu. Untuk memudahkan perhitungan, kita akan menggunakan data yang sangat sederhana. Misalkan kita memiliki empat binatang dengan fitur dan kelas sebagai berikut: 1. Binatang A: ukuran kecil, bulu banyak - Herbivora 2. Binatang B: ukuran besar, bulu banyak - Karnivora 3. Binatang C: ukuran kecil, bulu sedikit - Karnivora 4. Binatang D: ukuran besar, bulu sedikit – Herbivora
Machine Learning | 63 Langkah 1: Konversi Data ke Numerik Kita harus mengonversi data kategori menjadi numerik. Misalkan ukuran kecil = 0, besar = 1; bulu banyak = 1, sedikit = 0. Kelas Herbivora = 1, Karnivora = -1. Jadi setelah di konversi menjadi data berikut : A (0, 1) = 1 B (1, 1) = -1 C (0, 0) = -1 D (1, 0) = 1 Langkah 2: Memilih Kernel Kita akan menggunakan kernel linear, yaitu Langkah 3: Menentukan Hyperplane SVM berusaha menemukan hyperplane yang memaksimalkan margin antara dua kelas. Dalam kasus kita, hyperplane adalah garis lurus dalam 2D, yang dapat diwakili sebagai di mana dan adalah koefisien, dan b adalah bias. Langkah 4: Menentukan Persamaan Kita perlu memastikan bahwa setiap titik data memnuhi : untuk kelas 1 (Herbivora)
64 | Machine Learning untuk kelas -1 (Karnivora) Langkah 5: Penyelesaian Persamaan Dalam kasus ini, kita perlu memecahkan sistem persamaan ini dengan mencari nilai dan b. Ini umumnya melibatkan teknik optimasi, seperti metode gradient descent, dan sering kali cukup kompleks untuk diselesaikan secara manual. Namun, untuk contoh sederhana ini, kita bisa mencoba menebak dan memeriksa. Misalnya, kita mulai dengan dan menyesuaikan berdasarkan apakah mereka memenuhi ketentuan di atas untuk setiap titik. Langkah 6: Validasi Model Setelah menemukan sebuah hyperplane yang cocok, kita perlu memvalidasi apakah model tersebut memisahkan kedua kelas dengan baik. Ini bisa dilakukan dengan memeriksa apakah semua titik data berada di sisi yang benar dari hyperplane. Penerapan Menggunakan Bahasa Python bisa dilihat pada gambar di bawah ini
Machine Learning | 65 Pada script SVM menggunakan Python di atas, akan menampilkan Yang mana dapat memprediksi 0,1 adalah Herbivora dengan benar Support Vector Machine seperti metode pada umumnya yang memiliki kelebihan dan kekurangan, adapun kelebihan dan kekurangannya sebagai berikut (kantinit, 2022):
66 | Machine Learning Kelebihan SVM 1. Efektif dalam Ruang Berdimensi Tinggi: SVM sangat efektif dalam kasus di mana jumlah fitur lebih besar daripada jumlah sampel. Ini membuatnya cocok untuk data yang kompleks dan berdimensi tinggi. 2. Meminimalkan Risiko Overfitting: Dengan cara memaksimalkan margin, SVM cenderung mengurangi risiko overfitting, terutama dalam kasus linear SVM. 3. Fleksibilitas dengan Kernel Trick: SVM non-linear menggunakan kernel trick yang memungkinkan mereka untuk secara efektif mengklasifikasikan data yang tidak linearly separable. Ini memberikan fleksibilitas besar dalam menangani berbagai jenis data. 4. Efektif untuk Data yang Kompleks: SVM dapat efektif dalam kasus di mana hubungan antara kelas tidak jelas, dan data tidak dapat dipisahkan dengan metode linear. 5. Generalisasi yang Baik: SVM sering menunjukkan kemampuan generalisasi yang baik, artinya mereka berperforma baik pada data yang tidak dilihat sebelumnya. Kekurangan SVM 1. Pemilihan Parameter yang Sensitif: SVM sangat bergantung pada pemilihan parameter yang tepat (seperti C, kernel, dan gamma untuk RBF kernel). Pemilihan yang salah dapat menyebabkan model yang kurang efektif.
Machine Learning | 67 2. Tidak Skalabel untuk Dataset Besar: SVM tidak efisien dalam hal komputasi pada dataset besar, karena kompleksitas pelatihan SVM biasanya berkaitan dengan kuadrat dari jumlah sampel. 3. Hasil Sulit Diinterpretasikan: Berbeda dengan beberapa algoritma lain seperti decision trees, SVM tidak memberikan banyak intuisi tentang keputusan yang diambilnya, yang menjadikannya sebagai "black box" bagi pengguna. 4. Tidak Efektif pada Data dengan Banyak Noise: Dalam kasus di mana data memiliki banyak noise atau fitur yang tidak relevan, SVM dapat menghasilkan klasifikasi yang kurang akurat. 5. Tidak Ada Probabilitas Kelas Standar: SVM tidak secara langsung memberikan estimasi probabilitas untuk prediksi, walaupun metode seperti Platt scaling dapat digunakan untuk mendapatkan probabilitas ini. Secara keseluruhan, SVM adalah alat yang sangat kuat dalam pembelajaran mesin, terutama untuk tugas klasifikasi, tetapi penting untuk memahami batasan dan kondisi di mana mereka paling efektif. Pemilihan dan penyetelan parameter dengan hati-hati adalah kunci untuk memanfaatkan kekuatan penuh dari SVM.
68 | Machine Learning
Machine Learning | 69 7 Supervised Learning
70 | Machine Learning Kemajuan teknologi pada masa kini sudah melesat dengan cepat. Begitu pula dengan perkembangan ilmu matematika dan statistika yang pada saat revolusi industri 3.0 menghadirkan teknologi canggih yaitu Artificial Intelligence (AI) atau kecerdasan buatan. Bersamaan dengan hadir dan berkembangnya AI, muncul pula teknologi Machine Learning yang merupakan cabang dari ilmu teknologi AI. Machine Learning sendiri merupakan sebuah media mesin yang di mana media yang dimaksud ialah komputer untuk meningkatkan kinerja dengan mempelajari pola-pola dan pengalaman yang diberikan pada mesin tersebut (Ren, Wang & Zhang 2023). Selain itu, machine learning dapat diartikan sebagai aplikasi dari ilmu komputer dan algoritma matematika yang diadopsi dengan cara pembelajaran yang berasal dari data dan menghasilkan prediksi di masa yang akan datang (Roihan, Sunarya & Rafika 2020).Oleh sebab itu, pada machine learning terdapat proses kinerja yang disebut sebagai Predictive Model. Prediksi menurut KBBI adalah ramalan atau prakiraan. Namun secara ilmiah, prediksi merupakan perkiraan apa yang akan terjadi di masa depan melalui proses ilmiah secara matematis (Kurniawan 2020). Pada machine learning, predictive model digunakan untuk memecah masalah-masalah yang membutuhkan proses prediksi, salah satunya untuk melakukan kategorisasi dan klasifikasi (Kurniawan 2020). Kategori predictive model pada machine learning pun dibagi menjadi tiga kategori, yaitu Supervised Learning, Unsupervised Learning dan Reinforcement Learning. Ketiga kategori ini dijelaskan pada gambar berikut.
Machine Learning | 71 Gambar 1. Kategori Machine Learning, doc. Pribadi Sedikit penjelasan mengenai skema diatas. Perbedaan antara Supervised Learning dan Unsupervised Learning adalah dari cara klasifikasi data yang digunakan. Supervised Learning menggunakan kumpulan data yang seluruhnya diberikan label untuk mengklasifikasikan kelas yang tidak dikenal. Unsupervised Learning tidak menggunakan pemberian label dalam kumpulan data sehingga Unsupervised Learning menggunakan sistem klastering. Reinforcement Learning merupakan sistem paling dinamis dikarenakan berada diantara supervised learning dan unsupervised learning (Roihan et al. 2020). Pada bagian ini, kita khusus membahas Supervised Learning saja. Telah dijelaskan diatas bahwa supervised learning merupakan kategori machine learning yang menggunakan kumpulan data yang seluruhnya diberikan label untuk mengklasifikasikan kelas yang tidak dikenal. Selain itu, supervised learning merupakan tools yang dapat melakukan prediksi jika diberi petunjuk yang jelas tentang apa saja yang harus diprediksi. Maka dari itu, proses belajar machine learning ini disebut supervised learning, yaitu proses belajar mesin yang
72 | Machine Learning memerlukan pengawasan dari seorang supervisor untuk mengklasifikasi data menggunakan label dan memprediksi hasil dari data tersebut dengan akurat (Delua 2021). Model supervised learning dapat digambarkan menggunakan skema berikut. Gambar 2. Model Supervised Learning, doc. Pribadi Supervised learning memiliki beberapa algoritma diantaranya Linear Regression, Logistic Regression, Decision Trees, Random Forest, Naïve Bayes dan Neural Network (Kurniawan 2020). Jenis-jenis algoritma supervised learning digambarkan pada skema berikut. Gambar 7.3. Jenis-jenis Supervised Learning, doc. Pribadi
Machine Learning | 73 Pada pembahasan berikutnya, kita akan membahas mengenai enam algoritma yang terkategori dalam supervised learning dengan contoh coding dengan menggunakan bahasa pemrograman python. Linear Regression atau secara bahasa indonesia disebut sebagai regresi linear ialah sebuah metode untuk membuat pemodelan prediksi dengan menggunakan training dataset berupa nilai numerik (Kurniawan. 2020). Dapat pula disebutkan regresi linear adalah teknik statistik untuk mempelajari dan membuat pemodelan prediksi dari dua variabel atau lebih di mana variabel prediktif adalah x dan variabel respon adalah y (Husdi & Dalai 2023). Metode regresi linear ini sangat popular digunakan oleh banyak ahli terutama dalam permasalahan prediksi berjangka waktu atau time series (Arief Nurdini & Anita 2022). Metode ini dibagi menjadi metode regresi linear sederhana dan metode regresi linear berganda. Namun pada pembahasan kali ini, kita hanya membahas metode regresi linear sederhana saja yang dijabarkan secara matematis dan secara coding. Secara matematis, persamaan regresi linear dituliskan sebagai Y = a + bx, di mana Y adalah nilai dari prediksi pada waktu tertentu, a adalah konstanta, b adalah gradien atau slope dari garis kecenderungan dan x adalah indeks dari waktu. Untuk menentukan nilai a dan b, kita dapat menggunkaan rumus sebagai berikut (Wulandari & Rumini. 2023):
74 | Machine Learning Secara coding menggunakan bahasa pemrograman Python, kita dapat menuliskan code untuk menghasilkan hasil perhitungan prediksi menggunkaan metode regresi linear dengan contoh prediksi jumlah penggunaan bensin, data terdapat pada lampiran, sebagai berikut: Gambar 4. Contoh code model regresi linear, doc. Pribadi Hasil yang diperoleh dari coding tersebut ditampilkan pada bentuk scatter plot sebagai berikut: Gambar 7.5. Hasil plotting, doc. Pribadi
Machine Learning | 75 Selanjutnya kita mencari nilai R Square untuk menentukan seberapa dekat suatu data dengan garis lurus menggunakan code sebagai berikut: Gambar 6. Nilai R Square, doc. Pribadi Diperoleh nilai R Square dari data yang digunakan sebesar 0.9798523775622333 Selanjutnya kita mencari nilai perkiraan jika bensin yang digunakan sebanyak 50 liter, berapa jarak tempuh mobil dengan menggunakan code berikut: Gambar 7. Hasil prediksi dengan model regresi linear, doc. Pribadi Dari model prediksi menggunakan metode regresi linear ini diperoleh jarak tempuh mobil jika menghabiskan sebanyak 50 liter bensin adalah sejauh 333,55 kilometer. Dalam penggunaan model regresi linear ini, dataset yang digunakan haruslah data dengan hubungan linear antara independent variable dan dependent variable dikarenakan data yang tersebar secara acak tidak dapat dibuat modelnya menggunakan regresi linear. Selain itu, dataset yang digunakan pun haruslah data dengan kualitas yang baik.
76 | Machine Learning Logistic Regression adalah metode relatif mudah dipahami dan diterapkan oleh banyak data saintis guna keperluan binary classification atau pembuatan prediksi yang bersifat menghasilkan jawaban boolean (Kurniawan. 2020). Metode ini dibagi menjadi regresi logistik biner, regresi logistik multinomial dan regresi logistik ordinal. Selain untuk binary classification, logistic regression ini dapat digunakan dalam menyelesaikan masalah prediksi yang multinominal atau yang terkategori sebagai data ordinal. Pada metode ini, model akan dilatih dengan menggunakan data-data observasi beserta dengan label kategorinya. Setelah model selesai dilatih, kita dapat menggunakannya untuk memprediksi data yang baru tanpa label sehingga dapat diketahui data tersebut terkategori di kategori yang mana. Secara matematis, metode ini dituliskan sebagai berikut: Dengan e adalah konstanta euler dengan nilai ≈2,71828. Jika kita mengganti nilai x dengan nilai dari bilangan bulat positif maupun bilangan bulat negatif, maka persamaan ini akan menghasilkan nilai diantara 0 dan 1. Secara coding menggunakan bahasa pemrograman Python, kita dapat menuliskan metode logistic regression sebagai berikut:
Machine Learning | 77 Gambar 8. Pembuatan model regresi logsitik, doc. Pribadi Dari code diatas, diperoleh data frame sebagai berikut: Gambar 9. Data Frame yang digunakan untuk pemodelan regresi logistik, doc. Pribadi Selanjutnya kita memisahkan data tersebut menjadi data training dan data testing dengan test size sebesar 0,2 atau
78 | Machine Learning 20%. Setelah itu kita melakukan uji akurasi pada data tersebut. Gambar 10. Pemisahan data training, data test dan uji akurasi, doc. Pribadi Terakhir, kita dapat menemukan nilai dari akurasi model dan confusion matrix sebagai berikut: Gambar 11. Hasil uji akurasi model dan confusion matrix, doc. Pribadi Dari hasil pemodelan regresi logistic yang telah dicontohkan diatas, kita memperoleh confusion matrix [1 0] [0 1]. Arti dari confusion matrix yang diperoleh pada baris pertama ialah True Positive (TP) bernilai 1 dan False Positive (FP) bernilai 0, maksudnya adalah model memprediksi 1 kasus positif tepat dan 0 kasus positif yang tidak tepat. Pada baris kedua diperoleh False Negative (FN) bernilai 0 dan True
Machine Learning | 79 Negative (TN) bernilai 1, artinya model memprediksi 0 kasus negative yang tepat dan 1 kasus negative yang tidak tepat. Sehingga diperoleh nilai akurasi dengan menggunakan rumus: sebesar 1.0. Pemodelan regresi logistik ini sangat mudah dipahami, karena pada model ini tidak membutuhkan hubungan linier antara variabel independen dengan variabel dependen. Namun pemodelan ini memiliki kelemahan yaitu tidak mampu untuk menangani dataset dengan feature yang banyak dan juga mudah sekali mengalami overfitting. Sehingga kurang cocok jika digunakan untuk prediksi data yang besar dengan banyak varibel. Decision Tree adalah algoritma machine learning yang biasa digunakan pertama kali oleh data saintis sebelum menggunakan algoritma machine learning lainnya jika hasilnya kurang memuaskan. Selain itu, Decision Tree dapat disebutkan sebagai model untuk memahami proses pembuatan keputusan yang terstruktur dan bertahap (Nurani, Setiawan & Susanto 2023). Decision Tree digambarkan pada flowchart sebagai berikut:
80 | Machine Learning Gambar 12. Flowchart Decision Tree, doc. Pribadi Pada metode decision tree ini, puncak pohon atau yang disebut sebagai root ini memiliki dua anak cabang yang disebut sebagai node. Pada setiap node terdapat proses pembuktian keputusan dengan menguji variabel yang menghasilkan dua keputusan baru yang disebut sebagai leaf dengan jawaban ‚ya‛ atau ‚tidak‛. Dengan menggunakan metode decision tree ini, kita dapat memecah data ke dalam kelompok yang lebih kecil berdasarkan elemen di dalam data (Kurniawan 2020). Pengelompokkan ini dilakukan hingga berulangkali hingga seluruh elemen pada data yang digunakan dapat dikelompokkan pada satu kelompok. Dengan menggunakan bahasa pemrograman python, kita dapat menganalisa suatu data dengan metode decision tree dengan contoh coding dibawah ini.
Machine Learning | 81 Gambar 13. Contoh coding Decision Tree menggunakan Python, doc. Pribadi Pada contoh ini, data yang digunakan adalah data klasifikasi kendaraan bermotor dengan tiga feature yaitu mesin, bangku dan alat penggerak yang digunakan. Hasil akhirnya kita dapat nilai akurasi model yang diperoleh sekitar 87%. Setelah ini, kita dapat menggunakan Graphviz atau pydotplus guna membuat visualisasi pada metode ini. Contoh coding untuk melakukan visualisasi menggunakan pydotplus dipaparkan pada gambar berikut: Gambar 14. Contoh visualisasi menggunakan pydotplus, doc. Pribadi Keunggulan dari metode decision tree ialah transparasi dari algoritma ini dalam proses training data yang digunakan sehingga dapat memudahkan kita mempelajari bagaimana proses tree terbentuk. Namun, metode ini memiliki kelemahan diantaranya cenderung membuat model menjadi overfitting atau terlalu detail dalam mempelajari data dan noise sehingga tree yang terbentuk akan menjadi terlalu
82 | Machine Learning panjang dan kemungkinan akurasi data yang di-training tidak akurat serta decision tree juga termasuk salah satu algoritma machine learning yang tidak stabil. Random Forest adalah suatu model yang berisikan kumpulan decision tree sehingga hasil dari model decision tree digabungkan pada model ini guna mendapatkan nilai akurasi yang lebih akurat dan tepat (Baita, Prasetyo & Cahyono 2023). Skema dari proses pemodelan menggunakan metode random forest ini dipaparkan pada gambar berikut: Gambar 14. Skema proses pemodelan Random Forest, doc. Pribadi Dalam menggunakan metode ini, diperlukan fungsi penggabungan model guna menyatukan beberapa model dari decision tree dan memilih hasil dari model terbaik. Fungsi penggabungan model itu berperan sebagai media voting yang menjadi penentu model mana yang akan digunakan sebagai model random forest.
Machine Learning | 83 Contoh coding dengan bahasa pemrograman python dipaparkan pada gambar berikut: Gambar 15. Contoh coding Random Forest, doc. Pribadi Dari contoh coding diatas, kita mendapatkan hasil parameter bootstrap sampling dengan hasil True dan nilai akurasi sebesar 87%. Hal inilah yang menjadikan metode random forest memiliki kelebihan dalam proses akurasi jika dibandingkan dengan metode decision tree. Karena random forest memang diciptakan untuk membangun model yang lebih kuat dan kokoh dengan memanfaatkan model-model dari metode decision tree. Selain itu, metode random forest ini lebih efektif dalam mengatasi masalah overfitting. Namun kelemahan dari random forest ialah membutuhkan biaya komputasi yang besar dikarenakan ada banyaknya model yang harus dibangun dan memerlukan waktu yang lama pula. Juga, metode ini menghilangkan transparasi proses dari pengolahan data yang digunakan. Naïve Bayes adalah metode yang menggunakan prinsip probabilitas untuk membuat model prediksi klasifikasi
84 | Machine Learning dengan menghitung nilai dari probabilitas suatu kejadian di masa lalu, model ini dapat membuat perkiraan apa yang akan terjadi di masa depan (Kurniawan 2020). Secara matematis, motode ini dituliskan sebagai berikut: Metode ini secara ilmu statistika, digunakan untuk menjelaskan conditional probability yang merupakan teori untuk menjelaskan kemungkinan munculnya kejadian A jika kejadian B muncul. Pada model ini, dianggap semua data yang digunakan memiliki nilai yang setara dan tidak memiliki ketergantungan antara satu sama yang lain. Model ini pula memiliki perhitungan yang tidak terlalu rumit sehingga dapat dengan mudah diproses oleh komputer. Namun begitu, pemodelan ini tidak cocok untuk perhitungan dataset numerik yang banyak dikarenakan algoritma model ini tidak memperdulikan adanya ketergantungan antardata. Skema model naïve bayes dapat dilihat pada gambar berikut: Gambar 16. Skema model Naïve Bayes, doc. Pribadi
Machine Learning | 85 Secara coding dengan bahasa pemrograman python, untuk membuat prediksi dengan menggunakan model Naïve Bayes ini dapat menggunakan contoh coding berikut: Gambar 17. Coding model Gaussian Naïve Bayes, doc. Pribadi Pada model ini, bahasa pemrograman python menyediakan tiga buah modul yaitu Gaussian NB, Bernoulli NB dan Multinominal NB. Di mana pada modul Gaussian NB digunakan untuk feature angka numerik, Bernoulli NB digunakan untuk feature binary, sedangkan Multinominal NB untuk feature nominal. Dasarnya, algoritma Naïve Bayes ini cukup mudah dan sederhana. Selain itu pula, algoritma NB ini cukup efektif jika dijadikan model untuk sebuah prediksi dari suatu masalah. Oleh sebab itu, metode ini sering digunakan oleh banyak data scientist guna untuk memprediksi suatu masalah di masa depan dengan menggunakan dataset dari kejadian di masa lalu. Artificial Neural Network yang biasa disingkat ANN merupakan metode yang meniru cara berpikir manusia dengan menggunakan bentuk jaringan saraf otak dan kemudian diterapkan pada sistem komputer (Kurniawan 2020). Metode tergolong cukup sulit dikarenakan
86 | Machine Learning membutuhkan pemahaman lebih dalam mengenai ilmu matematika. Model ini terbentuk dari perhitungan matematika yang hasilnya sulit untuk dipahami. Penggunaan model ini dapat untuk pengenalan suara, tulisan tangan dan pengenalan gambar. Pada metode ini, ada tiga fungsi yang disebut dengan activation function yaitu logistic sigmoid, Tanh dan rectified linear unit (ReLU). Secara matematis, tiga fungsi ini tuliskan sebagai berikut: 1. Logistic Sigmoid Angka berapa pun yang diinput, hanya akan menghasilkan nilai diantara 0 hingga 1. Persamaannya sebagai berikut: 2. Tanh Angka berapa pun yang diinput, hanya akan menghasilkan nilai diantara -1 hingga 1. Persamaannya sebagai berikut: 3. Rectified Linear Unit (ReLU). Angka berapa pun yang diinput, hanya akan menghasilkan nilai dari angka yang diinput kecuali angka negatif diganti dengan angka nol. Persamaannya sebagai berikut: Pada model ANN ini, proses berpikir komputer dapat dilakukan dengan metode Multi Layer Perception atau
Machine Learning | 87 disingkat menjadi MLP. Secara umum, MLP memiliki tiga lapisan yaitu input layer, hidden layer dan output layer. Pada input layer terjadi proses penerimaan data yang akan diproses. Hidden layer merupakan proses di mana data kembali diterima namun menghasilkan prediksi awal. Setelah melewati hidden layer, baru hasil prediksi akhir akan keluar pada output layer. Proses tersebut digambarkan pada skema berikut: Gambar 18. Skema MLP pada ANN, doc. Pribadi Dalam menyelesaikan pemodelan ANN untuk memprediksi suatu masalah dengan menggunakan bahasa pemrograman python, dapat menggunakan library MLPClassifier atau MLPRegressor untuk data numerik. Metode ANN ini sangat cocok untuk memecahkan masalah yang data input dan outputnya sudah dipahami. Namun, kekurangan dari metode ini adalah karakteristiknya yang sulit dipahami dan membuat kita sulit pula menterjemahkan model ini.
88 | Machine Learning
Machine Learning | 89 8 Gradient Descent
90 | Machine Learning Gradient Descent (GD) merupakan sebuah algoritma optimasi yang digunakan untuk mencari nilai minimun lokal dari loss function. Dimana diketahui bahwa semakin kecil nilai dari loss function maka semakin baik pula model yang ada. Gradient Descent digunakan pada proses training pada model machine learning. Gradient Descent berdasarkan pada fungsi ‚cembung‛ dan menyesuaikan nilai paramternya secara iteratif hingga mendapatkan nilai minimum untuk loss function. Proses ini dapat dilakukan dengan menggunakan kalkulus dengan melakukan step dimulai dari bagian negatif pada fungsi ‚cembung‛. Gradient Descent sangat penting dalam machine learning. Karena proses pengoptimalan adalah bagian besar dari machine learning. (Bertsekas 2016; Grus 2019; Paper 2018; Perrotta 2020; Wilmott 2019). Algoritma Gradient Descent dapat dituliskan sebagai berikut. Keterangan : : Posisi selanjutnya dari step : Posisi saat ini : Ukuran Step : Arah dari gradient (turunan fungsi) Untuk memahami cara kerja algoritma dari Gradient Descent berikut ini adalah contoh bagai mana cara bekerja algoritma tersebut. Pertama yang harus diperhatikan adalah Gradient Descent menggunakan diferensial dari fungsi yang ada sebelum melakukan step. Jika sebuah fungsi yang berbentuk memiliki diferensial: