Dlaczego funkcje kosztów wykorzystują błąd kwadratowy?

73

Właśnie zaczynam od uczenia maszynowego i do tej pory zajmowałem się regresją liniową względem jednej zmiennej.

Nauczyłem się, że istnieje hipoteza, która brzmi:

hθ(x)=θ0+θ1x

Aby znaleźć dobre wartości dla parametrów i , chcemy zminimalizować różnicę między obliczonym wynikiem a rzeczywistym wynikiem naszych danych testowych. Więc odejmujemyθ 1θ0θ1

hθ(x(i))y(i)

dla wszystkich od do . Dlatego obliczamy sumę powyżej tej różnicy, a następnie obliczamy średnią, mnożąc sumę przez . Na razie w porządku. Spowodowałoby to:1 m 1i1m1m

1mi=1mhθ(x(i))y(i)

Ale nie to sugerowano. Zamiast tego kurs sugeruje wziąć kwadratową wartość różnicy i pomnożyć przez . Tak więc formuła jest następująca:12m

12mi=1m(hθ(x(i))y(i))2

Dlaczego? Dlaczego używamy tutaj funkcji kwadratu i dlaczego mnożymy przez zamiast ? 112m1m

Golo Roden
źródło
3
Podobne pytanie na stats.stackexchange.com
user1205197
Zobacz także wyjaśnienia Chrisa McCormicka na goo.gl/VNiUR5
vimdude
ponieważ jest to rozbieżność Bregmana
Andrew

Odpowiedzi:

41

Twoja funkcja utraty nie działałaby, ponieważ zachęca do ustawienia na dowolną skończoną wartość i na .θ1θ0

Zawołajmy resztkowego na .r(x,y)=1mi=1mhθ(x(i))yh

Twoim celem jest, aby wartość jak najbardziej zbliżona do zera, a nie tylko minimalizowana . Wysoka wartość ujemna jest tak samo zła, jak wysoka wartość dodatnia.r

EDYCJA: Możesz temu przeciwdziałać poprzez sztuczne ograniczenie przestrzeni parametrów (np. Chcesz ). W takim przypadku optymalne parametry leżą w określonych punktach na granicy przestrzeni parametrów. Zobacz https://math.stackexchange.com/q/896388/12467 . Nie tego chcesz.Θ|θ0|<10

Dlaczego używamy straty kwadratowej

Kwadratu siły błędach oraz dopasować. Jest to zminimalizowane przy , jeśli to możliwe, i zawsze wynosi , ponieważ jest kwadratem liczby rzeczywistej .h(x)yu=v0uv

|uv|działałoby również w powyższym celu, podobnie jak , z dodatnią liczbą całkowitą. Pierwszy z nich jest faktycznie używany (nazywa się to stratą ; możesz również natknąć się na stratę , która jest inną nazwą błędu kwadratu).(uv)2nn12

Dlaczego więc kwadratowa strata jest lepsza od tych? Jest to głębokie pytanie dotyczyło powiązań między częstościowym i Bayesa wnioskowania. Krótko mówiąc, błąd kwadratowy odnosi się do szumu Gaussa .

Jeśli dane nie pasuje dokładnie wszystkie punkty, czyli nie zero pewnym momencie nie jest ważne co wybrać (jak zawsze stanie się w praktyce), które mogą być ze względu na hałas . W każdym złożonym systemie będzie wiele małych niezależnych przyczyn różnicy między twoim modelem a rzeczywistością : błąd pomiaru, czynniki środowiskowe itp. Zgodnie z Central Limit Theorem (CLT) całkowity hałas rozkładałby się normalnie , tj. Zgodnie z Rozkład Gaussa . Chcemy wybrać najlepsze dopasowanieh(x)yθ h yθbiorąc pod uwagę ten rozkład hałasu. Załóżmy, że , część której twój model nie może wyjaśnić, jest zgodna z rozkładem Gaussa . Używamy wielkich liter, ponieważ mówimy teraz o zmiennych losowych.R=h(X)YyN(μ,σ)

