Bab 5: Kalkulus Vektor
Memahami Perubahan: Gradien, Jacobian, dan Backpropagation
Inti dari Machine
Learning: Optimasi
Bagaimana kita melatih model agar semakin pintar? Kita harus tahu arah mana yang harus
kita ambil
untuk mengurangi error. Kalkulus vektor memberikan kita "kompas" (Gradient) untuk men
navigasi ruang
parameter yang kompleks tersebut.
Peta Konsep
graph LR
A[Fungsi Skalar f] -- Turunan Parsial --> B[Gradient ∇f]
C[Fungsi Vektor g] -- Turunan Parsial --> D[Jacobian J]
B -- Turunan Kedua --> E[Hessian H]
F[Chain Rule] --> G[Backpropagation]
1. Turunan Parsial dan Gradien
Untuk fungsi multivariat $f: \mathbb{R}^n \to \mathbb{R}$ (input vektor, output skalar, seperti
Loss
Function), kita tidak hanya punya satu turunan, tapi banyak turunan parsial terhadap setiap
variabel
input $x_i$.
Koleksi dari semua turunan parsial ini disebut Gradien ($\nabla f$):
$$
\nabla f(\boldsymbol{x}) = \begin{bmatrix}
\frac{\partial f}{\partial x_1} \\
\vdots \\
\frac{\partial f}{\partial x_n}
\end{bmatrix}
$$
Arti Geometris: Gradien selalu menunjuk ke arah tanjakan tercuram
(steepest
ascent) dari fungsi tersebut. Untuk meminimalkan fungsi (seperti error), kita berjalan
berlawanan arah
dengan gradien (Gradient Descent).
Contoh Perhitungan:
Gradien
Misalkan kita punya fungsi $f(x, y) = x^2 + 3y$. Kita ingin mencari gradien di titik $(1,
2)$.
1. Turunan parsial terhadap $x$ (anggap $y$ konstanta):
$$ \frac{\partial f}{\partial x} = 2x $$
2. Turunan parsial terhadap $y$ (anggap $x$ konstanta):
$$ \frac{\partial f}{\partial y} = 3 $$
3. Susun menjadi vektor gradien:
$$ \nabla f(x, y) = \begin{bmatrix} 2x \\ 3 \end{bmatrix} $$
4. Evaluasi di titik $(1, 2)$:
$$ \nabla f(1, 2) = \begin{bmatrix} 2(1) \\ 3 \end{bmatrix} = \begin{bmatrix} 2 \\ 3
\end{bmatrix}
$$
Ini berarti di titik (1,2), fungsi naik paling cepat jika kita bergerak ke
arah vektor $[2, 3]^\top$.
2. Jacobian Matrix
Bagaimana jika fungsi kita memiliki input vektor $\boldsymbol{x} \in \mathbb{R}^n$ DAN output
vektor
$\boldsymbol{f}(\boldsymbol{x}) \in \mathbb{R}^m$?
Kumpulan turunan parsialnya membentuk sebuah matriks berukuran $m \times n$ yang disebut
Jacobian Matrix ($\boldsymbol{J}$):
$$
\boldsymbol{J} = \begin{bmatrix}
\frac{\partial f_1}{\partial x_1} & \cdots & \frac{\partial f_1}{\partial x_n} \\
\vdots & \ddots & \vdots \\
\frac{\partial f_m}{\partial x_1} & \cdots & \frac{\partial f_m}{\partial x_n}
\end{bmatrix}
$$
Contoh Perhitungan: Jacobian
Misalkan fungsi $\boldsymbol{f}(x, y) = \begin{bmatrix} x + y^2 \\ x y \end{bmatrix}$.
Disini output pertama $f_1(x, y) = x + y^2$ dan output kedua $f_2(x, y) = xy$.
Turunan parsialnya:
$$ \frac{\partial f_1}{\partial x} = 1, \quad \frac{\partial f_1}{\partial y} = 2y $$
$$ \frac{\partial f_2}{\partial x} = y, \quad \frac{\partial f_2}{\partial y} = x $$
Maka matriks Jacobiannya adalah:
$$ \boldsymbol{J} = \begin{bmatrix} 1 & 2y \\ y & x \end{bmatrix} $$
3. Aturan Rantai (Chain Rule) dan Backpropagation
Model Machine Learning sering kali berupa komposisi fungsi yang panjang (Deep Learning adalah
$f_k(\dots
f_2(f_1(\boldsymbol{x})))$).
Untuk menghitung gradien dari fungsi komposisi ini, kita menggunakan Chain
Rule.
$$ \frac{\partial}{\partial \boldsymbol{x}} (g \circ f)(\boldsymbol{x}) = \frac{\partial
g}{\partial f}
\frac{\partial f}{\partial \boldsymbol{x}} $$
Dalam konteks vektor, ini berarti perkalian matriks Jacobian.
Backpropagation hanyalah implementasi efisien dari Chain Rule yang bekerja
mundur dari
output (Loss) ke input, menghindari perhitungan yang berulang.
graph RL
L((Loss)) -- ∂L/∂y --> Y((Output))
Y -- ∂y/∂h2 --> H2((Hidden 2))
H2 -- ∂h2/∂h1 --> H1((Hidden 1))
H1 -- ∂h1/∂x --> X((Input))
style L fill:#ef4444,color:white
Visualisasi Backpropagation: "Mengalirkan" error
mundur.
4. Hessian Matrix
Jika Gradien adalah turunan pertama, maka Hessian ($\boldsymbol{H}$) adalah
matriks
turunan kedua (kurvatur).
Untuk fungsi $f: \mathbb{R}^n \to \mathbb{R}$, Hessian adalah matriks simetris $n \times n$:
$$ \boldsymbol{H}_{ij} = \frac{\partial^2 f}{\partial x_i \partial x_j} $$
Hessian memberi tahu kita tentang kelengkungan permukaan fungsi. Dalam optimasi, ini digunakan
dalam
metode orde kedua (seperti Newton's Method) untuk konvergensi yang lebih cepat daripada Gradient
Descent
biasa, meskipun komputasinya jauh lebih berat.