Optimizasyon algoritmaları neden diğer optimizasyon problemleri açısından tanımlanıyor?


23

Makine öğrenmesi için optimizasyon teknikleri üzerine biraz araştırma yapıyorum, ancak diğer optimizasyon problemleri açısından çok sayıda optimizasyon algoritması tanımladığımı şaşırdım. Aşağıdaki bazı örnekler göstermektedir.

Örneğin https://arxiv.org/pdf/1511.05133v1.pdf

görüntü tanımını buraya girin

Her şey güzel ve iyi görünüyor ama sonra bu yoktur argminx in zk+1 güncellemesi .... böylece algoritma nedir bunun için çözer argmin ? Bilmiyoruz ve öyle değil. Yani sihirli bir şekilde, minimize eden vektörü bulan, iç ürünün minimumda olduğu başka bir optimizasyon problemi çözeceğiz - bu nasıl yapılabilir?

Başka bir örnek alın: https://arxiv.org/pdf/1609.05713v1.pdf

görüntü tanımını buraya girin

Algoritmanın ortasındaki proksimal operatöre ulaşana kadar her şey güzel ve iyi görünüyor ve bu operatörün tanımı nedir?

Boom:görüntü tanımını buraya girin

argminxf

Birisi lütfen beni şöyle aydınlatır:

  1. Neden diğer optimizasyon problemleri açısından birçok optimizasyon algoritması tanımlanıyor?

(Bu bir çeşit tavuk ve yumurta problemi olmaz mıydı: 1. sorunu çözmek için 2. sorunu çözerek, 3. sorunu çözme yöntemini kullanarak çözmelisiniz.)

  1. xk+1=argminxgerçekten karmaşık kayıp fonksiyonu

  2. argminx

(Ödül: Herhangi biri, yazarların yüksek seviye optimizasyon algoritmasına gömülü alt problem için algoritmayı netleştirdiği bir makaleye başvurabilir mi?)


Bu ilgili olabilir.
GeoMatt22

1
Alt problemlerin sadece kendileri yerine potansiyel olarak NP sertliği olduğunun altını çizdiyseniz, sorunuzun daha iyi olacağını düşünüyorum.
Mehrdad

Hata! "NP-sertliği" son yorumumda "NP-sert" demeliydi.
Mehrdad

Ödül isteğinde istendiği gibi, başvuru sağlayan cevabımın 2 Düzenine bakınız \.
Mark L. Stone

Yanıtlar:


27

En üst seviye algoritma akış şemalarına bakıyorsunuz. Akış şemasındaki bireysel adımların bazıları kendi ayrıntılı akış şemalarını hak edebilir. Bununla birlikte, yayınlanmış makalede kısalık vurgusu bulunan birçok makalede çoğu zaman ihmal edilmiştir. "Eski şapka" olarak kabul edilen standart iç optimizasyon problemlerinin detayları hiç verilmeyebilir.

Genel fikir, optimizasyon algoritmalarının bir dizi genel olarak daha kolay optimizasyon probleminin çözümünü gerektirebileceğidir. Bazıları standart optimize ediciler için dahili olmasına rağmen, üst seviye bir algoritma içinde 3 veya hatta 4 seviye optimizasyon algoritmasına sahip olmak nadir değildir.

Bir algoritmanın ne zaman sonlandırılacağına karar vermek bile (sıradüzensel seviyelerden birinde) bir yan optimizasyon probleminin çözülmesini gerektirebilir. Örneğin, negatifliği kısıtlanmamış bir lineer en küçük kareler problemi, optimizasyonun ne zaman bildirileceğine karar vermek için kullanılan KKT optimallik puanını değerlendirmek için kullanılan Lagrange çarpanlarını belirlemek için çözülebilir.

Optimizasyon problemi stokastik veya dinamik ise, yine de ilave hiyerarşik optimizasyon seviyeleri olabilir.

İşte bir örnek. Sıralı Kuadratik Programlama (SQP). Bir ilk optimizasyon problemi, sorunun Lagrangian'ının ikinci dereceden bir yaklaşımı olan bir amaç ile bir başlangıç ​​noktasından başlayarak Karush-Kuhn-Tucker optimallik koşullarının yinelemeli olarak çözülmesi ve kısıtlamaların lineerleştirilmesidir. Ortaya çıkan Kuadratik Program (QP) çözüldü. Çözülen QP, güven bölgesi kısıtlamalarına sahiptir ya da bir sonraki yinelemeyi bulmak için mevcut yinelemeden, bir optimizasyon problemi olan QP'nin çözümüne kadar bir hat araştırması yapılır. Eğer bir Quasi-Newton metodu kullanılıyorsa, Lagrangianlı Hessian’a Quasi-Newton güncellemesini belirlemek için bir optimizasyon problemi çözülmelidir - genellikle bu BFGS veya SR1 gibi kapalı form formülleri kullanan bir kapalı form optimizasyonu, ancak sayısal bir optimizasyon olabilir. O zaman yeni QP çözülür, vb. Bu arada, QP çözücü içinde bir veya iki seviye iç optimizasyon problemi söz konusu olabilir. Her yinelemenin sonunda, optimallik skorunu belirlemek için negatif olmayan bir doğrusal en küçük kareler problemi çözülebilir. Vb.

