Próbuję wytrenować sieć neuronową do klasyfikacji, ale etykiety, które mam, są raczej hałaśliwe (około 30% etykiet jest błędnych).
Strata między entropią rzeczywiście działa, ale zastanawiałem się, czy są jakieś alternatywy bardziej skuteczne w tym przypadku? czy utrata przez entropię jest optymalna?
Nie jestem pewien, ale myślę o pewnym „przycięciu” utraty entropii krzyżowej, tak że utrata jednego punktu danych nie będzie większa niż górna granica, czy to zadziała?
Dzięki!
Aktualizacja
Zgodnie z odpowiedzią Lucasa, otrzymałem następujące dane dla pochodnych dla wyjściowej prognozy i wejścia funkcji softmax z . Sądzę więc, że w zasadzie dodaje się termin wygładzający 3 do instrumentów pochodnych. pi=0,3/N+0,7yil=-∑tilog(pi)∂l
Aktualizacja
Właśnie zdarzyło mi się przeczytać artykuł Google, który stosuje tę samą formułę jak w odpowiedzi Lucasa, ale z różnymi interpretacjami.
W rozdziale 7 Regularyzacja modelu poprzez wygładzanie etykiet
Ale zamiast dodać termin wygładzający do prognoz, dodali go do podstawowej prawdy , która okazała się pomocna.
Odpowiedzi:
Właściwą rzeczą do zrobienia jest zmiana modelu, a nie strata. Twoim celem jest nadal poprawna klasyfikacja jak największej liczby punktów danych (co determinuje utratę), ale twoje założenia dotyczące danych uległy zmianie (które są zakodowane w modelu statystycznym , w tym przypadku sieci neuronowej).
zamiast tego i zoptymalizować
źródło
Zdaję sobie sprawę, że jest to forum statystyk i oczekiwanie dotyczy głównie pochodnych matematycznych, ale jeśli może być pomocne i używasz języka Python, istnieje pakiet do klasyfikacji z głośnymi etykietami o nazwie
cleanlab
: https://github.com/ cgnorthcutt / cleanlab / .cleanlab
Pakiet Python,pip install cleanlab
dla którego jestem autorem, znaleziska oznakować błędy w zestawów danych i obsługuje klasyfikacji / uczenia się z głośnym etykiet. Działa z scikit-learn, PyTorch, Tensorflow, FastText itp.Do nauki z głośnymi etykietami.
Aby znaleźć błędy etykiet w zestawie danych.
Kilka przykładów z FastText (NLP) i PyTorch (MNIST AlexNet).
Dokumentacja: https://l7.curtisnorthcutt.com/cleanlab-python-package
źródło