Skip to main content

Cara Kerja Machine Learning

Untuk memahami Machine Learning, kita perlu memahami terlebih dahulu perbedaan antara cara komputer bekerja dalam pemrograman tradisional dan bagaimana komputer dapat "belajar" menggunakan Machine Learning.

Manusia dapat mengenali berbagai pola dengan mudah. Misalnya, ketika melihat gambar ular, manusia dapat mengenalinya meskipun gambar tersebut memiliki warna, bentuk, sudut pengambilan, atau gaya visual yang berbeda.

Bagi komputer, proses tersebut jauh lebih sulit.


Tantangan Pemrograman Tradisional​

Dalam pemrograman tradisional, programmer harus memberikan aturan yang jelas kepada komputer.

Misalnya kita ingin membuat program yang dapat mengenali gambar ular.

Kita mungkin mencoba membuat aturan seperti:

Memiliki sisik
Memiliki tubuh panjang
Tidak memiliki kaki
Tidak memiliki tangan

Namun, aturan tersebut belum tentu cukup.

Misalnya:

Tidak memiliki kaki
↓
Ular?
Pesawat?
Ikan?
Cacing?

Banyak objek lain yang juga tidak memiliki kaki.

Masalahnya semakin kompleks ketika kondisi gambar berubah:

Ular berwarna hijau
Ular berwarna hitam
Ular dalam bentuk kartun
Ular dari sudut berbeda
Ular dengan pencahayaan berbeda

Kita akan membutuhkan semakin banyak aturan untuk menangani setiap kemungkinan.


Manusia vs Komputer dalam Mengenali Pola​

Manusia memiliki kemampuan alami untuk mengenali pola.

Ketika melihat sebuah gambar, manusia dapat menggunakan berbagai karakteristik secara bersamaan untuk menentukan apa yang sedang dilihat.

Bentuk
Warna
Tekstur
Pola
Konteks

Kemudian otak manusia dapat mengambil keputusan:

"Gambar tersebut adalah ular."

Komputer tidak memiliki pemahaman tersebut secara alami.

Jika menggunakan pemrograman tradisional, programmer harus mencoba menerjemahkan karakteristik tersebut menjadi aturan yang dapat dipahami komputer.

Inilah salah satu alasan mengapa pendekatan pemrograman tradisional menjadi sulit ketika berhadapan dengan data dan pola yang kompleks.


Pemrograman Tradisional​

Pada pemrograman tradisional, programmer menentukan function atau aturan yang digunakan untuk menghasilkan output.

Secara sederhana:

Input + Function → Output

Contohnya:

Input
↓
Function yang dibuat programmer
↓
Output

Programmer mengetahui aturan yang digunakan untuk mengubah input menjadi output.

Misalnya:

Input:
Nilai = 80

Function:
Jika nilai >= 75 → Lulus

Output:
Lulus

Dalam pendekatan ini, function dibuat oleh programmer.


Machine Learning​

Machine Learning menggunakan paradigma yang berbeda.

Alih-alih programmer menentukan seluruh aturan, komputer diberikan contoh input dan output sehingga komputer dapat mempelajari hubungan di antara keduanya.

Secara sederhana:

Input + Output → Function

Function tersebut kemudian dipelajari oleh komputer.

Input + Output
↓
Machine Learning
↓
Function / Model

Dengan kata lain, programmer tidak perlu menuliskan seluruh aturan secara eksplisit.

Komputer mencoba menemukan pola dari data yang diberikan dan menghasilkan sebuah model.


Perbandingan Paradigma​

Perbedaan kedua pendekatan dapat digambarkan sebagai berikut.

Pemrograman Tradisional​

Input
+
Function
↓
Output

Function ditentukan oleh programmer.

Machine Learning​

Input
+
Output
↓
Machine Learning
↓
Function / Model

Function dipelajari oleh komputer berdasarkan data.

Perbedaan ini merupakan salah satu konsep paling penting untuk memahami Machine Learning.


Contoh Sederhana​

Bayangkan kita ingin membuat sistem untuk memprediksi harga rumah.

Dalam pemrograman tradisional, kita mungkin harus menentukan aturan:

Jika luas > X
dan lokasi = A
dan kamar > Y
maka harga = Z

Semakin kompleks masalahnya, semakin banyak aturan yang harus dibuat.

Dalam Machine Learning, kita dapat memberikan data historis:

Luas Kamar Lokasi Harga
--------------------------------
100 3 A 500
120 3 A 600
150 4 B 800
200 5 B 1000

Model akan mempelajari hubungan antara karakteristik rumah dan harga.

Setelah model terbentuk:

Data Rumah Baru
↓
Model
↓
Prediksi Harga

Model tersebut menjadi function yang dipelajari berdasarkan data.


Apa yang Dimaksud dengan Model?​

Dalam Machine Learning, model dapat dipahami sebagai function yang dipelajari dari data.

Model menerima input dan menghasilkan output.

Input
↓
Model
↓
Output

Contohnya:

Data Rumah
↓
Model Machine Learning
↓
Prediksi Harga

Model tidak dibuat dengan menuliskan semua aturan secara manual.

