機械学習・データマイニングのツール紹介...
TRANSCRIPT
![Page 1: 機械学習・データマイニングのツール紹介 データベース的観点からasn/201501_sogo/201503... · 機械学習・データマイニングのツール紹介-データベース的観点から-2015](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5a64f4df10928f44967ef/html5/thumbnails/1.jpg)
機械学習・データマイニングのツール紹介-データベース的観点から-
2015年3月11日
川島英之
筑波大学システム情報系(計算科学研究センター)
![Page 2: 機械学習・データマイニングのツール紹介 データベース的観点からasn/201501_sogo/201503... · 機械学習・データマイニングのツール紹介-データベース的観点から-2015](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5a64f4df10928f44967ef/html5/thumbnails/2.jpg)
機械学習・データマイニング用語
RF R
Python
SVM
K-means
平均Hadoop
Mahout
PostgreSQL
MySQL
SciQL
SciDB
Weka
Esper
R+Bigmemory
K-最近傍法
libsvm
LDA
グループ
MADLib
Hivemall
TinySVM
DBN
AutoPlait
SQL
![Page 3: 機械学習・データマイニングのツール紹介 データベース的観点からasn/201501_sogo/201503... · 機械学習・データマイニングのツール紹介-データベース的観点から-2015](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5a64f4df10928f44967ef/html5/thumbnails/3.jpg)
分析複雑度とデータサイズ
データサイズ
分析複雑度
RFR
Python
SVM K-means
平均Hadoop
MahoutPostgreSQL
MySQL
SciQLSciDB
Weka
Esper
R+Bigmemory
K-最近傍法
TinySVM
LDA
グループ
MADLib Hivemalllibsvm
DBN
銀の弾丸
AutoPlait
SQL
Spark
とりあえず分析してみたい!
![Page 4: 機械学習・データマイニングのツール紹介 データベース的観点からasn/201501_sogo/201503... · 機械学習・データマイニングのツール紹介-データベース的観点から-2015](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5a64f4df10928f44967ef/html5/thumbnails/4.jpg)
リレーショナルDBMSデータは表!
データが沢山
SQLStructured
Query Language
標準化SQL:1992SQL:1999SQL:2003SQL:2008
…
![Page 5: 機械学習・データマイニングのツール紹介 データベース的観点からasn/201501_sogo/201503... · 機械学習・データマイニングのツール紹介-データベース的観点から-2015](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5a64f4df10928f44967ef/html5/thumbnails/5.jpg)
問合せ言語:SQL-- パケットを題材として --
• 全てのパケットを得る– SELECT * FROM packet;
• srcipの情報を全てのパケットから得る– SELECT srcip FROM packet;
• HTTPアクセス(port 80)に関するパケットだけを表示– SELECT * FROM packet WHERE dstport = 80;
• HTTPアクセスに関するパケットの件数を表示– SELECT COUNT(*) FROM packet WHERE dstport = 80;
• dstip毎のパケット件数を表示– SELECT dstip, COUNT(*) FROM packet GROUP BY dstip;
![Page 6: 機械学習・データマイニングのツール紹介 データベース的観点からasn/201501_sogo/201503... · 機械学習・データマイニングのツール紹介-データベース的観点から-2015](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5a64f4df10928f44967ef/html5/thumbnails/6.jpg)
分析複雑度とデータサイズ
データサイズ
分析複雑度
RFR
Python
SVM K-means
平均
PostgreSQL
MySQL
SciQLSciDB
WekaR+Bigmemory
K-最近傍法
TinySVM
LDA
グループ
MADLib Hivemalllibsvm
DBN
銀の弾丸
AutoPlait
SQL
Spark
Hadoop
MahoutEsper
![Page 7: 機械学習・データマイニングのツール紹介 データベース的観点からasn/201501_sogo/201503... · 機械学習・データマイニングのツール紹介-データベース的観点から-2015](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5a64f4df10928f44967ef/html5/thumbnails/7.jpg)
近傍検索
SELECT R.id, S.id FROM R, SWHERE (R.x – S.x)2 + (R.y – S.y)2 < threshold;
O x
y
![Page 8: 機械学習・データマイニングのツール紹介 データベース的観点からasn/201501_sogo/201503... · 機械学習・データマイニングのツール紹介-データベース的観点から-2015](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5a64f4df10928f44967ef/html5/thumbnails/8.jpg)
アルゴリズム
1万件,100万件ではどの程度かかる?
𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝐹𝐹 𝐹𝐹 ∈ 𝑅𝑅 {𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝐹𝐹 𝑠𝑠 ∈ 𝑆𝑆 {
𝐼𝐼𝐼𝐼(𝐹𝐹 𝑚𝑚𝐹𝐹𝑡𝑡𝐹𝐹𝐹𝐹𝐹𝑠𝑠 𝑠𝑠)𝐴𝐴𝐴𝐴𝐴𝐴{𝐹𝐹, 𝑠𝑠}}}
![Page 9: 機械学習・データマイニングのツール紹介 データベース的観点からasn/201501_sogo/201503... · 機械学習・データマイニングのツール紹介-データベース的観点から-2015](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5a64f4df10928f44967ef/html5/thumbnails/9.jpg)
Query plan of PostgreSQL
Nested Loop (cost=23757.00..43907042607.00 rows=333333333333 width=16)
Join Filter: ((((a.x - b.x) * (a.x - b.x)) + ((a.y - b.y) * (a.y - b.y))) < 0)-> Seq Scan on loc a (cost=0.00..18850.00 rows=1000000 width=8)-> Materialize (cost=23757.00..37664.00 rows=1000000 width=8)
-> Seq Scan on loc b (cost=0.00..18850.00 rows=1000000 width=8)
今朝の 5時ごろにクエリをサブミット
まだ終わりません
こんなときには自作あるのみ…
![Page 10: 機械学習・データマイニングのツール紹介 データベース的観点からasn/201501_sogo/201503... · 機械学習・データマイニングのツール紹介-データベース的観点から-2015](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5a64f4df10928f44967ef/html5/thumbnails/10.jpg)
分析複雑度とデータサイズ
データサイズ
分析複雑度
RFR
Python
SVM K-means
平均
PostgreSQL
MySQL
SciQLSciDB
WekaR+Bigmemory
K-最近傍法
TinySVM
LDA
グループ
MADLib Hivemalllibsvm
DBN
銀の弾丸
AutoPlait
SQL
Spark
Hadoop
MahoutEsper
深く分析してみたい!
![Page 11: 機械学習・データマイニングのツール紹介 データベース的観点からasn/201501_sogo/201503... · 機械学習・データマイニングのツール紹介-データベース的観点から-2015](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5a64f4df10928f44967ef/html5/thumbnails/11.jpg)
R
• 古くから存在するプログラミング言語・環境
• 豊富なパッケージ• 決定木, k-means, random forest, SVM, deep learning…
• 大規模データ対応• Bigmemory, biganalytics
• 豊富なユーザ情報
![Page 12: 機械学習・データマイニングのツール紹介 データベース的観点からasn/201501_sogo/201503... · 機械学習・データマイニングのツール紹介-データベース的観点から-2015](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5a64f4df10928f44967ef/html5/thumbnails/12.jpg)
動物の分類
library("MASS")data("Animals")
animals.cluster <- kmeans(x=Animals, centers=5)
K-meansによる分類
データ読み込み
Animal Body BrainMountain beaver 1.35 8.1
Cow 465 423Grey Wolf 36.33 119.5
Goat 27.66 115Guinea pig 1.04 5.5Dipliodocus 11700 50
Asian elephant 2547 4603Donkey 187.1 419Horse 521 655
分類数
![Page 13: 機械学習・データマイニングのツール紹介 データベース的観点からasn/201501_sogo/201503... · 機械学習・データマイニングのツール紹介-データベース的観点から-2015](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5a64f4df10928f44967ef/html5/thumbnails/13.jpg)
分析複雑度とデータサイズ
データサイズ
分析複雑度
RFR
Python
SVM K-means
平均
PostgreSQL
MySQL
SciQLSciDB
WekaR+Bigmemory
K-最近傍法
TinySVM
LDA
グループ
MADLib Hivemalllibsvm
DBN
銀の弾丸
AutoPlait
SQL
Spark
Hadoop
MahoutEsper
C/Java等から呼び出したい!
![Page 14: 機械学習・データマイニングのツール紹介 データベース的観点からasn/201501_sogo/201503... · 機械学習・データマイニングのツール紹介-データベース的観点から-2015](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5a64f4df10928f44967ef/html5/thumbnails/14.jpg)
Support Vector Machine (SVM)
SVM 2クラス分類問題を扱う
画像認識,音声認識,etc. マージン最大化
⇒汎化能力が高い
学習
ベクトルとクラスの組を学習データとして与える
気圧配置ごとに分類器を作る
マージン
識別境界
冬型クラス
非冬型クラス
サポートベクトル
: ベクトル
Hiroki Kimura, Hideyuki Kawashima, Hiroyuki Kusaka, Hiroyuki Kitagawa:Applying a Machine Learning Technique to Classification of Japanese Pressure Patterns. Data Science Journal, 2009. 14
![Page 15: 機械学習・データマイニングのツール紹介 データベース的観点からasn/201501_sogo/201503... · 機械学習・データマイニングのツール紹介-データベース的観点から-2015](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5a64f4df10928f44967ef/html5/thumbnails/15.jpg)
データのベクトル化
・ ・ ・ ・ ・ ・・ ・ ・
1016.2 1016.8 1017.3 1017.8 ・・・ ・・・ ・・・
1019.1 1019.7 1020.1 1020.8 ・・・ ・・・ ・・・
1021.9 1022.8 1023.4 1023.9 ・・・ ・・・ ・・・
1023.2 1024.6 1025.7 1026.4 ・・・ ・・・ ・・・
1023.4 1025.2 1026.7 1027.7 ・・・ ・・・ ・・・
1023.9 1026 1027.7 1028.8 ・・・ ・・・ ・・・
1025.2 1027.4 1029.3 1030.6 ・・・ ・・・ ・・・
1027.4 1029.8 1031.6 1032.6 ・・・ ・・・ ・・・
1030 1032.4 1034.1 1034.3 ・・・ ・・・ ・・・
1031.5 1033.5 1034.9 1035 ・・・ ・・・ ・・・
・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・
・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・
・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・
1019.1 1019.7 1020.1 1020.8 ・・・ ・・・ ・・・ 1021.9 1022.8 1023.4 1023.9 ・・・ ・・・ ・・・ ・ ・ ・ ・ ・ ・
1件のデータ
1×2109(2109次元ベクトル)
SVMで扱うために,1件のデータを2109次元ベクトルに変換
可視化したもの
37×57=2109点
15
![Page 16: 機械学習・データマイニングのツール紹介 データベース的観点からasn/201501_sogo/201503... · 機械学習・データマイニングのツール紹介-データベース的観点から-2015](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5a64f4df10928f44967ef/html5/thumbnails/16.jpg)
実験
実験用データ
1981~2000年の20年分の気圧データ(前線型は相当温位データ)
学習: 1981~1990年 ⇒ テスト: 1991~2000年学習: 1991~2000年 ⇒ テスト: 1981~1990年
次元を削減したベクトルを用いて,気圧配置ごとに20通りの実験
TinySVM(SVMのツール)を利用
http://chasen.org/~taku/software/TinySVM/16
![Page 17: 機械学習・データマイニングのツール紹介 データベース的観点からasn/201501_sogo/201503... · 機械学習・データマイニングのツール紹介-データベース的観点から-2015](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5a64f4df10928f44967ef/html5/thumbnails/17.jpg)
分析複雑度とデータサイズ
データサイズ
分析複雑度
RFR
Python
SVM K-means
平均Hadoop
MahoutPostgreSQL
MySQL
SciQLSciDB
Weka
Esper
R+Bigmemory
K-最近傍法
TinySVM
LDA
グループ
MADLib Hivemalllibsvm
DBN
銀の弾丸
AutoPlait
SQL
Spark
すぐに結果がほしい!
![Page 18: 機械学習・データマイニングのツール紹介 データベース的観点からasn/201501_sogo/201503... · 機械学習・データマイニングのツール紹介-データベース的観点から-2015](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5a64f4df10928f44967ef/html5/thumbnails/18.jpg)
Example Query on DSMS
• #Access for each port ? [1]• Group by aggregates
SELECT dst_port, COUNT(dst_port)
FROM pkt[1 sec]GROUP BY dst_port
g-pkt
src_ip
dst_ip
src_port
dst_port
seq_no
packet_size
timestamp
protocol
ack
fin
syn
urg
push
reset
content
22: 280: 215: 1
22
NIC
80 15 80 22
1 second
[1] “Enabling Real Time Data Analysis”, DiveshSrivastava (AT&T Labs), et, al. Keynote talk, VLDB 2010. (a similar query is found in pp.15 of talk slide)
18
![Page 19: 機械学習・データマイニングのツール紹介 データベース的観点からasn/201501_sogo/201503... · 機械学習・データマイニングのツール紹介-データベース的観点から-2015](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5a64f4df10928f44967ef/html5/thumbnails/19.jpg)
まとめ
データサイズ
RFR
Python
SVM K-means
平均Hadoop
MahoutPostgreSQL
MySQL
SciQLSciDB
Weka
Esper
R+Bigmemory
K-最近傍法
TinySVM
LDA
グループ
MADLib Hivemalllibsvm
DBN
自作AutoPlait
SQL
Spark1
1
1 2
3
4