Regularisering under antagande av vad?

2017-08-24

Stochastic Gradient Descent Training for L1-regularized Log-linear Models with Cumulative Penalty. Emellertid gör vi gradient descent på funktion där vi praktiskt hamnat i själva approximationen förflyttande L1 gäller att "regularisering" L1 i mening L1 över varje vektor-position är relaterad till information vi effektivt approximerar under ett antagande om effektivitet mellan "per position" i vektorn ( d.v.s. | x(i) - y(i) | ) relativt övergripande vektorn ( d.v.s. relaterat summan eller jämförbart med hänsyn hela vektorn sum ( | ( x(i) - y(i) | ).


Och kan vara - föredrar jag att uttrycka det ( vanligen klokt) - relaterat rent kulturella preferenser i dom områden där man oftare kommit som jag förstått det att använda den. D.v.s. natural language processing så menad i samma artikel tidigare länkad där nu också som välkänt enormt "bias" att använda LSA finns. Antag nu att vi istället efter processar LSA vektorer ( för att ta rätt av vad jag föredrog att göra med mina 400 double vektorer LSA sorterande dem topologiskt till 300 dimensioner ) så gäller nu att effektiviteten att informationen tänkbart ( osäker vad som gäller för mig här men intrycket där resp. allmänt för metoden jag använde är att om grannskapet utnyttjat är långt så fördelas kostnaden / effektiviteten ut "jämnt" relaterat mot constraint att fördela max-likhet tilldelningen jämnt mellan varje vektor-position).


Men även om jag gärna upplever att man för diverse vanliga algoritmer skapat vektorerna man opererar på kan göra en straff-term rimligt som beskriven ( och egentligen kanske i övrigt när ej fungerande troligt alls ändå är som allmänt här i domän där man för bra resultat behöver människan som i diverse som går in och ställer diverse för att nå exceptionell idealisering utan överträning - ej förlorar något på att pröva en till konfiguration kastad) finns också många ej ovanliga där det knappast heller just för L1 är vad jag upplever ( för att välja ett bra ord lämnande en god andel av ansvaret till läsaren ) är möjligt.


Jag har lite särskilt intresse just här. Man kanske hellre möter när man gjort sig besvär att tematiskt topologiskt sorterat sina vektorer. Det gör egentligen just L1 lite speciellt jämfört med alla börjande L2. Det speciellt är upplever jag ett tänkbart större värde av att använda som komplement till L2 val / träning för att undvika överträning eller jämförbara problem ( medan vi åtminstone efter människan-Hans-val kan välja att köra träning övergripande L2 beslutande en tid L3, L4, ... eller högre för att tvinga fram "överuttryckt" prioritering av färre positioner i vektorn med höga värden medan ett större flertal med låga värden minskar i påverkan genom att de så kraftigt reduceras i magnitud). Tar vi istället de 400-double LSA (eller egentligen ICA men med vikter sannolikhet ej relaterade corpus) vektorer som jag använde skapande mina 300 double så gäller ej riktigt samma sak här. Vi har samband mellan positioner implicit resp. därefter i högre utsträckning explicit.


Viss skillnad mellan betraktande L1 som absolut-belopp skillnad ( på vektorer L2-normaliserade ) mot att betrakta L1 som resp. vektor först normaliserad summan ( lite som med sannolikheter ) och därefter absolut-belopp skillnad p.s.s. gäller praktiskt tränande. Antar vi tränande constraints L2 och därefter brytande in med constraints L1 gäller att vi i den första varianten får gärna ordentligt större skillnaden antal rätt och fel under pågående träning när befintligt ett relativt litet antal fel görs ( utan egentlig överträning detekterbar ) medan vi för variant två där större "bort-hantering" av magnitud enskilda positioner relativt alla positioner gäller får ordentligt mindre skillnad. Jag föreslår att man här kan vinna en del på att när allmänt ej ovettigt utnyttja första varianten kompletterande L2 under träningen för att få in något av relationen till informationsmängden per position.


Om möjligt kanske mest upplever jag vettigt när enorm skillnad i storlek antal koncept träning (såväl kanske storlek kategorier naturligt att förvänta antal ord eller jämförbart) finns. Men också där det kanske är svårare att använda. D.v.s. tränar jag mot varandra en kategori ord med 20 - 50 ord och en med cirka 1100 ( som aktuellt just nu samtidigt med eu bunt andra för smidigt utan att behöva göra ny kod få den större av den att bestraffa andra kategorier på högre likhet ) kan L2 och högre kröka rummet lite hur som helst och ogärna ha någon svårighet med L1 heller. Men om den mindre kategorin ej är helt "orimligt" liten men ändå gigantiskt mindre och vi bryter in L1 kommer det omedelbart ge väldigt tydliga dispergenser. Jag vill minnas ( men är ej säker ) att de aldrig var lika tydliga med mina 400.


Annars är en god tumregel lämnande regularisering ( eller möjligen för någon klokare användare det bättre: Jag har alltid känt att om man är cool och väldigt heterosexuell som jag använder man det inte ) får mig att antingen mycket väl uttryckta kategorier ( i mening träningsdata d.v.s. exempelvis för mig mina positiva och negativa med vardera cirka 3000 - pos - kontra 9000 neg. där vektorerna 300 har flera mer direkt motsvarande positioner ) följer från L2 hög andel rätt ungefär jämförbart ( skiljande upp till 10 procent-enheter nedåt med säg 97 - 99% för L2 som träningsbeslut görs för). Medan när vissa problem finns tydlighet träningsdata så som min variant UP kontra DOWN ( där jag försökte uttrycka dem lite annorlunda givet en annan tydligare bredare definition dominerande träningsdata innebärande att UP ej längre är högre aktivitet och visa versa utan mer högre aktivitet under motsvarande idealt hög-konjunktur och visa-versa innebärande att vi kan ha hög och låg aktivitet i resp. UP och DOWN: Låg aktivitet UP mer av avkopplad över-ätet lugn, och hög aktivitet under DOWN mer av stressad katastrof-aktivitet) så gäller att andelen fel under träningen gärna är väsentligt större för såväl L1 som L3 och L4.


D.v.s. spekulerar jag utan att suttit och tittat på tillståndsvektorerna (åtminstone inte insiktsfullt) så hamnar vi i UP vs DOWN med större preferens att träningen kröker rummet mot tänkta referenspunkter. Vilket för vad som egentligen givet naturligt större kategorier inkludernade många fler ord och en egenskap väsentligt mer allmän egenskap ej ger en enklare ( men naturligt mindre exakt ) idealisering utan istället något som om ej hanterat kan resultera i påtvingad motsvarande överträning.


Kvantifierar vi mängden information denna "påtvingade överträning" motsvarar hanterar vi detta tror jag enklast genom att randomisera varje träningsdata i motsvarande utsträckning. Är vektorerna som för mina 300 topologiskt organiserade gäller att höga värden en position motsvarar omedelbart tematiskt större tillhörighet dit utan mer komplexa samband med andra positioner ( förutom avstånd position vilket upplever jag ej behöver hanteras särskilt här) och mängden randomisering i absolut mening kan vara större ( d.v.s. variansen genererande normalfördelade tal är större med själva vektorn som medelvärdet). Vilket jag förövrigt allmänt gör av andra orsaker: Särskilt därför att det när topologiskt sorterade blir möjligt på ett helt annat sätt där det omedelbart innebär att motsvarande existerande eller icke-existerande vektorer ex. ord ( men för den delen också givet ord-vektorer eller flergrams-vektorer kombinationer av flera sådana tillsammans ) ej existerande träningsdata täcks upp indirekt i variationer av dom identifierade. Jag antar att med hantering avrundning på diverse beräkning skulle en del av behovet och värdet ( men ej huvud-delen om än förvånande större andel än implementationer neuronnät jag sett andra hanterar alls ännu ger oss: Säg 1-lager d.v.s. gradient descent över 10000 vektorer a 64 double att det motsvarar 20-procent-enheter vilket är tja större än man gärna tänker sig men inte mer än att givet metod randomisering att jag hellre avstår avrundning givet prestanda-kostnad min Perl-implementation av det - förvånande slött för något så enkelt. Propagerar så det heter duga utan sund avrundning: Jag menar "early stopping" men ej avrunda - behövs det ens...).


Vi ser i sist uttrycket värdet jag får börja topologiskt sorterade där positioner mer gärna uttrycker magnitud motsvarande något ämne med mindre beroenden andra positioner vilka ej kan lämnas därhän i meningsfullhet förståelse en position att viss frihet kontra en given kategori så som definierad träningsdata ges. Vet jag att motsvarighet väldigt direkt finns till topologiska positioner vektorn kan vi tvinga fram högre prioritet genom att gå upp från L2 (kanske initialt med en mindre andel av träningsdata mycket uttryckta väl i dessa) och stimulera motsvarande positioner att få höga- / låga-värden på nivåer ej annars lika gärna enkelt att uppnå med rimlig ansträngning gradient descent. Omvänt för smutsiga kategorier av samma typ av vektorer har vi gärna mycket varierade magnituder över tematiska områden motsvarande positioner med en tänkt övergripande kategorier ej motsvarande en enskild position ( jfr UP / DOWN tidigare som går in i alla - eller de ordtyper som man gärna ofta gör till stopp-ord ex. it, a, an m.fl.) kan man se experimenterande tagande L2 till L4 (vilket jag nyligen gjorde) hur liten uppnådd skillnad (tränande p.s.s. som tidigare praktiskt flyttande tillstånd L1 d.v.s. som derivata exempelvis vad som relaterar 2 * L2) kan ge abnorma förskjutningar L1 ( storlek minne kan påverka här: Oändligt minne med oändlig beräkningskapacitet kanske ej ger detta uttryck: Praktiskt körde jag "lite" - några dagar vardera - på såväl praktiskt höga som låga träningskonstanter) i mening andel rätt resp. fel beslut.


Egentligen allmänt är väl dock avrundningen det mer anmärkningsvärda. Från såväl gymnasium och tidigare så som en del initiala kurser Teknisk fysik vill man ju gärna tro att hela konceptet mest är något junk man förväntas göra på inlämnade labbar utan mycket till praktiskt värde, eller mer lärt senare en metodik för att lura av 50-öringar från butiksbiträden. Att det hade någon effekt-motsvarighet verklighet i numeriska beräkning förvånade verkligen.