Коли доступний аналітичний якобіанець, чи краще наблизити гессея до , або по кінцевих відмінностях якобійців?


19

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

Як правило, у цій ситуації гессіана функції помилки вважається пов'язаною з матрицею коваріації за допомогою: де - дисперсія залишків.σ 2

σ2H1=C
σ2

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

Однак у моєму випадку у мене є аналітичний J, тому мені обчислити H шляхом кінцевого розрізнення Ж порівняно дешево.

Отже, моє запитання таке: чи було б точніше наблизити Н за допомогою мого точного J та застосувати вищевказане наближення, або наблизити Н за допомогою кінцевої диференціації J?

Відповіді:


12

Гарне питання. По-перше, пригадайте, звідки походить це наближення . Нехай - ваші точки даних, - ваша модель, а - параметри вашої моделі. Тоді об'єктивна функція задачі про нелінійні найменші квадрати - де - вектор залишків, . Точна гессіана об'єктивної функції - . Тож помилка в цьому наближенні( x i , y i ) f ( ) β 1HJTJ(xi,yi)f()βrri=yi-f(xi,β)H=JTJ+ri2riH-JTJ=ri2ri12rTrrri=yif(xi,β)H=JTJ+ri2riHJTJ=ri2ri. Це гарне наближення, коли самі залишки невеликі; або коли 2-я похідна залишків мала. Лінійні найменші квадрати можна вважати особливим випадком, коли 2-е похідне від залишків дорівнює нулю.

Що стосується скінченної різниці наближення, то вона порівняно дешева. Щоб обчислити центральну різницю, вам потрібно буде оцінити якобіанець додатково в рази (форвард різниці коштуватиме вам додаткових оцінок, тому я б не турбував). Похибка наближення центральної різниці пропорційна і , де - розмір кроку. Оптимальний розмір кроку - , деn 4 r h 2 h h ϵ 12nn4rh2h ϵhϵ13ϵ- це машинна точність. Тому, якщо похідні залишків не вибухнуть, цілком зрозуміло, що наближення кінцевої різниці повинно бути НАДОБО кращим. Я мушу зазначити, що, хоча обчислення мінімальні, бухгалтерія нетривіальна. Кожна кінцева різниця в якобіані дасть вам по одному ряду гессіанців для кожного залишку. Потім вам доведеться зібрати Гессіана, використовуючи формулу вище.

Однак існує 3-й варіант. Якщо ваш вирішальник використовує метод Квазі-Ньютона (DFP, BFGS, Bryoden тощо), він вже наближає гессіана при кожній ітерації. Наближення може бути досить хорошим, оскільки використовує цілі функції та значення градієнта з кожної ітерації. Більшість вирішувачів надасть вам доступ до остаточної оцінки Гессі (або до її зворотної). Якщо це варіант для вас, я б використовував це як оцінку Гессі. Це вже обчислено, і це, мабуть, буде досить хорошою оцінкою.


Відмінна відповідь, дякую. Обґрунтування її порівнянням похибки оцінки в кожному конкретному випадку є дуже освічуючим. Чи можу я запитати, як ви знаєте, що є оптимальним кроком для кінцевих різниць? Я ніколи цього не бачив. ϵ1/3
Colin K

5
Це стара хитрість, щоб врівноважувати помилку усічення та помилку округлення. Очевидно, щоб мінімізувати помилку усічення, ви хочете зробити якомога меншим. Але як тільки стає занадто малим, ви починаєте зазнавати значних помилок округлення. Виведення відносно просте. Припускаючи центральну різницю, похибка усікання пропорційна . Похибка округлення завжди пропорційна . Додайте два і мінімізуйте протягом . Ви отримуєте . h h 2 f ( x ) ϵ f ( x )hhh2f(x) hhϵ1ϵf(x)hhhϵ13
Білл Восснер

3
Це стосується лише центральних відмінностей. Для перепадів вперед оптимальним розміром кроку є . Є й інші хитрощі. Наприклад, переконайтеся, що ви насправді знаєте, що таке . Я знаю, це звучить нерозумно, але в арифметиці з плаваючою комою можуть траплятися дивні речі. Ось простий спосіб переконатися, що ви маєте правильне значення : . Математично, звичайно, . Але якщо ви використовуєте значення, які не можуть бути точно представлені у плаваючій точці (наприклад, ), ви побачите, що це не так. hhhactual=hdesiredh=0,0001hϵ12hhh_actual = (x + h_desired) - xhactual=hdesiredh=0.0001
Білл Восснер

Можливо, цей вміст може бути доданий до вашої відповіді, а не до коментарів. Таким чином, майбутнім користувачам не доведеться проходити через розширений розділ коментарів, щоб знайти матеріал, який безпосередньо стосується претензій, які висловлені у відповіді.
Sycorax повідомляє про відновлення Моніки

2
О Боже мій. Квазіньютонське наближення Гессі може бути жахливою оцінкою гессі, і тому призводить до дуже поганої оцінки коваріаційної матриці. Це може слугувати для полегшення прогресування алгоритму до оптимального, але може бути досить поганим, як оцінка гессея.
Марк Л. Стоун
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.