Hem Personliga finanser 10 Sätt att förbättra dina maskinlärningsmodeller - dummies

10 Sätt att förbättra dina maskinlärningsmodeller - dummies

Innehållsförteckning:

Video: 10 sätt hur man kan förbättra sin hälsa, gratis & enkelt! 2024

Video: 10 sätt hur man kan förbättra sin hälsa, gratis & enkelt! 2024
Anonim

Nu när du är maskininlärningsalgoritmen har slutat lära dig från data som erhållits med Python eller R, funderar du på resultat från din testuppsättning och undrar om du kan förbättra dem eller verkligen har nått det bästa möjliga resultatet. Det finns ett antal kontroller och åtgärder som tyder på metoder du kan använda för att förbättra maskinlärningsprestanda och uppnå en mer generell prediktor som kan fungera lika bra med din testuppsättning eller nya data. Denna lista med tio tekniker ger dig möjligheter att förbättra resultatet som uppnåtts med hjälp av maskininlärningsalgoritmer.

Studiera inlärningskurvor

Som ett första steg för att förbättra dina resultat måste du bestämma problemen med din modell. Lärarkurvor kräver att du verifierar mot en testuppsättning eftersom du varierar antalet träningsföremål. Du märker omedelbart om du finner stor skillnad mellan dina in-sample och out-of-sample fel. En bred initial skillnad är ett tecken på uppskattningsvariation; Omvänt har fel som är både höga och liknande ett tecken på att du arbetar med en förutseende modell.

Python hjälper dig att enkelt rita inlärningskurvor med funktionen Scikit-learn (). Du kan också enkelt uppnå samma resultat med hjälp av R med anpassade funktioner, vilket beskrivs av Revolution analytics-bloggen.

Använda korrigering korrekt

Det är ett vanligt problem att se en stor skillnad mellan värderingsvärdena (CV) och resultatet som visas med en testuppsättning eller nya data. Att ha detta problem innebär att något gick fel med korsvalideringen. Utöver det faktum att CV inte är en bra prestanda förutsägelse innebär detta problem också att en vilseledande indikator har lett till att du modellerar problemet felaktigt och uppnår otillfredsställande resultat.

Korsvalidering ger dig tips när de steg du tar är korrekta. Det är viktigt, men inte kritiskt, att CV-uppskattningar exakt replikerar felmätningar utan mätprov. Det är emellertid avgörande att CV-beräkningar korrekt reflekterar förbättring eller försämring i testfasen på grund av dina modelleringsbeslut. Generellt finns det två anledningar att värderingsuppskattningarna kan variera från det verkliga felresultatet:

  • Snooping
  • Felaktig provtagning

Python erbjuder en stratifierad k-viks CV-provtagare. R kan stratifiera prover med hjälp av createFolds-metoden i caret-biblioteket när du anger y-parametern som en faktor.

Välja rätt fel eller mätvärde

Att försöka optimera ett felmått baserat på medianfel genom att använda en inlärningsalgoritm baserad på medelfelet ger dig inte det bästa resultatet om du inte hanterar optimeringsprocessen i ett sätt som fungerar till förmån för din valda mätvärde.När du löser ett problem med data- och maskininlärning måste du analysera problemet och bestämma den idealiska metriska för att optimera.

Exempel kan hjälpa till mycket. Du kan få många av dem från akademiska papper och från offentliga maskininlärningstävlingar som noggrant definierar specifika problem när det gäller data och fel / poängmått. Leta efter en tävling vars mål och data liknar din, och kontrollera sedan den begärda metriska.

Söka efter de bästa hyperparametrarna

De flesta algoritmer fungerar ganska bra ut ur rutan med hjälp av standardparameterns inställningar. Du kan dock alltid uppnå bättre resultat genom att testa olika hyperparametrar. Allt du behöver göra är att skapa en nätverkssökning bland möjliga värden som dina parametrar kan ta och utvärdera resultaten med rätt fel eller mätvärde. Sökningen tar tid, men det kan förbättra dina resultat.

När en sökning tar för lång tid att slutföra, kan du ofta uppnå samma resultat genom att arbeta på ett urval av dina ursprungliga data. Färre exempel som valts slumpmässigt kräver färre beräkningar, men de brukar anta att samma lösning. Ett annat knep som kan spara tid och ansträngning är att göra en randomiserad sökning, vilket begränsar antalet hyperparameterkombinationer för att testa.

Testa flera modeller

Testa flera modeller, som börjar med de grundläggande modellerna - de modeller som har mer bias än varians. Du bör alltid gynna enkla lösningar över komplexa. Du kan upptäcka att en enkel lösning fungerar bättre.

