L1- och L2-distans tillsammans: Reward / cost-funktion över-vektor skalande L1-modifikation i gradient descent icke-linjärt

2017-06-17

Similarity eller distans som funktion av resp. antingen similarity cosinus eller L2 resp. L1-distansen. Ett uttryck jag av och till experimenterat i väldigt skilda delar relaterat de vanligaste av de vanligaste algoritmerna inlärning och clustering. Och har verkligen en mycket skild natur jämfört med L2 eller sim. ensamt. För mina 300-vektorer ord kommer det exempelvis när inducerat via påverkan på träningskonstanten (d.v.s. renare kanske att hellre se via en implicit funktion stående "bakom" inlärningskonstanten i ex. diskriminant derivatan av en föreställd funktion vi deriverar: men i min kod logik för inverkan lik denna ofta vad som vairt enklast att inducera genom att manipulera träningskonstanten i resp. operations magnitud om än ej dennas epokförändrade grund-storlek) ge ut clustering oerhört dominant (väldigt olikt normalt förväntat dem eller vilka som helst normalt topic-kontext dominerade ordvektorer skapade på normala sätt) i flera av givet antal totala cluster ordtyper. Och ej nödvändigtvis självklart begränsat till eller ens självklart (med självorganiserade koncept aktuella för mig här) ens oftare än mindre mer udda grupper först stora sådana som adverb eller adjektiv. Tänker man seriöst över vad ex. ett adjektiv är och vilka grundkomponenter dessa ord kan ha och vilka av dessa (ungefär fem st. förövrigt med två närmast alltid där och ett par ej ovanligt ej aktuella för ord men absolut heller inte mindre vanliga än att om jag minns rätt mer än hälften av adjektiven bär dem) så kan man uppleva att man förstå en del cluster jag sett från det och varför dessa stora och som koncept så väldigt vanliga när vi talar om språk ej troligare (men ej heller troligare) än många andra mindre i storlek och "betydelse" som de första som troiligast kommer ut. Praktiskt har jag inte sett någon poäng alls med sådan cluster-sortering: Jag har redan ordentliga listor med allt från vanliga ordtyper till allt i övrigt säkerligen ej överdrivet långt ifrån allt publicerat ej överdrivet speciellt. Och jag har ej sett något kommande ut i mina försök just här heller som ej när uppenbart drivet ordtypsnära tänkta egenskaper snarare än topic i mening tillför något eller inducerar nytt-tänkande förståelse hos mig: Utan vad man sett redan och om mot förmodan när man behöver det ej redan bättre gjort i ett oftare där troligare männnisko-skapad lista nog så kan jag säkert sortera ut det ex. automatiserat (eller manuellt) så här eller lika troligt bra eller rent troligare bättre egentligen utnyttjande viktsystem och sannolikheter. D.v.s. intressant därför att jag annars aldrig sett det komma så direkt och renodlat. Egentligen ej vad jag på rakarm mindes alls i övrigt när självorganiserande stora mängder ord där naturligt ämnes-topic alltid är att förvänta när antalet cluster ej är stort extremt troligt kommer. Ovanligt och därför intressant men med mycket av udda-nyheter eller numera vanligare kanske udda filmklipp (oavsett om nu surfande hundar eller en person i en uppenbart överskapad avbildning av karikatyr överdriven stereotyp som fascinerar miljoner varande en så fullständigt extrem nörd och så löjlig utan att själ förstå sig som annat än oerhört cool - Förövrigt ej framgående om man ej kontrollerar själv lite och har nätverken för det i SEO-branschen släkting till en välkänt framgångsrik Youtube traffic-collector. Minns ej om vår tjocka svärdsviftande nörd var kusin eller något annat.).


Sedan gillar jag personligen idén att utnyttja både L1 och L2. Vi känner ju praktiska värden med båda. Och alltid när man behöver göra ett hårt val upplever jag lätt att en period av att pröva allt möjligt runt två motsatta koncept blir verklighet. Finns någon - kanske rent av lite men ej märkbart så sämre rent praktisk - kompromiss av båda är jag sällan helt främmande för den. En del kognitiv-dissonans och bedömnings-osäkerhet som besparas. Varande en god idealiserad svensk har jag ibland rent av svårt att helt släppa dessa "gränsöverskridande" kompromiss-lösningar. En konsekvens av att växt upp under Kalla Kriget inkluderande grundskoleinlärning i läroböckerna av den svenska "modellen av världspolitiken": Världen med sina divergerade block är var för sig ej riktigt rätt. Mitt emellan dem på den rektangulära kartan - om än konceptuellt mer udda på en glob - finns Sverige. Det är möjligt och mycket med diverse exempel 1900-talet med början 1970-talet exempel man kan mena sig uppleva ev. är sådana indikationer finns på att resp. divergerat block konvergerad till deras mitt. D.v.s. Sverige. L1 och L3 normerna och distanserna skulle vi korrekt svenskt därför bäst se som två divergerade koncept som är på väg att konvergera till ett distansmått som utnyttjar både L1 och L2 distansen: Sverige-distansen i nuvarande mitten (Låt oss kalla den för Milstolpen från vad den mindre moraliskt korrekta - och / eller kanske modigare - granne släpat hem till trädgården och gillar att prata och visa upp).


