Newer
Older
# Targeted audience
- Researchers from DBIOL, BSSE and DGESS having no machine learning experience yet.
- Basic Python knowledge.
- Almost no math knowledge.
# Concepts
- smooth learning curve
- explain fundamental concepts first, discuss exceptions, corner cases,
pitfalls late.
- plotting / pandas / numpy first. Else participants might be fight with these
basics during coding sessions and will be disctracted from the actual
learning goal of an exercise.
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
# Course structure
## Preparation
- setup machines
- quick basics matplotlib, numpy, pandas
## Part 1: Introduction
- Why machine learning ?
- What are features ?
- always numerical vectors
- examples: beer, movies, images, text
- unsupervised:
- find structure in set of features
- beers: find groups of beer types
### Coding session:
- read dataframe from csv or excel sheet with beer features
- do some features vs features scatter plots
- use tsne to show clusters
- scikit-learn example to find clusters
## Part 2: supervised learning
- supervised:
- classification: do I like this beer ?
example: draw decision tree
- classifiation: points on both sides of a line, points in circle, xor problem
- idea of decision function: take features, produce real value, use threshold to decide
- simple linear classifier
- show some examples for feature engineering here to apply linear classifier
- regression: how would I rate this movie ?
example: use weighted sum, also example for linear regresor
example: fit a quadratic function
### Coding session:
- show: read circle data, plot data, augment features, learn linear classifier with scikit-learn,
show weights and explain classifier, plot decision boundary
load eval data set and evaluate accuracy.
- adapt: read xor data, plot data, augment features, learn linear classifier with scikit-learn,
show weights and explain classifier, plot decision boundary
load eval data set and evaluate accuracy.
- learn regressor for movie scores.
## Part 3: accuracy, F1, ROC, ...
- how to measure accuracy ?
- regression accuracy
- classifier accuracy:
- confusion matrix
- pitfalls for unbalanced data sets
e.g. diagnose HIV
- precision / recall
- ROC ?
### Coding session
- evaluate accuracy of linear beer classifier
- determine precision / recall
- ROC curve based on threshold
- provide predetermined weights, show ROC curve.
## Part 4: underfitting/overfitting
classifiers / regressors have parameters / degrees of freedom.
- underfitting:
- linear classifier for points on a quadratic function
- overfitting:
- features have actual noise, or not enough information
not enough information: orchid example in 2d. elevate to 3d using another feature.
- polnome of degree 5 to fit points on a line + noise
- points in a circle: draw very exact boundary line
- how to check underfitting / overfitting ?
- measure accuracy
- test data set
- cross validation
### Coding session:
- How to do cross validation with scikit-learn
- use different beer feature set with redundant feature (+)
- run crossvalidation on classifier
- run crossvalidation on movie regression problem
## Part 5: Overview scikit-learn / algorithms
- Linear regressors
- Neighrest neighbours
- SVMs
- demo for RBF: different parameters influence on decision line
- Random forests
- Gradient Tree Boosting
- Clustering
### Coding session
- apply SVM, Random Forests, Gradient boosting to previous examples
- apply clustering to previous examples
- MNIST example
## Part 6: pipelines / cross val / parameter optimiation with scikit-learn
- Scicit learn api
- pipelines, preprocessing (scaler, PCA)
- cross validatioon
- parameter optimization
### Coding session
- build SVM and Random forest crossval pipelines for previous examples
- use PCA in pipeline for (+) to improve performance
- find optimal SVM parameters
- find optimal pca components number
## Part 7: Best practices
- visualize features: pairwise scatter, tSNE
- PCA to undertand data
- check balance of data set, what if not ?
- start with baseline classifier / regressor
- augment data to introduce variance
## Part 8: neural networks
- overview, history
- perceptron
- multi layer
- multi layer demoe with google online tool
- where neural networks work well
- keras demo
### Coding Session
- keras reuse network and play with it.