Representerar utförandet av olika modeller med samma diagram är användbart innan du väljer det bästa för att lösa ditt problem. Du kan placera modeller som används för att förutse konsumentbeteende, till exempel ett svar på ett kommersiellt erbjudande, i specialvinstscheman och lyftkartor. Dessa diagram visar hur din modell utför genom att partitionera resultaten i deciler eller mindre delar.

Eftersom du kanske bara är intresserad av de konsumenter som sannolikt kommer att svara på ditt erbjudande, kommer att beställa förutsägelser från de flesta till minst sannolika, betona hur bra dina modeller är för att förutsäga de mest lovande kunderna. Dessa Quora-svar hjälper dig att se hur vinst och lyftdiagram fungerar: Vad är ROC Curve? och vad är lyftkurvan?.

Testning av flera modeller och introspecting kan också ge förslag på vilka funktioner som ska omvandlas för funktionsskapande, eller vilken funktion som släpper ut när du gör funktionsval.

Medelmodeller

Maskininlärning innebär att man bygger många modeller och skapar många olika förutsägelser, alla med olika förväntade felprestanda. Det kan överraska dig att veta att du kan få ännu bättre resultat genom att jämföra modellerna tillsammans. Principen är ganska enkel: Beräkningsvariationen är slumpmässig, så genom att medelvärda många olika modeller kan du förstärka signalen och utesluta det brus som ofta kommer att avbryta sig.

Ibland kan resultaten från en algoritm som fungerar bra, blandas med resultaten från en enklare algoritm som inte fungerar lika bra, skapa bättre förutsägelser än att använda en enda algoritm.Underskatta inte bidrag som levereras från enklare modeller, till exempel linjära modeller, när du i genomsnitt ger resultat med utdata från mer sofistikerade algoritmer, till exempel gradientförstärkning.

Stapelmodeller

Av samma skäl att medelvärdet fungerar kan stapling också ge dig bättre prestanda. I stapling bygger du dina maskininlärningsmodeller i två steg. Inledningsvis förutspår denna teknik flera resultat med olika algoritmer, där alla lär sig av de funktioner som finns i dina data. Under den andra fasen, istället för att ge funktioner som en ny modell kommer att lära, ger du den modellen med förutsägelserna för de andra, tidigare utbildade modellerna.

Att använda ett tvåstegs-tillvägagångssätt är motiverat när man gissar komplexa målfunktioner. Du kan bara approximera dem genom att använda flera modeller tillsammans och sedan genom att kombinera resultatet av multiplikationen på ett smart sätt. Du kan använda en enkel logistisk regression eller ett komplext trädsemble som en andra stegs modell.

Netflix-tävlingen ger bevis och en detaljerad illustration om hur heterogena modeller kan staplas ihop för att bilda mer kraftfulla modeller. Genomförandet av denna lösning som en fungerande applikation kan dock vara ganska besvärlig.

Användning av funktionsteknik

Om du tror att bias fortfarande påverkar din modell, har du lite annat val än att skapa nya funktioner som förbättrar modellens prestanda. Varje ny funktion kan göra gissning av målsvaret enklare.

Automatisk funktionalisering är möjlig med hjälp av polynomial expansion eller stödvektormaskiner klassen av maskininlärningsalgoritmer. Supportvektormaskiner kan automatiskt leta efter bättre funktioner i högdimensionella funktionsutrymmen på ett sätt som är både beräkningsmässigt snabbt och minnesoptimalt.

Men inget kan verkligen ersätta din kompetens och förståelse för den metod som behövs för att lösa det dataproblem som algoritmen försöker lära sig. Du kan skapa funktioner utifrån dina kunskaper och idéer om hur sakerna fungerar i världen. Människor är fortfarande oslagbara, och maskiner kan inte enkelt ersätta dem.

Välja funktioner och exempel

Om uppskattningsvariationen är hög och din algoritm är beroende av många funktioner måste du beskära vissa funktioner för bättre resultat. I detta sammanhang är det lämpligt att minska antalet funktioner i din datamatris genom att välja de som har det högsta prediktiva värdet.

Vid arbete med linjära modeller är linjära stödvektormaskiner eller neurala nätverk, regularisering alltid ett alternativ. Både L1 och L2 kan minska inflytandet av redundanta variabler eller till och med ta bort dem från modellen. Stabilitetsvalet utnyttjar L1-förmågan att utesluta mindre användbara variabler. Tekniken återställer träningsdata för att bekräfta uteslutningen.

Du kan lära dig mer om stabilitetsval genom att titta på exemplet på webbplatsen Scikit-learn. Dessutom kan du öva med att använda RandomizedLogisticRegression och RandomizedLasso Scikit-learn-funktionerna i linear_model-modulen.

Letar du efter mer data