Eğer bu karışık bir tamsayı problemiyse, o zaman bütün bu boğmaca, her bir dallanma düğümünde, daha yüksek seviyeli bir algoritmanın parçası olarak gerçekleştirilebilir. Benzer şekilde, bir global optimizer için - global olarak optimum çözüme bir üst sınır üretmek için yerel bir optimizasyon problemi kullanılır, ardından daha düşük bir sınır optimizasyon problemi üretmek için bazı kısıtlamaların gevşetilmesi yapılır. Bir karışık tamsayı veya global optimizasyon problemini çözmek için dal ve sınırlardan binlerce, hatta milyonlarca "kolay" optimizasyon problemi çözülebilir.

Bu size bir fikir vermeye başlamalıdır.

Düzenleme : Cevabımdan sonra soruya eklenen tavuk ve yumurta sorusuna yanıt olarak: Bir tavuk ve yumurta sorunu varsa, o zaman iyi tanımlanmış bir pratik algoritma değildir. Verdiğim örneklerde tavuk ve yumurta yok. Daha yüksek seviyeli algoritma adımları, tanımlanmış veya önceden var olan optimizasyon çözücülerini çağırır. SQP alt problemleri çözmek için yinelemeli bir QP çözücüsü çağırır, ancak QP çözücüsü QP'yi orijinal problemden daha kolay bir problem çözer. Daha da yüksek seviyeli bir global optimizasyon algoritması varsa, yerel doğrusal olmayan optimizasyon alt problemlerini çözmek için bir SQP çözücüsünü çağırabilir ve SQP çözücüsü de QP alt problemlerini çözmek için bir QP çözücüsünü çağırır. Tavuk ve yumurta yok.

Not: Optimizasyon fırsatları "her yerde" dir. Optimizasyon algoritmaları geliştirenler gibi optimizasyon uzmanlarının bu optimizasyon fırsatlarını görme ve bunları ortalama Joe veya Jane'den daha fazla görme olasılıkları daha yüksektir. Ve algoritmik olarak eğimli olduklarından, oldukça doğal olarak, alt seviye optimizasyon algoritmalarından optimizasyon algoritmaları oluşturma fırsatlarını görüyorlar. Optimizasyon problemlerinin formülasyonu ve çözümü, diğer (daha yüksek seviye) optimizasyon algoritmaları için yapı taşları görevi görür.

Düzenleme 2 : OP tarafından henüz eklenmiş olan ödül talebine cevap olarak. SQP doğrusal olmayan eniyileyici SNOPT https://web.stanford.edu/group/SOL/reports/snopt.pdf 'i açıklayan makale, SNOPT’da QP alt sorunlarını çözmek için özel olarak ayrı ayrı belgelendirilen QP çözücü SQOPT’dan bahseder.


2

Mark'ın cevabını beğendim, fakat temelde herhangi bir optimizasyon algoritması üzerinde çalışabilen "Simüle Edilmiş Tavlama" dan söz ediyorum. Yüksek seviyede şu şekilde çalışır:

Sıcak başlatan bir "sıcaklık" parametresine sahiptir. Sıcakken, alt optimizasyon algoritmasının işaret ettiği yerden sık sık ve (ve daha da uzağa) adım atıyor. Soğudukça, alt algoritmanın tavsiyesini daha yakından takip eder ve sıfırda, daha sonra hangi yerel optimumda olursa olsun onu takip eder.

Sezgi, mekanı en baştan araştıracak ve optimumları aramak için "daha iyi yerler" arayacak.

Yerel / küresel optimum sorun için gerçek bir genel çözüm olmadığını biliyoruz. Her algoritmanın kör noktaları olacaktır, ancak bunun gibi melezler birçok durumda daha iyi sonuçlar veriyor gibi görünmektedir.


Bu "meta algoritma" kategorisine bazen metaheuristik denir .
GeoMatt22

