Funkcja kosztu w regresji liniowej OLS

32

Jestem trochę mylony z wykładem na temat regresji liniowej wygłoszonym przez Andrew Ng na Coursera na temat uczenia maszynowego. Tam podał funkcję kosztu, która minimalizuje sumę kwadratów jako:

12mi=1m(hθ(X(i))Y(i))2

Rozumiem gdzie 12 pochodzi z. Myślę, że zrobił to tak, że gdy wykonał pochodną na kwadracie, 2 w kwadracie skasowałoby się z połową. Ale nie rozumiem, gdzie1m pochodzą.

Dlaczego musimy to zrobić 1m ? W standardowej regresji liniowej nie mamy jej, po prostu minimalizujemy resztki. Dlaczego go tutaj potrzebujemy?

SmallChess
źródło
1 / 2m pomaga znaleźć średni błąd na punkt danych, a m reprezentuje całkowitą liczbę obserwacji lub liczbę obserwacji.
Krishnan Achary,

Odpowiedzi:

33

Jak zdajesz sobie sprawę, z pewnością nie potrzebujemy współczynnika / m , aby uzyskać regresję liniową. Minimalizatory będą oczywiście dokładnie takie same, z nim lub bez niego. Jednym z typowych powodów normalizacji przez m jest to, że możemy postrzegać funkcję kosztu jako przybliżenie „błędu uogólnienia”, który jest oczekiwaną stratą kwadratową na losowo wybranym nowym przykładzie (nie w zestawie treningowym):1/mm

Załóżmy, że są próbkowane z niektórych rozkładów. Zatem dla dużych m oczekujemy, że 1(X,Y),(X(1),Y(1)),,(X(m),Y(m))m

1mi=1m(hθ(X(i))Y(i))2E(hθ(X)Y)2.

Dokładniej, przez silne prawo wielkich liczb, mamy z prawdopodobieństwem 1.

limm1mi=1m(hθ(X(i))Y(i))2=E(hθ(X)Y)2

Uwaga: Każde z powyższych stwierdzeń dotyczy dowolnego konkretnego , wybranego bez oglądania zestawu treningowego. Dla uczenia maszynowego, chcemy te oświadczenia utrzymywać przez jakiś θθθ^ wybrany w oparciu o jego dobre wyniki na zbiorze treningowym. Twierdzenia te mogą nadal obowiązywać w tym przypadku, choć musimy poczynić pewne założenia dotyczące zestawu funkcji {hθ|θΘ} , a będziemy potrzebować czegoś silniejszego niż Prawo Dużych Liczb.

DavidR
źródło
1
@StudentT Jest to prawdopodobnie najlepszy powód, aby użyć średniego błędu w stosunku do całości. Moje wyjaśnienie jest tak naprawdę tylko powierzchowną konsekwencją głębszego powodu DavidR.
Matthew Drury,
29

Nie mają do. Funkcja straty ma to samo minimum, niezależnie od tego, czy uwzględnisz1m lub stłumić. Jeśli jednak go uwzględnisz, uzyskasz dobrą interpretację minimalizacji (połowy) średniego błędu na punkt danych. Innymi słowy, jesteś w błędzie, minimalizując tempo zamiast całkowitego błędu.

Rozważ porównanie wydajności dwóch zestawów danych o różnych rozmiarach. Surowa suma błędów w kwadracie nie jest bezpośrednio porównywalna, ponieważ większe zestawy danych zwykle zawierają więcej błędów całkowitych tylko ze względu na ich rozmiar. Z drugiej strony średni błąd na punkt danych wynosi .

Czy możesz trochę rozwinąć?

Pewnie. Twój zestaw danych to zbiór punktów danych . Gdy masz model h , błąd najmniejszych kwadratów h w pojedynczym punkcie danych wynosi{xi,yi}hh

(h(xi)yi)2

jest to oczywiście inne dla każdego punktu danych. Teraz, jeśli po prostu zsumujemy błędy (i pomnożymy przez połowę z powodu, który opisujesz) otrzymamy błąd całkowity

12i(h(xi)yi)2

ale jeśli podzielimy przez liczbę sum, otrzymamy średni błąd na punkt danych

12mi(h(xi)yi)2

{xi,yi}{xi,yi} z differeing rozmiary , wtedy możemy porównać średnie błędy, ale nie całkowite błędów. Jeśli bowiem drugi zestaw danych jest, powiedzmy, dziesięciokrotnie większy niż pierwszy, to spodziewalibyśmy się, że całkowity błąd będzie około dziesięć razy większy dla tego samego modelu. Z drugiej strony przeciętny błąd dzieli wpływ wielkości zbioru danych, dlatego spodziewalibyśmy się, że modele o podobnej wydajności będą miały podobne średnie błędy w różnych zestawach danych.

Matthew Drury
źródło
1
Mogę pójść za tobą, możesz trochę rozwinąć? Przepraszam, jestem nowy w uczeniu maszynowym!
SmallChess
@StudentT W swojej odpowiedzi próbowałem wyjaśnić.
Matthew Drury,
1
To samo dotyczy również eksperymentów z wielkością mini-partii podczas stochastycznego spadku gradientu, który jest najczęstszym rodzajem liniowego spadku gradientu podczas pracy z dużymi zestawami danych: łatwiej jest porównać błąd.
jasonszhao