Randomizowana (blokowa) metoda zestawiania współrzędnych to algorytm optymalizacyjny spopularyzowany przez Nesterova (2010) oraz Richtárika i Takáča (2011). Pierwszą analizę tej metody w odniesieniu do problemu minimalizacji gładkiej funkcji wypukłej przeprowadził Niestierow (2010). W analizie Niestierowa metodę należy zastosować do kwadratowego zaburzenia pierwotnej funkcji o nieznanym współczynniku skalowania. Richtárik i Takáč (2011) podają granice złożoności iteracji, które tego nie wymagają, tzn. metodę stosuje się bezpośrednio do funkcji celu. Co więcej, uogólniają to ustawienie na problem minimalizacji funkcji złożonej, tj. sumy gładkiej wypukłej i (prawdopodobnie niegładkiej) wypukłej funkcji separowanej blokowo:
gdzie jest rozkładany na bloki zmiennych/współrzędnych i są (prostymi) funkcjami wypukłymi.
Przykład (rozkład blokowy): Jeśli i można wybrać i }
Przykład (regulatory separowane blokowo):
-
, gdzie i to standardowa norma euklidesowa.
Algorytm
Rozważ problem optymalizacji
gdzie jest funkcją i .
Gładkość: Przez gładkość rozumiemy, co następuje: zakładamy, że gradient ciągły pod względem współrzędnych Lipschitza ze stałymi. . To znaczy, zakładamy, że
dla wszystkich , gdzie oznacza pochodną cząstkową względem Displaystyle do zmiennej (
Niestierow, Richtarik i Takac wykazali, że następujący algorytm zbiega się do punktu optymalnego:
Algorytm Metoda losowego zmniejszania współrzędnych Wejście: // punkt początkowy Dane wyjściowe: zestaw x : = x_0 dla k : = 1, . .. wybierz współrzędną , równomiernie losowo aktualizuj
koniec dla
- „←” oznacza przypisanie . Na przykład „ największy ← element ” oznacza, że wartość największego elementu zmienia się na wartość elementu .
- „ return ” kończy algorytm i wyświetla następującą wartość.
Współczynnik konwergencji
Ponieważ iteracje tego algorytmu są wektorami losowymi, wynik złożoności wyznaczałby granicę liczby iteracji potrzebnych, aby metoda dała przybliżone rozwiązanie z dużym prawdopodobieństwem. Wykazano, że jeśli gdzie , jest rozwiązaniem optymalnym ( , to poziom ufności i dokładność celu, a następnie .
Przykład dotyczący konkretnej funkcji
Poniższy rysunek pokazuje, jak się podczas iteracji. Problemem jest
Rozszerzenie do ustawiania współrzędnych bloku
Blokowanie kierunków współrzędnych na kierunki współrzędnych blokowych
Można naturalnie rozszerzyć ten algorytm nie tylko na współrzędne, ale na bloki współrzędnych. Załóżmy mamy . ta ma 5 kierunków współrzędnych, konkretnie w którym może się poruszać metoda losowego opadania współrzędnych. Można jednak pogrupować niektóre kierunki współrzędnych w bloki i zamiast tych 5 kierunków współrzędnych możemy mieć 3 kierunki współrzędnych bloku (patrz ilustracja).
Zobacz też