Recommended
PPTX
Pythonとdeep learningで手書き文字認識
PPTX
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
PDF
PDF
KEY
PDF
KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter
PDF
PDF
Pythonによる機械学習入門 ~Deep Learningに挑戦~
PDF
LCCC2010:Learning on Cores, Clusters and Cloudsの解説
PDF
PDF
PDF
PPT
17ゼロから作るディープラーニング2章パーセプトロン
PDF
2013.07.15 はじパタlt scikit-learnで始める機械学習
PDF
PDF
Practical recommendations for gradient-based training of deep architectures
PDF
2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用
PDF
SVM実践ガイド (A Practical Guide to Support Vector Classification)
PDF
PDF
Chainer の Trainer 解説と NStepLSTM について
PDF
PPTX
PDF
「深層学習」勉強会LT資料 "Chainer使ってみた"
PDF
PDF
深層学習フレームワーク Chainer の開発と今後の展開
PDF
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
PDF
Introduction to Chainer (LL Ring Recursive)
PDF
PDF
機械学習チュートリアル@Jubatus Casual Talks
PPTX
More Related Content
PPTX
Pythonとdeep learningで手書き文字認識
PPTX
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
PDF
PDF
KEY
PDF
KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter
PDF
PDF
Pythonによる機械学習入門 ~Deep Learningに挑戦~
What's hot
PDF
LCCC2010:Learning on Cores, Clusters and Cloudsの解説
PDF
PDF
PDF
PPT
17ゼロから作るディープラーニング2章パーセプトロン
PDF
2013.07.15 はじパタlt scikit-learnで始める機械学習
PDF
PDF
Practical recommendations for gradient-based training of deep architectures
PDF
2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用
PDF
SVM実践ガイド (A Practical Guide to Support Vector Classification)
PDF
PDF
Chainer の Trainer 解説と NStepLSTM について
PDF
PPTX
PDF
「深層学習」勉強会LT資料 "Chainer使ってみた"
PDF
PDF
深層学習フレームワーク Chainer の開発と今後の展開
PDF
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
PDF
Introduction to Chainer (LL Ring Recursive)
PDF
Viewers also liked
PDF
機械学習チュートリアル@Jubatus Casual Talks
PPTX
PDF
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
PDF
PDF
PDF
トピックモデルを用いた 潜在ファッション嗜好の推定
PDF
PDF
PPTX
PDF
ロジスティック回帰の考え方・使い方 - TokyoR #33
PDF
PDF
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
PDF
PDF
scikit-learnを用いた機械学習チュートリアル
PDF
PDF
Chainerチュートリアル -v1.5向け- ViEW2015
PDF
TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)
PDF
Deep Learningと画像認識 ~歴史・理論・実践~
PDF
PDF
Similar to Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
PDF
PDF
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
PDF
PDF
PDF
PDF
PDF
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
PDF
Jubatusにおける大規模分散オンライン機械学習
PDF
PDF
PDF
Pythonによる機械学習入門 ~SVMからDeep Learningまで~
PDF
PDF
Math in Machine Learning / PCA and SVD with Applications
PPTX
PPTX
PDF
PDF
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
PDF
数式を使わない機械学習超入門 〜Support Vector Machine 解説編〜
PDF
PDF
PRML 4.1 Discriminant Function
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. サポートベクターマシン (SVM) とは?
• 教師あり学習 (入力例を与える)
• さっきの例では & が学習データ
未知の を分類する
• マージン最大化学習を行う2値分類器
• 分離超平面を決定する
• 線形分類器 (真っ直ぐなものしか切れない)
だったのだが…
17
18. 19. 20. 21. 22. 23. カーネル関数の例
• 線形
(Linear)
• 多項式
(Polynomial)
• RBF: “Gaussian”
(Radial Basis Function)
• シグモイド(Sigmoid)
K( ix , jx ) = i
T
x jx
K( ix , jx ) = exp(−γ i
T
x − jx
2
)
K( ix , jx ) = (γ i
T
x jx +r)d
(γ > 0)
(γ > 0)
K( ix , jx ) = tanh(γ i
T
x jx +r)
基本的に普段使うのは 線形カーネル と、
非線形の RBFカーネル ぐらい。RBF の名前だけは覚えておこう。
23
24. 25. 26. R で使える SVM のライブラリ
• e1071
• Libsvm のアルゴリズム(Chang and Lin, 2001)を
利用することができる。視覚化やパラメーター調整などを
行なえる(Dimitriadou et al., 2005)。
• kernlab
• カーネル法に基づく SVM アルゴリズムを利用できる。
そのほかに、libsvm や bsvm (Hsu and Lin, 2002) を
改良した柔軟性のある SVM を提供している。
• klaR
• SVMlight アルゴリズムを利用できる。
26
27. 28. 29. 30. 1. データの整形
• 学習用データ
• 「素性ベクトル」 と 「正解ラベル」 のペア
• 本番用のデータ
• 学習用に使用した素性ベクトルと
同じ要素数からなる素性ベクトル
v1: [ [0.50, 0.33, -0.21],
[0.12, 0.98, 1.34],
… ]
l: [ 1,
-1,
… ]
v2: [ [0.23, 0.55, -0.19],
[0.10, 0.24, 0.78],
… ]
O: [ 1,
-1,
… ]
システムの出力
30
31. 2. 素性の選択(1)
• 数値データ
• そのまま使用 [10.0, 2.5, 6.4, -8.2]
• 範囲ごとに分割 [10, 0, 5, -10]
• バイナリ化 [1, 1, 1, 0]
• テキストデータ
• 単語の出現回数 (n-gram)
• 品詞情報 等を数値化
• 画像・音声データ
• 元データをそのまま行列からベクトルに
• フィルタリング
• 圧縮して単純化
• フーリエ変換・ウェーブレット変換 等
31
32. 2. 素性の選択(2)
• 次元の呪い (curse of dimensionality)
• 超高次元になるとモデルが複雑に
• 学習データが不足する。
• 球面集中現象
• 次元の増加に伴って各データ間の距離が
互いに等しくなる。
• まとめられるものはまとめる ⇒ 特徴選択・次元削減
Ex. 単語の出現回数 ⇒ 類語をまとめてカウント
32
33. 34. 35. 36. 5.1 交差検定
• 訓練データとテストデータの分割方法
1 2 3 4 5 全データをk個に分割
1
2 3 4 5
テストデータ
訓練データ 1 2 3 4
5
〜
• k 回試行してその平均を利用
• テストデータは常に未知のデータ
⇒ 過剰適応 (Over fitting) を防げる。
テストデータ
訓練データ
36
37. 38. 39. 40. 41. 用意したデータ
• データ数
• 学習 & チューニング用データ
• 眼鏡っ娘画像: 75枚 他: 75枚
計150枚
• テスト用データ (作成した分類器の動作確認用)
• 眼鏡っ娘画像: 3枚 他: 3枚
計 6枚
• 内容
• ネットで拾ったアニメのキャプ画。
• 主に人物単体写ってるもの
• 基本顔がはっきりとわかるもの。
41
42. biOps ライブラリ で画像を加工
42
1. 元画像 2. グレースケール変換
3. エッジ検出 4. ダウンサイジング (48x27)
要素 (次元) 数 1296 の 素性ベクトル
(眼鏡:75 個 Not: 75 個 計150個)
5.
0〜1に
なるよう
正規化
imgRGB2Grey()
imgCanny()
imgAverageShrink()
vec / 255
43. 動作確認
• SVMは R の e1071 ライブラリを利用。
• RBFカーネル & デフォルトパラメータで試行。
• 交差検定は 分割数 = 学習データ数
とする Leave-one-out 法 を用いる。
• 今回の場合149個学習させて残り1個を分類
結果やいかに?
43
44. 45. 46. 47. 48. 49. 参考文献
・SVM実践ガイド (A Practical Guide to Support Vector Classification)
http://d.hatena.ne.jp/sleepy_yoshi/20120624/p1
・カーネル法
http://www.eb.waseda.ac.jp/murata/research/kernel
・TAKASHI ISHIDA HomePage SVM
http://www.bi.a.u-tokyo.ac.jp/~tak/svm.html
・バイオインフォマティクス Rで行うSVM解析, e1071, kernlab, klaR パッケージの使い方
http://bi.biopapyrus.net/compute/r-svm.html
・眼鏡っ娘分類器 サンプルコード
(学習データを含んでいないので、そのまま実行はできない)
https://github.com/Salinger/glasses_classifier/blob/master/glasses_classifier.R
49
50. 51. 52. 53. カーネル関数の決定(3)
1. 事例数 << 素性数 の場合
• 素性が高次元なので写像する必要がない
• 線形カーネルを使うべき
2. 事例数 >> 素性数 の場合
• 非線形カーネルを利用して高次元に写像すべき
3. 事例数も素性数も大きい 場合
• 学習に時間がかかる。LIBSVMが苦手なケース
• 線形カーネル & LIBLINEARの利用を検討
53