JuliaTokyo LT JuliaDeSVM.jl (KokoroUEKI@uk24s)

14
Julia SVM Dawn of Julia... 1 / 14

Transcript of JuliaTokyo LT JuliaDeSVM.jl (KokoroUEKI@uk24s)

Julia SVM

Dawn of Julia...

1 / 14

Self-Introduction

Name

(UEKI Kokoro)  twitter @uk24s

Biography

1991       Born in Fukui pref.

2014       B.Agr. in The Univ. of Tokyo

Present  Grad Sch. of Agr., The Univ. of Tokyo

2 / 14

Self-Introduction

My Julia Supervisor

( ω ) @bicycle1885

3 / 14

Self-Introduction

Research Interests

Julia

Machine Learning

Protein-ligand interaction

4 / 14

SVM packages in Julia

Already exist...

5 / 14

SVM packages in Julia

SVM.jl

John Myles White

linear SVM

Native Julia

Already Dead... (New!)

6 / 14

SVM packages in Julia

LIBSVM.jl

Simon Kornblith

LIBSVM

NOT Native Julia

7 / 14

Write Non-linear SVM in Julia!

Walk into Julia World...

8 / 14

JuliaDeSVM.jl

Algorithm

Sequential Minimal Optimization (SMO)

9 / 14

JuliaDeSVM.jl

How To Use

Hard code your data in the main function.

function main()# Training sample preparation. # Please, hard code your data into the following matrix.# Enjoy your life with Julia...

X = [1 1; -1 -1; 0.5 0.5; 0.5 -0.5; -0.5 0.5; -0.1 -0.1] y = [1, 1, 1 -1, -1, -1]

.

.

.end

10 / 14

JuliaDeSVM.jl

About 150 lines for SMO

# Optimization rootine

numChanged = 0

examineAll = truewhile numChanged > 0 || examineAll numChanged = 0

if examineAll for i in 1:CONST.sampleSize numChanged += examineExample(params, y, G, errorCache, i, CONST)

end else for i in 1:CONST.sampleSize if α[i] > 0 && α[i] < CONST.C numChanged += examineExample(params, y, G, errorCache, i, CONST)

end end end if examineAll examineAll = false elseif numChanged == 0

examineAll = true endend

11 / 14

Demo

Julia, I'm asking seriously.Will you work late for me from today?

Demo source is here https://github.com/clclcocoro/JuliaDeSVM.jl

12 / 14

Demo

13 / 14

Demo

14 / 14