Men varför när det ej egentligen tar det pröva det på något ytterligare en gång? När ändå samtidigt skakande om pågående träning hoppande träningskonstant mellan punkter i större steg där man sedans tår ett tag och skyfflar data in och ut. Säg i denna variant:


ZH är Sverige distansen. Vår milstolpe förklarande vad avståndet är mellan två punkter i svenska-mil. Och vi definierar den ej omedelbart från L1 och L2 utan cosinus istället för L2 därför att av och till finns en skillnad trots att vi kan räkna mellan dem (personer med preferens säg 0,1 normalisering utnyttjande exp exp ( gaussiskt-distans ev. varians // bandvidds-normaliserad) hade antagligen föredragit L2 då mer rationellt). L1 väljer jag förövrigt som ett av flera alternativ ha max-normaliserad över alla under träningen levande vektorer träningsdata. Konkret är Milstolpen: sim / ( 1 + L1-distansen ) == likhet. D.v.s. lite olämpligt att jag kallade den för distans då vi i denna form ej utnyttjande L2 mer får similarity med riktning. Annars är ex. L1 / ( + sim ) också funktionellt.


Vi gör beslut utifrån vad vi kan välja att se är ett distans mått per vektor-position för att få en gradient i varje träningssteg. För mig testat uteslutande vad som i grunden är gradient descend men med diverse modifikationer i och nära runt om som gör att grundprincipen gradienten ej säkert är lätt ens för en mycket säkrare matematiker refreshad i området att få ut en funktion som integraler av. V beräknar här nu för vektor vi modifierar ett tillstånd med i gradient descent också L1 och cosinus similarity för och från det Sverige-i-mitten-är-ändå-vad-USA-och-Sovietunionen-resp-är-mest-lika-till-resp (låt oss kalla det SIM - Sweden in International Model - eller vad man vill föreställa sig att det står för bland läsare firande och starkt troende på den goda medborgaren Hans som alltid tar chansen att lyfta fram Riket: "En fin riktig svensk utan något av Skåningen eller Norrlänningens halvt-icke-svenska okulturs-störningar i beteende och språk: Det är det fina med Hans i ett nötskal.") fortsättningsvis) måttet som indikation bildat från övergripande alla positioner men utan att cross-beroende (ex. säg cross-talk alternativt) mellan positioner utnyttjas explicit ändå en gemensam samlad indikation korrekt praktiskt utanför träning i sin naturliga dimensionsreduktion till en position mycket mer funktionell för mer övergripande beslut än representation information: Jfr jämförelse ord med varandra eller uttryck för sannolikheter ett ord givet ett kontext (ett decimalt-tal är vad vi avser en position). Men opererar i träningen på varje position vektorerna utifrån konkret när jag testade L1-distansen (under dis-constraint att till varje ord-vektor omedelbart innan ej normaliserat görs beräkning: uu(i) = uu(i) + rand ( uu(i) * 0.10 ) - rand ( uu(i) * 0.10 ).


Hela tänket gradient descent är ju att derivatan är viktig. Och är vi L1 här med L2 i egentliga funktionen kan vi ännu tydligare konceptuellt se hur vi flyttar oss närmare vid behov medan ex. mer av en medelvärdesbildning kan tendera att sämre bilda en gemensamvektor för just diskriminering. Trots det görs följande operation av mig på denna L1-distans tänkt att vara gradienten. log ( 1 + e ( L1 ) ). Jag hade verkligen utan annat än fördel kunnat välja att ersätta L1 distansen med detta när sent i träningen men ej riktigt sista epokerna. Större värde ges emellertid när vi istället:


Beräknar: log ( 1 + e ( SIM * l1-distansen just för aktuell position i vektorn ) ). Och viktar andelen av den normala gradient-operationer vi låter påverka tillståndsvektorn med kontra samma tillståndsvektor i föregående tidssteg. Bieffekt är mera smooth övergång vilket kan vara mindre önskat ev. tidigt i träningen eftersom vi för in föregående tidsstegs-vektor. Normalt är dock denna bieffekt önskad i sig (varför jag valde att låta effekten realiseras via denna viktning snarare än manipulerande den gradient som faktiskt används vilket är den som normalt L1-beräknande: Även om arbetande med L2 distansen väljande cluster o.s.v. ska man dock absolut inte vara rädd att pröva att bortse helt från tänket att man laborerar med en L1-distans som är en derivering av en L2-distans för att experimentera med allmänt numeriska algoritmer enkla standard-grepp som ibland ger värde. Ex. sluta med L1 och istället använda L1 skalat icke-linjärt för att ge större effekt av antingen mindre eller större skillnader för resp. position kontra tillståndet som tränas fram - åtminstone om sent i träningen - vilket verkligen oftare än annars för känt praktiska funktioner kan öka upp andelen korrekta sorteringar såväl som att reducera andelen falska koncept upplevda hörande till kategorin. Men jag önskade ha en svag medelvärdes-effekt verkande utan att just detta steg i logiken konceptuellt så korrekt tilltalande enkelt börjad expandera i antal rader kod börjande närma sig några hundra från vad som i grunden kan vara en rad. Och effektiviserade ner operationerna där det kändes enklare att göra ett par man troligare av och till kan önska av resp. på normalt som jag bedömer det i ungefär samma del av träningen - tillsammans. Medelvärdesbilda själva gradienten ska dock ej ses som vad jag självklart på något sätt här ej rekommenderar troligare som vad man kanske hellre bör tänka och arbeta med. Görande potentiellt p.g.a. struktur ett flertal förändrande operationer - ej fler än värsta fall åtta och normalt 1 och mindre ofta två eller tre - från ett slumpmässigt draget ord är det dock ej praktiskt bra att arbeta med gradienterna här krävande att man tryggt ej förväxlar i koden skillnaden mellan steg som operation resp. steg som nytt ord m.m. medan vi med själva resultatet ej behöver något nytt quality assurance i assertions för att kontrollera rimligheten.).


Jag vill ej spekulera om vad för värde någon annan får av just denna operation. Den är vad jag tycker man ska se som en av en bunt enkla små modifikationer man kan pröva rent praktiskt för en given tillämpning och se om det ger mer värde. Utan att jag tycker det sunt (om man alls ska se matematikern som roll som sund för någon normalt frisk ej matematisk-person) att man ska uppleva behov av något teoretiskt resonemang runt dem var för sig. Jag har några bra sammanfattande journal-artiklar tillsammans täckande upp några av de mer basala (i mening att vi ex. där kan hitta grundformen funktion jag utnyttjade här men ej att vi där har den fortsatta varianten av att vi utnyttjar en skalning från similarity) grund-operationer ytterst vanliga såväl välkända oftare än inte ger åtminstone något lite värde antingen exakthet eller beräkning totalt nödvändig att nå åtminstone en extrempunkt (oavsett dess förhållande i storlek till en eller flera av ev. övriga extrempunkter. Jag anar lite att med tänkt L2-distans som funktion och definierande data för funktionen som är levande flergram producerande kontinuerligt varje dag är kanske koncept som lokalt minimum meningslöst och mer att vi har praktiskt approximativt ett oändligt antal extrempunkter något så när i chunk-cluster jämförbara i magnitud. Men tänker kanske fel. Under antagande att annan logik / personligt beslut ej relaterat funktionen i sig vi antar att vi uttrycker beslutar om mängden och vilket indata vi just nu för kommande pågående timmar träning för in i systemet. Verkar nördar coolt för dagen för vi in dom. Har Trump hört av sig om att köpa information kring koncept relaterade Världs-President år 2020 kör vi in data relaterat det. Ska vi tydliggöra moraliska problem med person i parti-diktatur kör vi in data aktuellt där. Vi kan i det automatiserade av logik se ex. konceptuell möjlighet att nära användning är vad logiken följer upp konkret effekt av pågående tillämpningen av vikterna - Började folk ställa sig och vänta på att Trump kommer och ska president-tala inför kommande konceptuella skapelse av världspresident-posten? -
Om inte kanske vi börjar sampla annorlunda men ej för det annat än förlorar på att kasta tillstånden där vi står som är mer av något större runt gradienterna i insvängningen mot att få den Goda människan i ledning av världen så att alla folkmord världen skådat, alla kostnader för alltid förutom Mexiko oskyldiga länder mexikanernas butikssnattande runt om i världens städer orsakande svält, gravt eftersatta regler om tax-free inköp av alkohol och tobak resp. alkoholbeskattning många länder har där istället alkohol-subventioner vore det allra bästa för folkhälsan, den dåliga myndighetsinformation flera länder har om dålig hand-hygien orsakande den Diger Död som rätt trump-i-kortleken som världspresident kunnat förhindrat - ej riktigt bra - och kanske ej helt överdrivna uttryck för den lite skakiga relevans-rimligheten vi kan ha tidigt här - men ej meningslös information att arbeta vidare från) tillsammans med sampling från levande internet-corpus ).