Neuronhálózatok vonatozása hibasúlyokkal - MATLAB; Simulink

Az alapértelmezett négyzethiba-teljesítményfüggvényben (lásd: Többrétegű sekély neurális hálózatok oktatása és alkalmazása) minden négyzethiba ugyanannyit járul hozzá a teljesítményfüggvényhez az alábbiak szerint:

F = m s e = 1 N ∑ i = 1 N (e i) 2 = 1 N ∑ i = 1 N (t i - a i) 2

Az eszköztár azonban lehetővé teszi az egyes négyzetes hibák külön-külön történő súlyozását az alábbiak szerint:

F = m s e = 1 N ∑ i = 1 N w i e (e i) 2 = 1 N ∑ i = 1 N w i e (t i - a i) 2

A hibasúlyozó objektumnak azonos dimenziókkal kell rendelkeznie, mint a céladatok. Ily módon a hibák súlyozhatók az időlépés, a minta száma, a jel száma vagy az elem száma szerint. Az alábbiakban bemutatunk egy példát arra, hogyan súlyozzuk nagyobb mértékben a hibákat egy idõsor végén, mint az idõsor elején. A hibasúlyozó objektumot átadják a vonat hívásának utolsó argumentumaként .

matlab

Az ábra a hiba súlyozását szemlélteti. Az edzésadatok 600 időlépést tartalmaznak, és a hibákat exponenciálisan súlyozzák, az utolsó négyzethiba súlya 1, az első lépésnél pedig a négyzethiba értéke 0,0024.

A képzett hálózat válaszát a következő ábra mutatja. Ha összehasonlítja ezt a választ annak a hálózatnak a válaszával, amelyet exponenciális súlyozás nélkül képeztek ki a négyzetes hibákra, amint azt a Design Time Series Időkésleltetési ideghálózatok mutatják, láthatja, hogy a sorozat késői hibái kisebbek, mint a korábbi hibák a sorrendben. A később bekövetkezett hibák kisebbek, mivel azok nagyobb mértékben járultak hozzá a súlyozott teljesítménymutatóhoz, mint a korábbi hibák.