Sebaliknya, model dibentuk melalui proses pembelajaran menggunakan data.


Data Training​

Untuk membuat model, kita membutuhkan data yang digunakan dalam proses pembelajaran.

Data tersebut disebut training data atau data pelatihan.

Training data berisi contoh input dan output yang digunakan model untuk mempelajari pola.

Secara sederhana:

Training Data
↓
Learning Process
↓
Model

Semakin baik data yang digunakan, semakin besar peluang model dapat mempelajari pola yang berguna.

Contohnya untuk prediksi harga rumah:

Input:
- Luas rumah
- Jumlah kamar
- Lokasi

Output:
- Harga rumah

Model mempelajari hubungan antara input dan output tersebut.


Proses Pembelajaran Machine Learning​

Secara sederhana, proses Machine Learning dapat digambarkan:

Training Data
│
├── Input
│
└── Output
↓
Machine Learning
↓
Model
↓
Data Baru
↓
Prediksi

Pada tahap training, komputer mencoba menemukan pola yang dapat menjelaskan hubungan antara input dan output.

Setelah model selesai dipelajari, model dapat digunakan untuk menghasilkan prediksi pada data baru.


Dari Data Menjadi Model​

Proses utama Machine Learning dapat disederhanakan menjadi:

Data
↓
Training
↓
Learning Patterns
↓
Model

Model kemudian digunakan:

Data Baru
↓
Model
↓
Prediction

Jadi, salah satu tujuan utama Machine Learning adalah menghasilkan model yang dapat melakukan generalisasi terhadap data baru.


Black Box Phenomenon​

Semakin kompleks sebuah model Machine Learning, semakin sulit bagi manusia untuk memahami seluruh proses internalnya.

Hal ini sering disebut sebagai Black Box.

Gambaran sederhananya:

Input
↓
┌─────────────────┐
│ Model │
│ │
│ ??? │
│ ??? │
│ ??? │
└─────────────────┘
↓
Output

Kita mengetahui:

Input → Model → Output

Namun, untuk model yang kompleks, memahami secara detail bagaimana setiap keputusan internal dibuat dapat menjadi sangat sulit.


Mengapa Disebut Black Box?​

Istilah Black Box digunakan untuk menggambarkan sistem yang:

Input
↓
[ Proses Internal ]
↓
Output

Kita dapat melihat input dan output, tetapi proses internalnya sulit dipahami secara lengkap.

Dalam Machine Learning, fenomena ini semakin terlihat ketika model menjadi semakin kompleks.

Contohnya, model dapat menerima sebuah gambar:

Gambar
↓
Model
↓
"Ular"

Kita mengetahui bahwa model menghasilkan prediksi "ular", tetapi memahami seluruh proses internal yang menghasilkan keputusan tersebut bisa menjadi sangat kompleks.


Ringkasan Perbedaan​

Pemrograman TradisionalMachine Learning
Programmer menentukan functionKomputer mempelajari function
Input + FunctionInput + Output
Output dihasilkan berdasarkan aturanModel dipelajari dari data
Aturan ditulis secara eksplisitPola dipelajari dari data
Cocok untuk aturan yang jelasCocok untuk pola yang sulit ditulis secara eksplisit

Secara visual:

Pemrograman Tradisional

Input + Function
↓
Output
Machine Learning

Input + Output
↓
Learning Process
↓
Model

Konsep Penting​

Beberapa istilah yang perlu dipahami:

Input​

Data yang diberikan kepada model.

Contoh:

Gambar
Ukuran rumah
Jumlah kamar
Teks
Data sensor

Output​

Hasil yang ingin dihasilkan atau dipelajari oleh model.

Contoh:

Kucing
Harga rumah
Spam
Bukan spam

Training Data​

Kumpulan data yang digunakan untuk melatih model.

Input + Output
↓
Training Data

Model​

Function yang dipelajari dari training data.

Training Data
↓
Model

Prediction​

Output yang dihasilkan model ketika diberikan data baru.

Data Baru
↓
Model
↓
Prediction

Black Box​

Kondisi ketika proses internal model sulit dipahami secara lengkap, terutama pada model yang kompleks.


Gambaran Besar​

Seluruh konsep dapat dirangkum menjadi:

PEMROGRAMAN TRADISIONAL

Input + Function
↓
Output

────────────────────────────────────────

MACHINE LEARNING

Input + Output
↓
Learning Process
↓
Model
↓
Data Baru
↓
Prediction

Kesimpulan​

Machine Learning memberikan pendekatan berbeda dalam menyelesaikan masalah yang sulit dijelaskan menggunakan aturan pemrograman tradisional.

Pada pemrograman tradisional:

Programmer → Membuat Function

Sedangkan pada Machine Learning:

Programmer → Menyediakan Data
Komputer → Mempelajari Pola
Komputer → Menghasilkan Model

Model yang dihasilkan kemudian dapat digunakan untuk memproses data baru dan menghasilkan prediksi.

Konsep sederhana yang perlu diingat adalah:

info

Pemrograman tradisional memberikan aturan kepada komputer, sedangkan Machine Learning memberikan data agar komputer dapat mempelajari pola dan membentuk model.