Boosting Research with Machine Learning Franziska Oschmann Scientific - - PowerPoint PPT Presentation

boosting research with machine learning
SMART_READER_LITE
LIVE PREVIEW

Boosting Research with Machine Learning Franziska Oschmann Scientific - - PowerPoint PPT Presentation

Boosting Research with Machine Learning Franziska Oschmann Scientific IT Services, ETH 10th of July, 2019 Scientific IT Services Examples for ML in research Examples for ML in research Discovery and characterisation of new particles


slide-1
SLIDE 1

Scientific IT Services

Boosting Research with Machine Learning

Franziska Oschmann Scientific IT Services, ETH 10th of July, 2019

slide-2
SLIDE 2

Examples for ML in research

slide-3
SLIDE 3

Examples for ML in research

Discovery and characterisation

  • f new particles

https://home.cern/

slide-4
SLIDE 4

Examples for ML in research

Prediction of epileptic seizures

https://medicalxpress.com

slide-5
SLIDE 5

Examples for ML in research

Characterisation

  • f cancer regions

https://camelyon16.grand-challenge.org

slide-6
SLIDE 6

Examples for ML in research

slide-7
SLIDE 7

Applications of ML in research:

  • Uncover hidden patterns in

data

  • Automatisation of time-

consuming processes Examples for ML in research

slide-8
SLIDE 8

Examples for ML in research Applications of ML in research:

  • Uncover hidden patterns in

data

  • Automatisation of time-

consuming processes

slide-9
SLIDE 9

How to apply ML in research?

slide-10
SLIDE 10

1 1 . . .

Prediction Data

x Y

Preprocessing Model

How to apply ML in research?

scipy pandas

keras scikit-learn

slide-11
SLIDE 11

from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score from my_helper import data, preprocess ## Load data X = data.data y = data.target ## Preprocessing of data X_proc = preprocess(X) ## Split into training and validation set X_train, X_val, y_train, y_val = train_test_split( X_stand, y, test_size=0.33) ## Model lr = LogisticRegression() lr.fit(X_train, y_train) y_pred = lr.predict(X_val) print(accuracy_score(y_val, y_pred))

Data Preprocessing Model Prediction

How to apply ML in research?

slide-12
SLIDE 12

Use case 1: EEG signal detection

slide-13
SLIDE 13

Luciw et al., Nature, 2014

Experimental setup Hand movement

Use case 1: Experimental setup

slide-14
SLIDE 14

Recording Recording

Use case 1: Preprocessing

slide-15
SLIDE 15

Recording Recording

Use case 1: Preprocessing

slide-16
SLIDE 16

Sliding window Recording

Use case 1: Preprocessing

slide-17
SLIDE 17

Sliding window Recording

Use case 1: Preprocessing

slide-18
SLIDE 18

Low-pass filter Sliding window

Use case 1: Preprocessing

slide-19
SLIDE 19

Low-pass filter Power

Use case 1: Preprocessing

slide-20
SLIDE 20

Low-pass filter Average Power

Use case 1: Preprocessing

slide-21
SLIDE 21

lda = LDA() rf = RandomForestClassifier(class_weight = 'balanced') lr = LogisticRegression(class_weight = 'balanced') eclf = VotingClassifier(estimators=[('lda', lda), ('rf', rf), ('lr', lr)], voting = 'soft', weights=[1,1,1]) eclf.fit(X_train, y_train) y_pred = eclf.predict(X_test)

Model Prediction

Use case 1: Model

slide-22
SLIDE 22
  • 70% of the events were

correctly predicted

  • hardly any false alarm

confusion matrix

Predicted: No Predicted: Yes Actual: No 456263 113 Actual: Yes 3833 9016

Use case 1: Prediction

  • bserved event

predicted event

slide-23
SLIDE 23

confusion matrix

Predicted: No Predicted: Yes Actual: No 456263 113 Actual: Yes 3833 9016

  • 70% of the events were

correctly predicted

  • hardly any false alarm

Use case 1: Prediction

  • bserved event

predicted event

slide-24
SLIDE 24

Use case 1: Summary Classic ML model provides:

  • a reasonably good prediction
  • deeper insight into data due to interpretable models
  • computational low costs (training: ~30m on single CPU)
slide-25
SLIDE 25

Use case 2: Segmentation

slide-26
SLIDE 26

Raw image Segmentation Automatic detection

Data acquired by: Graham Knott and Marco Cantoni at EPFL

Use case 2: Data

done by hand

?

slide-27
SLIDE 27

Input Hidden layer 1 Hidden layer 2 Output from keras.models import Model from keras.layers import Input, Dense inp = Input(shape=(3,)) hidden_1 = Dense(4)(inp) hidden_2 = Dense(4)(hidden_1)

  • utp = Dense(1)(hidden_2)

model = Model(inputs=inp, outputs=outp)

Neural Network Implementation

Use case 2: Model

slide-28
SLIDE 28

from my_models import unet

model = unet() model.fit(X_train, y_train) results = model.predict(X_test)

U-Net Implementation

Ronneberger et al, MICCAI 2015

Use case 2: Model

  • Downstream branch: ‘what’-information
  • Upstream branch: ‘where’-information
slide-29
SLIDE 29

Raw image Prediction

Use case 2: Prediction

Ground truth

slide-30
SLIDE 30

Use case 2: Summary

Deep learning model provides:

  • automatisation of time-consuming process
  • recognition of patterns in complex dataset
  • no interpretability of model
  • computationally heavy solution

(Training: ~2h runtime on single GPU/~2d on single CPU)

slide-31
SLIDE 31

Summary

Machine Learning in research:

  • uncover hidden patterns in data
  • interpretable models allow further insight
  • automatisation of time-consuming processes
slide-32
SLIDE 32

Thank you for your attention!