Hjem Personlig finansiering 10 Måder at forbedre dine maskinindlæringsmodeller - dummies

10 Måder at forbedre dine maskinindlæringsmodeller - dummies

Indholdsfortegnelse:

Video: TOP 7 VÆRSTE Måder At Slå Op Med Din Kæreste På 2024

Video: TOP 7 VÆRSTE Måder At Slå Op Med Din Kæreste På 2024
Anonim

Nu hvor du er maskinindlæringsalgoritme, er færdig med at lære af de data, der er opnået ved hjælp af Python eller R, tænker du på resultater fra dit testsæt og undre sig over, om du kan forbedre dem eller virkelig har nået det bedst mulige resultat. Der er en række kontroller og handlinger, der tyder på metoder, du kan bruge til at forbedre maskinens læringsydelse og opnå en mere generel forudsigelse, der kan fungere lige godt med dit testsæt eller nye data. Denne liste over ti teknikker giver dig mulighed for at forbedre det opnåede resultat ved hjælp af maskinalæringsalgoritmer.

Studerende læringskurver

Som et første skridt til at forbedre dine resultater skal du bestemme problemerne med din model. Læringskurver kræver, at du verificerer imod et test sæt, da du varierer antallet af træningsinstanser. Du bemærker straks, om du finder meget forskel mellem dine stikprøver og fejl i stikprøven. En bred indledende forskel er et tegn på estimatvariation; Omvendt har fejl, der er både høje og lignende, et tegn på, at du arbejder med en forudindtaget model.

Python hjælper dig med at trække læringskurver nemt ved hjælp af funktionen Scikit-learn (). Du kan også nemt opnå det samme resultat ved hjælp af R med brugerdefinerede funktioner, som beskrevet af Revolution analytics blog.

Korrekt validering korrekt

At se en stor forskel mellem estimaterne for krydsvalidering (CV) og resultatet er et almindeligt problem, der vises med et testsæt eller friske data. At have dette problem betyder, at noget gik galt med krydsvalideringen. Ud over det faktum, at CV ikke er en god præstationspræstator, betyder dette problem også, at en vildledende indikator har fået dig til at modellere problemet forkert og opnå utilfredsstillende resultater.

Cross-validering giver dig tip, når de trin du tager, er korrekte. Det er vigtigt, men ikke kritisk, at CV estimater præcist replikerer fejlmålinger uden for prøven. Det er imidlertid afgørende, at CV-estimater korrekt afspejler forbedring eller forværring i testfasen på grund af dine modelleringsbeslutninger. Generelt er der to grunde til, at krydsvalideringsestimaterne kan variere fra de sande fejlresultater:

  • Snooping
  • Forkert prøveudtagning

Python tilbyder en stratificeret k-folds CV-sampler. R kan stratificere prøver ved hjælp af createFolds-metoden i caret-biblioteket, når du angiver y-parameteren som en faktor.

Valg af den rigtige fejl eller score metrisk

Forsøg på at optimere en fejlmåling baseret på medianfejlen ved at bruge en læringsalgoritme baseret på den gennemsnitlige fejl, giver dig ikke de bedste resultater, medmindre du administrerer optimeringsprocessen i en mode, der virker til fordel for din valgte metric.Når du løser et problem ved hjælp af data- og maskinindlæring, skal du analysere problemet og bestemme det ideelle mål for at optimere.

Eksempler kan hjælpe meget. Du kan få mange af dem fra akademiske papirer og fra offentlige maskine læringskonkurrencer, der omhyggeligt definerer specifikke problemer med hensyn til data og fejl / score metrisk. Kig efter en konkurrence, hvis mål og data ligner din, og kontroller derefter den ønskede værdi.

Søgning efter de bedste hyperparametre

De fleste algoritmer udfører forholdsvis godt ud af boksen ved hjælp af standardparameterindstillingerne. Du kan dog altid opnå bedre resultater ved at teste forskellige hyperparametre. Alt du skal gøre er at oprette en net søgning blandt mulige værdier, som dine parametre kan tage og evaluere resultaterne ved hjælp af den rigtige fejl eller score metrisk. Søgningen tager tid, men det kan forbedre dine resultater.

Når en søgning tager for lang tid at fuldføre, kan du ofte opnå de samme resultater ved at arbejde på en prøve af dine oprindelige data. Færre eksempler, der vælges tilfældigt, kræver færre beregninger, men de taler normalt ved den samme løsning. Et andet trick, der kan spare tid og kræfter, er at gøre en randomiseret søgning, hvilket begrænser antallet af hyperparameterkombinationer til at teste.

Test af flere modeller

Som en god praksis, test flere modeller, begyndende med de grundlæggende - de modeller, der har mere bias end varians. Du bør altid favorisere enkle løsninger over komplekse. Du kan opdage, at en simpel løsning virker bedre.

