Gradient Descent vs Monte Carlo ne zaman sayısal optimizasyon tekniği olarak kullanılır?


11

Bir denklem seti analitik olarak çözülemezse, bir degrade iniş algoritması kullanabiliriz. Ancak analitik çözümleri olmayan problemleri çözmek için kullanılabilecek Monte Carlo simülasyonu yöntemi de var gibi görünüyor.

Degrade inişin ne zaman ve Monte Carlo'nun ne zaman kullanılacağını nasıl söyleyebilirim? Yoksa 'simülasyon' terimini 'optimizasyon' ile karıştırıyor muyum?

Çok teşekkür ederim!

Yanıtlar:


4

Bu teknikler farklı şeyler yapar.

Gradyan inişi bir optimizasyon tekniğidir, bu nedenle maksimizasyon gerektiren herhangi bir istatistiksel yöntemde (MLE, MAP) yaygındır.

Monte Carlo simülasyonu, bir dağılımdan örnek alarak ve örnekler üzerindeki bazı fonksiyonları değerlendirerek integralleri hesaplamak içindir. Bu nedenle, beklentilerin hesaplanmasını gerektiren tekniklerle (Bayesci Çıkarım, Bayesci Hipotez Testi) yaygın olarak kullanılmaktadır.


Degrade iniş farklılaşma (maxima, minima) ile bağlantılıdır ve monte carlo entegrasyon ile ilişkilidir?
Victor

Gradyan, türevin bir (çoktan) genellemesidir. Böylece gradyan inişi farklılaşma ile bağlantılıdır. Ama diyebilirim ki, "Degrade İniş optimizasyon uğruna türevleri kullanıyor" ve "Monte Carlo entegrasyon uğruna örnekleme kullanıyor", eğer mümkün olduğunca az kelime kullanmalıydım.
jlimahaverford

4

Bunlar hem büyük algoritma aileleridir, bu yüzden size kesin bir cevap vermek zordur, ancak ...

Degrade tırmanışı (veya alçalması), bir maksimum (veya minimum) bulmak istediğinizde yararlıdır. Örneğin, bir olasılık dağılımının modunu veya bazı kayıp fonksiyonlarını en aza indiren parametrelerin bir kombinasyonunu buluyor olabilirsiniz. Bu ekstremi bulmak için gereken "yol" size fonksiyonun genel şekli hakkında biraz bilgi verebilir, ancak amaçlanmamıştır; aslında, daha iyi çalışır, ekstrema dışında her şeyi daha az bilirsiniz.

Monte Carlo yöntemleri, Monte Carlo kumarhanesinden sonra adlandırılır, çünkü kumarhane gibi, randomizasyona bağlıdırlar. Birçok farklı şekilde kullanılabilir, ancak bunların çoğu dağıtımları tahmin etmeye odaklanır. Örneğin Markov Zinciri Monte Carlo algoritmaları, karmaşık olasılık dağılımlarından etkili bir şekilde örneklemenin yollarını bulur. Diğer Monte Carlo simülasyonları olası sonuçlara göre dağılımlar oluşturabilir.


"Monte Carlo yöntemleri" genellikle ne atıfta ile numune elde etme yöntemleriyle aksine örneklerin. MCMC'de "Markov Zinciri" numuneleri alma işlemini ifade eder.
jlimahaverford

Gerçekten mi? Her zaman Monte Carlo'nun devam eden bir çeşit randomizasyon olduğunu ima ettiğini ve bundan daha fazlası anlamına gelmediğini düşündüm. MCMC'de, Markov Zincirlerinin söz konusu olduğu doğrudur, ancak aynı zamanda zincirlerden rastgele örnekleme yapıyorsunuz (dolayısıyla Monte-Carlo) /
Matt Krause

Belki de bu bir görüş meselesidir. Posterior dağılımın ortalamasını yaklaşık olarak belirlemek için MCMC kullanıyor olsaydım, normalize edilmemiş dağılımımdan yaklaşık olarak örnek almak için bir Markov Zinciri üzerinde rastgele yürüyüşler kullanırdım, ortalamayı yaklaşık olarak belirlemek için Monte Carlo Entegrasyonunu kullanırdım. Örnekleme yöntemlerini Monte Carlo yöntemlerini mümkün kılan araçlar olarak görüyorum. Örneğin, Monte Carlo yöntemini örnekleme reddini çağırmazdım, ama bunları birlikte kullanan birinin hayal edebiliyorum.
jlimahaverford

Tüm bunlar söyleniyor, Wikipedia bir Monte Carlo yöntemini örneklemeyi reddetmeyi düşünüyor. Bu yüzden buradaki fikirlerimin tamamen yanlış olması mümkündür.
jlimahaverford

2

Başkaları tarafından açıklandığı gibi, gradyan iniş / çıkış optimizasyon gerçekleştirir, yani bir fonksiyonun maksimum veya minimumunu bulur. Monte Carlo, stokastik bir simülasyon yöntemidir, yani tekrarlanan rastgele örnekleme yoluyla kümülatif bir dağılım fonksiyonuna yaklaşır. Buna "Monte Carlo entegrasyonu" da denir, çünkü sürekli dağılımın cdf'si aslında bir integraldir.

Degrade iniş ve Monte Carlo arasında yaygın olan şey, her ikisinin de kapalı formlu bir çözüm bulunmayan problemlerde özellikle yararlı olmalarıdır. Analitik bir çözüm mümkün olduğunda, herhangi bir dışbükey fonksiyonun maksimum veya minimum noktasını bulmak için basit farklılaştırma kullanabilirsiniz. Böyle bir çözüm olmadığında, gradyan inişi gibi yinelemeli bir yöntem kullanmanız gerekir. Monte Carlo simülasyonu için aynıdır; temel olarak herhangi bir cdf'yi analitik olarak hesaplamak için düz entegrasyonu kullanabilirsiniz, ancak böyle bir kapalı form çözümünün her zaman mümkün olacağının garantisi yoktur. Monte Carlo simülasyonu ile sorun tekrar çözülebilir hale geliyor.

Simülasyon için degrade iniş ve optimizasyon için Monte Carlo kullanabilir misiniz? Basit cevap hayır. Monte Carlo'nun örneklemek için stokastik bir elemente (bir dağılıma) ihtiyacı vardır ve gradyan inişinin stokastik bilgi problemlerini ele almanın bir yolu yoktur. Bununla birlikte, basit eğim inişinin çözemediği çok karmaşık sorunları çözebilen daha güçlü stokastik optimizasyon algoritmaları üretmek için simülasyonu optimizasyonla birleştirebilirsiniz. Bunun bir örneği Simüle Tavlama Monte Carlo'dur.


2

Bu cevap kısmen yanlış. Monte Carlo yöntemlerini degrade eğim ile birleştirebilirsiniz. Kayıp fonksiyonunun gradyanını tahmin etmek için Monte Carlo yöntemlerini kullanabilirsiniz; bu, daha sonra parametreleri güncellemek için gradyan kökenli tarafından kullanılır. Degradeyi tahmin etmek için popüler bir Monte Carlo yöntemi , örneğin takviye öğrenmede kullanılabilen skor gradyanı tahmincisidir . Bakınız Shacar Mohamed ve ark. , Makine Öğreniminde Monte Carlo Gradient Tahmini (2019). daha fazla bilgi için.

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.