@ GeoMatt22 İşte bir lisans olarak formüle ettiğim sezgisel ispat veya sezgisel argümanın tanımı: "İspatlanacak olanı kesin bir şekilde ispatlayamayan herhangi bir argüman veya eksiklik". Benzer şekilde, bir sezgisel algoritma, çözülecek problemi doğru çözemediği garanti edilmeyen herhangi bir algoritma veya eksikliğidir.
Mark L. Stone

" Durduran saat " sezgisel mi? Neumaier (2004) taksonomisi açıklanan burada makul görünüyor.
GeoMatt22

Hibrit iyileştiricilerden veya meta sezgiden bahsetmek için +1. Teoride ve kâğıtta çok iyi olan, ancak mühendislik optimizasyonunda sıkça karşılaştığınız gerçek dünya multimodal karmaşık objektif fonksiyonunu çözmede iyi olmayan türev tabanlı optimize edici ile gerçek dünyada çok iyi çalışıyorlar.
tahminci

@ forecaster, soruna bağlı olarak, çeşitli yaklaşımlar var. Derin öğrenme ve PDE tabanlı optimizasyon gibi birçok gerçek dünya uygulamasında olduğu gibi, "türev tabanlı optimizatörleri" çok güçlü bir şekilde indirmeye dikkat ederdim . ( Burada
türevsiz

2

Bence arzunuzu yerine getirme referansım burada . Bölüm 4 - Modern Bayesian Hesaplamasında Optimizasyon.

TL; DR - proksimal yöntemleri tartışırlar. Bu tür yöntemlerin avantajlarından biri bölmedir - daha kolay alt sorunları optimize ederek bir çözüm bulabilirsiniz. Literatürde belirli bir proksimal işlevi değerlendirmek için çok sayıda (veya en azından bazen) literatürde özel bir algoritma bulabilirsiniz. Örneklerinde görüntü denoising yapıyorlar. Adımlardan biri, Chambolle tarafından sunulan çok başarılı ve çok kullanılan bir algoritmadır.


2

Bu, birçok optimizasyon belgesinde oldukça yaygındır ve genelliği ile ilgilidir. Yazarlar algoritmaları genellikle teknik olarak herhangi bir fonksiyon için çalıştıklarını göstermek için bu şekilde yazarlar. Bununla birlikte, pratikte, bu alt problemlerin etkili bir şekilde çözülebildiği çok spesifik fonksiyonlar için faydalıdırlar.

Mesela ve şimdi sadece ikinci algoritmadan bahsediyorum, ne zaman bir proximal operatörü görüyorsanız (ki bu, çözülmesi çok zor olabilecek başka bir optimizasyon problemine dikkat çektiğiniz gibi) genellikle kapalı bir form çözümüne sahip olduğu anlamına gelir. algoritmanın verimli olması için sıralayın. Bu, l1 normu, grup normları vb. Gibi makine öğrenmesine ilgi duyulan birçok fonksiyon için geçerlidir. Bu gibi durumlarda proximal operatörünün açık formülünün alt problemlerini değiştirirsiniz ve bu problemi çözmek için bir algoritmaya gerek yoktur.

Neden bu şekilde yazıldığına gelince, eğer başka bir fonksiyonla karşılaşacaksanız ve bu algoritmayı uygulamak istiyorsanız, önce proksimalin kapalı formda bir çözümü olup olmadığını veya verimli bir şekilde hesaplanabileceğini kontrol edin. Bu durumda, sadece formülü algoritmaya bağlamanız yeterlidir. Daha önce de belirtildiği gibi, bu algoritma, algoritmanın ilk yayınlanmasından sonra ortaya çıkacak gelecekteki fonksiyona uygulanabilecek yeterince genel olduğunu ve bunları hesaplamak için verimli algoritmaların proksimal ifadeleriyle birlikte garanti eder.

Son olarak, örnek olarak, klasik FISTA algoritması orijinal makalesini alın. Algoritmayı iki çok spesifik fonksiyon için türetir: kare kayıp ve l1 normu. Bununla birlikte, bazı ön gereklilikleri karşıladıkları sürece hiçbir fonksiyonun uygulanamayacağını, bunlardan birinin düzenli hale getirilmişlerin proksimalinin verimli bir şekilde hesaplanabileceğini not ederler. Bu teorik bir gereklilik değil pratiktir.

Bu bölümlendirme, sadece algoritmayı genel kılmakla kalmayıp aynı zamanda analiz etmeyi de kolaylaştırır: bu özelliklere sahip alt problemler için algoritmalar olduğu sürece, önerilen algoritma bu yakınsama oranına ya da her neye sahip olacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.