Efter att ha försökt alla tidigare förslag kan du fortfarande ha en stor variation av förutsägelser att hantera. I det här fallet är ditt enda alternativ att öka din träningsuppsättning. Prova att öka ditt prov genom att tillhandahålla nya data, vilket kan översättas till nya fall eller nya funktioner.

Om du vill lägga till fler fall, se bara om du har liknande data till hands. Om du vill lägga till nya funktioner, leta reda på en öppen källkälla, om möjligt, för att matcha dina data med dess poster. Ett annat bra sätt att få både nya fall och nya funktioner är att skrapa data från webben. Ofta finns data tillgängliga mellan olika källor eller genom ett programmeringsgränssnitt (API). Google APIs erbjuder till exempel många geografiska och företagsinformationskällor.

10 Sätt att förbättra dina maskinlärningsmodeller - dummies

Redaktörens val

Fastighetsprofessionens grunder för fastighetslicensexamen - dummies

Fastighetsprofessionens grunder för fastighetslicensexamen - dummies

Fastighetsexamen kommer att förvänta dig att du har ett grundläggande grepp på fastighetsbranschen. Du tror att det bara är uppenbart att veta vad de viktigaste spelarna gör i en fastighetsaffär, men på grund av den terminologi de delar, blir skillnaderna mellan spelarna lite muddlade. Här är snabba beskrivningar ...

Kostnadsmetoden för fastighetslicensexamen - dummies

Kostnadsmetoden för fastighetslicensexamen - dummies

En metod för att uppskatta Värdet på fastigheter kallas kostnaden. Du måste känna till formeln för fastighetslicensexamen. Kostnadsmetoden baseras på tanken att komponenterna i en fastighet eller marken och byggnaderna kan läggas till för att komma fram till ...

Studie för fastighetslicensexamen - dummies

Studie för fastighetslicensexamen - dummies

När var sista gången du tog en multipelvalsexamen ? Eller, för den delen, någon examen? Det är troligt att det var länge sedan. Kanske överväger du huruvida du ska bli en fastighetsmäklare, men du är lite avskräckt av tanken på att du måste göra ett test. Vad du kan ...

Redaktörens val

Följer ett basketspel på tv - dummies

Följer ett basketspel på tv - dummies

Du kommer bli mycket mer ute av att titta på ett basketspel på TV - eller till och med leva - om du gör mer än att se bollen gå in i rammen. Kolla in dessa insider tips för att fånga den verkliga åtgärden och öka din njutning av sporten. Förutse nästa pass Försök att tänka som ...

Top 5 Fantasy Basketball League Sites - Dummies

Top 5 Fantasy Basketball League Sites - Dummies

Att hitta och gå med på en fantasy basketplats kan ibland vara skrämmande uppgift eftersom så många alternativ är tillgängliga och de flesta webbplatser ser lika ut. Bara för att webbplatser ser ut som det betyder inte nödvändigtvis att de mäter i värde. Vissa webbplatser erbjuder gratis ligor, andra betalade - och vissa webbplatser tillhandahåller bara standard liga ...

Tryck på motståndarna i Basket - Dummies

Tryck på motståndarna i Basket - Dummies

Pressen är kort för tryck. Ofta kallad en fullrättspress, det här är ett anfallande försvar som används på backen, där målet är att tvinga en omsättning. Vanligtvis används efter en gjord korg, svänger pressgruppen över motståndarna i backcourt; Om motståndarna lyckas få bollen förbi halvvägs (kallad brytning ...

Redaktörens val

Hur R beräknar oändliga, odefinierade och saknade värden - dummies

Hur R beräknar oändliga, odefinierade och saknade värden - dummies

Lyckligtvis kan R hantera dataanomalier som förvirrar några andra statistiska plattformar. I vissa fall har du inte reella värden att beräkna med. I de flesta verkliga dataset saknas faktiskt åtminstone några värden. Dessutom har vissa beräkningar oändlighet som ett resultat (som att dividera med noll) eller kan inte ...

Hur man lägger till linjer i en plot i R-dummies

Hur man lägger till linjer i en plot i R-dummies

I R, lägger du till rader i en plott på ett mycket liknande sätt att lägga till poäng, förutom att du använder funktionen linjer () för att uppnå detta. Men använd först lite R magi för att skapa en trendlinje genom data, kallad en regressionsmodell. Du använder lm () -funktionen för att uppskatta en linjär ...

Hur man lägger till en andra dimension i R-dummies

Hur man lägger till en andra dimension i R-dummies

Förutom vektorer kan R representera matriser som ett objekt du arbetar och beräknar med. Faktum är att R verkligen lyser när det gäller matrisberäkningar och -operationer. Vektorer är nära relaterade till en större klass av objekt, arrays. Arrayer har två mycket viktiga egenskaper: De innehåller bara en enda typ av värde. De har ...