Jag håller på med ett projekt med neurala nätverk och jag vet att några här är duktiga på det, så... Fel forum att fråga i - lämpligare med systemutveckling generellt eller något i den stilen. Ok, jag visste inte att det fanns. Jag har inte med några bios till mina neuroner. Varför ska man ha det och kan det vara anledningen? <b>>Jag har inte med några bios till mina neuroner. Varför ska man ha det och kan det vara anledningen?</b> Tack för att ni försökte hjälpa till. Felet var att jag inte hade samma tröskelfunktion som jag hade derivatafunktion vid backpropageringen.Neurala nätverk
Jag kan lära mitt nätverk att för indata {a} så skall jag få utdata {b} om det bara är ett mönster som jag vill känna igen. Men jag vill ju att nätverket skall känna igen flera mönster. Alltså {a1}->{b1} och {a2}->{b2} osv. Hur skall jag lägga upp det? Om jag tränar en i taget så kommer det bara ihåg det sista.Sv: Neurala nätverk
Nåväl, hur tränar du nätverken?
Kör du genetiska algoritmer eller något annat?
I princip är ju iden att du beskriver nätverkets "fitness" med hur väl det uppfyller dina villkor. Alltså bakar du in båda villkoren i din fitnessfunktion. Men det beror ju helt på hur du styr ditt nät.Sv:Neurala nätverk
Jag förstår att detta blir så brett att det är svårt att svara.
Jag har ett feedforward backpropagation nätverk. Jag använder mean square på skillnaden (ut-förväntat ut) som en indikation på felet.
Det hela går till så här
<code>
do
{
1). Ändra vikterna så att försök ett ger lite bättre resultat
2). Kör med ändrade vikter för andra försöket och ändra vikterna så att försök tvåger lite bättre resultat
3). osv
}while(felet är stort);
</code>
Men så om jag har fler än ett försök så går felet ofta mot t.ex. 0.5 och inte 0. Vore det bättre att räkna ut viktändringarna för alla försöken först?Sv: Neurala nätverk
Sv:Neurala nätverk
Bias heter det. Det är ett offset. Om du i en neuron har två ingångar a och b, och vikterna x och y, så får du ju ut ax+by, inte sant. Ett offset är i princip ett z som man drar ifrån, dvs ax+by-z. Exakt varför man ska ha det ena eller andra är altid svårt att svara på, men ett högt bias gör ju i princip en neuron svårreagerad.
<b>>Jag använder mean square på skillnaden (ut-förväntat ut) som en indikation på felet.</b>
Hmm... jag skulle gjort något i stil med detta:
1. Gör försök A.
2. Ta fram RMS för skillnaden i resultat.
3. Gör försök B.
4. Ta fram RMS för skillnaden i resultat,
5. Lägg ihop dina skillnader.Sv: Neurala nätverk