Коли використовувати градієнтний спуск проти Монте-Карло як техніку чисельної оптимізації


11

Коли набір рівнянь неможливо вирішити аналітично, тоді ми можемо використовувати алгоритм спуску градієнта. Але, схоже, існує також метод моделювання Монте-Карло, який можна використовувати для вирішення проблем, які не мають аналітичних рішень.

Як сказати, коли використовувати градієнтний спуск і коли використовувати Монте-Карло? Або я просто плутаю термін "моделювання" з "оптимізацією"?

Дуже дякую!

Відповіді:


4

Ці прийоми роблять різні речі.

Спуск градієнта - це технологія оптимізації, тому він поширений у будь-якому статистичному методі, який потребує максимізації (MLE, MAP).

Моделювання в Монте-Карло призначене для обчислення інтегралів шляхом вибірки з розподілу та оцінки певної функції на вибірках. Тому його зазвичай використовують із методиками, які потребують обчислення очікувань (Байєсівський висновок, Баєсова тестування гіпотези).


Тож градієнтний спуск пов'язаний з диференціацією (максимуми, мінімуми), а Монте Карло пов'язаний з інтеграцією?
Віктор

Градієнт - це (одне з багатьох) узагальнення похідної. Так градієнтний спуск пов'язаний з диференціацією. Але я б сказав, "Градієнт Десцендент використовує похідні для оптимізації" і "Монте-Карло використовує вибірки заради інтеграції", якби мені довелося вживати якомога менше слів.
jlimahaverford

4

Це обидва величезні сімейства алгоритмів, тому важко дати точну відповідь, але ...

Підйом градієнта (або спуск) корисний, коли ви хочете знайти максимум (або мінімум). Наприклад, ви можете знайти режим розподілу ймовірностей або комбінацію параметрів, які мінімізують деяку функцію втрат. "Шлях", необхідний для пошуку цих крайнощів, може трохи розповісти вам про загальну форму функції, але це не призначено; насправді, чим краще це працює, тим менше ви будете знати про все, крім екстремуму.

Методи Монте-Карло названі на честь казино Монте-Карло, оскільки вони, як і казино, залежать від рандомізації. Його можна використовувати різними способами, але більшість з них зосереджена на наближенні розподілів. Наприклад, алгоритми Марковського ланцюга Монте-Карло знаходять способи ефективної вибірки зі складних розподілів ймовірностей. Інші симуляції в Монте-Карло можуть призвести до розподілу за можливими результатами.


"Методи Монте-Карло" зазвичай стосуються того, що ви робите зі зразками, на відміну від методів отримання зразків. У MCMC "Марківська ланцюг" відноситься до процесу отримання зразків.
jlimahaverford

Дійсно? Я завжди думав, що Монте-Карло припускає, що відбувається якась рандомізація і не означає це більше. У MCMC це правда, що Марковські ланцюги беруть участь, але ви також берете вибірки випадково з ланцюгів (звідси. Монте-Карло) /
Метт Крауз

Можливо, це питання думки. Якби я використовував MCMC для наближення середнього рівня заднього розподілу, я використовував би випадкові прогулянки по ланцюгу Маркова, щоб приблизно відібрати з мого ненормованого розподілу, я б використовував інтеграцію Monte Carlo для апроксимації середнього значення. Я розглядаю методи вибірки як інструменти, що дозволяють використовувати методи Монте-Карло. Наприклад, я б не назвав вибірку відхилення методом Монте-Карло, але можу уявити, що хтось їх використовує разом.
jlimahaverford

Враховуючи це, Вікіпедія розглядає вибірки відхилення методом Монте-Карло. Тож цілком можливо, що мої ідеї тут абсолютно неправильні.
jlimahaverford

2

Як пояснюють інші, спуск / сходження градієнта здійснює оптимізацію, тобто знаходить максимум або мінімум функції. Монте-Карло - метод стохастичного моделювання, тобто наближає функцію кумулятивного розподілу за допомогою повторного випадкового відбору. Це також називається "інтеграція Монте-Карло", оскільки cdf безперервного розповсюдження насправді є невід'ємною частиною.

Що між спуском градієнта та Монте-Карло спільним є те, що вони обидва особливо корисні у проблемах, де не існує рішення закритої форми. Ви можете використовувати просту диференціацію, щоб знайти максимальну чи мінімальну точку будь-якої опуклої функції, коли аналітичне рішення є можливим. Коли такого рішення не існує, потрібно використовувати ітеративний метод, такий як спуск градієнта. Це те ж саме для моделювання в Монте-Карло; ви можете в основному використовувати просту інтеграцію для аналітичного обчислення будь-якого cdf, але немає гарантії, що таке рішення закритої форми завжди буде можливим. Проблема знову стає вирішуваною за допомогою моделювання в Монте-Карло.

Чи можете ви використовувати градієнтний спуск для моделювання та Монте-Карло для оптимізації? Проста відповідь - ні. Монте-Карло потрібен стохастичний елемент (розподіл) для вибірки, а градієнтний спуск не має засобів для вирішення проблем стохастичної інформації. Однак ви можете поєднувати моделювання з оптимізацією для створення більш потужних алгоритмів стохастичної оптимізації, які здатні вирішувати дуже складні проблеми, які простий градієнтний спуск не може вирішити. Прикладом цього може бути симуляція відпалу Монте-Карло.


2

Ця відповідь частково неправильна. Дійсно можна поєднувати методи Монте-Карло з градієнтним спуском. Ви можете використовувати методи Монте-Карло для оцінки градієнта функції втрат, яка потім використовується спуском градієнта для оновлення параметрів. Популярним методом Монте-Карло для оцінки градієнта є оцінювач градієнта балів , який, наприклад, може бути використаний у навчанні підкріплення. Див. Оцінку градієнта Монте-Карло в машинному навчанні (2019) Шакіра Мохамеда та ін. для отримання додаткової інформації.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.