From e27c2085f00f878ff10aa5eddc395be0da3891c2 Mon Sep 17 00:00:00 2001 From: martijn Date: Mon, 31 Jan 2022 13:05:45 +0100 Subject: [PATCH] Hernoemen en aanvullingen --- lesstof/1 - discussiecollege.md | 20 ------- lesstof/Week 9.md | 2 + lesstof/{1 - hoorcollege.md => week 1.md} | 23 +++++++- lesstof/{2 - hoorcollege.md => week 2.md} | 0 lesstof/{3 - hoorcollege.md => week 3.md} | 20 ++++++- lesstof/week 5.md | 67 +++++++++++++++++++++++ main.tex | 10 ++-- 7 files changed, 114 insertions(+), 28 deletions(-) delete mode 100644 lesstof/1 - discussiecollege.md create mode 100644 lesstof/Week 9.md rename lesstof/{1 - hoorcollege.md => week 1.md} (59%) rename lesstof/{2 - hoorcollege.md => week 2.md} (100%) rename lesstof/{3 - hoorcollege.md => week 3.md} (69%) create mode 100644 lesstof/week 5.md diff --git a/lesstof/1 - discussiecollege.md b/lesstof/1 - discussiecollege.md deleted file mode 100644 index 60e59e7..0000000 --- a/lesstof/1 - discussiecollege.md +++ /dev/null @@ -1,20 +0,0 @@ -## Discussiecollege - -### Probability -**Experiment** - *Iets* dat een bepaalde set van mogelijkheiden als uitkomst heeft -**Sample Space** - Aangegeven met $s$, de set van alle mogelijkheden -**Event** - Set van uitkomsten of criteria. - - -### Statistics -**Mean** - Het gemiddelde som delen door n (n = hoeveelheid getallen) -**Median** - Het middelste getal in een gesorteerde lijst -**Mode** - Wat het meest voorkomt - -**Variance** - -**Standard daviation** - - -**Linear correlation** - Hiermee wordt de (lineaire) relatie tussen twee variabelen gemeten - -### Wiskunde -**logaritme** - Het omgekeerde van een exponent. \ No newline at end of file diff --git a/lesstof/Week 9.md b/lesstof/Week 9.md new file mode 100644 index 0000000..35137cc --- /dev/null +++ b/lesstof/Week 9.md @@ -0,0 +1,2 @@ +## Hoorcollege + diff --git a/lesstof/1 - hoorcollege.md b/lesstof/week 1.md similarity index 59% rename from lesstof/1 - hoorcollege.md rename to lesstof/week 1.md index 841851e..b773d78 100644 --- a/lesstof/1 - hoorcollege.md +++ b/lesstof/week 1.md @@ -16,4 +16,25 @@ Types Machine Learning: ### Types van supervised Learning * **Classification** - Iets toewijzen tot een discrete set van van mogelijkheden. Zoals spam/geen-spam of bloed type -* **Regressie** - Het voorspellen van een numerieke waarde. \ No newline at end of file +* **Regressie** - Het voorspellen van een numerieke waarde. + +## Discussiecollege + +### Probability +**Experiment** - *Iets* dat een bepaalde set van mogelijkheiden als uitkomst heeft +**Sample Space** - Aangegeven met $s$, de set van alle mogelijkheden +**Event** - Set van uitkomsten of criteria. + + +### Statistics +**Mean** - Het gemiddelde som delen door n (n = hoeveelheid getallen) +**Median** - Het middelste getal in een gesorteerde lijst +**Mode** - Wat het meest voorkomt + +**Variance** - +**Standard daviation** - + +**Linear correlation** - Hiermee wordt de (lineaire) relatie tussen twee variabelen gemeten + +### Wiskunde +**logaritme** - Het omgekeerde van een exponent. \ No newline at end of file diff --git a/lesstof/2 - hoorcollege.md b/lesstof/week 2.md similarity index 100% rename from lesstof/2 - hoorcollege.md rename to lesstof/week 2.md diff --git a/lesstof/3 - hoorcollege.md b/lesstof/week 3.md similarity index 69% rename from lesstof/3 - hoorcollege.md rename to lesstof/week 3.md index 1d87603..1909964 100644 --- a/lesstof/3 - hoorcollege.md +++ b/lesstof/week 3.md @@ -28,9 +28,7 @@ Formeel gezien wat een model doet: $Y = f(\textbf{X}) + \epsilon$ * *Irreducible Error*: Error dat niet verkleind kan worden onafhankelijk van hoe goed we $f$ inschatten. Dit type is onbekend en onmeetbaar. * $Y$ representeerd de output variabelen (afhankelijke) -*Statistical Learning* bevat methodes om deze $f(\textbf{X})$ in te schatten. - -Waarom proberen we $f(\textbf{X})$ te schatten? +*Statistical Learning* bevat methodes om deze $f(\textbf{X})$ in te schatten. Redenen hiervoor zijn: * **Prediction** - Wanneer we een goede estimate hebben van $\hat{f}(\textbf{X}$ kunnen we deze gebruiken om voorspellingen te maken op nieuwe data. We gebruiken $\hat{f}$ als een *black box*. We geven er niet om hoe of waarom het werkt, zolang de uitkomst redelijk accuraat is. * **Inferentie** - We willen begrijpen wat de relatie is tussen $\textbf{X}$ en $Y$. We behandelijk $\hat{f}$ niet langer als een *black box*. We willen begrijpen hoe $Y$ verandert ten opzichte van $\textbf{X}$ @@ -39,3 +37,19 @@ Waarom proberen we $f(\textbf{X})$ te schatten? * *underfitting* - Betekent dat er een hoge *bias* is en het model niet helemaal klopt * *Overfitting* - Betekent dat het model te veel is afgestemd op de trainingsset + +## Discussiecollege + +Metrics: + +* **Confusion Matrix** - +* **Accuracy** - Ratio van correcte voorspellingen over totale voorspellingen. $ accuracy = \frac{TP+TN}{TP+TN+FN+FP}$ +* **Precision** - Hoevaak de classifier correct is met het voorspellen van *positives*. $precision = \frac{TP}{TP+FP}$ +* **Recall / Sensitivity** - Hoevaak de classifier correct is $ recall = \frac{TP}{TP+FN} $ +* **Specificity** - Hoevaak de classifier correct is met het voorspellen van *negatives*. $ specificity = \frac{TN}{FP+TN} $ + +Cross validation: + +* **Validation Set** - Splits data in train- en validatieset. Train model op trainingsset en test op validatieset. +* **Leave-One-Out CV (LOOCV)** - Splits data in train- en validatieset. Alleen bestaat de validatieset uit slechts één record. Herhaal dit totdat elke record in de validatieset heeft gezeten. Test error is het gemiddelde van alle tests +* **k-Fold CV** - randomly divide data into k groups (folds) of approximately equal size. First fold is used as validation and the rest as training. Then repeat k times and find average of the k estimates. \ No newline at end of file diff --git a/lesstof/week 5.md b/lesstof/week 5.md new file mode 100644 index 0000000..b0963e0 --- /dev/null +++ b/lesstof/week 5.md @@ -0,0 +1,67 @@ +## Hoorcollege + +### Decision Trees + +Decision trees hebben de volgende **voordelen**: + +* Non-linearity +* Support for categorical variables +* Easy to interpret +* Application to regression + +**Nadelen**: + +* Prone to overfitting +* Instable (not rebust to noise) +* High variance +* Low bias + +Decision Trees worden gemaakt op ongeveer de volgende manier (recursive partitioning steps): + +1. Kies een predictor $X_i$ +2. Kies een waarde $S_i$ uit $X_i$ welke de waardes in 2 splits (niet perse gelijk) +3. Meet hoe *puur* deze splitsing is. Puur = wanneer deze splitsing perfect classificeert +4. Met een algoritme worden verschillende waardes van $X_i$ en $S_i$ vergeleken om de *puurheid* te maximaliseren op de eerste split. +5. Wanneer deze *maximale puurheid* behaalt is wordt hetzelfde process doorlopen voor een tweede splits enzovoorts. + +Meten van puurheid ($m$ is het aantal categorieën): + + +* Gini Index + * Waarde tussen $0,0$ en $1 - 1 / m$ + * Volledig puur wanneer $I(A) = 0$ +* Entropy + * Volledige puur wanneer $ Ent(A) = 0 $ + +**Pruning** + +* CART (*'Classification and Regression Trees'*) laat de tree volledig tot stand komen (deze is dus overfit) +* Probeer het punt te vinden waar de validatie error begint op te lopen +* Genereer steeds kleinere trees door leaves te prunen +* Op elk pruning moment zijn er meerdere verschillende mogelijkheden +* Gebruik een *cost complexity* functie om de beste tree te kiezen + +**Regression Trees for Prediction** + +* Wordt gebruikt bij *continue* uitkomst variabelen (afhankelijke) +* Vergelijkbare procedure als een classification tree +* Veel splits worden geprobeerd, kies de split welke impurity minimaliseerd +* Voorspelling is het gemiddelde van het numerische doelvariabelen in de vierkant (Bij Classification Trees is het een majority vote) +* impuurheid gemeten door de som van deviatie in het kwadraat +* Performance gemeten door RMSE (root mean squared error) + +### Ensemble + +Ensemble learning is een strategie waarbij meerdere verschillende classifiers/models in één model worden gecombineerd. Dit reduceert *variantie* in de voorspelling. Er zijn verschillende Ensemble methodes: + +* **Bagging** - Er worden meerdere instanties van hetzelfde model gebouwd elk getrained op een verschillende subset van de originele dataset. Staat voor *"Bootrstrapping and Aggregating"* +* **Random Forests** - Een methode specifiek voor Decision Trees. Werkt voort op dezelfde basis als **bagging** alleen wordt meer *randomness* gehanteerd bij het creeren van splitsingen in de boom. +* **Boosting** - Verbeterd een model door informatie te gebruiken van vorige classifiers. + +Samengevat: + +1. Presteren over het algemeen beter dan individuele modellen +2. Hebben vele varianten (averaging, weighted avereging, voting, medians, resampling) +3. Bevorderd "parallel processing" +4. Helpt tegen overfitting (but does not cure it) +5. Zijn black-box modellen met hoge transparantie verliezen dit wanneer ensembled \ No newline at end of file diff --git a/main.tex b/main.tex index 824e367..da12fd3 100644 --- a/main.tex +++ b/main.tex @@ -52,14 +52,16 @@ Martijn Remmen \pagebreak \chapter{Week 1} - \markdownInput{lesstof/1 - hoorcollege.md} - \markdownInput{lesstof/1 - discussiecollege.md} + \markdownInput{lesstof/week 1.md} \chapter{Week 2} - \markdownInput{lesstof/2 - hoorcollege.md} + \markdownInput{lesstof/week 2.md} \chapter{Week 3} - \markdownInput{lesstof/3 - hoorcollege.md} + \markdownInput{lesstof/week 3.md} + + \chapter{Week 5} + \markdownInput{lesstof/week 5.md} \chapter{Data Science Design Manual} \markdownInput{dsdm/chapter_2.md}