Якщо гессіанці настільки хороші для оптимізації (див., Наприклад , метод Ньютона ), навіщо зупинятися на цьому? Давайте скористаємось похідними третьої, четвертої, п’ятої та шостої? Чому ні?
Якщо гессіанці настільки хороші для оптимізації (див., Наприклад , метод Ньютона ), навіщо зупинятися на цьому? Давайте скористаємось похідними третьої, четвертої, п’ятої та шостої? Чому ні?
Відповіді:
Я трактую питання як "Чому метод Ньютона використовує лише першу та другу похідні, а не третю чи вищу похідні?"
Насправді, у багатьох випадках перехід до третьої похідної допомагає; Раніше я це робив зі спеціальними речами. Однак, загалом, перехід до вищих похідних додає обчислювальної складності - ви повинні знайти та обчислити всі ці похідні, а для багатоваріантних задач набагато більше третіх похідних, ніж є перші похідні! - що набагато перевищує заощадження в підрахунку кроків, які ви отримуєте, якщо такі є. Наприклад, якщо у мене є тривимірна проблема, у мене є 3 похідних першого, 6 похідних другого та 10 похідних третього, тому перехід до версії третього порядку більше ніж удвічі перевищує кількість оцінок, які я повинен зробити (з 9 до 19), не кажучи вже про підвищену складність обчислення напрямку / розміру кроку після того, як я зробив ці оцінки, але майже напевно не скоротить кількість кроків, які я повинен зробити вдвічі.
Тепер, у загальному випадку з змінними, колекція часткових похідних буде число , тож для проблеми з п'ятьма змінними загальна кількість третьої , четверта та п'ята часткові похідні дорівнюватимуть 231, що більше ніж у 10 разів збільшується над кількістю першої та другої часткових похідних (20). Вам доведеться мати проблему, яка дуже, дуже близька до полінома п’ятого порядку у змінних, щоб побачити достатньо велике зменшення кількості ітерацій, щоб компенсувати це додаткове обчислювальне навантаження.n t h
Я насправді не бачу, що таке статистичний аспект цього питання, тому я відповім на оптимізаційну частину.
Тут майже кожна відповідь зосереджується на вартості ітерації та ігноруванні кількості ітерацій . Але обоє мають значення. Метод, який повторюється за 1 наносекунд, але для зближення повторень не принесе вам користі. І метод, який підірветься, теж не допоможе, незалежно від того, наскільки дешева його ітерація.
Давайте розберемося, що відбувається.
Частково тому, що (і це також стосується другого порядку, але докладніше про це трохи):
З іншого боку, вони легше вибухають, коли знаходяться далі від оптимуму!
(Звичайно, це не завжди відповідає дійсності; наприклад, квадратика сходиться за 1 крок методом Ньютона. Але для довільних функцій у реальному світі, які не мають приємних властивостей, це, як правило, вірно.)
Це означає, що, коли ви віддаляєтесь від оптимуму, ви, як правило, бажаєте методу низького порядку (читайте: першого порядку). Тільки коли ви знаходитесь поруч, ви хочете збільшити порядок методу.
Щоб зрозуміти чому, спочатку ви повинні зрозуміти, що означає «квадратична конвергенція» .
Математично квадратична конвергенція означає, що, якщо - ваша помилка при ітерації , то в кінцевому підсумку справедливо для деякої постійної :
У звичайній англійській мові це означає, що, як тільки ви наближаєтесь до оптимального (важливо!), Кожен додатковий крок подвоює кількість цифр точності .
Чому? Це легко зрозуміти на прикладі: для і вас є , тощо, що смішно швидко . (Це суперекспоненціально !)
Насправді люди часто роблять це, коли похідні другого порядку стають занадто дорогими. Але лінійна конвергенція може бути дуже повільною. наприклад, якщо у вас є тоді вам знадобиться, можливо, 10 000 000 ітерацій з лінійною конвергенцією, щоб отримати , але лише 23 ітерації з квадратичною конвергенцією. Тож ви можете зрозуміти, чому існує різка різниця між лінійною та квадратичною конвергенцією. Це не стосується, наприклад, конвергенції другого та третього порядку (див. Наступний параграф).
У цей момент, якщо ви знаєте будь-яку інформатику, ви розумієте, що при зближенні 2-го порядку проблема вже вирішена . Якщо ви не бачите , чому, ось чому: немає нічого практичніше отримати від потроїти кількість цифр кожної ітерації замість подвоєння його, що він збирається купити вас? Зрештою, в комп'ютері навіть double
точне число має 52 біти точності, що становить приблизно 16 десяткових цифр.
Можливо, це зменшить кількість кроків, які вам потрібні, з 16 до 3 ... що звучить чудово, поки ви не зрозумієте, що це доводиться ціною необхідності обчислювати треті похідні при кожній ітерації, саме тут прокляття розмірностісильно тебе вдаряє. За мірну проблему ви щойно заплатили коефіцієнт щоб отримати коефіцієнт , який є німим. А в реальному світі проблеми мають принаймні сотні вимірів (а то й тисяч, а то й мільйонів), а не лише ! Таким чином, ви отримуєте коефіцієнт, можливо, 20, виплачуючи коефіцієнт, наприклад, 20 000 ... навряд чи мудрий компроміс.
Друга половина полягає в тому, що ти, як правило, гірше поведінки, коли ти далекий від оптимального, що, як правило, негативно впливає на кількість ітерацій, які ти повинен зробити.
Загалом, методи вищого порядку, ніж 2, - це погана ідея. Звичайно, якщо ви можете принести додаткові корисні припущення в таблицю (наприклад , можливо , ваші дані дійсно схожий на високу ступеня полінома, або у вас є способи обмежує розташування оптимуму і т.д.), то , можливо , ви можете виявити , що вони хороша ідея - але це буде конкретне рішення, а не загальне правило, яким потрібно жити.
Навіть обчислення гессіанців - це зовсім небагато роботи:
Тепер подивіться, як виглядає третя похідна: Це тривимірна матриця. Ось як виглядають його елементи:
Похідною шостою буде шестивимірна матриця:
Зазвичай, компроміс не сприятливий для того, щоб пройти вище, ніж Гессіан. Я маю на увазі компроміс між потенційним посиленням швидкості через використання наближень вищого порядку проти посилення шуму. Ви завжди маєте шум у входах, оскільки ми говоримо про статистичні програми. Цей шум буде посилюватися похідними.
Якщо ви граєте в гольф, то аналогія в оптимізації полягає в тому, щоб спочатку розмахувати, намагаючись дістатися до зеленого, не турбуючись багато про дірку. Одного разу, на зеленому, ми покладемо цілину в отвір.
Як правило, аналізуючи ефективність таких алгоритмів, ви знайдете такі результати, як один крок алгоритму четвертого порядку, що має приблизно таку ж ефективність, як два етапи алгоритму другого порядку.
Тож вибір алгоритму використовувати досить просто: якщо один крок алгоритму четвертого порядку займає вдвічі більше роботи або більше, ніж один крок алгоритму другого порядку, замість нього слід використовувати останній.
Це типова ситуація для таких методів: класичний алгоритм має оптимальне співвідношення ефективності роботи та ефективності для загальних проблем. Незважаючи на те, що виникають випадкові проблеми, коли підхід більш високого порядку обчислити незвичайно легко і може перевершити класичний варіант, вони є порівняно рідкісними.
Ви можете вважати порядок похідних як порядок наближення полінома до функції. Більшість програм оптимізації покладаються на опуклість. Квадратний многочлен буде скрізь опуклим / увігнутим, тоді як поліном третього порядку або вище не буде скрізь опуклим. Більшість програм оптимізації спираються на послідовні наближення опуклих функцій з квадратикою з цієї причини. Квадратне наближення, яке є опуклим, вимагає ввести умову позитивної визначеності для того, щоб квадратик був опуклим.
Дозвольте мені бути єдиним, хто захищає методи 3-го порядку для конвергенції SGD, але, безумовно, не у всьому просторі, для чого знадобляться коефіцієнти вже маючи модель 2-го порядку в цьому напрямку.
Чому одиночна модель 3-го порядку може бути корисною? Наприклад, тому що близька до нуля друга похідна в цьому напрямку в основному означає два альтернативних сценарії: плато або точка перегину - лише перший вимагає більшого розміру кроку, а третя похідна дозволяє їх розрізнити.
Я вірю, що ми підемо до гібридних методів багатопорядку: метод 2-го порядку в низькомірному підпросторі, наприклад, з PCA останніх градієнтів, що все ще дозволяє отримати вільний одночасний градієнт 1-го порядку в напрямку ортогонального градієнта до цього підпростору ... і додатково Я б додав, наприклад, модель 3-го порядку для одного найбільш релевантного напрямку.