Przeprowadzam wyszukiwanie linii w ramach quasi-Newtona algorytmu BFGS. W jednym kroku wyszukiwania linii używam interpolacji sześciennej, aby zbliżyć się do lokalnego minimalizatora.
Niech będzie funkcją będącą przedmiotem zainteresowania. Chcę znaleźć takie, że .
Niech , , i będą znane. Załóżmy również . Dopasowuję sześcienny wielomian tak, że ,, i .
Rozwiązuję równanie kwadratowe: dla moich poszukiwanych za pomocą rozwiązania w formie zamkniętej.
Powyższe działa dobrze w większości przypadków, z wyjątkiem kiedy jako rozwiązanie w formie zamkniętej dla dzieli przez która staje się bardzo bliska lub dokładnie .
Moim rozwiązaniem jest spojrzenie a jeśli jest „za mały”, po prostu weź formę zamkniętą dla minimalizatora kwadratowego wielomianu dla których mam już współczynniki od wcześniejszego dopasowania do .
Moje pytanie brzmi: w jaki sposób opracować dobry test, kiedy wziąć interpolację kwadratową nad sześcienną? Naiwne podejście do testowania jest zły z powodów numerycznych, więc patrzę gdzie jest precyzja maszyny, ale nie jestem w stanie zdecydować się na dobro to niezmiennik skali .
Pytanie dodatkowe: czy są jakieś problemy numeryczne ze stosowaniem współczynników,, z nieudanego dopasowania sześciennego, czy powinienem wykonać nowe dopasowanie kwadratowe z odpowiednim sposobem obliczania współczynników?
Edytuj dla wyjaśnienia: w moim pytaniu jest tak naprawdę powszechnie nazywany w literaturze. Właśnie uprościłem formułowanie pytania. Problem optymalizacji, który rozwiązuję, jest nieliniowy w 6 wymiarach. I jestem w pełni świadomy, że warunki Wolfe'a wystarczają do wyszukiwania linii BFGS, stąd stwierdzam, że byłem zainteresowany; Szukam czegoś, co zaspokoi silne warunki Wolfe'a, a przyjęcie minimalizatora przybliżenia sześciennego to dobry krok na drodze.
Pytanie nie dotyczyło BFGS, ale raczej, jak ustalić, kiedy współczynnik sześcienny jest wystarczająco mały, aby bardziej odpowiednie było przybliżenie kwadratowe.
Edycja 2: Zaktualizuj notację, równania nie ulegną zmianie.