Begeleid leren uitgelegd

0
17

Machine learning is een tak van kunstmatige intelligentie die bevat algoritmen voor het automatisch maken van modellen van gegevens. Op een hoog niveau, er zijn vier soorten van machine learning: begeleid leren, onbegeleid leren, leren door bekrachtiging en actieve ‘machine learning’. Sinds versterking leren en de actieve ‘machine learning’ zijn relatief nieuw, ze zijn soms weggelaten uit de lijsten van deze soort. U kan ook semi-begeleid leren op de lijst, en niet verkeerd te zijn.

[ Zin van machine learning: AI, machine learning, en diep leren: Alles wat je moet weten. | Diep leren uitgelegd. | Machine learning uitgelegd. | Machine learning algoritmen uitgelegd. | Machine, het leren van vaardigheden voor software engineers. | Diep in analytics en big data met de InfoWorld Big Data en Analytics-Rapport nieuwsbrief. ]Wat is begeleid leren?

Begeleid leren begint met de opleiding van gegevens die zijn gecodeerd met de juiste antwoorden (streefwaarden). Na het leerproces, kunt u de wind met een model met een afgestemde set van gewichten, die kan voorspellen antwoorden voor soortgelijke gegevens die niet zijn gecodeerd.

U wilt trainen voor een model dat een hoge nauwkeurigheid zonder overfitting of underfitting. Hoge nauwkeurigheid betekent dat u geoptimaliseerd met het verlies van de functie. In het kader van de classificatie van problemen, is de nauwkeurigheid van het aandeel van de voorbeelden waarvoor het model produceert de juiste uitgang.

Overfitting betekent dat het model is zo nauw verbonden met de gegevens die het heeft gezien dat het niet te generaliseren naar gegevens die het nog niet gezien. Underfitting betekent dat het model niet complex genoeg is voor het vastleggen van de onderliggende trends in de gegevens.

Het verlies van de functie is gekozen om te reflecteren op de “slechtheid” van het model; het minimaliseren van het verlies voor het vinden van het beste model. Voor numerieke (regressie -) problemen, het verlies van de functie is vaak de gemiddelde gekwadrateerde fout (MSE), ook geformuleerd als de root mean squared error (RMSE), of de wortel van de gemiddelde gekwadrateerde afwijking (RMSD). Dit komt overeen met de Euclidian afstand tussen de punten en de model-curve. Voor de indeling (niet-numerieke) problemen, het verlies van de functie kan worden op basis van een van een handvol van maatregelen, met inbegrip van de oppervlakte onder de ROC-curve (AUC), gemiddelde nauwkeurigheid, precisie-recall, en log-verlies. (Meer op de AUC en de ROC curve hieronder.)

Om te voorkomen dat overfitting u vaak verdelen de gecodeerde gegevens in twee sets, de meerderheid voor de opleiding en de minderheid voor de validatie en testen. De validatie set verlies is meestal hoger dan de training set verlies, maar het is degene die u de zorg over, omdat het niet zou vertonen voorkeur voor het model.

Voor kleine datasets, met vaste holdout stelt voor de test validatie kan resulteren in een lage statistieken. Een manier om dit gebruik te maken van een cross-validatie schema, waarin de verschillende plooien (subsets van data) om de beurt de holdout instellen voor verschillende opleidingen tijdperken.

Ik heb gezegd dat AUC is het gebied onder de ROC curve. Het ROC is de receiver operating characteristic curve; de term komt van het radio-signaal analyse, maar in wezen is het ROC curve toont de gevoeligheid van de classifier door het plotten van de koers van de ware positieven om de snelheid van valse positieven. Hoge oppervlakte onder de ROC-curve is goed, dus als je het gebruikt als basis voor een verlies van de functie die u daadwerkelijk wilt maximaliseren van het AUC.

Gegevens voor het reinigen van machine learning

