Robię wstępne przetwarzanie danych i zamierzam później zbudować Convonets na moich danych.
Moje pytanie brzmi: Powiedzmy, że mam całkowitą liczbę zestawów danych ze 100 obrazami, obliczałem średnią dla każdego ze 100 obrazów, a następnie odejmowałem je od każdego z obrazów, a następnie dzieliłem to na ciąg i zestaw sprawdzania poprawności, i robię to samo kroki do przetworzenia na danym zestawie testowym, ale wygląda na to, że nie jest to poprawny sposób, zgodnie z tym linkiem: http://cs231n.github.io/neural-networks-2/#datapre
„ Często występująca pułapka . Ważnym punktem na temat przetwarzania wstępnego jest to, że wszelkie statystyki przetwarzania wstępnego (np. Średnia danych) muszą być obliczone tylko na podstawie danych treningowych, a następnie zastosowane do danych walidacyjnych / testowych. Np. Obliczenie średniej i odjęcie jej od każdy obraz w całym zestawie danych, a następnie podzielenie danych na podziały pociąg / wartość / test byłoby błędem, zamiast tego średnią należy obliczyć tylko na podstawie danych treningowych, a następnie odjąć równomiernie od wszystkich podziałów (pociąg / wartość / test). „
Zgaduję, że autor mówi, że nie obliczaj średniej i nie odejmuj jej w obrębie każdego obrazu, ale oblicz średnią ze zbioru obrazów (tj. (Obraz1 + ... + obraz100) / 100) i odejmij średnią od każdy obraz.
Nie do końca rozumiem, czy ktoś może wyjaśnić? a także ewentualnie wyjaśnić, dlaczego to, co robiłem, jest złe (jeśli rzeczywiście jest złe).