Patrzę na funkcję kosztu entropii znalezioną w tym samouczku :
do= - 1n∑x[ ylna + ( 1 - y) ln( 1 - a ) ]
Co dokładnie sumujemy? Jest to oczywiście ponad , ale i a nie zmieniają się z x . Wszystkie x są wejściami do jednego a .
a jest nawet zdefiniowane w akapicie powyżej równania jako funkcja sumy wszystkich w i x . xyaxxaawx
Również jest zdefiniowane jako liczba wejść do tego konkretnego neuronu, prawda? Jest on sformułowany jako „łączna liczba elementów danych treningowych” .n
Edytować:
Czy mam rację, że tak myślę
C=−1n∑x[ylna+(1−y)ln(1−a)]
byłaby funkcją kosztu dla całej sieci, natomiast
C=[ylna+(1−y)ln(1−a)]
byłby koszt dla pojedynczego neuronu? Czy suma nie powinna przekraczać każdego neuronu wyjściowego?
Tutaj to zbiór przykładów wejściowych w zbiorze danych szkoleniowych, a to odpowiedni zestaw etykiet dla tych przykładów wprowadzania. A reprezentuje wyjście sieci neuronowej przy danym wejściu . Y = { y ( 1 ) , … , y ( n ) } a ( x ) xX= { x( 1 ), … , X( n )}Y= { y( 1 ), … , Y( n )}a ( x )x
Każde z ma wartość 0 lub 1, a aktywacja wyjścia jest zwykle ograniczona do otwartego przedziału (0, 1) przy użyciu logistycznej sigmoidu . Na przykład w przypadku sieci jednowarstwowej (co jest równoważne regresji logistycznej) aktywacja byłaby realizowana przez gdzie jest macierz wagowa jest wektorem polaryzacji. W przypadku wielu warstw możesz rozwinąć funkcję aktywacji do czegoś takiego jak gdzie i to macierz wagowa i odchylenie dla pierwszej warstwy oraz a ( x ) a ( x ) = 1y( i )a ( x ) Wba(x)=1
a ( x ) = 11 + e- W.x - b
W.b Vcz(x)
a ( x ) = 11 + e- W.z( x ) - bz( x ) = 11 + e- Vx - c
V.doz( x ) to aktywacja ukrytej warstwy w sieci.
Użyłem indeksu górnego (i) do oznaczenia przykładów, ponieważ okazało się, że jest on dość skuteczny na kursie uczenia maszynowego Andrew Ng; czasami ludzie wyrażają przykłady jako kolumny lub wiersze w matrycy, ale idea pozostaje taka sama.
Dzięki! To dałoby nam jeden numer błędu dla całej sieci, dla wszystkich naszych próbek. W celu propagacji wstecznej muszę znaleźć pochodną cząstkową tej funkcji w macierzy wagowej w warstwie końcowej. Jak mam to zrobić?
Adam12344,
Robienie backpropa to osobna puszka robaków! Strona, do której linkujesz, zawiera opis pochodnych obliczeniowych itp. I jest wiele pytań na temat backpropu na stackoverflow i tej stronie. Spróbuj się rozejrzeć, a następnie zadaj osobne pytanie dotyczące backprop.
lmjohns3
Może to być przydatne w zrozumieniu backprop przechodzi przez podpory tylnej z czterech warstw sieci neuronowej z krzyżem utraty entropii w gory szczegółach :) cookedsashimi.wordpress.com/2017/05/06/...
YellowPillow
5
Co dokładnie sumujemy?
Samouczek jest dość wyraźny:
... jest całkowitą liczbą pozycji danych treningowych, suma obejmuje wszystkie dane treningowe ...n
xΣza
a = ∑jotwjotxjot.
Później w tym samym samouczku Nielsen podaje wyrażenie dla funkcji kosztu dla wielowarstwowej sieci wielonerwowej (równanie 63):
Dzięki za wgląd, jedno pytanie: to ostatnie, które zdefiniowałeś, nie jest kategoryczną entropią krzyżową, prawda?
Tommaso Guerrini
Powiedział także w swoim samouczku, że „y może czasami przyjmować wartości pośrednie między 0 a 1”, ale funkcja, którą on dał, to wszystko na y i nie było żadnych danych wejściowych aktywacji. Jak moglibyśmy zaimplementować wartości pośrednie w funkcji st?
Feras
W samouczku Nielsena, który pokazuje perceptron jednowarstwowy, a = \ sigma (\ sum_ {j} w_j x_j), ponieważ masz funkcję aktywacji sigmoid dla swojej warstwy wyjściowej, a nie = \ sum_ {j} w_j x_j
Samouczek jest dość wyraźny:
Później w tym samym samouczku Nielsen podaje wyrażenie dla funkcji kosztu dla wielowarstwowej sieci wielonerwowej (równanie 63):
źródło