Det er nyttigt at repræsentere udførelsen af ​​forskellige modeller ved hjælp af det samme diagram, inden du vælger det bedste til at løse dit problem. Du kan placere modeller, der bruges til at forudsige forbrugernes adfærd, som f.eks. Et svar på et kommercielt tilbud, i særlige gevinstdiagrammer og løfteoversigter. Disse diagrammer viser, hvordan din model udfører ved at opdele sine resultater i deciler eller mindre dele.

Fordi du kun er interesseret i de forbrugere, der mest sandsynligt vil reagere på dit tilbud, vil ordrefordelinger fra de fleste til det mindste sandsynligvis understrege, hvor godt dine modeller er ved at forudsige de mest lovende kunder. Disse Quora-svar hjælper dig med at se, hvordan gevinst og løftediagrammer virker: Hvad er ROC-kurven? og hvad er liftkurven?.

Testning af flere modeller og introspecting dem kan også give forslag til, hvilke funktioner der skal transformeres til oprettelse af funktioner, eller hvilken funktion der skal gå ud, når du foretager funktionvalg.

Gennemsnitlige modeller

Maskinindlæring involverer opbygning af mange modeller og skaber mange forskellige forudsigelser, alle med forskellige forventede fejlpræstationer. Det kan overraske dig at vide, at du kan få endnu bedre resultater ved at gennemsnitlige modellerne sammen. Princippet er ret simpelt: Estimatvariationen er tilfældig, så ved at beregne mange forskellige modeller kan du forstærke signalet og udelukke den støj, der ofte afbryder sig selv.

Nogle gange kan resultaterne fra en algoritme, der fungerer godt, blandes med resultaterne fra en enklere algoritme, der ikke fungerer, også skabe bedre forudsigelser end at bruge en enkelt algoritme.Underskat ikke bidrag, der leveres fra enklere modeller, såsom lineære modeller, når du gennemsnitligt resultaterne med output fra mere sofistikerede algoritmer, såsom gradientforstærkning.

Stacking modeller

Af samme grunde, at gennemsnittet fungerer, kan stabling også give dig bedre ydeevne. Ved stabling bygger du dine maskinindlæringsmodeller i to faser. Indledningsvis forudsiger denne teknik flere resultater ved hjælp af forskellige algoritmer, hvor alle lærer fra de funktioner, der er til stede i dine data. I anden fase, i stedet for at give funktioner, som en ny model vil lære, giver du denne model med forudsigelserne af de andre tidligere uddannede modeller.

Brug af en totrins tilgang er berettiget, når man gætter på komplekse målfunktioner. Du kan kun tilnærme dem ved at bruge flere modeller sammen og derefter ved at kombinere resultatet af multiplikationen på en smart måde. Du kan bruge en simpel logistisk regression eller et komplekst træensemble som en anden fase model.

Netflix-konkurrencen giver beviser og en detaljeret illustration af, hvordan heterogene modeller kan stables sammen for at danne mere magtfulde modeller. Imidlertid kan implementering af denne løsning som en arbejdsansøgning være ret besværlig.

Anvendelse af funktionsteknik

Hvis du mener, at bias stadig påvirker din model, har du ikke andet valg end at oprette nye funktioner, der forbedrer modelens ydeevne. Hver ny funktion kan gætte målresponsen lettere.

Automatisk oprettelse af funktioner er mulig ved hjælp af polynomial ekspansion eller understøttende vektor maskiner klassen af ​​maskinindlæringsalgoritmer. Supportvektormaskiner kan automatisk søge efter bedre funktioner i højdimensionale feature-rum på en måde, der både er beregningsmæssigt hurtig og hukommelse optimal.

Intet kan imidlertid virkelig erstatte din ekspertise og forståelse af den metode, der er nødvendig for at løse det dataproblem, som algoritmen forsøger at lære. Du kan oprette funktioner baseret på din viden og ideer om hvordan tingene virker i verden. Mennesker er stadig uovervindelige ved at gøre det, og maskiner kan ikke nemt erstatte dem.

Valg af funktioner og eksempler

Hvis estimationsvariancen er høj, og din algoritme er afhængig af mange funktioner, skal du beskære nogle funktioner for bedre resultater. I denne sammenhæng er det ønskeligt at reducere antallet af funktioner i din datamatrix ved at vælge dem med den højeste forudsigelige værdi.

Når du arbejder med lineære modeller, er lineære supportvektormaskiner eller neurale netværk, regularisering altid en mulighed. Både L1 og L2 kan reducere indflydelsen af ​​redundante variabler eller endda fjerne dem fra modellen. Stabilitetsvalg udnytter L1-evnen til at udelukke mindre nyttige variabler. Teknikken resamples træningsdataene for at bekræfte udelukkelsen.

