Algoritma Frank–Wolfe: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Dibuat dengan menerjemahkan halaman "Frank–Wolfe algorithm"
Tag: tanpa kategori [ * ] [Konten] [Konten v2]
 
k perbaikan keluputan spasi
Baris 1:
 
'''Algoritma Frank–Wolfe''' ([[bahasa Inggris]]: ''Frank-Wolfe algorithm'') adalah [[algoritma]] [[Optimisasi|optimasi]] [[Metode iteratif|iteratif]] [[Hampiran orde pertama|orde pertama]] yang digunakan untuk [[Optimasi konveks|optimasi cembung]] [[Optimasi terkendala|terkendala]]. Juga dikenal sebagai '''metode gradien bersyarat''',<ref>{{Cite journal|last=Levitin|first=E. S.|last2=Polyak|first2=B. T.|year=1966|title=Constrained minimization methods|journal=USSR Computational Mathematics and Mathematical Physics|volume=6|issue=5|pages=1|doi=10.1016/0041-5553(66)90114-5}}</ref> '''algoritma gradien tereduksi,''' dan '''algoritma kombinasi cembung''',. metodeMetode ini awalnya diusulkan oleh [[Marguerite Frank]] dan [[Philip Wolfe (ahli matematika)|Philip Wolfe]] pada tahun 1956.<ref>{{Cite journal|last=Frank|first=M.|last2=Wolfe|first2=P.|year=1956|title=An algorithm for quadratic programming|journal=Naval Research Logistics Quarterly|volume=3|issue=1–2|pages=95–110|doi=10.1002/nav.3800030109}}</ref> Dalam setiap iterasi, algoritma Frank–Wolfe mempertimbangkan [[hampiran linear]] dari fungsi objektif, dan bergerak menuju peminimalisasi fungsi linier ini (diambil dari domain yang sama).
 
== Rumusan masalah ==
Misalkan <math>\mathcal{D}</math> adalah [[himpunan cembung]] [[Ruang kompak|kompak]] dalam [[ruang vektor]] dan <math>f \colon \mathcal{D} \to \mathbb{R}</math> adalah [[Fungsi bernilai riil|fungsi terdiferensialkan bernilai riil]] [[Fungsi konveks|yang konveks]] dan [[Fungsi terdiferensialkan|terdiferensialkan]]. Algoritma Frank–Wolfe memecahkan [[Permasalahan optimasi|masalah optimasi]]
 
: Minimasi <math> f(\mathbf{x})</math>
: dengan <math> \mathbf{x} \in \mathcal{D}</math>.
 
Baris 16:
:: Minimasi <math> \mathbf{s}^T \nabla f(\mathbf{x}_k)</math>
:: dengan <math>\mathbf{s} \in \mathcal{D}</math>
: ''(Interpretasi: Minimasi hampiran linear dari masalah yang diberikan dari [[Deret Taylor|hampiran Taylor]] orde pertama dari <math>f</math> di sekitar <math>\mathbf{x}_k \!</math> yang dibatasi untuk tetap berada di dalam <math>\mathcal{D}</math>.)''
 
: '''Langkah 2.''' ''Penentuan jumlah langkah: Tetapkan'' <math>\alpha \leftarrow \frac{2}{k+2}</math>, atau dengan cara lain, mencari <math>\alpha</math> yang meminimalkan<math> f(\mathbf{x}_k+\alpha(\mathbf{s}_k -\mathbf{x}_k))</math> dengan <math>0 \le \alpha \le 1</math> .
 
: '''Langkah 3.''' ''Perbarui:'' Misalkan <math>\mathbf{x}_{k+1}\leftarrow \mathbf{x}_k+\alpha(\mathbf{s}_k-\mathbf{x}_k)</math>, dan <math>k \leftarrow k+1</math> kemudian kembali ke langkah 1.
 
