Czy techniki uczenia maszynowego są „algorytmami aproksymacyjnymi”?


23

Niedawno pojawiło się pytanie typu ML dotyczące wymiany stosu cstheory, a ja opublikowałem odpowiedź zalecającą metodę Powella, pochodzenie gradientu, algorytmy genetyczne lub inne „algorytmy aproksymacyjne”. W komentarzu ktoś powiedział mi, że te metody to „heurystyka”, a nie „algorytmy aproksymacyjne” i często nie zbliżały się do teoretycznego optimum (ponieważ „często utknęły w lokalnych minimach”).

Czy inni się z tym zgadzają? Wydaje mi się również, że istnieje poczucie, że algorytmy heurystyczne mogą być bliskie teoretycznym optymalnym, jeśli są skonfigurowane do eksploracji dużej części przestrzeni wyszukiwania (np. Ustawianie parametrów / małych rozmiarów kroków), chociaż nie mam nie widziałem tego w gazecie. Czy ktoś wie, czy zostało to wykazane lub udowodnione w gazecie? (jeśli nie dla dużej klasy algorytmów, może dla małej klasy powiedz NN itp.)


na głębszego zastanowienia na to pytanie wydaje się związane / odpowiedni obszar badań nazywa optymalizacji globalnej metody / warianty na szczycie lokalnego wpisać np algorytmy gradientowe zejście ...
vzn

Odpowiedzi:


29

Myślę, że łączysz wiele ważnych pojęć. Pozwól, że wyjaśnię kilka rzeczy:

  • Istnieją metody metaheurystyczne, które są iteracyjnymi próbami ulepszenia rozwiązania kandydującego. Przykładami tego są wyszukiwanie tabu, symulowane wyżarzanie, algorytmy genetyczne itp. Zauważ, że chociaż może być wiele przypadków, w których te metody działają dobrze, nie ma głębokiego zrozumienia, kiedy te metody działają, a kiedy nie. A co ważniejsze, gdy nie dojdą do rozwiązania, możemy być arbitralnie daleko od niego. Problemy rozwiązywane metodami metaheurystycznymi mają z natury charakter dyskretny, ponieważ istnieją o wiele lepsze narzędzia do radzenia sobie z ciągłymi problemami. Ale od czasu do czasu widzisz także metaheurystykę ciągłych problemów.

  • Istnieją numeryczne metody optymalizacji, ludzie w tej społeczności dokładnie badają naturę funkcji, która ma być zoptymalizowana, i ograniczenia rozwiązania (w grupach takich jak optymalizacja wypukła, programowanie kwadratowe, programowanie liniowe itp.) I stosują algorytmy, które zostały pokazane do pracy dla tego typu funkcji i tego rodzaju ograniczeń. Kiedy ludzie w tym obszarze mówią „pokazani do pracy”, mają na myśli dowód. Sytuacja polega na tym, że tego rodzaju metody działają w ciągłych problemach. Ale kiedy twój problem należy do tej kategorii, jest to zdecydowanie narzędzie do użycia.

  • Istnieją dyskretne metody optymalizacji, które są z natury rzeczy związane z algorytmami dobrze zbadanymi dyskretnymi problemami: takimi jak najkrótsze ścieżki, maksymalny przepływ itp. Ludzie w tym obszarze dbają również o to, by ich algorytmy naprawdę działały (dowody). W tej grupie jest grupa osób, które badają naprawdę trudne problemy, dla których nie oczekuje się szybkiego algorytmu. Następnie badają algorytmy aproksymacyjne, które są szybkimi algorytmami, dla których są w stanie wykazać, że ich rozwiązanie mieści się w stałym współczynniku prawdziwego optimum. Nazywa się to „algorytmami aproksymacyjnymi”. Ci ludzie pokazują również swoje wyniki jako dowody.

Więc ... aby odpowiedzieć na twoje pytanie, nie sądzę, że metaheurystyki są algorytmami aproksymacyjnymi. Nie wydaje mi się to czymś związanym z opinią, to po prostu fakt.


jeśli chodzi o „numeryczne metody optymalizacji”, „dyskretne metody optymalizacji”, wydaje się, że wiele technik ML można udowodnić, że mieszczą się w stałym współczynniku prawdziwego optimum, jeśli ich „początkowa przestrzeń poszukiwań” będzie zmuszona być duża, ale nie widziałem referencji na to.

