Nenašel jsem uspokojivou odpověď na tuto otázku od google .
Samozřejmě, pokud jsou data, která mám, řádově miliony, pak je cestou hluboké učení.
A četl jsem, že když nemám velká data, možná je lepší použít jiné metody ve strojovém učení. Uvedený důvod je přehnaně vhodný. Strojové učení: tj. Prohlížení dat, extrakce funkcí, tvorba nových funkcí ze shromažďovaných dat atd. Věci, jako je odstraňování silně korelovaných proměnných atd., Celé strojové učení 9 yardů.
A přemýšlel jsem: proč je to tak, že neurální sítě s jednou skrytou vrstvou nejsou všelékem na problémy se strojovým učením? Jsou to univerzální odhady, nadměrné přizpůsobení lze zvládnout s výpadkem, regulací l2, regularizací l1, dávkovou normalizací. Rychlost tréninku není obecně problém, pokud máme jen 50 000 příkladů tréninku. V testovacím čase jsou lepší než, řekněme, náhodné lesy.
Tak proč ne - vyčistit data, spočítat chybějící hodnoty, jako byste to obvykle dělali, vycentrovat data, standardizovat data, vrhnout je na soubor neuronových sítí s jednou skrytou vrstvou a aplikovat regularizaci, dokud neuvidíte žádné přílišné a pak je trénovat až do konce. Žádné problémy s přechodovou explozí nebo mizením přechodu, protože se jedná pouze o dvouvrstvou síť. Pokud by byly potřeba hluboké vrstvy, znamená to, že se mají naučit hierarchické funkce, a potom nejsou dobré ani jiné algoritmy strojového učení. Například SVM je neurální síť pouze se ztrátou pantů.
Byl by oceněn příklad, kdy by nějaký jiný algoritmus strojového učení překonal pečlivě regulovanou 2vrstvou (možná 3?) neuronovou síť. Můžete mi dát odkaz na tento problém a já bych trénoval tu nejlepší neuronovou síť, jakou umím, a uvidíme, jestli dvouvrstvá nebo třívrstvá neuronová síť nedosáhne žádného jiného srovnávacího algoritmu strojového učení.