Я виконую пошук рядків як частина алгоритму квазі-Ньютона BFGS. На одному кроці пошуку рядків я використовую кубічну інтерполяцію, щоб перейти ближче до локального мінімізатора.
Нехай є цікавою функцією. Я хочу знайти такий , що .
Нехай , , і . Припустимо також . Я поміщаю кубічний многочлен так що , , і .
Я вирішую квадратичне рівняння: для мого шуканого використовуючи рішення закритої форми.
Вищезазначене працює в більшості випадків, за винятком випадків, коли оскільки рішення закритої форми для (1) ділиться на a, яке стає дуже близьким до 0 .
Моє рішення полягає в тому, щоб подивитися на і якщо він "занадто малий", просто прийняти рішення закритої форми для мінімізатора квадратичного многочлена для якого у мене вже є коефіцієнти від попереднього пристосування до .
Моє запитання: як я розробити хороший тест на те, коли взяти квадратичну інтерполяцію над кубічною? Наївний підхід до тестування на поганий через чисельні причини, тому я дивлюсь на де - це машинна точність, але я не в змозі визначитися з хорошим , масштабним інваріантним .
Питання про бонус: Чи є якісь числові питання з використанням коефіцієнтів від невдалого кубічного прилягання чи я повинен виконати нову квадратичну підгонку відповідним способом обчислення коефіцієнтів?
Редагувати для уточнення: У моєму питанні - це те, що в літературі зазвичай називають . Я просто спростив постановку питання. Проблема оптимізації, яку я вирішую, є нелінійною у 6 вимірах. І я добре усвідомлюю, що умов Вулфа достатньо для пошуку рядків BFGS, отже, заявляючи, що мене цікавить ; Я шукаю те, що задовольнить сильні умови Вулфа, і прийняття мінімізатора кубічного наближення є гарним кроком на цьому шляху.
Питання полягало не в BFGS, а в тому, як визначити, коли кубічний коефіцієнт є досить малим, що квадратичне наближення є більш доцільним.
Редагувати 2: Оновити позначення, рівняння не змінюються.