2
Nie zgadzam się. * w celu optymalizacji numerycznej możesz dostać się do lokalnego minimum (oczywiście możesz również zastosować procedury, które uniemożliwiają to). * To samo dotyczy sieci neuronowych (przynajmniej może się to zdarzyć podczas szkolenia perceptronu). * Algorytmy genetyczne mogą również dostać się do lokalnego minimum, a ponadto, jeśli zdecydujesz się na dużą liczbę mutacji, nie uzyskasz sensownej ewolucji! II również mocno podejrzewam, że istnieją zestawy danych, które zawsze powodują, że niektóre modele mają arbitralnie duże błędy.
jb.

2
@vzn wiele osób wybiera modele, dla których można znaleźć optymalne rozwiązanie. Jest tak, ponieważ używają funkcji wypukłej utraty, tak jak robią to maszyny SVM. Znalezienie prawdziwego optimum tutaj oznacza „znalezienie optymalnego rozwiązania w przestrzeni wyszukiwania”, więc nie ma to nic wspólnego z tym, jak wygląda przestrzeń wyszukiwania. Jak powiedział jb, w przypadku ogólnych funkcji strat znalezienie prawdziwego optimum jest zazwyczaj niemożliwe / niemożliwe.
Andreas Mueller

akceptując tę ​​odpowiedź jako opis obecnego stanu rzeczy i ogólnych kategorii aplikacji, ale nadal myślę, że istnieją pewne pomosty, które istnieją i pozostaną do udowodnienia, które łączą poszczególne obszary. dowód, że NN mogą modelować lub „przybliżać” dowolny ciągły matematyczny fn do dowolnego stopnia dokładności, jest ściśle powiązany ... tj. kolmogorovs thm
vzn

3

Uczenie maszynowe często zajmuje się optymalizacją funkcji, która ma wiele lokalnych minimów. Dobrym przykładem są sprzężone sieci neuronowe z ukrytymi jednostkami. Niezależnie od tego, czy funkcje te są dyskretne czy ciągłe, nie ma metody, która osiąga globalne minimum i zatrzymuje się. Łatwo jest udowodnić, że nie ma ogólnego algorytmu znajdowania globalnego minimum funkcji ciągłej, nawet jeśli jest ona jednowymiarowa i gładka (ma nieskończenie wiele pochodnych). W praktyce wszystkie algorytmy uczenia sieci neuronowych utknęły w lokalnym minimum. Łatwo to sprawdzić: utwórz losową sieć neuronową, zrób duży zestaw jej odpowiedzi na losowe dane wejściowe, a następnie spróbuj nauczyć się innej sieci neuronowej o tej samej architekturze, aby skopiować odpowiedzi. Chociaż istnieje idealne rozwiązanie, ani propagacja wsteczna, ani żaden inny algorytm uczenia się nie będzie w stanie go wykryć,

Niektóre metody uczenia się, takie jak symulowane algorytmy wyżarzania lub algorytmy genetyczne, badają wiele lokalnych minimów. Dla funkcji ciągłych istnieją metody takie jak opadanie gradientu, które znajdują najbliższe lokalne minimum. Są znacznie szybsze, dlatego są szeroko stosowane w praktyce. Ale biorąc pod uwagę wystarczającą ilość czasu, pierwsza grupa metod przewyższa późniejszą pod względem błędu zestawu treningowego. Ale przy rozsądnych ograniczeniach czasowych w przypadku problemów w świecie rzeczywistym ta druga grupa jest zwykle lepsza.

W przypadku niektórych modeli, takich jak regresja logistyczna, istnieje jedno lokalne minimum, funkcja jest wypukła, minimalizacja zbiega się do minimum, ale same modele są uproszczone.

To gorzka prawda.

Należy również zauważyć, że dowód na zbieżność i dowód na najlepsze rozwiązanie to dwie różne rzeczy. Algorytm K-średnich jest tego przykładem.

Wreszcie, w przypadku niektórych modeli wcale nie wiemy, jak się uczyć. Na przykład, jeśli dane wyjściowe są dowolną funkcją obliczeniową danych wejściowych, nie znamy dobrych algorytmów, które w rozsądnym czasie znajdują maszynę Turinga lub równoważną maszynę realizującą tę funkcję. Na przykład, jeśli f (1) = 2, f (2) = 3, f (3) = 5, f (4) = 7, ..., f (10) = 29 (dziesięć pierwszych liczb pierwszych) nie zna żadnego algorytmu uczenia się, który byłby w stanie przewidzieć w rozsądnym czasie, że f (11) = 31, chyba że zna już pojęcie liczb pierwszych.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.