Odpowiedzi:
Im niższa strata, tym lepszy model (chyba że model zbytnio dopasował się do danych treningowych). Stratę oblicza się na podstawie szkolenia i walidacji, a jej interperacja określa, jak dobrze model radzi sobie w tych dwóch zestawach. W przeciwieństwie do dokładności, strata nie jest procentem. Jest to suma błędów popełnianych dla każdego przykładu w zestawach szkoleniowych lub walidacyjnych.
W przypadku sieci neuronowych utrata jest zwykle ujemnym prawdopodobieństwem logarytmicznym i resztkową sumą kwadratów odpowiednio dla klasyfikacji i regresji. Następnie oczywiście głównym celem w modelu uczenia się jest zmniejszenie (minimalizacja) wartości funkcji straty w odniesieniu do parametrów modelu przez zmianę wartości wektora masy za pomocą różnych metod optymalizacji, takich jak propagacja wsteczna w sieciach neuronowych.
Wartość strat oznacza, jak dobrze lub źle zachowuje się określony model po każdej iteracji optymalizacji. Idealnie byłoby oczekiwać zmniejszenia straty po każdej lub kilku iteracjach.
Dokładność modelu jest zwykle określana po poznaniu i ustaleniu parametrów modelu i braku uczenia się. Następnie próbki testowe są podawane do modelu i rejestrowana jest liczba błędów (zero zero jeden), które popełnił model, po porównaniu do prawdziwych celów. Następnie obliczany jest odsetek błędnej klasyfikacji.
Na przykład, jeśli liczba próbek testowych wynosi 1000, a model poprawnie klasyfikuje 952 próbki, to dokładność modelu wynosi 95,2%.
Istnieją również pewne subtelności przy jednoczesnym zmniejszeniu wartości strat. Na przykład możesz napotkać problem nadmiernego dopasowania, w którym model „zapamiętuje” przykłady treningu i staje się w pewnym sensie nieskuteczny dla zestawu testowego. Przeregulowanie występuje również w przypadkach, w których nie stosuje się regularyzacji , masz bardzo złożony model (liczba wolnych parametrów W
jest duża) lub liczba punktów danych N
jest bardzo niska.
Są to dwa różne wskaźniki służące do oceny wydajności modelu, zwykle używane w różnych fazach.
Utrata jest często wykorzystywana w procesie szkolenia, aby znaleźć „najlepsze” wartości parametrów dla twojego modelu (np. Wagi w sieci neuronowej). To właśnie próbujesz zoptymalizować podczas treningu, aktualizując ciężary.
Dokładność jest bardziej z zastosowanej perspektywy. Po znalezieniu zoptymalizowanych parametrów powyżej używasz tych wskaźników, aby ocenić, jak dokładne są prognozy twojego modelu w porównaniu z prawdziwymi danymi.
Użyjmy przykładu klasyfikacji zabawki. Chcesz przewidzieć płeć na podstawie wagi i wzrostu. Masz 3 dane, są one następujące: (0 oznacza mężczyznę, 1 oznacza kobietę)
y1 = 0, x1_w = 50 kg, x2_h = 160 cm;
y2 = 0, x2_w = 60 kg, x2_h = 170 cm;
y3 = 1, x3_w = 55 kg, x3_h = 175 cm;
Używasz prostego modelu regresji logistycznej, który wynosi y = 1 / (1 + exp- (b1 * x_w + b2 * x_h))
Jak znaleźć b1 i b2? najpierw definiujesz stratę i używasz metody optymalizacji, aby zminimalizować stratę w sposób iteracyjny poprzez aktualizację b1 i b2.
W naszym przykładzie typową stratą dla tego problemu z klasyfikacją binarną może być: (przed znakiem sumowania należy dodać znak minus)
Nie wiemy, co powinny b1 i b2. Niech losowo zgadniemy, że b1 = 0,1, a b2 = -0,03. Jaka jest teraz nasza strata?
więc strata jest
Następnie algorytm uczenia się (np. Opadanie gradientu) znajdzie sposób na aktualizację b1 i b2 w celu zmniejszenia straty.
Co jeśli b1 = 0,1 i b2 = -0,03 to końcowe b1 i b2 (wynik z opadania gradientu), jaka jest teraz dokładność?
Załóżmy, że jeśli y_hat> = 0,5, stwierdzimy, że nasza prognoza jest żeńska (1). w przeciwnym razie byłoby 0. Dlatego nasz algorytm przewiduje y1 = 1, y2 = 1 i y3 = 1. Jaka jest nasza dokładność? Dokonujemy błędnej prognozy na y1 i y2, a poprawiamy na y3. Więc teraz nasza dokładność wynosi 1/3 = 33,33%
PS: W odpowiedzi Amira mówi się , że propagacja wsteczna jest metodą optymalizacji w NN. Myślę, że byłoby to traktowane jako sposób na znalezienie gradientu dla wag w NN. Typową metodą optymalizacji w NN są GradientDescent i Adam.
@Annan Tylko w celu wyjaśnienia zestawów danych Trening / Walidacja / Test: Zestaw treningowy służy do przeprowadzenia wstępnego szkolenia modelu, inicjując wagi sieci neuronowej.
Zestaw walidacyjny jest używany po przeszkoleniu sieci neuronowej. Służy do dostrajania hiperparametrów sieci i porównywania, w jaki sposób zmiany w nich wpływają na dokładność predykcyjną modelu. Podczas gdy zestaw szkoleniowy można uznać za używany do budowania wag bram sieci neuronowej, zestaw walidacyjny umożliwia precyzyjne dostrojenie parametrów lub architektury modelu sieci neuronowej. Jest to przydatne, ponieważ pozwala na powtarzalne porównanie tych różnych parametrów / architektur z tymi samymi wagami danych i sieci, aby zaobserwować, jak zmiany parametrów / architektury wpływają na moc predykcyjną sieci.
Następnie zestaw testowy służy tylko do testowania dokładności predykcyjnej wyszkolonej sieci neuronowej na wcześniej niewidzialnych danych, po szkoleniu i wyborze parametrów / architektury za pomocą zestawów danych szkoleniowych i walidacyjnych.