Articles

Applied AI Strategy and Consulting | InnoArchiTech

artikelen in deze serie

  1. overzicht, doelen, learning types, and algorithms

  2. Data selectie, voorbereiding en modellering

  3. Model evaluatie, validatie, complexiteit en verbetering

  4. model performance and error analysis

  5. unsupervised learning, related fields, and machine learning in practice

inleiding

welkom! Dit is het eerste artikel van een vijfdelige serie over machine learning.

Machine learning is een zeer hot topic om vele belangrijke redenen, en omdat het de mogelijkheid biedt om automatisch diepe inzichten te verkrijgen, Onbekende patronen te herkennen, en hoog presterende voorspellende modellen te maken van gegevens, allemaal zonder dat expliciete programmeerinstructies nodig zijn.

ondanks de populariteit van het onderwerp worden het ware doel en de details van machine learning niet goed begrepen, behalve door zeer technische mensen en/of datawetenschappers.

deze serie is bedoeld als een uitgebreide, diepgaande gids voor machine learning, en moet nuttig zijn voor iedereen, van bedrijfsleiders tot machine learning beoefenaars. Het behandelt vrijwel alle aspecten van machine learning (en vele verwante gebieden) op een hoog niveau, en moet dienen als een voldoende inleiding of verwijzing naar de terminologie, Concepten, instrumenten, overwegingen, en technieken van het veld.

dit inzicht op hoog niveau is van cruciaal belang als het ooit betrokken is bij een besluitvormingsproces rond het gebruik van machine learning, hoe het kan helpen zakelijke en projectdoelen te bereiken, welke machine learning technieken te gebruiken, potentiële valkuilen, en hoe de resultaten te interpreteren.

merk op dat de meeste onderwerpen die in deze serie worden besproken ook direct van toepassing zijn op gebieden zoals voorspellende analyse, datamining, statistisch leren, kunstmatige intelligentie, enzovoort.

Machine Learning Gedefinieerd

De vaak geciteerde en algemeen aanvaard formele definitie van machine learning, zoals aangegeven door het veld pionier Tom M. Mitchell is:

Een computer programma wordt gezegd om te leren van ervaren E met betrekking tot een klasse van taken T en prestatie maatstaf P als de prestaties op taken in T, gemeten door P, verbetert de ervaring met E

Het volgende is mijn minder formele wijze te beschrijven machine learning.

Machine learning is een subgebied van de informatica, maar wordt vaak ook aangeduid als predictive analytics, of predictive modeling. Het doel en het gebruik ervan is om nieuwe en / of gebruik te maken van bestaande algoritmen om te leren van gegevens, om generaliseerbare modellen te bouwen die nauwkeurige voorspellingen geven, of om patronen te vinden, met name met nieuwe en ongeziene vergelijkbare gegevens.

Machine Learning Process Overview

stel je een dataset voor als een tabel, waarin de rijen elke waarneming zijn (aka meting, gegevenspunt, enz.), en de kolommen voor elke waarneming de kenmerken van die waarneming en hun waarden vertegenwoordigen.

aan het begin van een machine learning-project wordt een dataset gewoonlijk opgesplitst in twee of drie subsets. De minimale subsets zijn de trainings-en testdatasets, en vaak wordt ook een optionele derde validatiedataset gemaakt.

zodra deze gegevenssubverzamelingen zijn gemaakt op basis van de primaire gegevensset, wordt een voorspellend model of classifier getraind met behulp van de trainingsgegevens en wordt de voorspellende nauwkeurigheid van het model bepaald met behulp van de testgegevens.

zoals gezegd maakt machine learning gebruik van algoritmen om automatisch patronen in data te modelleren en te vinden, meestal met als doel het voorspellen van een doeloutput of reactie. Deze algoritmen zijn sterk gebaseerd op statistieken en wiskundige optimalisatie.

optimalisatie is het proces van het vinden van de kleinste of grootste waarde (minima of maxima) van een functie, vaak aangeduid als een verlies, of kosten functie in het minimalisatie geval. Een van de meest populaire optimalisatiealgoritmen gebruikt in machine learning heet gradiëntafdaling, en een andere staat bekend als de de normale vergelijking.

