732G12 Data Mining
Kursinformation
HT 2024
Senast uppdaterad 2024-10-02
Notera att det blivit några ändringar i schemat (2024-08-08), se timeedit för uppdaterat schema.
Kursmaterial vecka per vecka
- Kursvecka 1: Introduktion till maskininlärning och data mining (uppdaterad)
- Kursvecka 2: Icke-linjär regression, splines, k-nearest neighbors (uppdaterad)
- Kursvecka 3: Trädmodeller, Naive Bayes, Ensemblemetoder (uppdaterad)
- Kursvecka 4: Neurala nätverk 1 (uppdaterad)
- Kursvecka 5: Neurala nätverk 2 (uppdaterad)
- Kursvecka 6: Klusteranalys (uppdaterad)
- Kursvecka 7 (uppdaterad)
- Projekt
- Tenta
Undervisnings och kursupplägg
Undervisningen kommer att ske på campus. Föreläsningarna kommer att hållas i sal, och datorlaborationer kommer att ske i datorsal. Josef Wilzén är lärare och examinator på kursen. R och R-Studio används som programvara.
- Föreläsning, F . Föreläsningen introducerar nya koncept och lägger grunden för datorlaborationen. Till varje föreläsning finns läsanvisningar till kursboken och ev. extramaterial.
- Datorlaboration, D.: Partiska och teoretiska övningar
Användbara länkar:
- Schema: timeeidt
- Kursplanen: här.
- Kodmanual finns här. Notera att denna inte är uppdaterad för årets omgång.
- Dataset till vissa uppgifter finns här.
- Information om SU-salar, remote access till dessa mm finns här: länk
- Kursmaterialet till kursen ligger på en github-sida som finns här.
Kurslitteratur 2024:
An Introduction to Statistical Learning with Applications in R (ISL) av Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani 2st ed. 2021
Finns gratis online här: länk
Introduction to Data Mining, Global Edition (IDM) av Pang-Ning Tan, Michael Steinbach, Anuj Karpatne och Vipin Kumar Second edition, ISBN: 9780273769224
Denna bok finns inte gratis.
Innehåll
Denna kurs är en introduktion till metoder för att analysera och hitta intressant information från komplexa och/eller stora datamängder. Kursen behandlar olika algoritmer och grundbegrepp inom klassificering, icke-linjär regression samt klustring.
Kursen ger en introduktion till:
- Introduktion maskininlärning/Data Mining, modellval, variabelselektion, regularisering
- Klassificering och regession: Trädmodeller, splines, k-närmaste grannar, neurala nätverk
- Ensemblemetoder
- Klusteranalys
Examination
Kursen examineras genom:
- Projekt: Görs i par, skriftlig och muntlig redovisning, U/G
- Datortenta i SU-sal: Individuell, U/G/VG, glöm inte att anmäla er
Spellistor med videor:
Här finns några spellistor med videor. Notera att dessa täcker fler ämnen än vad kursen gör. Under varje kursvecka finns det mer detaljerade hänvisningar till olika videor.
Kursvecka 1: Introduktion till maskininlärning och data mining
Innehåll: Introduktion till maskininlärning och data mining. Modellering, modellval, generaliseringsfel, variabelselektion, Ridge regression, LASSO regression.
Josef är bortrest måndag och tisdag, så därför kommer det att vara två föreläsningar på onsdagen. För att ni ska kunna utnyttja kurstiden väl så ska ni läsa nedanstående innan föreläsningarna på onsdag:
Läsning i ISL:
- kapitel 1
- Kapitel 2.1 2.2, 4.1, 4.6, 5.1, 6.1, 6.2, 6.4
Repetition
- 4.3 Logistic Regression
Läsning i IDM:
- kapitel 1
- 2.1-2.3 Läs översiktligt, många koncept har ni stött på i tidigare kurser
Se till att läsa i litteraturen innan föreläsningarna, annars kan det bli svårt att hinna med kursmaterialet under veckan!
F1 Slides: pdf (uppdaterad)
F2 Slides: pdf (uppdaterad)
Anteckningar:
Se dessa videor:
Frivillig fördjupning: Lecture notes on ridge regression: här finns fördjupning och många detaljer, bla hur skattningarna går till för Ridge och LASSO.
Kursvecka 2: Icke-linjär regression, splines, k-nearest neighbors,
Läsning i ISL
- 2.2.3 The Classification Setting (K-Nearest Neighbors)
- 7.1 -7.7
Läsning i IDM
- 2.2.1-2.4.5, 2.4.9-2.4.10 (fokus på fram till och med 2.4.3)
- 6.3
Video:
F3 Slides: pdf (uppdaterad)
Kursvecka 3: Trädmodeller, Naive Bayes, Ensemblemetoder
F5 Trädmodeller, Slides: pdf (uppdaterad) kod
Läsning i ISL:
- 8.1
Läsning i (IDM)
- 2.4 Tanken är att ni kan komma tillbaka hit vid behov under kursens gång
- 3.1-3.8 Teori om beslutsträd, men även om modellval, korsvalidering mm
- Notera att kaptiel 3 finns som sample chapter
R-paketet: rpart
Videor:
- Decision Trees
- Hunts Algorithm
- Decision Trees (Solved Problem) (räkneexempel)
- Generalization Error
- Gradient Descent, Step-by-Step
F6 Naive Bayes, Ensemblemetoder, Slides: pdf (uppdaterad)
Läsning i ISL:
- 2.2.3 The Classification Setting (The Bayes Classifier)
- 5.2 The Bootstrap
- 8.2 Bagging, Random Forests, Boosting
Läsning i IDM
- 6.1
- 6.4
- 6.10
Videor:
- Naive Bayes Classifier
- Naive Bayes Classification (Solved Problem)
- Ensemble Methods
- Bagging (Bootstrap Aggregation)
- Random Forest
- Bootstrap Classifier Evaluation
- Hyperparameter
Kursvecka 4: Neurala Nätverk 1
Teori
Notera att det inte är någon föreläsning i början av denna kursvecka. Ni ska göra följande innan föreläsningen:
Introduktion till gradient descent: (ca 35 min)
Nedan följer några videor som ger en högnivå introduktion till neurala nätverk: (ca 60 min)
- But what is a Neural Network?
- Gradient descent, how neural networks learn
- What is backpropagation really doing?
- Backpropagation calculus
Läsning i ISL:
- 10 intro, 10.1-10.2
- 10.7 intro, 10.7.1, 10.7.2, 10.7.4
- 10.8 Interpolation and Double Descent
Läsning i IDM
- 6.7 till 6.8.2
På tensorflow playground kan ni testa interaktivt hur olika modeller fungerar, testa att ändra olika inställningar och tryck sen på "run".
Här finns ett enkelt räkneexempel på hur ett neuralt nätverk (MLP) beräknar anpassade värden: länk
På onsdagen den 11/9 kommer jag hålla i en föreläsning, och då kommer jag utgå från att ni har gått igenom ovanstående material.
Labb
Installera keras på egen dator: Vi kommer att använda keras i Rstudio för att skatta olika neurala nätverk. Följ instruktioner här (ISL) och här (posit). Det kan lite tid att få allt att fungera, så börja installera så snart som möjligt.
D4: pdf (uppdaterad)
CHEAT SHEET for Keras Utvärdering vid klassificering kan göras med funktionen class_evaluation_keras().
Kursvecka 5: Neurala Nätverk 2
Denna vecka kommer vi fortsätta med neurala nätverk, och kolla närmare på:
- Optimieringen
- Regularisering
- Faltade nätverk (Convolutional neural network)
- Autoencoders
Se dessa videor om optimering:
Se dessa videor om regularisering:
- Overfitting in a Neural Network explained
- Regularization in a Neural Network explained
- Deep Neural Network Regularization - Part 1
- Why Regularization Reduces Overfitting
- Dropout Regularization
- Other Regularization Methods
Batch normalization:
- Normalizing Activations in a Network
- Fitting Batch Norm Into Neural Networks
- Why Does Batch Norm Work?
Autoencoders:
Läsning i ISL
- 10.3
- 10.7.2, 10.7.4
Läsning i Data Mining and Machine Learning: Fundamental Concepts and Algorithms, länk till kapitel 26
26.4 Regularization
26.3 Convolutional Neural Networks:
- Ni behöver inte ha koll på alla matematiska detaljer här
- Fokusera på koncepten: Kolla på exemplen och figurerna
Faltade nätverk: läs här
F8 Slides: pdf (uppdaterad)
D5: pdf (uppdaterad)
CHEAT SHEET for Keras Utvärdering vid klassificering kan göras med funktionen class_evaluation_keras().
Kursvecka 6: Klusteranalys
Läsning i ISL:
- 12.1 The Challenge of Unsupervised Learning
- 12.4 Clustering Methods
Läsning i IDM
- 5.1
- 5.2
- 5.3
- 2.2.1-2.4.5, 2.4.9-2.4.10
- 5.4
- 5.5
- 8.1
Frivillig fördjupning:
- 12.2 Principal Components Analysis (ISL)
- 12.3 Missing Values and Matrix Completion (ISL)
F9 Slides: pdf (uppdaterad)
Kursvecka 7 och framåt: Projekt
Nu ska ni arbeta med projektet och förbereda er inför datortentan.
Projekt
Generella instruktioner finns här. Uppdaterad 2024.
Här finns råd/rekommendationer för datahatering och modellering: länk
I kursrummet på Lisam under Samarbetsyta finns det en Excel-fil där ni ska skriva in vilket dataset som er grupp har valt.
Utgå från denna mall för er rapport: (Notera att det finns instruktioner i denna mall)
Fler mallar som kan vara till hjälp:
Deadline för projektet finns här Ladda upp er pdf-fil på Samarbetsytan i kursrummet på Lisam innan dess. Seminariet med presentation och opponering är 2024-10-21. Efter opponeringen på seminariet ska ni komplettera er rapport, och den kompletterade rapporten ska lämnas in i en inlämning på Lisam.
Litteratur som ni kan ha nytta av under projektet:
- IDM: 2, 6.11, 10
- ISL: 13
Tenta
Tentan är en datortenta i SU-sal. Glöm inte att anmäla er!
Datum för tentor:
- Första tentan: 2024-10-29 kl 8 - 13
- Andra tentan: 2024-12-06 kl 8 - 13
- Tredje tentan: troligen april 2025
Internet kommer inte att vara tillgängligt på tentan.
Fysiska hjälpmedel
An Introduction to Statistical Learning with Applications in R av Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani, första eller andra upplagan
Introduction to Data Mining, av Pang-Ning Tan, Michael Steinbach, Anuj Karpatne och Vipin Kumar, första eller andra upplagan
Dessa böcker ska inte ha några anteckningar, får innehålla flärpar med följande begränsningar: max en flärp per sida och max fem ord på varje flärp. Flärpar ska endast användas som bokmärken och inte som anteckningar. Post-It-lappar får inte användas som flärpar.
Digitala hjälpmedel
Digitala hjälpmedel som kommer att finns i datortentasystemet:
- pdf med ISL
- Samling av koder, guider etc som används under kursen. Exakt lista med filer sätts närmare tentan.
- Dokumentationen som finns i Rstudio
Övrig information
Efter kursen
Mer info kommer.