Apa Itu Machine Learning?

Makna machine learning, tempat pendekatannya menciptakan nilai, kapan ia gagal, serta ekspektasi yang jujur terhadap hasilnya.

Daftar isi

Topik ini membahas makna machine learning, kondisi yang membuat pendekatan tersebut menciptakan nilai, contoh pelatihan model pertama, serta batasan hasil yang wajar diharapkan. Bahasan bergerak dari definisi, kriteria kelayakan, kode, hingga interpretasi keluarannya. Setelah topik ini tuntas, keputusan menggunakan atau tidak menggunakan machine learning pada sebuah masalah dapat diambil berdasarkan kriteria yang jelas. Kriteria itu juga teruji pada satu contoh nyata.

Makna machine learning#

Machine learning adalah pendekatan pembuatan program yang memperbaiki kinerjanya pada suatu tugas dengan mempelajari pola dari data. Pada pemrograman konvensional, aturan ditulis oleh manusia satu per satu. Pada machine learning, pasangan contoh dan jawaban yang benar menjadi masukan, sedangkan aturan dalam bentuk model menjadi keluarannya.

Model adalah fungsi berparameter yang memetakan fitur (feature) ke prediksi. Label adalah nilai yang ingin diprediksi dan sering juga disebut target. Proses menentukan nilai parameter dari data disebut pelatihan (training), dan pemakaian model yang sudah terlatih pada contoh baru disebut inferensi (inference).

Bentuk model paling sederhana adalah garis lurus yang memetakan satu fitur xx ke prediksi y^\hat{y}:

y^=wx+b \hat{y} = w x + b

Simbol ww menyatakan kemiringan garis dan bb menyatakan pergeserannya. Keduanya disebut parameter. Pelatihan menentukan nilai ww dan bb dengan kriteria yang terukur, misalnya meminimalkan jumlah kuadrat selisih antara prediksi dan label pada data yang tersedia:

∑i=1n(yi−y^i)2 \sum_{i=1}^{n} (y_i - \hat{y}_i)^2

Kata belajar pada machine learning bermakna teknis, bukan harfiah. Program tidak memahami konsep di balik data. Program hanya menyesuaikan parameter agar error, yaitu selisih antara prediksi dan label, berkurang secara terukur. Penyesuaian itu dikerjakan oleh prosedur numerik, bukan tangan manusia, sehingga perubahan data otomatis mengubah model yang dihasilkan pada pelatihan ulang berikutnya. Diagram berikut merangkum alur dari data hingga prediksi.

Datafitur dan labelPelatihancari parameterModelw dan bInferensicontoh baruPrediksihasil angkaPelatihan menghasilkan model, inferensi memakai model untuk contoh baru
Alur machine learning dari data hingga prediksi

Kapan machine learning menciptakan nilai#

Machine learning menciptakan nilai ketika empat kondisi hadir bersamaan. Pertama, pola yang dicari terlalu rumit untuk dirumuskan dengan aturan tertulis, misalnya hubungan puluhan faktor terhadap harga rumah atau ciri spam, yaitu pesan email yang tidak diinginkan. Kedua, data historis tersedia dalam jumlah memadai dan cukup mewakili situasi yang akan dihadapi model. Ketiga, pola berubah seiring waktu, sehingga model dapat dilatih ulang tanpa menulis ulang seluruh aturan. Keempat, keputusan diambil berulang-ulang dalam skala besar, sehingga otomatisasi memberi dampak yang terukur.

Apabila salah satu kondisi itu tidak terpenuhi, machine learning biasanya bukan pilihan tepat. Apabila aturan keputusan sudah jelas dan jumlahnya sedikit, program biasa yang menuliskan aturan itu lebih cepat, lebih murah, dan lebih mudah diaudit. Apabila data terlalu sedikit atau mengandung bias, yaitu kecondongan yang membuat data tidak mewakili situasi nyata, model hanya menghafal kekurangan data tersebut. Kecondongan yang sama kemudian diulang pada prediksi. Apabila biaya kesalahan tinggi sementara tidak ada data historis, model tidak memiliki dasar untuk belajar dan evaluasinya tidak dapat dilakukan. Tabel berikut meringkas pembagian tersebut.

Kondisi masalahPendekatan yang lebih tepat
Aturan keputusan sudah diketahui dan jumlahnya sedikitPemrograman biasa dengan aturan tertulis
Pola rumit, data historis memadai, keputusan berulang dalam skala besarMachine learning
Data terlalu sedikit atau tidak mewakili situasi nyataPengumpulan data lebih dahulu sebelum pemodelan

Contoh pelatihan model pertama#

