Belajar Machine Learning - Matematika Dasar untuk ML
Episode 3 of 25

Belajar Machine Learning - Matematika Dasar untuk ML

Memahami tiga pilar matematika di balik machine learning: aljabar linear (vektor, matriks, dot product), kalkulus intuitif (turunan dan gradient descent), serta probabilitas dan statistik (distribusi, mean/variance, korelasi) lengkap dengan implementasi NumPy.

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Setelah di episode 2 kita memahami pipeline dan tooling, pada episode ini kita membangun bahasa yang paling mendasar: matematika di balik machine learning.

Kabar baiknya: kalian tidak perlu menjadi matematikawan. Yang dibutuhkan adalah pemahaman intuitif terhadap tiga pilar — aljabar linear, kalkulus, dan statistik — karena ketiganya adalah bahasa internal dari setiap model yang akan kita pakai. Analoginya: seperti mengemudi mobil, kalian tidak perlu bisa merakit mesin, tetapi memahami pedal gas, rem, dan kemudi akan membuat kalian mengemudi dengan baik.

Aljabar Linear: Vektor dan Matriks

Semua data yang masuk ke model direpresentasikan sebagai vektor (satu baris data) dan matriks (kumpulan baris). Inilah mengapa episode 0 menekankan NumPy.

  • Vektor: kumpulan angka satu dimensi. Contoh: [23, 4.5, 1] — umur, skor, dan status seorang customer.
  • Matriks: kumpulan vektor sebagai baris. Contoh: 100 customer → matriks 100×3.
Vektor dan matriks di NumPy
import numpy as np
 
vektor = np.array([23, 4.5, 1])
matriks = np.array([[23, 4.5, 1],
                    [31, 3.2, 0],
                    [28, 5.0, 1]])
print(matriks.shape)  # (3, 3) → 3 baris, 3 kolom

Operasi element-wise adalah fondasi semua perhitungan model — tambah, kali, dan pangkat dilakukan per-elemen:

Operasi element-wise
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a * 2)        # [2 4 6]
print(a + b)        # [5 7 9]

Dot Product

Dot product menjumlahkan hasil perkalian elemen demi elemen: a · b = a1*b1 + a2*b2 + .... Inilah operasi inti di balik prediksi linear dan perhitungan bobot neural network.

Dot product
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(np.dot(a, b))  # 1*4 + 2*5 + 3*6 = 32

Prediksi sebuah model linear y = w·x + b (bobot w dikali fitur x ditambah bias b) adalah dot product plus konstanta. Dari sinilah semua model linear — termasuk neural network — dibangun. Matriks kita kalikan dengan matriks bobot untuk memproses banyak baris sekaligus: X @ W.

Kalkulus: Turunan dan Gradient

Kalkulus menjawab pertanyaan: bagaimana model memperbaiki dirinya sendiri? Intinya adalah turunan — konsep "kemiringan" sebuah fungsi.

Bayangkan fungsi biaya (loss) seperti lembah. Kita ingin turun ke titik paling rendah (error terkecil), tetapi hanya bisa melangkah kecil-kecil. Turunan memberi tahu arah turun; gradient adalah turunan untuk banyak variabel sekaligus.

100%

Proses menggeser bobot sedikit demi sedikit inilah yang disebut gradient descent. Langkah per geseran dikendalikan oleh learning rate.

KonsepArti intuitifAnalogi
TurunanKemiringan kurva di satu titikSudut jalan turunan
GradientKemiringan ke semua arahPeta medan
Learning rateBesar langkahPanjang langkah kaki
MinimumTitik error terkecilDasar lembah

Kalian tidak perlu menghitung turunan manual — framework seperti scikit-learn dan PyTorch melakukannya otomatis. Yang penting adalah memahami arah belajar: model menggeser bobot berlawanan gradien untuk menurunkan error.

Probabilitas dan Distribusi

Probabilitas adalah cara model menyatakan ketidakpastian: P(spam | email) berarti "probabilitas email ini spam". Banyak model classification mengeluarkan probabilitas, bukan sekadar label.

Distribusi menggambarkan bagaimana nilai data tersebar. Dua yang paling sering muncul:

  • Normal (Gaussian): lonceng simetris — tinggi badan, error pengukuran, banyak metrik dunia nyata.
  • Binomial/Bernoulli: hasil biner — ya/tidak, sukses/gagal.
Simulasi distribusi normal
import numpy as np
 
data = np.random.normal(loc=50, scale=10, size=1000)
print(f"mean={data.mean():.2f}, std={data.std():.2f}")

Memahami distribusi berguna saat EDA (episode 4): jika data tidak mengikuti asumsi distribusi, kita tahu transformasi apa yang perlu dilakukan.

Mean, Variance, dan Korelasi

Statistik deskriptif adalah rangkuman data:

  • Mean: rata-rata — pusat data.
  • Variance / std: sebaran data — seberapa jauh nilai dari pusat.
  • Korelasi: hubungan linear antara dua kolom, bernilai -1 sampai 1.
Statistik deskriptif
import numpy as np
 
umur = np.array([23, 31, 28, 45, 36, 29])
pendapatan = np.array([4, 6, 5, 9, 8, 5])
 
print(f"mean umur = {umur.mean():.1f}")
print(f"std umur  = {umur.std():.1f}")
print(f"korelasi  = {np.corrcoef(umur, pendapatan)[0,1]:.2f}")

Korelasi mendekati 1 berarti dua kolom naik bersama; mendekati -1 berarti berlawanan; mendekati 0 berarti tidak ada hubungan linear. Korelasi ini adalah senjata pertama kalian di feature selection (episode 9).

Tip

Korelasi tinggi bukan berarti kausalitas — dua kolom bisa berkorelasi karena faktor ketiga. Selalu gunakan domain knowledge sebelum menyimpulkan dari angka korelasi.

Menghubungkan Ketiganya

Ketiga pilar ini bukan topik terpisah — mereka bekerja bersama:

100%

Setiap kali kalian melihat model.fit(), yang terjadi di balik layar adalah: matriks X dikali bobot (aljabar linear), error dihitung dan diturunkan (kalkulus), lalu bobot digeser untuk menurunkan error (gradient descent). Evaluasi akhirnya memakai ukuran statistik.

Penutup

Pada episode 3 ini, kalian telah memahami matematika yang menjadi bahasa model.

Inti yang harus dibawa pulang:

  • Aljabar linear: data = vektor/matriks; dot product = inti prediksi linear.
  • Kalkulus: turunan = kemiringan; gradient descent = geser bobot ke arah error terendah.
  • Statistik: distribusi menggambarkan sebaran; mean/std meringkas data; korelasi mengukur hubungan antar kolom.
  • Semua framework ML menangani perhitungan ini otomatis — tugas kalian memahami konsepnya.

Di episode 4 selanjutnya kita akan membahas EDA dan data preprocessing — menjelajahi distribusi, outlier, dan missing values, lalu menerapkan scaling (StandardScaler/MinMaxScaler), encoding (One-Hot/Label), dan train/test split yang benar. Ini tahap yang paling banyak menghabiskan waktu di proyek ML nyata. Sampai jumpa di episode 4!