Rozkład Gaussa ma dwa parametry, znaczy i wariancja . Zobacz tutaj, aby lepiej zrozumieć te warunki.μ=E[R]=1mihθ(X(i))Y(i))σ2=E[R2]=1mi(hθ(X(i))Y(i)))2

  • Zastanów się , to błąd systematyczny naszych pomiarów. Użyj aby poprawić błąd systematyczny, tak aby (ćwiczenie dla czytelnika). Nic więcej nie można tutaj zrobić.μh(x)=h(x)μμ=E[R]=0

  • σ reprezentuje błąd losowy , zwany także szumem . Gdy zajmiemy się składnikiem szumu systematycznego, tak jak w poprzednim punkcie, najlepszy predyktor jest uzyskiwany, gdy jest zminimalizowany. Innymi słowy, najlepszym predyktorem jest ten o najwęższym rozkładzie (najmniejsza wariancja) wokół przewidywanej wartości, tj. Najmniejszej wariancji. Minimalizacja najmniejszej straty kwadratowej jest tym samym, co minimalizacja wariancji! To wyjaśnia, dlaczego strata najmniejszych kwadratów działa na wiele problemów. Podstawowy hałas jest bardzo często gaussowski z powodu CLT, a minimalizacja kwadratu błędu okazuje się słusznaσ2=1mi(hθ(X(i))Y(i)))2 rzecz do zrobienia!

Jednoczesnego podjęcia zarówno średniej i wariancji pod uwagę, obejmują odchylenia termin w naszej klasyfikatora (do obsługi błędu systematycznego ), a następnie zminimalizować straty kwadratowy.μ

Dalsze pytania:

  • Strata najmniejszych kwadratów = błąd Gaussa. Czy każda inna funkcja strat odpowiada również rozkładowi hałasu? Tak. Na przykład strata (minimalizowanie wartości bezwzględnej zamiast błędu do kwadratu) odpowiada rozkładowi Laplace'a (spójrz na wzór pliku PDF w pasku informacyjnym - to tylko Gaussa z zamiast ). Popularną stratą dla rozkładów prawdopodobieństwa jest dywergencja KL . - Rozkład Gaussa jest bardzo dobrze umotywowany ze względu na centralne twierdzenie graniczne1|xμ|(xμ)2, które omówiliśmy wcześniej. Kiedy rozkład Laplace'a jest właściwym modelem hałasu? Są pewne okoliczności, w których to naturalnie, ale częściej jako wymusza rzadkość : strata jest najmniej wypukła spośród wszystkich wypukłych strat.1

    • Jak Jan wspomina w komentarzach, minimalizator kwadratowych odchyleń jest średnią, a minimalizator sumy absolutnych odchyleń jest medianą . Dlaczego chcielibyśmy znaleźć medianę reszt zamiast średniej? W przeciwieństwie do średniej, mediana nie jest zrzucana przez jedną bardzo dużą wartość odstającą. Tak więc utrata służy do zwiększenia niezawodności. Czasami używana jest kombinacja tych dwóch.1
  • Czy są sytuacje, w których minimalizujemy zarówno średnią, jak i wariancję? Tak. Sprawdź Kompromis odchylenie bias . Tutaj patrzymy na zestaw klasyfikatorów i pytamy, który z nich jest najlepszy. Jeśli zapytamy, który zestaw klasyfikatorów jest najlepszy dla problemu, ważne jest zminimalizowanie zarówno odchylenia, jak i wariancji. Okazuje się, że zawsze istnieje między nimi kompromis i używamy regularyzacji, aby osiągnąć kompromis.hθH

Odnośnie terminu12