In een notendop, machine learning is alles over het automatisch leren van een zeer nauwkeurig voorspellend of Classificatiemodel, of het vinden van onbekende patronen in data, door gebruik te maken van leeralgoritmen en optimalisatietechnieken.

soorten leren

de primaire categorieën van automatisch leren zijn leren onder toezicht, zonder toezicht en semi-onder toezicht. We zullen ons richten op de eerste twee in dit artikel.

bij begeleid leren bevat de data de responsvariabele (label) die gemodelleerd wordt, en met als doel dat u de waarde of klasse van de ongeziene data wilt voorspellen. Unsupervised learning impliceert het leren van een dataset die geen label of responsvariabele heeft, en daarom meer over het vinden van patronen dan voorspelling gaat.

omdat ik een enorme NFL en Chicago Bears fan ben, zal mijn team helpen om dit soort leren te illustreren! Stel dat je een ton van Chicago Bears gegevens en statistieken dateren uit wanneer het team werd een gecharterd lid van de NFL (1920) tot het heden (2016).

stel je voor dat elke rij van de gegevens in wezen een team momentopname (of observatie) is van relevante statistieken voor elk spel sinds 1920. De kolommen in dit geval, en de gegevens in elk, vertegenwoordigen de functies (waarden) van de gegevens, en kunnen feature gegevens zoals spel Datum, spel tegenstander, seizoen wint, seizoen verliezen, seizoen einde divisional positie, post-season ligth (Y/N), post-season statistieken, en misschien statistieken specifiek voor de drie fasen van het spel: Aanval, verdediging, en speciale teams.

in het onder toezicht staande geval kan je doel zijn om deze gegevens te gebruiken om te voorspellen of de beren zullen winnen of verliezen tegen een bepaald team tijdens een bepaald spel, en op een bepaald veld (thuis of weg). Houd er rekening mee dat er in het voetbal van alles kan gebeuren in termen van blessures in de voor-en wedstrijdtijd, weersomstandigheden, slechte scheidsrechter oproepen, enzovoort, dus neem dit gewoon als een voorbeeld van een toepassing van begeleid leren met een ja of nee reactie (voorspelling), in tegenstelling tot het bepalen van de waarschijnlijkheid of waarschijnlijkheid van ‘Da Bears’ het krijgen van de overwinning.

omdat u Historische gegevens hebt van overwinningen en verliezen (de respons) tegen bepaalde teams op bepaalde voetbalvelden, kunt u onder toezicht leren gebruiken om een model te maken om die voorspelling te maken.

stel nu dat je doel is om patronen te vinden in de historische gegevens en iets te leren dat je nog niet weet, of groepeer het team op bepaalde manieren door de geschiedenis heen. Hiervoor voert u een algoritme zonder toezicht uit dat de gegevens automatisch groepeert (groepeert) en vervolgens de resultaten van de clustering analyseert.

met een beetje analyse, kan men ontdekken dat deze automatisch gegenereerde clusters het team schijnbaar groepeert in de volgende voorbeeldcategorieën na verloop van tijd:

  • Sterke verdediging, zwak stromend overtreding, sterke passing offense, zwak speciale teams, playoff ligplaats

  • Sterke verdediging, sterk uitgevoerd overtreding, zwakke passing offense, gemiddelde speciale teams, playoff ligplaats

  • Zwakke verdediging, sterke all-around overtreding, sterke, speciale teams, miste de play-offs

  • en zo op

Een voorbeeld van een zonder toezicht werkende cluster analyse zou worden om te zoeken naar een mogelijke reden waarom zij missen de play-offs in de derde cluster boven. Misschien vanwege de zwakke verdediging? Beren zijn van oudsher een sterk defensief team, en sommigen zeggen dat de verdediging kampioenschappen wint. Alleen maar zeggen …

In beide gevallen kan elk van de bovenstaande classificaties betrekking hebben op een bepaald tijdsbestek, wat men zou verwachten. Misschien werd het team gekenmerkt door een van deze groepen meer dan eens in hun geschiedenis, en voor verschillende periodes van tijd.

