Apa itu constrained optimization?
Constrained optimization mencari minimum atau maksimum sebuah fungsi ketika input-nya harus memenuhi syarat tambahan, misalnya tetap berada pada sebuah kurva atau di dalam suatu anggaran. Alat klasiknya adalah metode Lagrange multiplier (pengali Lagrange): di optimum dengan constraint, gradient fungsi objektif merupakan kelipatan dari gradient constraint, ∇f = λ∇g. Untuk constraint berbentuk pertidaksamaan, metode ini diperluas menjadi syarat Karush–Kuhn–Tucker (KKT).
Dalam machine learning, constraint muncul di support vector machine (memaksimalkan margin dengan syarat setiap titik terklasifikasi benar), batas weight norm dan regularization L2, constraint keadilan dan keamanan, serta trust region berbasis KL divergence yang dipakai TRPO dan RLHF. Banyak suku penalty dalam loss function sebenarnya adalah constraint yang ditulis dalam bentuk Lagrangian.
Ide utama
- Constraint membatasi posisi solusi, dan hanya bisa membuat nilai objektif terbaik menjadi lebih buruk atau tetap sama.
- Di optimum dengan constraint, ∇f sejajar dengan gradient constraint ∇g.
- Syarat Lagrange ∇f = λ∇g mengubah masalah dengan constraint menjadi sistem persamaan.
- Multiplier λ adalah sensitivitas nilai optimal terhadap level constraint.
- Constraint pertidaksamaan mengikuti syarat KKT, dengan λ bernilai nol kecuali constraint-nya aktif.
- Regularization L2 adalah bentuk penalty dari constraint pada norm weight.
Pertanyaan umum
Apa itu Lagrangian?
Lagrangian menggabungkan fungsi objektif dan constraint menjadi satu fungsi: L(x, λ) = f(x) − λ·(g(x) − c). Menyamakan gradient-nya dengan nol terhadap x dan λ menghasilkan kembali ∇f = λ∇g dan constraint itu sendiri. Konvensi tanda berbeda antarbuku, jadi λ bisa muncul dengan tanda plus.
Apa itu syarat KKT?
Syarat KKT adalah syarat optimalitas untuk masalah dengan constraint pertidaksamaan. Isinya: Lagrangian harus stasioner, titiknya feasible, multiplier setiap pertidaksamaan non-negatif, dan complementary slackness, yaitu setiap multiplier dikali slack constraint-nya sama dengan nol. Untuk masalah konveks yang memenuhi syarat regularitas ringan, syarat KKT bersifat perlu sekaligus cukup.
Bagaimana support vector machine memakai constrained optimization?
Hard-margin SVM meminimalkan |w|²/2 dengan syarat setiap titik training berada di sisi margin yang benar. Lagrange dual-nya bergantung pada data hanya lewat dot product antartitik, dan inilah yang memungkinkan kernel trick. Titik dengan multiplier bukan nol adalah support vector.
Bagaimana constraint ditangani saat training neural network?
Biasanya lewat penalty yang ditambahkan ke loss, seperti weight decay, atau lewat proyeksi setelah setiap langkah, seperti clipping weight atau menormalkannya ulang ke norm maksimum. Metode seperti TRPO menerapkan trust-region constraint langsung pada perubahan policy. Solver constraint yang eksak jarang dipakai pada skala deep learning.
Penjelasan terkait
- Konveksitas, Minimum, dan Saddle Point · Kenapa sebagian masalah optimasi lebih sulit daripada yang lain
- Turunan Parsial dan Gradient · Memperluas turunan satu variabel ke fungsi banyak variabel dan vector gradient
- Regularization · Dropout, L1, dan L2 agar model tetap jujur
- Support Vector Machine · Classifier dengan margin maksimum dan kernel trick
- Gradient Descent · Optimasi dengan mengikuti kemiringan ke bawah
- Norm dan Metrik Jarak · L1, L2, cosine similarity: cara mengukur kedekatan di ruang vector
Referensi
- Boyd & Vandenberghe, "Convex Optimization", ch. 5 Duality (free PDF)
- Deisenroth, Faisal & Ong, "Mathematics for Machine Learning", ch. 7 Continuous Optimization
- Cortes & Vapnik (1995), "Support-vector networks", Machine Learning
- Schulman et al. (2015), "Trust Region Policy Optimization"
Terakhir diperbarui