Inne techniki optymalizacji

Technika Iterowanego Zejścia Gradientu

Zejście gradientowe, nazywane również najbardziej stromym zejściem, to iteracyjny algorytm optymalizacji służący do znalezienia lokalnego minimum funkcji. Minimalizując tę ​​funkcję, obawiamy się o koszt lub błąd, który należy zminimalizować (Pamiętaj o problemie komiwojażera). Jest szeroko stosowany w głębokim uczeniu się, co jest przydatne w wielu różnych sytuacjach. Należy tutaj pamiętać, że zajmujemy się optymalizacją lokalną, a nie globalną.

Główny pomysł roboczy

Możemy zrozumieć główną ideę roboczą spadku gradientu za pomocą następujących kroków -

  • Najpierw zacznij od wstępnego odgadnięcia rozwiązania.

  • Następnie weź gradient funkcji w tym punkcie.

  • Później powtórz proces, przesuwając roztwór w kierunku ujemnym gradientu.

Postępując zgodnie z powyższymi krokami, algorytm ostatecznie zbiegnie się tam, gdzie gradient wynosi zero.

Pojęcie matematyczne

Załóżmy, że mamy funkcję f(x)i staramy się znaleźć minimum tej funkcji. Poniżej przedstawiono kroki, aby znaleźć minimumf(x).

  • Najpierw podaj początkową wartość $ x_ {0} \: for \: x $

  • Teraz weź gradient funkcji $ \ nabla f $ ⁡of, mając intuicję, że gradient da nachylenie krzywej w tym miejscu x a jej kierunek wskaże wzrost funkcji, aby znaleźć najlepszy kierunek jej zminimalizowania.

  • Teraz zmień x w następujący sposób -

    $$ x_ {n \: + \: 1} \: = \: x_ {n} \: - \: \ theta \ nabla f (x_ {n}) $$

Tutaj, θ > 0 to szybkość uczenia (wielkość kroku), która zmusza algorytm do wykonywania małych skoków.

Szacowanie wielkości kroku

Właściwie zły rozmiar kroku θmoże nie osiągnąć konwergencji, dlatego bardzo ważny jest ich staranny dobór. Przy wyborze rozmiaru kroku należy pamiętać o następujących punktach

  • Nie wybieraj zbyt dużego rozmiaru kroku, w przeciwnym razie będzie to miało negatywny wpływ, tj. Będzie się raczej rozchodzić niż zbiegać.

  • Nie wybieraj zbyt małego rozmiaru kroku, w przeciwnym razie zbieżność zajmie dużo czasu.

Niektóre opcje dotyczące wyboru rozmiaru stopnia -

  • Jedną z opcji jest wybranie stałego rozmiaru kroku.

  • Inną opcją jest wybranie innego rozmiaru kroku dla każdej iteracji.

Symulowanego wyżarzania

Podstawowa koncepcja symulowanego wyżarzania (SA) jest motywowana wyżarzaniem w ciałach stałych. Jeśli w procesie wyżarzania podgrzejemy metal powyżej jego temperatury topnienia i ostudzimy, to właściwości strukturalne będą zależały od szybkości chłodzenia. Można też powiedzieć, że SA symuluje metalurgiczny proces wyżarzania.

Użyj w ANN

SA jest stochastyczną metodą obliczeniową, inspirowaną analogią wyżarzania, służącą do przybliżania globalnej optymalizacji danej funkcji. Możemy użyć SA do uczenia sieci neuronowych typu feed-forward.

Algorytm

Step 1 - Wygeneruj losowe rozwiązanie.

Step 2 - Oblicz jego koszt za pomocą funkcji kosztu.

Step 3 - Wygeneruj losowo sąsiednie rozwiązanie.

Step 4 - Oblicz koszt nowego rozwiązania według tej samej funkcji kosztu.

Step 5 - Porównaj koszt nowego rozwiązania z kosztem starego rozwiązania w następujący sposób -

Jeśli CostNew Solution < CostOld Solution następnie przejdź do nowego rozwiązania.

Step 6 - Sprawdź warunek zatrzymania, którym może być maksymalna liczba osiągniętych iteracji lub uzyskaj akceptowalne rozwiązanie.