1/2 nie ma znaczenia, a właściwie nie ma również znaczenia - oba są stałymi. Optymalna wartość pozostałaby taka sama w obu przypadkach.mθ

  • Wyrażenie dla gradientu staje się ładniejsze z , ponieważ 2 z wyrażenia kwadratowego znosi się.12

    • Podczas pisania kodu lub algorytmów zwykle bardziej interesuje nas gradient, więc pomaga zachować zwięzłość. Możesz sprawdzić postęp, sprawdzając normę gradientu. Sama funkcja utraty jest czasami pomijana w kodzie, ponieważ jest używana tylko do sprawdzania poprawności ostatecznej odpowiedzi.
  • jest przydatna, jeśli można rozwiązać ten problem z opadania gradientu. Następnie gradient staje się średnią z terminów zamiast sumy, więc jego skala nie zmienia się, gdy dodasz więcej punktów danych.mm

    • Wcześniej napotkałem ten problem: testuję kod z niewielką liczbą punktów i działa dobrze, ale kiedy testujesz go z całym zestawem danych, traci się precyzję, a czasem przepełnienie / niedopełnienie, tj. Twój gradient staje się nanlub inf. Aby tego uniknąć, wystarczy znormalizować wrt liczbę punktów danych.
  • Te decyzje estetyczne służą tutaj do zachowania spójności z przyszłymi równaniami, w których dodasz warunki regularyzacji . Jeśli dodasz , parametr regulowania nie będzie zależał od rozmiaru zestawu danych i będzie bardziej zrozumiały dla różnych problemów.mλm

Szorstki
źródło
powiedzieliście: „kiedy weźmiesz pochodną, ​​wyrażenie jest ładniejsze, ponieważ 2 skreśla 2 z wyrażenia kwadratowego”. Ale dlaczego chcemy wziąć jego pochodną?
DrGeneral
Zazwyczaj optymalizujemy straty za pomocą spadku gradientu, co wymaga wzięcia pochodnej. Nie wspomniałem o tym, ponieważ powinno to być jasne w kontekście tego pytania.
Ostry
1
Ostro, wybacz moją naiwność, ale dlaczego nie użyć wartości bezwzględnej zamiast kwadratowej?
Alexander Suraphel
1
Błąd bezwzględny może również działać, ale w takim przypadku cofniesz się do oczekiwanej mediany zamiast średniej. Weź małą listę liczb i zobacz, jak różni się strata, przesuwając swoje oszacowanie (zarówno dla błędu kwadratowego, jak i bezwzględnego)
Jan van der Vegt
@AlexanderSuraphel Przepraszam za opóźnienie w odpowiedzi :) Dodałem sekcję powyżej, aby rozwiązać ten problem
Harsh
25

