2017-03-18 33 views
5

Czy ktoś może wyjaśnić w prostych słowach i ewentualnie z przykładami, co jest utratą funkcji w dziedzinie uczenia maszynowego/sieci neuronowych?Co to jest funkcja utraty w prostych słowach?

ten wyszedł, a ja po tutorialu Tensorflow: https://www.tensorflow.org/get_started/get_started

+1

Zalecam raczej rozpoczęcie czytania książki (podstawowej) uczenia maszynowego zamiast "Jak korzystać z tensorflow". Tensorflow nie może zrobić magii, jeśli nie wiesz, co robisz. –

+0

Czy sugerujesz jakieś materiały online, które mogę śledzić? – Federico

+2

Prawdopodobnie najlepszy [kurs uczenia maszynowego] (https://www.coursera.org/learn/machine-learning) do naśladowania. Lub inne książki Google od Andrew Ng, takie jak my [this one] (http://www.mlyearning.org). –

Odpowiedz

6

Funkcja strata jest jak jesteś karanie swoje wyjście.

Poniższy przykład dotyczy nadzorowanego ustawienia, tj. Gdy wiadomo, że prawidłowy wynik powinien być. Chociaż funkcje utraty mogą być stosowane nawet w nienadzorowanych ustawieniach.

Załóżmy, że masz model, który zawsze prognozuje 1. Podobnie wartość skalarna 1.

Można mieć wiele funkcji strat stosowane do tego modelu. L2 to odległość euklidesowa.

Jeśli przekażę pewną wartość, powiedz 2 i chcę, aby mój model nauczył się funkcji x ** 2, wtedy wynik powinien wynosić 4 (ponieważ 2 * 2 = 4). Jeśli zastosujemy stratę L2, to obliczymy ją jako || 4 - 1 ||^2 = 9.

Możemy również uzupełnić naszą własną funkcję straty. Można powiedzieć, że funkcja straty jest zawsze 10. Tak więc niezależnie od tego, co osiągnie nasz model, strata będzie stała.

Dlaczego zależy nam na funkcjach związanych z utratą? Cóż, oni określają, jak słabo model zrobił i w kontekście backpropagation i sieci neuronowe. Określają również gradienty z ostatniej warstwy, która ma być propagowana, aby model mógł się uczyć.

Jak sugerują inne komentarze, powinienem zacząć od podstawowego materiału. Oto dobry link do rozpoczęcia: http://neuralnetworksanddeeplearning.com/

5

Opisuje, w jakim stopniu wynik uzyskany przez twoją sieć pochodzi z oczekiwanego wyniku - wskazuje na wielkość błędu, jaki Twój model spowodował w swoim prediciton.

Możesz wtedy wziąć ten błąd i "przeciągnij go" przez model, dostosowując jego wagę i zbliżając się do prawdy następnym razem.