1/69
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Data science
discipline waarin allerlei inzichten in data worden verkregen
machine learning
subdiscipline van AI waarmee computers worden geprogrammeerd om te kunnen leren van data
Taken ML
- problemen waarvoor reguliere oplossingen erg bewerkelijk zijn bijvoorbeeld omdat er erg veel uitzonderingen zijn
-complexe problemen waar geen goede oplossing bestaat
- dynamische omgevingen, waarin de aard van een probleem geregeld wijzigt
- situaties waarin inzichten moeten worden gevonden in enorme hoeveelheden data
Gebruiken ML
- fouten te vinden in beslisregels
- het trainen kan worden geautomatiseerd
supervised learning
training algoritme krijgt de data en ook de oplossing
unsupervised learning
de data is niet gelabeld. dus je weet niet welke waarde bij welke klasse of observatie hoort
semi-supervised learning
een deel van de data is gelabeld
reinforcement learning
op basis van beloningen de optimale strategie bepalen voor verschillende situaties die het model als agent kan observeren
batch learning
het model wordt eenmalig getraind en vervolgens gelanceerd. Trainen gebeurd online door de grote hoeveelheid aan rekenkracht die nodig is om de data te verwerken
online learning
trainen gebeurd incrementeel(in kleine stapjes) door het model steeds nieuwe observaties te laten doen
instance based
hierbij wordt een observatie vergeleken met eerdere observaties op basis van overeenkomsten
model-based
deze modellen herkennen patronen in de data om voorspellingen te doen over nieuwe observaties
uitdagingen bij het bouwen van een ML
- gebrek aan data
- slechte data kwaliteit
- irrelevante features
- overfitting en underfitting
Trainen, testen en valideren
- verschillende modellen uitproberen
- modellen met verschillende instellingen te evalueren
- de data op te splitsen in een training, development en test set( het is belangrijk dat eventuele ordening in de data er niet voor zorgt dat de data subsets bepaalde delen van de data missen)
Data exploratie
Het eerste wat een ML-model doet is de data inspecteren. Hieruit kunnen histogrammen volgen die de verdeling van de observaties laten zien.
feature engineering
vanuit bestaande feautures nieuwe feautures maken.
- twee features door elkaar te delen of te vermenigvuldigen
- karakteristieken van een signaal in de tijd te berekenen
data opschonen
- de observaties met ontbrekende waardes verwijderen
- de feature met ontbrekende waardes verwijderen
- een waarde invullen
feature scaling and transformation
training algoritmes hebben moeite met feautures waarvan de schaal sterk uiteen loopt.
Zonder feature total number of rooms te schalen zal een model zich snel op 1 feature concentreren.
Twee manieren schalen feauture
min-max scaling(Moeite met outliers)
standardization(deze is robuuster)
cross validation
de data opsplitsen en steeds een deel achterhoudt voor validatie, terwijl de rest voor training wordt gebruikt. Een lage training error en hoge validatie= overfitting
model lancering
- documenteer alles, inclusief je gehele code, bewerkingen van de data etc
- geef de grenzen aan van wat je model kan, zodat andere kunnen inschatten waar het voor gebruikt kan worden
model rot
het fenoneem waarbij een machine learning model minder nauwkeurig wordt omdat de onderliggende data distributies veranderen na verloop van tijd
classificatie
het label dat defineert tot welke categorie, uit een set potentiele categorieen, een observatie behoort
MNIST dataset
de dataset bevat geen foutieve of ontbrekende labels. alles is compleet
- bestaat uit 70.000 hangeschreven getallen
- een label bij elke afbeelding dat het getal op de afbeelding vertegenwoordigd
performance measures voor classificatie
- accuracy
- confusion matrixes --> precision en recall
- ROC curve
accuracy
hoe vaak je model een correcte classificatie geeft.
Confusion Matrix
-TN, FP, FN en TP
precision
een perfect classificatiemodel heeft alleen positieve waardes dus geen fouten. Hoe ver je van de een perfect classificatiemodel zit is precision
precision/recall trad-off
een hogere precision leidt tot een lagere recall
Support vector machines(SVM)
een veelzijdig type machine learning model, met name voor classificatie taken. Ze zijn beperkt in het formaat van de dataset die kan worden behandeld
Classificatie met een SVM
Met een SVM probeer je een grens (lijn) te trekken om classes (in dit geval ondersoorten van de Iris) zo goed mogelijk van elkaar te scheiden. Bij "large margin classification" probeer je de afstand van de lijn tot het dichtstbijzijnde lid van de afzonderlijke classes zo groot mogelijk te maken en mag geen enkele observatie aan de verkeerde kant van de lijn staan.
Het is niet altijd mogelijk om via large margin te classificeren
soft margin classification
Hierbij mag het model een klein aantal fouten maken. Het model zoekt een balans tussen:
• een zo groot mogelijke marge;
• zo weinig mogelijk fout geclassificeerde observaties. Het doel is dus niet meer: "iedere observatie perfect classificeren" maar: "de beste algemene scheidingslijn vinden
Hyperparameter C
Bij soft margin classification speelt C een belangrijke rol. Deze bepaalt hoe streng het model is.
Lage C
Het model:
• accepteert meer fouten;
• kiest een grotere marge.
Voordeel: •
minder kans op overfitting.
Hoge C
Het model:
• probeert bijna alle trainingspunten correct te classificeren;
• accepteert nauwelijks fouten.
Voordeel:
• hogere nauwkeurigheid op trainingsdata.
Nadeel:
• grotere kans op overfitting.
Kort: Kleine C → grotere marge Grote C → minder fouten maar kleinere marge.
SVM voor regressie
Een SVM kan ook gebruikt worden voor regressie. Bij classificatie probeer je een grens te maken waar zo weinig mogelijk punten binnen vallen. Bij regressie gebeurt juist het tegenovergestelde. Je maakt een soort "straat" rondom de regressielijn.
Het doel: Zoveel mogelijk observaties moeten binnen deze straat liggen.
De hyperparameter epsilon
De breedte van deze straat wordt bepaald door ε (epsilon).
Kleine epsilon
• smalle straat;
• model probeert dichter langs de punten te lopen.
Grote epsilon
• brede straat;
• meer punten vallen binnen de toegestane foutmarge.
Het model wordt daardoor minder gevoelig voor kleine afwijkingen.
sterke punten SVM
Werkt zeer goed bij classificatie.
• Kan ook regressie uitvoeren.
• Probeert de meest robuuste scheidingslijn te vinden. • Vaak hoge nauwkeurigheid.
• Goed bestand tegen kleine veranderingen in data
zwakke punten van SVM
Minder geschikt voor zeer grote datasets.
• Relatief veel rekenkracht nodig.
• Minder makkelijk te interpreteren dan bijvoorbeeld een Decision Tree.
• Hyperparameters (zoals C en ε) moeten goed gekozen worden.
Decision tree
is een machine learning-model dat gebruikt kan worden voor:
• Classificatie (bijvoorbeeld: tot welke soort behoort deze iris?)
• Regressie (bijvoorbeeld: welke waarde moet voorspeld worden?)
Hoe werkt een decision tree?
Een Decision Tree bestaat uit een reeks vragen. Bij iedere vraag wordt de dataset opgesplitst in kleinere groepen. Je begint bovenaan de boom en volgt de voorwaarden totdat je bij een eindpunt uitkomt. Dat eindpunt geeft de voorspelling.
Opbouw decision tree
root node( eerste node)
split node(vertakking)
leaf node(eindpunt)
maximale diepte
Een belangrijke instelling van een Decision Tree is de maximale diepte. Deze bepaalt: Hoe ver de boom mag doorgroeien.
Kleine maximale diepte
• eenvoudige boom;
• minder kans op overfitting.
Grote maximale diepte
• complexere boom;
• past beter op trainingsdata;
• grotere kans op overfitting.
Hoe dieper de boom, hoe meer vertakkingen mogelijk zijn.
Gini impurity
geeft aan hoe zuiver 1 node is. lage GIni goede scheiding. Een hoge Gini is een slechte scheiding
white box-modellen
iedere beslissing is zichtbaar en uitlegbaar
black-box model
moeilijk kunnen achterhalen waarom het model een bepaalde voorspelling heeft gedaan
Sterke punten decision tree
• Zeer eenvoudig te begrijpen.
• Beslissingen zijn makkelijk te verklaren.
• Geschikt voor classificatie én regressie.
• Werkt zonder ingewikkelde wiskunde.
• Goede basis voor Random Forests.
• White-box model (goed uitlegbaar).
zwakke punten decision trees
Overfitting Decision Trees kunnen eindeloos blijven vertakken. Daardoor kunnen ze de trainingsdata bijna perfect onthouden. Gevolg: • uitstekende prestaties op trainingsdata; • slechtere prestaties op nieuwe data. Dit noemen we overfitting.
Overfitting voorkomen
Je kunt overfitting beperken door:
• maximale diepte beperken;
• minder features per split gebruiken;
• een minimum aantal observaties per leaf node instellen. Hierdoor blijft de boom eenvoudiger en generaliseert hij beter naar nieuwe data.
decision trees zijn stochatisch
Kleine veranderingen in de trainingsdata kunnen leiden tot een compleet andere beslisboom. Hierdoor zijn losse Decision Trees soms minder robuust. Juist dit probleem wordt opgelost met Random Forests, waarin meerdere Decision Trees gecombineerd worden
ensemble learning
combineert de voorspellingen van meerdere machine learningmodellen. Het idee is eenvoudig: Meerdere modellen samen voorspellen vaak beter dan één enkel model. Je gebruikt dus niet één classifier, maar een groep classifiers die gezamenlijk een beslissing nemen.
waarom ensemble learning
Eén model maakt altijd fouten. Wanneer je meerdere modellen combineert:
• worden individuele fouten deels opgeheven;
• worden voorspellingen stabieler;
• neemt de nauwkeurigheid meestal toe.
Het uitgangspunt is: De groep is slimmer dan het individu.
Voting classifier
hierbij train je verschillende modellen op dezelfde dataset. De uiteindelijke voorspelling wordt bepaald door de meerderheid van stemmen
hard voting
telt iedere model simpelweg 1 stem
soft voting
kijkt het model niet alleen naar de voorspelling, maar ook naar de waarschijnlijkheid. Is ook vaak naukeuriger dan hard voting, omdat modellen die erg zeker zijn meer invloed hebben
bagging
Bagging is een veelgebruikte techniek binnen ensemble learning. In plaats van één Decision Tree te maken:
• maak je veel verschillende Decision Trees;
• iedere boom wordt getraind op een andere steekproef uit de trainingsdata. Daardoor ontstaan bomen die allemaal nét iets anders zijn. Aan het einde stemmen alle bomen samen over de uiteindelijke voorspelling.
random forest
Een Random Forest is de bekendste vorm van ensemble learning. Een Random Forest bestaat uit: Heel veel Decision Trees die samen één voorspelling doen. Iedere boom:
• wordt getraind op een andere steekproef van de data;
• maakt zelfstandig een voorspelling. Daarna stemmen alle bomen. De meerderheid bepaalt de uiteindelijke uitkomst.
voordelen van random forest
Ten opzichte van één Decision Tree:
• hogere nauwkeurigheid;
• minder gevoelig voor overfitting;
• stabielere voorspellingen;
• robuuster voor nieuwe data. Daarnaast kan een Random Forest aangeven: Welke variabelen (features) het belangrijkst zijn voor de voorspelling.
Feature importance
Een extra voordeel van Random Forests is dat ze kunnen berekenen welke kenmerken het belangrijkst zijn. Bijvoorbeeld bij de Iris-dataset:
• petal length → heel belangrijk;
• petal width → belangrijk;
• sepal width → minder belangrijk.
Zo kun je beter begrijpen welke variabelen de grootste invloed hebben op de voorspelling.
Nadelen random forests
- minder uitlegbaar
- is een black-box model
waarom unsupervised learning
In de praktijk is de meeste data ongelabeld. Dat komt omdat:
• data wordt verzameld voor de bedrijfsvoering;
• niet speciaal voor machine learning;
• handmatig labels toevoegen veel tijd kost. Daardoor kun je vaak geen regressie of classificatie toepassen. Wel kun je patronen zoeken met unsupervised learning.
vier vormen unsupervised learning
1. Dimensionality Reduction
2. Clustering
3. Anomaly Detection
4. Density Estimation
dimensionality reduction
Vermindert het aantal features terwijl zoveel mogelijk informatie wordt behouden.
anomaly dectection
het model zoekt naar observaties die sterk afwijken van de rest
clustering
automatisch groepen maken van vergelijkbare observaties. het model weet vooraf niet welke groepen er bestaan en doet het zelf op basis van overeenkomsten
Hoe werkt K-means?
Stap 1
Plaats k centroids. Een centroid is het middelpunt van een cluster.
Stap 2
Iedere observatie wordt gekoppeld aan de dichtstbijzijnde centroid.
Stap 3
Bereken voor ieder cluster een nieuw middelpunt. De centroid verschuift dus.
Stap 4
Herhaal stap 2 en 3 totdat de centroids niet meer veranderen. Dit heet: convergentie
elbow method
Voor elk aantal clusters bereken je de inertia. Inertia De totale (gekwadrateerde) afstand van alle punten tot hun eigen centroid.
• Lage inertia = betere clustering.
• Maar inertia wordt altijd lager als je meer clusters toevoegt.
Daarom zoek je naar de elleboog in de grafiek. Vanaf dat punt levert een extra cluster nauwelijks verbetering op. Dat is meestal de beste waarde voor k.
Silhouette score
Een andere manier is de silhouette score.
Deze meet:
• hoe goed een punt past binnen zijn eigen cluster;
• en hoe ver het verwijderd is van andere clusters. De score ligt tussen:
• 1 → uitstekend • 0 → twijfelachtig
• -1 → waarschijnlijk verkeerd ingedeeld Een hogere silhouette score betekent een betere clustering
silhouette diagram
Hiermee bekijk je de silhouette scores per cluster. Je kunt zo zien: • of sommige clusters veel slechter zijn; • of clusters erg verschillend van grootte zijn. Het diagram helpt dus om te beoordelen of gekozen k logisch is.
nadelen van K-means
K-means werkt niet altijd goed. Problemen ontstaan wanneer:
• clusters geen ronde ("bolvormige") vorm hebben;
• clusters sterk verschillen in grootte;
• clusters een verschillende dichtheid hebben. In zulke gevallen zijn andere algoritmen, zoals DBSCAN of Gaussian Mixture Models, vaak beter. Deze hoef je voor dit vak niet te kennen.