Du kan lære mere om stabilitetsvalg ved at se eksemplet på webstedet Scikit-learn. Derudover kan du øve med at bruge RandomizedLogisticRegression og RandomizedLasso Scikit-learn-funktionerne i linear_model-modulet.

Leder du efter flere data

Når du har forsøgt alle de tidligere forslag, kan du stadig have en høj variant af forudsigelser at håndtere. I dette tilfælde er din eneste mulighed at øge din træningssætstørrelse. Prøv at øge din prøve ved at give nye data, som kan oversætte til nye tilfælde eller nye funktioner.

Hvis du vil tilføje flere tilfælde, skal du bare se for at se, om du har lignende data ved hånden. Hvis du vil tilføje nye funktioner, skal du finde en åben kilde datakilde, hvis det er muligt, for at matche dine data med sine poster. En anden god måde at få både nye tilfælde og nye funktioner på er at skrabe dataene fra internettet. Ofte er data tilgængelige mellem forskellige kilder eller gennem en applikationsprogrammeringsflade (API). Google API'er tilbyder f.eks. Mange geografiske og forretningskilder.

10 Måder at forbedre dine maskinindlæringsmodeller - dummies

Valg af editor

Test din kode med Dreamweavers webstedrapporteringsfunktioner - dummies

Test din kode med Dreamweavers webstedrapporteringsfunktioner - dummies

Hvis du har brugt Dreamweaver til bygg din mobilwebsite, du kan tjekke dit arbejde ved hjælp af Dreamweaver Site Reporting funktionerne. Det lader dig oprette en række rapporter og endda tilpasse dem til at identificere problemer med eksterne links, overflødige og tomme tags, untitled dokumenter og manglende alternativ tekst. Du kan nemt gå glip af problemer - især ...

Sådan bruger du dit eget domæne til dit Squarespace-websted - dummier

Sådan bruger du dit eget domæne til dit Squarespace-websted - dummier

Når du underskriver op for din Squarespace-konto, får du en unik Squarespace-URL, der ser sådan ud: http: // dit kontonavn. Squarespace. com. Hvis du vil have fuldstændig kontrol over branding af dit websted eller blot ønsker en unik webadresse, kan du kortlægge eller pege på et brugerdefineret domæne på din Squarespace-konto. Du har tre muligheder for indstilling ...

Fordelene ved at bruge Markdown på din Squarespace Website - dummies

Fordelene ved at bruge Markdown på din Squarespace Website - dummies

Markdown er en plain- tekst skriftformat, der gør det muligt hurtigt at anvende tekst styling baseret på hvordan du formaterer din Squarespace 6 websteds tekst. Markdown er en af ​​Du bruger to typer blokke, du kan bruge til at tilføje tekst. Du tilføjer indhold til dine Squarespace-sidesider ved at bruge indholdsblokke i Site Manager → Indhold ...

Valg af editor

Wicca og Witchcraft For Dummies Cheat Sheet - dummies

Wicca og Witchcraft For Dummies Cheat Sheet - dummies

Wicca, en heksekunst, er centreret i rituelle Wiccans udfører til specifikke formål, såsom at kommunikere med eller ære guddom. Sabbats er wiccan sol helligdage fokuseret på jordens sti omkring solen, nogle gange omtalt som Årets hjul. Esbats er wiccan månens ferie, der fokuserer på månens cyklus. ...

Sammenhængende trosretninger: almindelige erfaringer i skrifterne - dummies

Sammenhængende trosretninger: almindelige erfaringer i skrifterne - dummies

Interessant de tre Abrahams trosretninger - jødedom, kristendom , og islam - deler meget til fælles, herunder en række af ædle profeter sendt af Gud. På grund af commonality ligger en dyb forbindelse til arv fra profeten Abraham og en tro på en Gud. Koranen finder fælles sted med kristne og jøder (kendt ...

Charmerende din vej til effektiv magi - dummies

Charmerende din vej til effektiv magi - dummies

En firkløver for held. Den jakkesæt, som du altid bærer til jobsamtaler for succes. Ringen du tager aldrig af, fordi den repræsenterer din kærlighed til en anden person. Den hængende du bærer rundt om halsen hver dag for beskyttelse. Den lille statue hængende fra bilens bagspejl til sikker rejse. ...

Valg af editor

Vælger skråninger, kanter og ansigter i blender - dummies

Vælger skråninger, kanter og ansigter i blender - dummies

I Blender's Edit-tilstand, kuben ændrer farve og prikker danner i hver af kubens hjørner. Hver prik er et vertex. Linjen der dannes mellem to hjørner er en kant. Et ansigt i Blender er en polygon, der er dannet af tre eller flere forbindelseskanter. Tidligere er ansigter i Blender ...