Visar inlägg med etikett L1. Visa alla inlägg
Visar inlägg med etikett L1. Visa alla inlägg

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.

Similarity beräknad av similarity cos och L1-distans

2017-02-19

Börjande från för ett tag sedan nu 400 dimensioner för resp. cirka 450 000 ord skapade via dimensions-reduktion med en variant av LSA vilka sedan dimensions-reducerades till 300-dimensioner för resp. varje ord, ett antal miljoner flergram via två algoritmer för att skapa resp. 400 dimension (en utnyttjande relationer till ordet kända via annan datatyp medan den andra beräknande dem för resp. ord till ord kombination summerande xy ( x + y ) element-vis) tränar jag över min common-sense med FF-varianten (baserad relationer) där antalet dimensioner (var och en 300-dimension via ett 300-tillstånd) varierar något med antalet koncept kända hörande till kategorin men vilka försöks hållas väldigt få (3 - 12 st). Reduktion dimensioner från 400 till 300 gjorde jag med en variant av Kohonens självorganiserande kartor vilket har den för mig avgörande fördelen att:


  • Varje dimension blir också en meningsfull kategori av ord och resp. nära besläktade med de till vänster och höger om dem.
  • Kategorisering vid reduktion dimensioner är den algoritm som bäst klarar av att efterlikna hur människor presterar vid ett flertal tester (emedan LSA i grundtyp alltid tenderar att varje den som presterar sämst medan PLSA presterar emellan resp.).
  • Meningsfulla kategorier gör att det starkaste inom natural language processing över längre tid kan introduceras: Människan.
    • Ser jag för resp. dimension sorterade efter värdena där något koncept som har ett underligt värde. Kan jag gå in och manuellt förändra det.
    • Och av och till skapa om NOSQL databaserna från de manuella sorteringarna.
    • Effekten kortsiktigt av detta är föga men arbetar upp sig över tiden och gör det enkelt att korrigera omedelbara problem som irriterar.

    Känt för mig är att färdigtränade 300 resp. är för varje normalanvändning bättre än de 400. Jag tror vidare att i allmänhet när man börjar med ord som representationer och använder normalt väldigt stort corpus (snarare än tänkbart extremt stort avvikande från publikt tillgängliga vilket jag avstod från att pröva själv då jag inte såg någon trolig poäng med det men möjligen avvikande) ligger man nära optimum för normal användning någonstans runt 300 st flyttals-dimensioner. En bit ovanför 400 tror jag man väldigt snart generellt med vanliga algoritmer hamnar där dimensionerna ej bra nog generaliserar utan uttrycker diskriminering som ej väl fungerar i alla användningar eller lika väl går att ta från enskilda ord vidare till kompositioner av flera ord till fraser och named-entities, hela dokument, kategorier av ord hörande till ett ämne o.s.v. Även om det kanske upp till 600 dimensioner ej nödvändigt utan större testning märks. Jag har några gånger sett att andra noterat samma sak också (åtminstone något publicerat runt nlp.stanford.edu/projects/glove/ men jag har också sett andra som sätter upp många fler dimensioner). Förövrigt ska man ej underskatta den prestandaförbättring man får bara från att gå ner från 400 dimensioner till 300.

    Känt för mig är att färdiga 300-dimensioner ska kvadreras innan de lagras och börjar användas. Jag har i sista typen av träning experimenterat med att kvadrera efter varje förändring vilket dock ej var meningsfullt. Om de ej kvadreras fungerar de ej lika bra men mycket bättre men L1-distans istället för L2-distans emedan L2-distansen åtminstone för kvadrerad FF (relationer) tycks vara något bättre åtminstone för personer.

    Tränande tillstånd för klassificering av personer (cirka 500 000 namn samt ett mindre antal roller inkluderande även sådana som ambassadör från land-x till land-y år XX) till 12 dimensioner vardera ett 300-tillstånd igen med Kohonen-nät (självorganisering namn tenderar att följa de stora kulturgrupperna i mening arabiska namn, europeiska namn (inkl. anglosaxiska namn Nordamerika), spanska namn, asiatiska namn, och med rollerna tagande position varierat över dessa och ej mutande in någon egen dimension (förväntat därför att de är väsentligt färre i antal men tycks ej störa klassificeringen). 300-FF när skapat bestämde resp. vinnande tillstånd under träningen med cosinus similarity men här gjorde jag det istället med ej kombination av cosinus-similarity och L1-distansen som jag av och till (men mycket mer sällsynt än cosinus-similarity) använt för 300-vektorerna.

    Denna similarity experimenterade jag med ett tag som tänkbart alternativ till att kvadrera 300-vektorerna och bygga om BDB-databaserna (jag hade vid tillfället mer än 90% av allt minne ockuperat kontinuerligt och jag föredrar när jag bygger NOSQL databaserna att försöka få in resp. datatyp i en stor fil istället för uppdelat efter ex. första bokstaven vilket gör med den BDB-provider till perl jag använder att för god prestanda ska man bäst ha mycket ledigt minne - dessutom bryter BDB mycket effektivt bussen även för OS-processor när den sparar vilket alltid gör mig nervös rörande swap även om den tycks hantera det åt OS också rent av inloggad i Ubuntu bättre - ej svårt kanske givet hur sämre prestanda Ubuntu blivit sedan de också inkluderade sin server anpassning görande det ex. omöjligt att utnyttja mer än säg 70 - 80% av allt fysiskt ram-minne man har eller utnyttja alla cpu-kernels samtidigt utan att få processen dödad : Ett litet mysterium - så jag vill ogärna ha processer igång mot samma partitioner igång som behöver skriva ofta även om jag aldrig sett att det genererat exceptions i nivå med mina perl-processer som istället stannar och tyst väntar via något nedanför min kod). Operationen som varianten jag nu gjorde (samma princip men sökande att garantera riktning p.s.s. som cosinus - d.v.s. samma anledning som jag föredrar cosinus i Kohonen-näten framför L2 även om de ofta uppges ekvivalenta):

    • Sim: Vi beräknat similarity cosinus p.s.s. som normalt: Summan över L2-normaliserade vektorer element-vis: x(i) * y(i).
    • L1: Vi beräknat absolutbeloppet av differensen element-vis: (1/2) * abs ( x(i) - y(i) ).
    • Vi dividerar L1 med 300 vilket ger oss ett värde som i storlek ligger mer jämförbart med sim. Jag känner ej till hur man i princip kan tänka för att göra dem jämförbara enligt något systematiskt. Eftersom alla vektorer vi utnyttjar i sig har samma antal element och varje element följer samma fördelning och varje vektor normaliserar p.s.s. behöver vi egentligen ej oroa oss här eller för den delen egentligen göra divisionen (dock ev. behöver vi tänka till rörande (1 + L1) i nästa steg).
    • Vi dividerar sim med (1 + L1). Jag adderar ett därför att L1 ligger ]0,1] och jag vill att likheten ska minska med växande L1.

    Cosinus similarity blir gränsen för den största likheten vi kan få. Med reduceras med växande L1-distans. Och när distansen är maximal får vi halva cosinus-similarity.

    Vid träningen av klassificering personer tycks sim-hh bättre utnyttja 300-vektorerna än cosinus även om skillnaden ej är särskilt stor (för kvadrerade nu normala default 300-FF) för resp. operation gör det i tid mycket märkbar skillnad vid träningen. Hade det nu handlat om LSA 400-vektorerna tror jag ej (men har aldrig prövat) att skillnaden hade varit särskilt stor alls. Utan jag anar att det har att göra med att:

    • Resp. dimension är en meningsfull kategori där ett flertal redan har stor preferens mot personer.
    • Personerna har dock värden satta för samtliga dimensioner där dessa resp. värden beräknades av cosinus-similarity mellan deras 400-vektor och resp. 400-dim tillstånd för kohonen-nätet.
  • Personer som ex. har mycket att göra med flera ämnen (ex. litteratur, en karriär inom ett ämne, länder, språkområden m.m.) har också detta uttryckt men ej nödvändigtvis uteslutande eller alls via de dimensioner som har stor preferens för personer (d.v.s. visa dimensioner 300 sorterar efter grovt stora länder och/eller språkområden ex. tror jag två till tre samlar arabiska namn, några romerska, en eller två japanska namn o.s.v. medan för japanska namn har självorganiserat dimensionerna till preferens både japanska personer och japanska ortnamn för 300-CC d.v.s. ej utnyttjande relationerna medan detta förekommer knappt alls 300-FF), andra orter, ämnen o.s.v. En person kommer ha större värden för tillhörande språkområde men också ligga relativt högt i dimensioner relaterade kulturområden, geografiska orter, ämnen m.m. vilket också gäller som default även när personen i indatat 300-FF skapades ifrån saknar samtliga relationer så länge indata till 400 representationerna d.v.s. (bl.a. Wikipedia-dump och common-crawl uttrycker relativa preferenser som för flergram person klaras att uttryckas diskriminerbart vilket för namn som har kultur- och geo-association är mycket tydligt via särskilt tror jag Wikipedia)