Współczynnik 1/2 służy jedynie wygodzie; sprawia, że ​​pochodna, która jest faktycznie optymalizowaną funkcją, wygląda ładniej. 1 / m jest bardziej fundamentalny; sugeruje, że interesuje nas średni błąd kwadratu. Pozwala to na dokonywanie uczciwych porównań przy zmianie wielkości próbki i zapobiega przepełnieniu. Tak zwane optymalizatory „stochastyczne” wykorzystują podzbiór zestawu danych (m '<m). Po wprowadzeniu regulizatora (termin addytywny do funkcji celu) użycie współczynnika 1 / m pozwala na zastosowanie tego samego współczynnika dla regulizera niezależnie od wielkości próbki.

Jeśli chodzi o pytanie, dlaczego kwadrat, a nie tylko różnica: czy nie chcesz, aby niedoszacowania były karane podobnie jak przeszacowania? Kwadrat eliminuje efekt znaku błędu. Przyjmowanie wartości bezwzględnej (norma L1) również tak robi, ale jej pochodna jest niezdefiniowana u źródła, więc wymaga bardziej wyrafinowanego użycia. Norma L1 ma swoje zastosowanie, więc miej to na uwadze i być może zapytaj nauczyciela, czy zamierza ją objąć.

Emre
źródło
4
L2LpL2
6

Miarą błędu w funkcji straty jest „odległość statystyczna”; w przeciwieństwie do popularnego i wstępnego zrozumienia odległości między dwoma wektorami w przestrzeni euklidesowej. Za pomocą „odległości statystycznej” próbujemy zmapować „nie-podobieństwo” między modelem szacowanym a modelem optymalnym do przestrzeni euklidesowej.

Nie ma restrykcyjnej zasady dotyczącej formułowania tej „odległości statystycznej”, ale jeśli wybór jest odpowiedni, to stopniowe zmniejszanie tej „odległości” podczas optymalizacji przekłada się na stopniowo ulepszającą się estymację modelu. W związku z tym wybór „odległości statystycznej” lub miary błędu jest związany z podstawowym rozkładem danych.

W rzeczywistości istnieje kilka dobrze zdefiniowanych miar odległości / błędu dla różnych klas rozkładów statystycznych. Wskazane jest wybranie miary błędu w oparciu o rozkład danych w ręku. Tak się składa, że ​​rozkład Gaussa jest wszechobecny, a zatem związana z nim miara odległości, norma L2 jest najbardziej popularną miarą błędu. Nie jest to jednak regułą i istnieją dane ze świata rzeczywistego, dla których „wydajna” * implementacja optymalizacji przyjąłaby inną miarę błędu niż norma L2.

Rozważ zestaw rozbieżności Bregmana . Kanoniczną reprezentacją tej miary rozbieżności jest norma L2 (błąd kwadratowy). Obejmuje także względną entropię (dywergencję Kullbacka-Lieblera), uogólnioną odległość euklidesową (metryka Mahalanobisa) oraz funkcję Itakura-Saito. Możesz przeczytać więcej na ten temat w tym artykule na temat Funkcjonalnej dywergencji Bregmana i estymacji rozkładu Bayesa .

Na wynos: norma L2 ma interesujący zestaw właściwości, co sprawia, że ​​jest popularnym wyborem do pomiaru błędów (inne odpowiedzi tutaj wspomniały niektóre z nich, wystarczające do zakresu tego pytania), a błąd kwadratowy będzie odpowiedni wybór przez większość czasu. Niemniej jednak, gdy wymaga tego dystrybucja danych, do wyboru są alternatywne miary błędów, a wybór zależy w dużej mierze od sformułowania procedury optymalizacji.

* „Odpowiednia” miara błędu spowodowałaby wypukłość funkcji straty dla optymalizacji, co jest bardzo pomocne, w przeciwieństwie do niektórych innych miar błędów, w których funkcja straty nie jest wypukła, a tym samym notorycznie trudna.

Dynamiczny Gwiezdny Pył
źródło
5

Oprócz kluczowych punktów przedstawionych przez innych, użycie błędu kwadratu kładzie większy nacisk na większy błąd (co dzieje się z 1/2, gdy wyrównasz go do 3/2?).

Posiadanie algorytmu, który przenosi błędy ułamkowe, co prawdopodobnie doprowadziłoby do poprawnej klasyfikacji lub bardzo małej różnicy między szacunkiem a podstawową prawdą, gdyby pozostawiono go w pobliżu zera, pozostawiając duże błędy jako duże błędy lub błędne klasyfikacje, nie jest pożądaną cechą algorytm.

Użycie błędu do kwadratu wykorzystuje błąd jako domyślną wagę istotności do dostosowania prognozy.

Bobv
źródło
więc jaki jest arbitralny błąd
jeza
3

W swoim sformułowaniu próbujesz uzyskać średnie odchylenie swojego przybliżenia od obserwowanych danych.

Jeśli średnia wartość twojego przybliżenia jest bliska lub równa średniej wartości obserwowanych danych (coś, co jest pożądane i często zdarza się w wielu schematach aproksymacji), wynik formułowania byłby zerowy lub nieistotny, ponieważ błędy dodatnie kompensują ujemne błędy. Może to prowadzić do wniosku, że twoje przybliżenie jest wspaniałe dla każdej zaobserwowanej próbki, podczas gdy może nie być tak. Dlatego używasz kwadratu błędu przy każdej próbce i dodajesz je (każdy z nich zmienia się na dodatni).

Oczywiście jest to tylko możliwe rozwiązanie, ponieważ można było zastosować normę L1 (bezwzględna wartość błędu dla każdej próbki) lub wiele innych zamiast normy L2.

W641
źródło