== Sifat-sifat ==
Meskipun metode mirip yang mirip, seperti [[penurunan gradien]] untuk ''optimasi terkendala'' membutuhkan [[Proyeksi (matematika)|langkah proyeksi]] kembali ke himpunan yang layak di setiap iterasi, algoritma Frank–Wolfe hanya membutuhkan solusi masalah linear pada himpunan yang sama di setiap iterasi, dan secara otomatis tetap berada di himpunan yang layak.
 
Konvergensi algoritma Frank – Wolfe secara umum bersifat sublinear: galat pada fungsi objektif hingga mencapai optimal adalah <math>O(1/k)</math> setelah ''k'' iterasi, selama gradiennya [[Fungsi Lipschitz|kontinu Lipschitz]] terhadap suatu norma. Tingkat konvergensi yang sama juga dapat ditunjukkan jika submasalah hanya diselesaikan secara hampiran.<ref>{{Cite journal|last=Dunn|first=J. C.|last2=Harshbarger|first2=S.|year=1978|title=Conditional gradient algorithms with open loop step size rules|journal=Journal of Mathematical Analysis and Applications|volume=62|issue=2|pages=432|doi=10.1016/0022-247X(78)90137-3}}</ref>
 
Iterasi algoritma selalu dapat direpresentasikan sebagai kombinasi cembung jarang dari titik-titik ekstrim dari himpunan layak, yang telah membantu popularitas algoritma ini untuk optimasi ''greedy'' jarang (''sparse greedy optimization'') dalam [[pemelajaran mesin]] dan [[Pengolahan sinyal|pemrosesan sinyal]],<ref>{{Cite journal|last=Clarkson|first=K. L.|year=2010|title=Coresets, sparse greedy approximation, and the Frank-Wolfe algorithm|journal=ACM Transactions on Algorithms|volume=6|issue=4|pages=1–30|doi=10.1145/1824777.1824783}}</ref> serta misalnya optimasi [[Jaringan aliran|arus biaya minimum]] dalam [[jaringan transportasi]].<ref>{{Cite journal|last=Fukushima|first=M.|year=1984|title=A modified Frank-Wolfe algorithm for solving the traffic assignment problem|journal=Transportation Research Part B: Methodological|volume=18|issue=2|pages=169–177|doi=10.1016/0191-2615(84)90029-8}}</ref>
 
Jika himpunan layak diberikan oleh himpunan berkendala linier, maka submasalah yang harus diselesaikan pada setiap iterasi menjadi [[Program linear|program linier]].
 
Sedangkan tingkat konvergensi pada kasus terburuk dengan <math>O(1/k)</math> secara umum tidak dapat diperbaiki, konvergensi yang lebih cepat dapat diperoleh untuk kelas masalah khusus, seperti beberapa masalah yang sangat cembung. <ref>{{Cite book|last=Bertsekas|first=Dimitri|year=1999|title=Nonlinear Programming|publisher=Athena Scientific|isbn=978-1-886529-00-7|page=215}}</ref>
 
== Batas bawah pada nilai solusi, dan analisis primal-dual ==
Baris 59:
Batas bawah pada nilai optimal yang tidak diketahui ini penting dalam praktiknya karena dapat digunakan sebagai kriteria penghentian, dan memberikan jaminan kualitas hampiran yang efisien pada setiap iterasi, karena selalu <math>l_k \leq f(\mathbf{x}^*) \leq f(\mathbf{x}_k)</math>.
 
Telah ditunjukkan bahwa [[kesenjangan dualitas]] ini yang sesuai, artinya perbedaan antara <math>f(\mathbf{x}_k)</math> dan batas bawah <math>l_k</math>, menurun dengan tingkat konvergensi yang sama, yaitu <math>
f(\mathbf{x}_k) - l_k = O(1/k) .
</math>
Baris 79:
== Lihat juga ==
 
* [[Metode gradien proksimal|Metode gradien hampiran]]
{{Algoritma optimasi|konveks}}
{{Optimization algorithms|convex}}