Komponenten L1 trots kvadreringen FF tycks göra jämförelserna något effektivare i mening att resp. dimension-personer vid träningen konvergerar tidigt i träningen oerhört snabbt redan under första epoken första 1000 - 5000 slumpvis valda personer (medan bara cosinus förvisso klarar att grovt ha alla dimensionerna sorterade rätt också första epoken d.v.s. första varvet men först senare i den och med ett större antal som hamnat kontinuerligt under hela epoken på andra dimensioner än de slutligen hamnar).


Jag tenderar att gärna se matematik vilket tycks fungera väl för mig även om jag ofta utnyttjar detta sämre än nödvändigt därför att jag upplever en osäkerhet där jag föredrar att läsa någon som rekommenderar lösning jag hamnat i om jag ej klarar att uttrycka eller förstå den mer i matematiska-metodiken. Väsentligt här försökande det senare (antagligen ej perfekt alls) gäller tror jag att formen för distributionen av värden vi har att göra med väsentligt är annorlunda än L2 resp. L1 (men jag har ej beräknat ut värdena allt och jämfört: Utan lär även fortsatt utnyttja L2 när jag behöver distribution alla värden). Jag tror vi snarare får något hyperboliskt skapat av förhållandet. Jag tycker rörande en egenskap jag menar (men minns ej att jag bra kontrollerade då: Istället jämförde jag vid tillfället ett antal operationer komposition kända samt skapade några andra själv varav denna som jag tyckte var svagt bättre på vissa kombinationer av ord i koncept som hade något jag upplevde problematiskt i topp cirka 100 av närmaste grannar - och såg ej anledning att jämföra mer än så därför att bra mycket när så lika varandra försvinner bort under reduktionen från 400 till 300 dimensioner emedan användning nu skulle kräva mer testande) att operationen för komposition tidigare refererad använd av mig för att skapa 300-CC (görs då för varje kombination av två ord möjliga oavsett position för orden i konceptet från 400 vektorerna) resp. ej helt olikt när koncept kombineras med resp. relation det har när 300-FF skapades: x(i)y(i) (x(i) + y(i)):


  • Resp. addition och multiplikation är de mest använda operationerna för komposition.
  • Vill vi kan vi se det som likheten för resp. element får vikta summan.
  • Men vi kan också välja att se min komposition som att uttrycka följande (jag planerat - men ej kommit mig för än - att generera och rita upp värdena för så jag är säker på att jag ej visualiserar förhållandet felaktigt vilket ej helt sällan är fallet):
    • När x(i) och y(i) är resp. stora kommer element i i den nya vektorn öka med större delen av vad den linjära additionen klarar att ge.
    • Men när något av x(i) och y(i) är litet kommer den linjära additionen att mycket "snabbt" / mer reduceras.
  • Vi kan jämföra med algoritmer (ex. lastdelning, routing: "Hans upp till hänsynslösa men håll det fungerande" mining ner stor datakälla på nätet perl-script resp. mänsklig preferens (men där oftare givet en mer övergripande nivå mycket mer genomgripande och magnitud-större) där vi när saker fungerar ökar upp vår villighet / storleksordningen vi ockuperar ex. kanal med ett enhetssteg medan om det blir problem blir vi rädda och springer bort en längre sträcka eller motsvarande för algoritmer reducerar ner den kanal vi ockuperar kraftigt. Tar vi min algoritm för mining gäller att vi hänsynslöst vill hålla maximalt av den och kanal ockuperat för min användning (denna använde jag under en period när jag tog ner ett väldigt stort antal stora datakällor och att ta maximalt var mycket meningsfullt i totala mängden tid reducerad över allt insparad även om det per fall inte behöver bli mer än någon eller några dagar sparade) så vi trådar upp (eller som det slutligen blev med en tråd per server och körande cirka 15 - 30 st parallellt - skickar requests fritt till den maximalt vad kanalen klarar: Numera körande alltid från små enheter - i varje fall hårddisk-enheter resp. Sygate eller WN jag gjort om till små servrar - med www.archlinux.org ligger de ej tidsstressat och har som default aldrig ändrat att alltid ta in en mycket hög tidsfördröjning eftersom datat ej är planerat att användas på väldigt länge) får vi nu ett fel eller att server börjar svara långsamt eller går tyst och vi är under de första timmarna under två till tre (jag minns ej vilket det var) tidsperioder första dygnet kända för mig att oftare ge problem också från annat än servern själv i vissa regioner vanliga (även om ej alls längre jämförbart med hur det var 1995 till kanske så sent som 2000 när man märkte när vissa regioner USA vaknade och delar av internet blev oanvändbart) kortare perioder på någon halvtimme in i testning för att försöka höja nedladdning. Nedladdning kan vara nivå 1 till 10 med tio som högst. Nivå vi börjar på är antingen nuvarande nivå eller en tidigare lägsta nivå högre än den vi börjat på (enligt enkel regellogik prövande detta för att ev. problem tidigare ej vanligt ej ska göra ny testning ineffektiv). Vi höjer nu nivån stegvis (ex. 2, 3, 4, 5, ..., 10) efter några tusen nedladdningar så länge ej problem uppstår. Får vi ett problem går vi hela vägen tillbaka tillbaka till nivån vi började på och börjar höga igen. Denna gång höjer vi emellertid ej upp till den nivå där vi fick problem (vilket istället jag gör åt programmet senare samma dag manuellt och ser betraktande det hela om det går att gå något steg ovanför). Poängen är att få hög prestanda men ej riskera att ligga och få en massa data som bara består av timeouts slösande såväl hårddisk som tid nedladdning på ingenting. Något problem med att riskera att ej komma åt servrar alls via accessregler gäller dock i princip aldrig. Endast två av många tusen (säg 9000 större datakällor i form av nyhetstidningar, bibliotek m.m.) gav sådana problem varav en (ett arkiv över militärforskning: Jag misstänker också att det hela ej inträffade så mycket på deras initiativ som relaterat den den externa tjänst - Google som är känt helt unikt känslig rörande allt som kan tänkas spara ned deras sökresultat: D.v.s. givet deras marknadsandel väldigt fin möjlighet för andra sökmotorer att etablera en potentiellt väldigt stor marknad mot företag som söker uppgifter andra tjänster som Google i princip helt givet nivån på deras särskilda tjänster för sådant ej agerar i och rätt där för sådana aktörer är att tillåta allt här fritt under överskådlig tid för att etablera sig skälv som inbyggd kanal ej trivial att ersätta - för indexering av deras forskning som de använde: Men har ej försökt kontrollera det.) korrigerade detta och den andra (arkiv över medicinsk forskning) tydligt anger att man ej ska gå över ett högt antal requests per dygn emedan mitt program via en defekt låg kontinuerligt över tror jag en månad tio - 20 ggr över denna nivå.


D.v.s. jämförelsen är relevant genom att additionen går kraftigt ner i effekt av resp. värde om ett värde är lågt. Storleken av additionen begränsas av det lägsta värdet hos resp. Om vi vet att en av vektorerna definierar ett ämne (och har dimensioner som klarar sådant på detta sätt vilket jag ej menar att LSA-dimensioner klarar likaväl därför att det där tror jag också ligger påverkande information i kombinationer av uttryck av dimensionerna men som vi åtminstone är mycket närmare för mina 300-vektorerna) hade vi jämförbart istället kunnat låta endast den sätta den yttre gränsen modifierande den andra vektorn så att endast vad i den som är innanför den antingen får komma med (ex. kastande värden om avvikande väsentligt) eller alternativt behållande värde ej modifierat om mindre eller lika med värdet för första i dimensionen och om större sättande ned det till första dimensionens värde. Nu sker similarity operationen via resp. L1 och sim vi får adderande över alla dimensioner innan kombinerat. Men om det hade gjorts (vilket jag ej tror är i allmänhet lämpligare: tvärtom kanske) kan vi se att vi gör något liknande: x(i) * y(i) / ( 1 + abs ( x(i) - y(i) ) ).

Men med skillnaden att det nu är reduktionen för ett avvikande värde som ej får möjlighet att reducera samlad distans lika mycket. Ser vi nu att vi för resp. dimension har relevanta koncept som man direkt och enkelt ser är i något ämne av samma sak för i princip alla liggande ovanför ett cosinus similarity värde av för 300-FF (kvadrerade) cirka 0.40 - 0.45 (för 300-FF kvadrerade valde jag ej att göra något av "align" på resultatet vilket jag hade gjort innan genom att bl.a. subtrahera medelvärde vilket gör att de ligger cirka 0.10 förskjutna åt höger mot förväntat i övriga - i allmänhet alltid alla andra är samma gränsnivå 0.30 - 0.35 med eller utan align gjord och förutom att FF oftare är korrektare vid klassificering gäller att den av orsaker ej helt klara för mig ligger något förskjuten uppåt allmänt hela vägen under träningen) gäller att vi ej endast har meningsfull information i att två koncept båda ligger ovanför detta värde. Dessutom gäller att koncept som har högre värden kommer tendera att (för 300-FF där i princip resp. koncept fick påverka med samma sannolikhet under träningen emedan det för ex. 300-WORD finns ett samband till sannolikhet för att garantera att ord ej ovanliga d.v.s. de cirka 80 000 i värden vanligaste orden på den närmare eller konkret den engelska världen har bra utrymme i dimensioner - Dock 300-FF gäller att över alla dimensioner kommer similarity uttrycka sannolikhet koncept genom att dess representation 400 skapats via dess relationer till andra koncept d.v.s. koncept med hög samtidig förekomst andra koncept kommer få höga värden likhet över fler av de 300-dimensionerna) vara mer typiska eller mer genuint tydliga för vad dimensionen uttrycker. xy ger därför en indikation på hur genuina båda är med den lägsta som övre gräns.

Dock jämför vi två koncept på en dimension gäller ju också att om skillnaden i värden mellan dem är liten är de mer lika varandra även om värdena i sig är olika. Samtidigt gäller att informationen sådan likhet bär ej självklart är jämförbar för alla nivåer eller för den delen dimensioner vi beräknar på. Att båda har liten distans betyder troligen något bra att använda oavsett nivå men det är antagligen information med mer värde när värdena är högre än om de är låga. Troligen (jag tror så) men ej vad jag kontrollerat kommer värdet av denna information krympa väldigt snabbt ner till något minsta uttryck ju mindre nivå de resp. ligger i. Därför att vid för båda låga värden finns något minsta en dimension specialiserad mot ett ämne här klarar av att säga om koncept som har nästan inget i sig relevant för det ämnet.

Jag tror vi ej får denna information lika bra med när vi bara gör xy-operationen.

Vidare kan vi acceptera att L2-distans och cosinus-similarity är samma sak i mening att vi kan få ut samma värde via omräkning (sedan vill jag egentligen ej riktigt hålla med om att principen är generell: Vi kan ju få en riktning som representerar meningsfull information man bör garantera att algoritm utnyttjar så om utan korrigering omräkningen gäller så är algoritmerna man använder ej optimalt gjorda. Men jag förstår hur man kan uppleva dem som samma sak eftersom värdena ser lika ut). Säg att en av vektorerna är medelvärdet av alla existerande koncept (vilka också deltog i träningen som resulterade i vad 300-FF skapades i från). Jag ville mena i jämförelse att vi får L2 och cosinus-sim får något vi kan se som motsvarande variansen emedan L1 ger något vi se som differensen mellan medelvärde i Fishers linjära-diskriminant eller som signal-to-noise-ratio motsvarande förhållandet delta-värde dividerat med bredden för hur spritt det är (se Värdet av kaos (2017-02-07)). Men jag tappade precis förståelsen av detta (rörande hur man se på summeringen över vektor-dimensionerna).

Rörande jämförelsen dator-nätverk med mänskligt beteende är min referens beteende mer hur vi agerar i ex. sådant tydligast barn när vi utforskar något okänt (jämför barn osm under lek smyger sig fram men vid plötsligt ljud flyr ordentlig sträcka snabbt). Men vi har också ett resonemang jag ej ännu läst i detalj som rör något djupare i detalj rörande hur nätverk av noder beter sig när de transporterar och processar information där man menar att hjärnan kanske utnyttjar något likartat: The Internet and your brain are more alike than you think (2017-02-09), Salk Institute via EurekAlert.org.