Skrip berikut melatih model garis lurus pada enam pasang data apartemen dekat kampus, yaitu luas unit dalam meter persegi dan sewa bulanan dalam juta rupiah. Tidak ada satu baris pun yang menuliskan hubungan antara luas dan sewa secara eksplisit, karena hubungan itu diestimasi dari data oleh prosedur kuadrat terkecil (least squares). Angka pada data dipilih realistis dan mudah dihitung ulang.

python demo-sewa-apartemen.py
"""Model garis lurus untuk sewa apartemen dekat kampus."""
import numpy as np
from sklearn.linear_model import LinearRegression

# data pengamatan: luas unit (meter persegi) dan sewa bulanan (juta rupiah)
luas = np.array([[20.0], [24.0], [28.0], [32.0], [36.0], [40.0]])
sewa = np.array([2.1, 2.4, 2.9, 3.0, 3.5, 3.8])

# pelatihan: model mencari garis dengan jumlah kuadrat selisih terkecil
model = LinearRegression()
model.fit(luas, sewa)

print(f"koefisien (kenaikan sewa per meter persegi): {model.coef_[0]:.4f}")
print(f"intersep (sewa dasar): {model.intercept_:.4f}")

# inferensi: prediksi sewa untuk unit yang belum ada di data
unit_baru = np.array([[30.0]])
prediksi = model.predict(unit_baru)
print(f"prediksi sewa unit 30 meter persegi: {prediksi[0]:.4f}")
text Keluaran
koefisien (kenaikan sewa per meter persegi): 0.0850
intersep (sewa dasar): 0.4000
prediksi sewa unit 30 meter persegi: 2.9500

Keluaran menunjukkan koefisien 0.0850, yang berarti model mengasosiasikan setiap tambahan satu meter persegi dengan kenaikan sewa sebesar 0.0850 juta rupiah. Intersep 0.4000 adalah prediksi model untuk luas nol, nilai yang tidak memiliki makna praktis tetapi diperlukan agar garisnya menyesuaikan data. Prediksi untuk unit 30 meter persegi adalah 2.9500 juta rupiah per bulan, tepat di tengah rentang data pelatihan. Seluruh angka itu dihasilkan oleh proses pelatihan, bukan ditulis manusia, sehingga keluaran berubah apabila data pengamatan berubah.

Prediksi pada contoh baru inilah inferensi dalam bentuk paling sederhana. Model garis lurus dipakai karena datanya mendekati pola linear, bukan karena model itu paling canggih. Pada masalah nyata dengan banyak fitur dan pola yang tidak linear, mekanisme pelatihan dan inferensinya tetap sama, sedangkan bentuk fungsi model diganti sesuai kebutuhan.

Ekspektasi yang jujur#

Ekspektasi terhadap hasil machine learning perlu dijaga tetap realistis. Kualitas model dibatasi oleh kualitas data yang melatihnya, kecocokan fitur yang disediakan, dan kejujuran cara evaluasinya. Label yang salah, data yang tidak mewakili, atau fitur yang tidak informatif menghasilkan model dengan error yang tinggi, apa pun kecanggihan algoritmanya.

Evaluasi juga mengandung jebakan yang sistematis. Kinerja pada data yang sama dengan data pelatihan hampir selalu terlihat lebih baik daripada kinerja pada data baru, karena model telah menyesuaikan diri dengan data tersebut. Kondisi menyesuaikan diri secara berlebihan dengan data latih disebut overfitting dan dibahas tersendiri pada jalur ini. Oleh karena itu, model wajib dinilai pada data yang tidak dipakai melatih. Model yang rumit juga belum boleh disebut berguna sebelum mengalahkan baseline, yaitu tolok ukur sederhana seperti menebak rata-rata.

Ekspektasi terakhir menyangkut umur model. Prediksi model bersifat statistik dan selalu disertai kemungkinan error, sehingga keluarannya digunakan untuk mendukung keputusan, bukan menggantikan penilaian manusia pada kasus berisiko tinggi. Apabila pola pada data berubah setelah model berjalan di lingkungan produksi, kinerjanya menurun tanpa tanda yang terlihat. Kondisi ini disebut drift. Dengan ekspektasi tersebut, machine learning diperlakukan sebagai alat statistik yang terukur, bukan penentu mutlak.

Ringkasan#

  • Machine learning menghasilkan model dari pasangan fitur dan label melalui pelatihan, sedangkan pemrograman konvensional menerima aturan yang ditulis manusia.
  • Pelatihan menentukan parameter model dengan meminimalkan error yang terukur, dan inferensi memakai model terlatih untuk menghasilkan prediksi pada contoh baru.
  • Pendekatan ini bernilai ketika pola rumit, data historis memadai, dan keputusan berulang dalam skala besar, serta tidak tepat ketika aturan sudah jelas atau data terlalu sedikit.
  • Kualitas model dibatasi kualitas data dan kejujuran evaluasi, sehingga setiap model wajib diuji terhadap baseline pada data yang tidak dipakai melatih.

Referensi#