Optimisasi Lanjut dan Analisis Konveks - Modul Becker 3: Reduksi Varians untuk SAA
Status pembaca. Modul ini menerjemahkan tepat baris 2971–2988 dari Stephen Becker, convex-optimization-class, commit
98ed6930084c435ba0f675f7646ced1f2fd8729e; catatan ketik sumber mengreditkan Mitchell Krock. Rentang donor memperkenalkan penaksir SAGA, menyebut SAG dan SVRG, dan mencatat iterat rata-rata. Materi sebelum rentang dan terminator dokumen sesudahnya tidak diimpor. Materi donor mempertahankan Lisensi MIT; terjemahan, koreksi, penghubung, latihan, dan solusi mandiri tersedia berdasarkan CC BY-SA 4.0. Ini bukan edisi resmi atau dukungan pihak sumber.Provenans produksi: OpenAI Codex gpt-5.6-sol, Ultra, atas instruksi pengguna repositori; seluruh kredit penulis dan kontributor manusia tetap dipertahankan.
Reduksi Varians untuk SAA
Pertimbangkan masalah jumlah hingga dari aproksimasi rata-rata sampel (sample average approximation, SAA) \[\begin{equation} \label{becker03:eq:finite-sum} \min_{x\in\mathbb{R}^n} f(x), \qquad f(x)=\frac{1}{N}\sum_{i=1}^{N}f_i(x), \end{equation}\] dengan \(f\) bernilai hingga pada domain model. Sebagai contoh, untuk model dengan prediktor linear dan fungsi kerugian dapat dipakai \[\begin{equation} \label{becker03:eq:linearized-loss} f_i(x)=\ell(a_i^\top x-b_i), \end{equation}\] dengan \(\ell\) fungsi kerugian. Huruf \(\ell\) menggantikan huruf \(L\) pada donor agar tidak bertabrakan dengan konstanta kemulusan Lipschitz yang dipakai di bawah.
Tabel gradien dan penaksir SAGA
Pilih iterat awal \(x_0\) dan inisialisasikan satu titik tabel \(\phi_i^0=x_0\) untuk setiap \(i=1,\dots,N\). Simpan, pada iterasi \(k\geq0\), \[\begin{equation} g_i^k=\nabla f_i(\phi_i^k), \qquad \bar g_k=\frac{1}{N}\sum_{i=1}^{N}g_i^k. \end{equation}\] Dengan \(x\in\mathbb{R}^n\), tabel lengkap mempunyai \(N\) kolom gradien di \(\mathbb{R}^n\). Ambil indeks acak \(J_k\sim\operatorname{Unif}\{1,\dots,N\}\) dan bentuk \[\begin{equation} \label{becker03:eq:saga-estimator} v_k =\nabla f_{J_k}(x_k)-g_{J_k}^k+\bar g_k. \end{equation}\] Pembaruan SAGA tanpa suku proksimal adalah \[\begin{equation} \label{becker03:eq:saga-update} x_{k+1}=x_k-t_kv_k. \end{equation}\] Sesudah \(v_k\) dihitung dari tabel lama, hanya kolom terpilih yang disegarkan: \[\begin{equation} \label{becker03:eq:table-update} g_i^{k+1}= \begin{cases} \nabla f_i(x_k),&i=J_k,\\ g_i^k,&i\ne J_k, \end{cases} \qquad \phi_i^{k+1}= \begin{cases} x_k,&i=J_k,\\ \phi_i^k,&i\ne J_k. \end{cases} \end{equation}\] Ini menuliskan secara eksplisit inisialisasi dan urutan pembaruan yang hanya tersirat pada donor. Suku \(-g_{J_k}^k+\bar g_k\) merupakan peubah kontrol (control variate). Donor juga menyebut SAG dan SVRG; keduanya adalah metode reduksi varians lain, tetapi algoritmanya tidak diimpor dari bagian di luar rentang beku.
Mengapa koreksi tabel mengurangi varians
Penghubung mandiri.
Ambil \(\mathcal F_k\) sebagai informasi sebelum \(J_k\) ditarik, sehingga \(x_k\) dan seluruh tabel tetap ketika ekspektasi bersyarat dihitung.
Proposisi (Takbias bersyarat).
Penaksir penaksir SAGA memenuhi \[\begin{equation} \mathbb{E}[v_k\mid\mathcal F_k]=\nabla f(x_k). \end{equation}\]
Bukti. Keseragaman \(J_k\) memberi \[\begin{multline*} \mathbb{E}[v_k\mid\mathcal F_k] =\frac1N\sum_{i=1}^{N} \bigl(\nabla f_i(x_k)-g_i^k+\bar g_k\bigr)\\ =\nabla f(x_k)-\bar g_k+\bar g_k =\nabla f(x_k). \end{multline*}\] ◻
Lebih tepat lagi, tuliskan \(a_i^k=\nabla f_i(x_k)-g_i^k\) dan \(\bar a_k=N^{-1}\sum_i a_i^k\). Maka \[\begin{equation} \label{becker03:eq:variance-identity} \mathbb{E}\!\left[ \left\lVert v_k-\nabla f(x_k)\right\rVert_2^2\mid\mathcal F_k \right] =\frac1N\sum_{i=1}^{N}\left\lVert a_i^k-\bar a_k\right\rVert_2^2 \leq\frac1N\sum_{i=1}^{N}\left\lVert a_i^k\right\rVert_2^2. \end{equation}\] Identitas ini memperlihatkan mekanismenya: ketika gradien tersimpan mendekati gradien komponen pada iterat sekarang, ruas kanan menyusut meskipun langkah \(t_k\) tidak dipaksa menuju nol. Berbeda dari SAG, koreksi SAGA pada penaksir SAGA membuat arah langkah takbias. SVRG mencapai gagasan serupa dengan gradien penuh pada titik acuan berkala, sehingga tidak menyimpan seluruh tabel gradien tetapi memakai evaluasi gradien tambahan.
Laju konvergensi dan iterat rata-rata
Pernyataan donor “untuk \(t\) yang sesuai, metode ini konvergen secara linear” memerlukan hipotesis. Bentuk berikut adalah spesialisasi nonkomposit dari hasil SAGA oleh Defazio, Bach, dan Lacoste-Julien (2014).
Teorema (Laju linear SAGA dengan kekonveksan kuat).
Andaikan setiap \(f_i\) konveks, terdiferensial, dan mempunyai gradien \(L\)-Lipschitz. Andaikan pula \(f\) pada masalah jumlah hingga \(\mu\)-konveks kuat dan mempunyai peminimum \(x^*\). Jika seluruh titik tabel diinisialisasi pada \(x_0\) dan \(t_k=t=1/(3L)\), maka \[\begin{equation} \label{becker03:eq:linear-rate} \mathbb{E}\left\lVert x_k-x^*\right\rVert_2^2 \leq \left(1-\min\left\{\frac{1}{4N},\frac{\mu}{3L}\right\}\right)^k C_0, \end{equation}\] dengan \[\begin{equation} C_0=\left\lVert x_0-x^*\right\rVert_2^2 +\frac{2N}{3L}\bigl(f(x_0)-f(x^*)\bigr). \end{equation}\]
Konstanta dan laju pada teorema tersebut mengikuti hasil adaptivitas terhadap kekonveksan kuat dalam Defazio, Bach, dan Lacoste-Julien, SAGA (2014). Teorema donor tanpa hipotesis tidak dipertahankan sebagai klaim universal: tanpa kemulusan dan struktur konveks yang sesuai, laju linear tidak mengikuti hanya dari bentuk pembaruan.
Jika \(f\) hanya konveks, definisikan iterat rata-rata secara tidak ambigu sebagai \[\begin{equation} \label{becker03:eq:average-iterate} \bar x_k=\frac1k\sum_{r=1}^{k}x_r. \end{equation}\] Di bawah asumsi konveks dan \(L\)-mulus di atas, dengan \(t=1/(3L)\), hasil yang sama memberi batas \[\begin{equation} \label{becker03:eq:average-rate} \mathbb{E}[f(\bar x_k)]-f(x^*) \leq\frac{4N}{k} \left[ \frac{2L}{N}\left\lVert x_0-x^*\right\rVert_2^2+f(x_0)-f(x^*) \right]. \end{equation}\] Jadi perataan bukan jaminan tanpa syarat untuk laju yang lebih baik; dalam rezim konveks yang dinyatakan, ia menyediakan jaminan sublinear \(\mathcal O(1/k)\) untuk nilai fungsi.
Latihan dengan petunjuk dan solusi
Latihan berikut merupakan materi baru untuk edisi ini; tidak ada latihan, petunjuk, atau solusi pada rentang donor.
Latihan (Takbias dan identitas varians).
Dengan \(a_i^k=\nabla f_i(x_k)-g_i^k\), buktikan Proposisi Proposisi ketakbiasan bersyarat dan identitas identitas varians. Jelaskan kapan varians bersyaratnya sama dengan nol.
Petunjuk. Gunakan \(v_k-\nabla f(x_k)=a_{J_k}^k-\bar a_k\) dan kembangkan kuadratnya.
Solusi lengkap. Keseragaman indeks memberi \(\mathbb{E}[a_{J_k}^k\mid\mathcal F_k]=\bar a_k\), sehingga selisih tersebut bermean nol. Selanjutnya, \[\begin{multline*} \mathbb{E}\left\lVert a_{J_k}^k-\bar a_k\right\rVert_2^2 =\frac1N\sum_i \left(\left\lVert a_i^k\right\rVert_2^2-2\left\langle a_i^k,\bar a_k\right\rangle +\left\lVert \bar a_k\right\rVert_2^2\right)\\ =\frac1N\sum_i\left\lVert a_i^k\right\rVert_2^2-\left\lVert \bar a_k\right\rVert_2^2, \end{multline*}\] yang sama dengan ruas tengah identitas varians dan tidak melebihi ruas kanannya. Variansnya nol tepat ketika semua \(a_i^k\) sama; khususnya, nol jika \(g_i^k=\nabla f_i(x_k)\) untuk semua \(i\).
Latihan (Satu langkah kuadratik).
Ambil \(N=2\), \(f_1(x)=\tfrac12(x-1)^2\), \(f_2(x)=\tfrac12(x+1)^2\), \(x_k=2\), \(\phi_1^k=0\), dan \(\phi_2^k=1\). Hitung dua nilai mungkin bagi \(v_k\), ekspektasi dan variansnya, lalu bandingkan dengan gradien stokastik biasa \(\nabla f_{J_k}(x_k)\). Untuk \(t_k=0{,}1\), hitung pula dua iterat berikutnya.
Petunjuk. \(g_1^k=-1\), \(g_2^k=2\), dan \(\bar g_k=1/2\).
Solusi lengkap. Pada \(x_k=2\), gradien komponen adalah \(1\) dan \(3\). Oleh karena itu \(v_k=1-(-1)+1/2=5/2\) jika \(J_k=1\), sedangkan \(v_k=3-2+1/2=3/2\) jika \(J_k=2\). Maka \(\mathbb{E}[v_k]=2=\nabla f(2)\) dan \(\operatorname{Var}(v_k)=\tfrac12[(1/2)^2+(-1/2)^2]=1/4\). Penaksir SGD biasa bernilai \(1\) atau \(3\), sehingga mean-nya juga \(2\) tetapi variansnya \(1\). Dengan \(t_k=0{,}1\), SAGA menghasilkan \(x_{k+1}=1{,}75\) atau \(x_{k+1}=1{,}85\).
Perubahan dan batas sumber
Edisi memperjelas model dengan prediktor linear, membedakan fungsi kerugian \(\ell\) dari konstanta kemulusan \(L\), melengkapi inisialisasi dan urutan tabel gradien, dan mengganti klaim laju tanpa hipotesis dengan hasil SAGA yang bersyarat tepat. Bukti ketakbiasan, identitas varians, perbandingan ringkas, latihan, petunjuk, dan solusi adalah materi mandiri. Tidak ada isi donor di luar baris 2971–2988 yang diterjemahkan ke dalam unit ini.
Atribusi, lisensi, dan nondukungan
Sumber: Stephen Becker, repositori
convex-optimization-class; catatan ketik APPM5720Notes
oleh Mitchell Krock; commit
98ed6930084c435ba0f675f7646ced1f2fd8729e; https://github.com/stephenbeckr/convex-optimization-class.
Hasil laju SAGA yang dirumuskan ulang dikreditkan kepada Aaron Defazio,
Francis Bach, dan Simon Lacoste-Julien, SAGA (2014), https://arxiv.org/abs/1407.0202. Materi donor berada di
bawah Lisensi MIT. Terjemahan, koreksi, penghubung, latihan, petunjuk,
dan solusi mandiri tersedia berdasarkan Creative Commons
Attribution-ShareAlike 4.0 International, https://creativecommons.org/licenses/by-sa/4.0/. Stephen
Becker, Mitchell Krock, Defazio, Bach, Lacoste-Julien, dan University of
Colorado Boulder tidak menyusun, memeriksa, menyetujui, atau mendukung
edisi ini.
Pemberitahuan Lisensi MIT sumber
MIT License
Copyright (c) 2017 Stephen Becker
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.