Techniki Optymalizacji: Optymalizacja wypukła Wojciech Kotłowski Instytut Informatyki Politechniki Poznańskiej email: imię.nazwisko@cs.put.poznan.pl pok. 2 (CW) tel. (61)665-2936 konsultacje: piątek 15:10-16:40 Slajdy dostępne pod adresem: http://www.cs.put.poznan.pl/wkotlowski/to/ 30.10.2018 1 / 8
Kombinacja wypukła Kombinacją wypukłą wektorów (punktów) y 1,..., y k nazywamy dowolny wektor: x = λ 1 y 1 +... + λ k y k, gdzie współczynniki λ są nieujemne i takie, że λ 1 +... + λ k = 1. 2 / 8
Kombinacja wypukła Kombinacją wypukłą wektorów (punktów) y 1,..., y k nazywamy dowolny wektor: x = λ 1 y 1 +... + λ k y k, gdzie współczynniki λ są nieujemne i takie, że λ 1 +... + λ k = 1. Przykład: dla dwóch punktów y 1, y 2, ich wszystkie kombinacje wypukłe tworzą odcinek łączący y 1 i y 2. y 2 = (6, 2) y 1 = (0, 0) 2 / 8
Kombinacja wypukła Kombinacją wypukłą wektorów (punktów) y 1,..., y k nazywamy dowolny wektor: x = λ 1 y 1 +... + λ k y k, gdzie współczynniki λ są nieujemne i takie, że λ 1 +... + λ k = 1. Przykład: dla dwóch punktów y 1, y 2, ich wszystkie kombinacje wypukłe tworzą odcinek łączący y 1 i y 2. y 1 = (0, 0) y 2 = (6, 2) x = 1 2 y 1 + 1 2 y 2 = (3, 1) 2 / 8
Kombinacja wypukła Kombinacją wypukłą wektorów (punktów) y 1,..., y k nazywamy dowolny wektor: x = λ 1 y 1 +... + λ k y k, gdzie współczynniki λ są nieujemne i takie, że λ 1 +... + λ k = 1. Przykład: dla dwóch punktów y 1, y 2, ich wszystkie kombinacje wypukłe tworzą odcinek łączący y 1 i y 2. y 2 = (6, 2) x = 1 2 y 1 + 1 2 y 2 = (3, 1) y 1 = (0, 0) x = 3 4 y 1 + 1 4 y 2 = (1.5, 0.5) 2 / 8
Kombinacja wypukła Kombinacją wypukłą wektorów (punktów) y 1,..., y k nazywamy dowolny wektor: x = λ 1 y 1 +... + λ k y k, gdzie współczynniki λ są nieujemne i takie, że λ 1 +... + λ k = 1. Przykład: dla dwóch punktów y 1, y 2, ich wszystkie kombinacje wypukłe tworzą odcinek łączący y 1 i y 2. y 2 = (6, 2) x = 1 2 y 1 + 1 2 y 2 = (3, 1) y 1 = (0, 0) x = 3 4 y 1 + 1 4 y 2 = (1.5, 0.5) Pytanie: jak wygląda kombinacja wypukła k punktów na płaszczyźnie? 2 / 8
Zbiór wypukły Zbiór wypukły X to taki zbiór, że dla jakichkolwiek punktów y 1,..., y k X, każda ich kombinacja wypukła należy do X. 3 / 8
Zbiór wypukły Zbiór wypukły X to taki zbiór, że dla jakichkolwiek punktów y 1,..., y k X, każda ich kombinacja wypukła należy do X. Alternatywnie, zbiór wypukły X to taki zbiór, że dla jakichkolwiek dwóch punktów y 1, y 2 X, odcinek je łączący w całości należy do X. 3 / 8
Zbiór wypukły Zbiór wypukły X to taki zbiór, że dla jakichkolwiek punktów y 1,..., y k X, każda ich kombinacja wypukła należy do X. Alternatywnie, zbiór wypukły X to taki zbiór, że dla jakichkolwiek dwóch punktów y 1, y 2 X, odcinek je łączący w całości należy do X. wypukły niewypukły y 2 x 1 y 1 y 2 x 1 y 1 x 2 x 2 3 / 8
Funkcja wypukła Funkcja f(x) jest wypukła, jeśli dla dowolnych dwóch punktów x 1, x 2 i dowolnego λ [0, 1], f(λx 1 + (1 λ)x 2 ) λf(x 1 ) + (1 λ)f(x 2 ) 4 / 8
Funkcja wypukła Funkcja f(x) jest wypukła, jeśli dla dowolnych dwóch punktów x 1, x 2 i dowolnego λ [0, 1], f(λx 1 + (1 λ)x 2 ) λf(x 1 ) + (1 λ)f(x 2 ) Innymi słowy, funkcja f(x) jest wypukła, jeśli odcinek łączący dwa punkty na wykresie leży w całości powyżej lub na wykresie funkcji. Innymi słowy, epigraf funkcji f(x) (zbiór ograniczony od dołu wykresem) jest zbiorem wypukłym. 4 / 8
Funkcja wypukła Funkcja f(x) jest wypukła, jeśli dla dowolnych dwóch punktów x 1, x 2 i dowolnego λ [0, 1], f(λx 1 + (1 λ)x 2 ) λf(x 1 ) + (1 λ)f(x 2 ) Innymi słowy, funkcja f(x) jest wypukła, jeśli odcinek łączący dwa punkty na wykresie leży w całości powyżej lub na wykresie funkcji. Innymi słowy, epigraf funkcji f(x) (zbiór ograniczony od dołu wykresem) jest zbiorem wypukłym. wypukła niewypukła x1 x1 x2 f(x) f(x) x2 x x 4 / 8
Funkcja wypukła Funkcja f(x) jest wypukła, jeśli dla dowolnych dwóch punktów x 1, x 2 i dowolnego λ [0, 1], f(λx 1 + (1 λ)x 2 ) λf(x 1 ) + (1 λ)f(x 2 ) Innymi słowy, funkcja f(x) jest wypukła, jeśli odcinek łączący dwa punkty na wykresie leży w całości powyżej lub na wykresie funkcji. Innymi słowy, epigraf funkcji f(x) (zbiór ograniczony od dołu wykresem) jest zbiorem wypukłym. wypukła niewypukła epigraf x1 epigraf x1 x2 f(x) f(x) x2 x x 4 / 8
Minimum lokalne Funkcja f(x) ma w punkcie x 0 minimum lokalne, jeśli istnieje takie ɛ, że dla dowolnych x spełniających x x 0 ɛ, mamy f(x 0 ) f(x). 5 / 8
Minimum lokalne Funkcja f(x) ma w punkcie x 0 minimum lokalne, jeśli istnieje takie ɛ, że dla dowolnych x spełniających x x 0 ɛ, mamy f(x 0 ) f(x). Funkcja f(x) ma w punkcie x 0 minimum globalne, jeśli dla dowolnych x, mamy f(x 0 ) f(x). 5 / 8
Minimum lokalne Funkcja f(x) ma w punkcie x 0 minimum lokalne, jeśli istnieje takie ɛ, że dla dowolnych x spełniających x x 0 ɛ, mamy f(x 0 ) f(x). Funkcja f(x) ma w punkcie x 0 minimum globalne, jeśli dla dowolnych x, mamy f(x 0 ) f(x). (źródło: wikipedia) 5 / 8
Optymalizacja wypukła Fakt Rozważmy minimalizację funkcji wypukłej f(x) na wypukłym zbiorze rozwiązań dopuszczalnych X. Wtedy każde minimum lokalne funkcji f(x) jest też jej minimum globalnym. 6 / 8
Dowód: 7 / 8
Dowód: Niech x 0 X minimum lokalne. Załóżmy przeciwnie, że nie jest minimum globalne, tj. istnieje x 1 X takie, że f(x 1 ) < f(x 0 ). 7 / 8
Dowód: Niech x 0 X minimum lokalne. Załóżmy przeciwnie, że nie jest minimum globalne, tj. istnieje x 1 X takie, że f(x 1 ) < f(x 0 ). Ponieważ x 0 jest minimum lokalnym, więc istnieje ɛ taki, że jeśli x x 0 ɛ, to f(x 0 ) f(x). 7 / 8
Dowód: Niech x 0 X minimum lokalne. Załóżmy przeciwnie, że nie jest minimum globalne, tj. istnieje x 1 X takie, że f(x 1 ) < f(x 0 ). Ponieważ x 0 jest minimum lokalnym, więc istnieje ɛ taki, że jeśli x x 0 ɛ, to f(x 0 ) f(x). Weźmy kombinację wypukłą x 2 = λx 1 + (1 λ)x 0. Zauważmy, że: x 2 x 0 = λ(x 1 x 0 ) = λ x 1 x 0 czyli dla odpowiednio małego λ, będziemy mieli x 2 x 0 ɛ, a stąd f(x 0 ) f(x 2 ). 7 / 8
Dowód: Niech x 0 X minimum lokalne. Załóżmy przeciwnie, że nie jest minimum globalne, tj. istnieje x 1 X takie, że f(x 1 ) < f(x 0 ). Ponieważ x 0 jest minimum lokalnym, więc istnieje ɛ taki, że jeśli x x 0 ɛ, to f(x 0 ) f(x). Weźmy kombinację wypukłą x 2 = λx 1 + (1 λ)x 0. Zauważmy, że: x 2 x 0 = λ(x 1 x 0 ) = λ x 1 x 0 czyli dla odpowiednio małego λ, będziemy mieli x 2 x 0 ɛ, a stąd f(x 0 ) f(x 2 ). Z drugiej strony, z wypukłości funkcji f(x): f(x 2 ) λf(x 1 ) + (1 λ)f(x 0 ) < f(x 0 ) 7 / 8
Dowód: Niech x 0 X minimum lokalne. Załóżmy przeciwnie, że nie jest minimum globalne, tj. istnieje x 1 X takie, że f(x 1 ) < f(x 0 ). Ponieważ x 0 jest minimum lokalnym, więc istnieje ɛ taki, że jeśli x x 0 ɛ, to f(x 0 ) f(x). Weźmy kombinację wypukłą x 2 = λx 1 + (1 λ)x 0. Zauważmy, że: x 2 x 0 = λ(x 1 x 0 ) = λ x 1 x 0 czyli dla odpowiednio małego λ, będziemy mieli x 2 x 0 ɛ, a stąd f(x 0 ) f(x 2 ). Z drugiej strony, z wypukłości funkcji f(x): f(x 2 ) λf(x 1 ) + (1 λ)f(x 0 ) < f(x 0 ) sprzeczność! 7 / 8
Podsumowanie Problemy wypukłe mają tylko globalne minima = każda metoda szukająca lokalnych minimów, znajdzie również globalne minimum! 8 / 8
Podsumowanie Problemy wypukłe mają tylko globalne minima = każda metoda szukająca lokalnych minimów, znajdzie również globalne minimum! Problemy niewypukłe są często dużo trudniejsze: = Wiele (często: wykładniczo wiele) lokalnych minimów. 8 / 8
Podsumowanie Problemy wypukłe mają tylko globalne minima = każda metoda szukająca lokalnych minimów, znajdzie również globalne minimum! Problemy niewypukłe są często dużo trudniejsze: = Wiele (często: wykładniczo wiele) lokalnych minimów. Jeśli problem jest niewypukły, możesz starać się rozwiązać najbliższe wypukłe przybliżenie problemu (tzw. relaksacja). Bardzo popularna metoda w uczeniu maszynowym! 8 / 8
Podsumowanie Problemy wypukłe mają tylko globalne minima = każda metoda szukająca lokalnych minimów, znajdzie również globalne minimum! Problemy niewypukłe są często dużo trudniejsze: = Wiele (często: wykładniczo wiele) lokalnych minimów. Jeśli problem jest niewypukły, możesz starać się rozwiązać najbliższe wypukłe przybliżenie problemu (tzw. relaksacja). Bardzo popularna metoda w uczeniu maszynowym! W mojej części przedmiotu będziemy rozwiązywać wyłącznie problemy wypukłe. 8 / 8
Podsumowanie Problemy wypukłe mają tylko globalne minima = każda metoda szukająca lokalnych minimów, znajdzie również globalne minimum! Problemy niewypukłe są często dużo trudniejsze: = Wiele (często: wykładniczo wiele) lokalnych minimów. Jeśli problem jest niewypukły, możesz starać się rozwiązać najbliższe wypukłe przybliżenie problemu (tzw. relaksacja). Bardzo popularna metoda w uczeniu maszynowym! W mojej części przedmiotu będziemy rozwiązywać wyłącznie problemy wypukłe. W części prof. Jaszkiewicza będziecie rozwiązywać problemy wyłącznie niewypukłe. 8 / 8