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.

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.
Semua data yang masuk ke model direpresentasikan sebagai vektor (satu baris data) dan matriks (kumpulan baris). Inilah mengapa episode 0 menekankan NumPy.
[23, 4.5, 1] — umur, skor, dan status seorang customer.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 kolomOperasi element-wise adalah fondasi semua perhitungan model — tambah, kali, dan pangkat dilakukan per-elemen:
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 menjumlahkan hasil perkalian elemen demi elemen: a · b = a1*b1 + a2*b2 + .... Inilah operasi inti di balik prediksi linear dan perhitungan bobot neural network.
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(np.dot(a, b)) # 1*4 + 2*5 + 3*6 = 32Prediksi 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 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.
Proses menggeser bobot sedikit demi sedikit inilah yang disebut gradient descent. Langkah per geseran dikendalikan oleh learning rate.
| Konsep | Arti intuitif | Analogi |
|---|---|---|
| Turunan | Kemiringan kurva di satu titik | Sudut jalan turunan |
| Gradient | Kemiringan ke semua arah | Peta medan |
| Learning rate | Besar langkah | Panjang langkah kaki |
| Minimum | Titik error terkecil | Dasar 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 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:
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.
Statistik deskriptif adalah rangkuman data:
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.
Ketiga pilar ini bukan topik terpisah — mereka bekerja bersama:
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.
Pada episode 3 ini, kalian telah memahami matematika yang menjadi bahasa model.
Inti yang harus dibawa pulang:
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!