om het team op deze manier te karakteriseren zonder machine learning technieken, zou men door alle historische gegevens en statistieken moeten gieten, handmatig de patronen moeten vinden en de classificaties (clusters) voor elk jaar moeten toewijzen, rekening houdend met alle gegevens, en de informatie moeten compileren. Dat zou zeker geen snelle en gemakkelijke taak zijn.

als alternatief zou je een expliciet gecodeerd programma kunnen schrijven om door de data te gieten, en dat moet weten welke teamstatistieken je moet overwegen, welke drempels je in aanmerking moet nemen voor elke stat, enzovoort. Het zou een aanzienlijke hoeveelheid tijd vergen om de code te schrijven, en verschillende programma ‘ s zouden moeten worden geschreven voor elk probleem dat een antwoord nodig heeft.

Or … U kunt een algoritme voor machine learning gebruiken om dit allemaal automatisch voor u te doen in een paar seconden.

Machine Learning doelen en Outputs

Machine learning algoritmen worden voornamelijk gebruikt voor de volgende soorten output:

  • Clustering (zonder toezicht)

  • twee-klasse en multi-klasse classificatie (onder toezicht)

  • regressie: Univariate, Multivariate, etc. (Supervised)

  • Anomaly detection (Unsupervised and Supervised)

  • Recommendation systems (aka recommendation engine)

specifieke algoritmen die worden gebruikt voor elk uitvoertype worden besproken in de volgende paragraaf, maar laten we eerst een algemeen overzicht geven van elk van de bovenstaande uitvoer, of probleemtypen.

zoals besproken, is clustering een techniek zonder toezicht om de samenstelling en structuur van een gegeven verzameling gegevens te ontdekken. Het is een proces van het samenklonteren van gegevens in clusters om te zien welke groeperingen ontstaan, indien van toepassing. Elke cluster wordt gekenmerkt door een bevatte reeks gegevenspunten, en een clustercentroid. Het cluster centroid is in principe Het gemiddelde (gemiddelde) van alle gegevenspunten die het cluster bevat, voor alle functies.

Classificatieproblemen hebben betrekking op het plaatsen van een gegevenspunt (ook wel observatie genoemd) in een vooraf gedefinieerde klasse of categorie. Soms wijzen classificatieproblemen gewoon een klasse toe aan een waarneming, en in andere gevallen is het doel om de waarschijnlijkheid te schatten dat een waarneming tot elk van de gegeven klassen behoort.

een goed voorbeeld van een classificatie van twee klassen is het toewijzen van de klasse van Spam of Ham aan een inkomende e-mail, waar ham gewoon ‘geen spam’betekent. Multi-class classificatie betekent gewoon meer dan twee mogelijke klassen. Dus in het spam voorbeeld, misschien een derde klasse zou zijn ‘onbekend’.

regressie is gewoon een mooi woord om te zeggen dat een model een continue waarde (respons) zal toewijzen aan een data observatie, in tegenstelling tot een discrete klasse. Een goed voorbeeld hiervan zou het voorspellen van de slotkoers van de Dow Jones Industrial Average op een bepaalde dag. Deze waarde kan elk getal zijn, en zou daarom een perfecte kandidaat voor regressie zijn.

merk op dat het woord regressie soms gebruikt wordt in de naam van een algoritme dat gebruikt wordt voor classificatieproblemen of om een discrete categorische respons te voorspellen (bijvoorbeeld spam of ham). Een goed voorbeeld is logistische regressie, die waarschijnlijkheden voorspelt van een bepaalde discrete waarde.

een ander probleemtype is anomaly detection. Hoewel we graag denken dat data goed gedragen en verstandig is, is dit Helaas vaak niet het geval. Soms zijn er foutieve datapunten als gevolg van storingen of meetfouten, of soms als gevolg van fraude. Andere keren kan het zijn dat afwijkende metingen indicatief zijn voor een falend stuk hardware of elektronica.

