Pengertian Machine Learning
Table of Contents
Pengenalan Machine Learning - This article is part of a series.
Machine Learning (Pemelajaran Mesin) memegang peranan penting dalam era perkembangan teknologi saat ini. ML merupakan cabang dari artificial intellegence (kecerdasan buatan) yang memungkinkan sistem komputer untuk belajar dari data, menemukan pola, dan membuat keputusan tanpa perlu pemrograman secara eksplisit. Pada bagian ini, kita akan mempelajari definisi dan konsep dasar.
A. Definisi Machine Learning #
Machine Learning (ML) adalah paradigma kecerdasan buatan yang memberikan kemampuan pada sistem komputer untuk mempelajari pola atau informasi dari data dan dapat meningkatkan kinerjanya seiring waktu. ML memungkinkan komputer untuk “belajar” dari data yang diberikan dan menghasilkan model prediktif atau keputusan tanpa intervensi langsung dari seorang programmer. Hal ini berlawanan dengan pendekatan pemrograman tradisional yang mengharuskan kita secara eksplisit menentukan setiap aturan (rule-based programming).
B. Komponen Utama Machine Learning #
ML terdiri dari beberapa komponen utama yang bekerja bersama untuk menghasilkan sebuah model yang dapat belajar dari data. Berikut adalah penjelasan lebih detail tentang komponen-komponen tersebut:
1. Data #
Data adalah bahan bakar utama untuk ML. Data dapat berupa angka, teks, gambar, atau format data lainnya. Data digunakan untuk melatih model, memvalidasi kinerjanya, dan menguji kemampuannya dalam membuat prediksi atau keputusan.
2. Model #
Model dalam konteks ML adalah representasi matematis dari hubungan antara variabel input dan output. Model dapat berupa algoritma yang kompleks atau algoritma yang lebih sederhana. Model dilatih menggunakan data untuk memahami pola dan struktur informasi dalam data tersebut. Setelah dilatih, model dapat digunakan untuk membuat prediksi atau mengambil keputusan terhadap data baru.
3. Feature (Fitur) #
Fitur adalah variabel atau atribut yang digunakan oleh model untuk membuat prediksi atau keputusan. Fitur dapat berasal dari data input dan mempengaruhi keluaran (output) model. Pemilihan dan pemrosesan fitur yang tepat dapat meningkatkan kualitas model. Fitur yang baik membantu model untuk lebih akurat dan efisien dalam pemelajaran.
4. Label (Kelas) #
Label adalah hasil atau kategori yang ingin diprediksi oleh model. Dalam supervised learning, label digunakan selama pelatihan untuk mengajarkan model tentang hubungan antara input dan output. Model belajar dari label selama pelatihan dan kemudian dapat membuat prediksi terhadap label untuk data yang belum pernah dilihat.
5. Training (Pelatihan) #
Pelatihan adalah proses di mana model memproses data input untuk dipelajari. Pada proses ini, model akan berusahan mengoptimalkan parameter atau koefisien pada internal model agar menyesuaikan dengan data. Melalui pelatihan tersebut, model berusaha untuk memahami pola dan karakteristik dalam data, sehingga dapat membuat prediksi yang akurat pada data baru.
6. Validation (Validasi) dan Testing (Pengujian) #
Validasi dan pengujian adalah tahap di mana model dievaluasi terhadap data yang tidak digunakan selama pelatihan untuk memastikan kinerjanya. Validasi membantu mengoptimalkan parameter model dan mencegah overfitting. Overfitting adalah kondisi dimana model terlalu fit terhadap data pelatihan. Kondisi ini menyebabkan kinerja model sangat baik pada data latih, akan tetapi buruk pada data uji.
Sedangkan proses pengujian memberikan gambaran tentang seberapa baik kinerja model ketika digunakan pada data baru.
7. Loss Function (Fungsi Loss) #
Fungsi loss mengukur sejauh mana prediksi model cocok dengan label yang sebenarnya. Fungsi ini digunakan selama pelatihan untuk mengukur tingkat kesalahan model. Selama pelatihan model, fungsi loss akan diminimumkan dengan cara menyesuaikan parameter model. Tujuan utamanya adalah agar model dapat membuat prediksi yang akurat. Komponen yang bertanggung jawab untuk meminimumkan fungsi loss adalah optimization algorithm (algoritma optimasi).
8. Optimization Algorithm (Algoritma Optimasi) #
Algoritma optimasi berfungsi menyesuaikan parameter model selama pelatihan untuk mencapai nilai minimum dari fungsi loss. Algoritma optimasi seperti Stochastic Gradient Descent (SGD) membimbing model menuju nilai parameter yang optimal.
C. Perbedaan dengan Pemrograman Konvensional #
Pendekatan konvensional dalam pemrograman biasanya melibatkan penulisan aturan dan logika secara langsung oleh programmer. Di sisi lain, ML memungkinkan sistem untuk menyesuaikan diri dengan pola dalam data, bahkan jika pola tersebut kompleks atau sulit dijabarkan secara eksplisit oleh manusia. Hal ini memungkinkan penyelesaian masalah yang lebih adaptif dan canggih.
D. Jenis-jenis Machine Learning #
Ditinjau dari metode pemelajarannya, machine learning terbagi menjadi 3 jenis, yaitu supervised learning, unsupervised learning dan reinforcement learning.
1. Supervised Learning #
Supervised learning (pemelajaran dengan arahan) adalah paradigma pemelajaran mesin di mana model diajarkan untuk memetakan input ke output, dengan menggunakan pasangan data latih yang terdiri dari input beserta label atau output yang sesuai.
Supervised learning melibatkan penggunaan dataset yang sudah dilabelkan, yang artinya setiap data training memiliki pasangan input dan output yang diharapkan. Model ML belajar dari contoh-contoh ini dan kemudian dapat melakukan prediksi atau klasifikasi terhadap data baru. Sebagai contoh, jika kita mengajarkan model untuk mengenali gambar kucing, maka setiap gambar kucing (input) akan memiliki label “kucing” (output).
Berikut adalah beberapa contoh kasus supervised learning:
a. Prediksi Harga Saham #
Dalam bidang finansial, prediksi harga saham menggunakan supervised learning memungkinkan para investor dan pedagang untuk membuat keputusan yang lebih informasional. Model ini memanfaatkan fitur seperti riwayat harga dan faktor ekonomi untuk memprediksi harga saham pada waktu tertentu.
- Fitur: Riwayat harga, faktor ekonomi.
- Label: Harga saham pada waktu tertentu.
b. Klasifikasi Email Spam #
Supervised learning digunakan untuk membangun model klasifikasi yang dapat membedakan antara email spam dan bukan spam. Model ini memeriksa konten dan metadata email untuk menentukan apakah suatu email termasuk dalam kategori spam atau bukan.
- Fitur: Konten email, metadata.
- Label: Spam atau bukan.
c. Deteksi Penyakit dengan Citra Medis #
Dalam bidang kedokteran, supervised learning digunakan untuk mendiagnosis penyakit berdasarkan citra medis. Misalnya, model dapat mempelajari pola pada citra radiologi untuk mendeteksi penyakit seperti kanker atau penyakit jantung.
- Fitur: Citra radiologi atau gambar medis.
- Label: Diagnosis penyakit seperti kanker atau penyakit jantung.
d. Pengenalan Tulisan Tangan #
Aplikasi supervised learning dapat digunakan untuk mengenali tulisan tangan pada gambar atau dokumen. Model ini belajar dari contoh-contoh tulisan tangan yang telah dilabelkan untuk kemudian dapat mengidentifikasi dan mentranskripsikan tulisan tangan pada gambar.
- Fitur: Gambar tulisan tangan.
- Label: Teks yang ditulis dalam gambar.
e. Pengenal Wajah #
Supervised learning digunakan dalam pengenalan wajah untuk mengidentifikasi individu berdasarkan citra wajah mereka. Model ini dilatih menggunakan dataset wajah yang telah dilabelkan untuk kemudian dapat melakukan pengenalan wajah secara akurat.
- Fitur: Citra wajah.
- Label: Identifikasi individu berdasarkan wajah
f. Rekomendasi Produk Online #
Dalam e-commerce, supervised learning dapat digunakan untuk membangun model rekomendasi produk online. Model ini memanfaatkan riwayat pembelian dan perilaku pengguna untuk merekomendasikan produk yang mungkin diminati oleh pengguna.
- Features: Riwayat pembelian, perilaku pengguna.
- Label: Produk yang mungkin diminati.
Supervised learning memiliki berbagai macam aplikasi yang luas, mulai dari prediksi keuangan, klasifikasi spam email, hingga pengenalan wajah. Dengan memahami konsep dasarnya, kita dapat menyelami berbagai algoritma yang dapat digunakan untuk berbagai tugas klasifikasi dan prediksi.
2. Unsupervised Learning #
Unsupervised learning (pemelajaran tanpa arahan) adalah paradigma pemelajaran mesin di mana model diajarkan untuk menemukan pola atau struktur dalam data tanpa adanya label atau petunjuk pada output yang diharapkan. Tujuan utama unsupervised learning adalah menggali struktur intrinsik dari data, seperti kelompok-kelompok yang mungkin ada atau fitur-fitur yang saling terkait.
Berbeda dengan supervised learning, unsupervised learning menggunakan dataset yang tidak memiliki label. Model diarahkan untuk menemukan pola, struktur, atau hubungan di dalam data tanpa petunjuk eksternal.
Berikut adalah beberapa contoh unsupervised learning:
a. K-Means untuk Clustering #
Unsupervised learning dapat digunakan untuk melakukan clustering pada data. Sebagai contoh, algoritma K-Means dapat mengelompokkan data ke dalam cluster berdasarkan kemiripan fitur.
- Contoh Fitur:
- Posisi geografis, preferensi pembelian pelanggan dan lainnya.
b. Association Rule Learning #
Dalam analisis transaksi, unsupervised learning dapat menemukan hubungan atau asosiasi antar-item. Contohnya adalah menemukan bahwa pelanggan yang membeli produk A juga cenderung membeli produk B.
- Contoh Fitur:
- Produk yang dibeli dalam satu transaksi, frekuensi pembelian.
c. Reduksi Dimensi dengan Principal Component Analysis (PCA): #
Unsupervised learning dapat digunakan untuk mereduksi dimensi data. PCA adalah metode yang umum digunakan untuk mengurangi kompleksitas data dengan mempertahankan sebagian besar informasi.
- Contoh Fitur:
- Berbagai variabel terkait dengan kinerja ekonomi suatu negara.
d. Clustering Gambar dengan K-Means #
Unsupervised learning dapat digunakan untuk mengelompokkan gambar berdasarkan kesamaan fitur visual.
- Contoh Fitur:
- Warna, tekstur, dan bentuk dalam gambar.
e. Segmentasi Pelanggan dalam Bisnis E-commerce #
Unsupervised learning digunakan untuk mengelompokkan pelanggan ke dalam segmen berdasarkan perilaku pembelian mereka.
- Contoh Fitur:
- Riwayat pembelian, preferensi produk.
3. Reinforcement Learning #
Reinforcement learning adalah paradigma pemelajaran mesin di mana agen belajar untuk membuat keputusan atau tindakan dalam sistem yang dinamis dengan maksud untuk memaksimalkan jumlah reward (imbalan) yang diterima dari lingkungannya.
Reinforcement learning memungkinkan agen untuk belajar dari interaksi dengan lingkungannya, dan konsepnya banyak diaplikasikan dalam konteks pengambilan keputusan otomatis dan adaptif. Dengan menggunakan sistem imbalan, agen dapat mengoptimalkan tindakannya sesuai dengan tujuannya.
Contoh Aplikasi:
-
Permainan Video:
- Agen: Karakter dalam permainan.
- Reward: Poin atau tingkat keberhasilan.
-
Kendali Robotik:
- Agen: Robot atau kendaraan otonom.
- Reward: Keberhasilan dalam menyelesaikan tugas.