Er is niet zoiets als rein gegevens in het wild. Om bruikbaar te zijn voor machine learning, data moet agressief worden gefilterd. Bijvoorbeeld, je wilt:

  • Bekijk de gegevens en sluiten alle kolommen die veel van de ontbrekende gegevens.
  • Bekijk de gegevens opnieuw en kies voor de kolommen die u wilt gebruiken (functie selecteren) voor uw voorspelling. Functie selectie is iets wat je wilt kan variëren wanneer u doorlopen.
  • Sluiten de rijen die nog steeds ontbrekende gegevens in de overige kolommen.
  • Juiste kennelijke typefouten en samenvoegen gelijk antwoorden. Bijvoorbeeld, de VS, US, amerika, en Amerika moeten worden samengevoegd in een enkele categorie.
  • Uitsluiten rijen met gegevens die buiten het bereik. Bijvoorbeeld, als je het analyseren van taxi reizen in New York City, zult u wilt filteren uit rijen met pick-up of drop-off lengte-en breedtegraden die buiten de bounding box van het grootstedelijk gebied.
  • Er is veel meer dat je kunt doen, maar het zal afhangen van de verzamelde gegevens. Dit kan vervelend zijn, maar als u het opzetten van een data-cleaning stap in uw machine learning pijplijn die u kunt wijzigen en te herhalen zal.

    Gegevens coderen en normalisatie voor machine learning

    Gebruik van categorische data voor machine-indeling, moet u het coderen van de tekst van labels in een andere vorm. Er zijn twee gangbare coderingen.

    Een label codering, wat betekent dat elke tekst label-waarde wordt vervangen door een getal. De andere is een-warm-codering, wat betekent dat elke tekst label waarde wordt omgezet in een kolom met een binaire waarde (1 of 0). De meeste machine learning kaders zijn functies die de omzetting voor u. In het algemeen, een-warm-codering heeft de voorkeur, als label codering kan soms verwarrend zijn voor de machine learning algoritme in te denken dat de gecodeerde kolom is besteld.

    Gebruik van numerieke gegevens voor de machine regressie, moet u meestal de gegevens normaliseren. Anders zijn de aantallen met grotere ranges misschien de neiging om te domineren de Euclidian afstand tussen de feature vectoren, de effecten ervan kunnen worden vergroot ten koste van de andere velden, en de steilste afdaling optimalisatie hebben moeite met het naar elkaar toe groeien. Er zijn een aantal manieren om te normaliseren en standaardiseren van data voor machine learning inclusief min-max normalisatie, bedoel normalisatie, standaardisatie en schalen lengte-eenheid. Dit proces is vaak voorzien van schalen.

    Functie-engineering voor machine learning

    Een functie is een individueel meetbare eigenschap of kenmerk van een fenomeen worden waargenomen. Het concept van een “feature” is verwant aan dat van een verklarende variabele, die wordt gebruikt in de statistische technieken, zoals lineaire regressie. Feature vectoren een combinatie van alle functies voor een enkele rij in een numerieke vector.

    Een deel van de kunst van het kiezen van functies is te halen van een minimum set van onafhankelijke variabelen die probleem uit te leggen. Als twee variabelen zijn sterk gecorreleerd, of zij moeten worden gecombineerd in één functie of één zou vallen. Soms hebben mensen het uitvoeren van principal component analyse om te zetten gecorreleerde variabelen in een set van lineair ongecorreleerde variabelen.

    Sommige van de transformaties die mensen gebruiken om te bouwen van nieuwe functies of het reduceren van de dimensionaliteit van de feature vectoren zijn eenvoudig. Bijvoorbeeld, aftrekken Jaar van de Geboorte van het Jaar van de Dood en u de bouw van de Leeftijd aan de Dood, dat is een eerste onafhankelijke variabele voor het leven en sterfte in de analyse. In andere gevallen, hebben de bouw kan niet zo voor de hand.

    Common machine learning algoritmen

    Er zijn tientallen van machine learning algoritmen, variërend in complexiteit van lineaire regressie en logistische regressie tot diep neurale netwerken en ensembles (combinaties van andere modellen). Echter, sommige van de meest gebruikte algoritmen zijn:

    • Lineaire regressie, aka de kleinste kwadraten regressie (voor numerieke data)
    • Logistische regressie (voor binaire classificatie)
    • Lineaire discriminant analyse (voor multi-categorie)
    • Besluit bomen (zowel voor de classificatie en regressie)
    • Naïve Bayes (zowel voor de classificatie en regressie)
    • K-dichtstbijzijnde buren, aka KNN (zowel voor de classificatie en regressie)
    • Leren vector quantisatie, aka LVQ (zowel voor de classificatie en regressie)
    • Support vector machines, aka SVM (voor binaire classificatie)
    • Willekeurige bossen, een soort van “zakken” (bootstrap-aggregatie) ensemble algoritme (voor zowel de classificatie en regressie)
    • Het stimuleren van methoden, met inbegrip van AdaBoost en XGBoost, zijn ensemble algoritmen voor het maken van een serie van modellen, waarbij elke incrementele model probeert te corrigeren fouten van het vorige model (zowel voor de classificatie en regressie)
    • Neurale netwerken (zowel voor de classificatie en regressie)

    Hyperparameter tuning

    Hyperparameters zijn vrije variabelen op andere dan de gewichten worden afgestemd binnen een machine learning model. De hyperparameters variëren van het algoritme het algoritme, maar vaak zijn het leren beoordelen gebruikt om de grootte van de correctie die wordt toegepast nadat de fouten zijn berekend voor een batch.

    De verschillende productie-machine learning platforms bieden nu automatisch hyperparameter tuning. In wezen zegt u het systeem wat hyperparameters u wilt variëren, en mogelijk wat gegeven dat u wilt optimaliseren, en het systeem veegt die hyperparameters over zo veel punten als je het toelaat. (Google Cloud Machine Learning Motor hyperparameter tuning haalt de juiste gegevens van de TensorFlow model, dus hoeft u niet te geven.)

    Er zijn drie belangrijke zoek-algoritmes voor het vegen van hyperparameters: Bayes-optimalisatie, raster zoeken, en random search. Bayes-optimalisatie heeft de neiging om de meest efficiënte. U kunt eenvoudig het opzetten van een eigen hyperparameter veegt in de code, zelfs als die niet geautomatiseerd door het platform dat u gebruikt.

    Om samen te vatten, begeleid leren wordt aangeduid training gegevens in een aangepast voorspellend model. Langs de weg, moet u schoon te maken en de gegevens normaliseren, ingenieur een set van lineair-gecorreleerde kenmerken, en probeer meerdere algoritmen voor het vinden van de beste model.

    Dit verhaal, “Begeleid leren legde hij uit,” werd oorspronkelijk gepubliceerd door