soms wijzen afwijkingen op een reëel probleem en zijn ze niet gemakkelijk te verklaren, zoals een fabricagefout, en in dit geval biedt het opsporen van afwijkingen een maatstaf voor kwaliteitscontrole, evenals inzicht in de vraag of de maatregelen die zijn genomen om defecten te verminderen al dan niet hebben gewerkt. In beide gevallen, zijn er tijden waar het voordelig is om deze abnormale waarden te vinden, en bepaalde machine het leren algoritmen kunnen worden gebruikt om enkel dat te doen.

Het Laatste type probleem wordt aangepakt met een aanbevelingssysteem, of ook wel aanbevelingsmotor genoemd. Aanbevelingssystemen zijn een soort informatiefiltersysteem en zijn bedoeld om aanbevelingen te doen in vele toepassingen, waaronder films, muziek, boeken, restaurants, artikelen, producten, enzovoort. De twee meest voorkomende benaderingen zijn content-based en collaborative filtering.

twee grote voorbeelden van populaire aanbevelingsmotoren zijn die van Netflix en Amazon. Netflix doet aanbevelingen om kijkers betrokken te houden en voorzien van veel inhoud om naar te kijken. Met andere woorden, om mensen te houden met behulp van Netflix. Ze doen dit met hun ” omdat je keek…”,” Top Picks voor Alex”, en” suggesties voor u ” aanbevelingen.

Amazon doet iets soortgelijks om de verkoop te verhogen door up-selling, de verkoop te behouden door gebruikersbetrokkenheid, enzovoort. Ze doen dit via hun “klanten die dit Item gekocht ook gekocht”, “aanbevelingen voor u, Alex”, “gerelateerd aan Items die u bekeken”, en “meer Items om te overwegen” aanbevelingen.

Machine Learning algoritmen

we hebben nu de machine learning probleemtypes en gewenste outputs behandeld. Nu geven we een overzicht op hoog niveau van relevante machine learning algoritmen.

Hier is een lijst van algoritmen, zowel onder toezicht als zonder toezicht, die erg populair zijn en de moeite waard om te weten op een hoog niveau. Merk op dat sommige van deze algoritmen later in deze serie dieper zullen worden besproken.

regressie onder toezicht

  • eenvoudige en meervoudige lineaire regressie

  • Decision tree or forest regressie

  • Artificial Neural networks

  • ordinale regressie

  • Poisson regressie

  • methoden van dichtsbijzijnde buren (bijv., k-NN-of k-Nearest Neighbors)

onder Toezicht Twee-klasse & Multi-klasse Indeling

  • Logistische regressie en multinomiale regressie

  • Artificiële Neurale netwerken

  • Besluit de boom, bos, en jungles

  • SVM (support vector machine)

  • Perceptron methodes

  • Bayes classifiers (bijv., Naive Bayes)

  • de Dichtstbijzijnde buurman methoden (bijv.

  • één versus alle multiclass

zonder toezicht

  • K-means clustering

  • hiërarchische clustering

anomalie detectie

  • Ondersteuning vectormachine (een klasse)

  • PCA (Principle component analysis)

een techniek die vaak wordt gebruikt om de prestaties van het model te verbeteren is het combineren van de resultaten van meerdere modellen. Deze aanpak maakt gebruik van wat bekend staat als ensemble methoden, en random forests zijn een geweldig voorbeeld (later besproken).

als er niets anders is, is het een goed idee om op zijn minst vertrouwd te raken met de namen van deze populaire algoritmen, en een basisidee te hebben over het type machine learning probleem en output waarvoor ze geschikt kunnen zijn.

samenvatting

Machine learning, predictive analytics en andere gerelateerde onderwerpen zijn zeer spannende en krachtige velden.

hoewel deze onderwerpen zeer technisch kunnen zijn, zijn veel van de betrokken concepten relatief eenvoudig te begrijpen op een hoog niveau. In veel gevallen, een eenvoudig begrip is alles wat nodig is om discussies te hebben op basis van machine learning problemen, projecten, technieken, enzovoort.

deel twee van deze serie zal een inleiding geven tot modelprestaties, het machine learning-proces behandelen en modelselectie en bijbehorende afwegingen in detail bespreken.

Stay tuned!

over de auteur

Alex is de oprichter van InnoArchiTech en InnoArchiTech Institute, evenals de auteur van AI for People and Business gepubliceerd door O ‘ Reilly Media.