Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Satoshi imai
2,435 views
Lisp meetup #29 cl-online-learningの紹介
Lisp meetup #29 cl-online-learningの紹介
Software
◦
Read more
2
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 20
2
/ 20
3
/ 20
4
/ 20
5
/ 20
6
/ 20
7
/ 20
8
/ 20
9
/ 20
10
/ 20
11
/ 20
12
/ 20
13
/ 20
14
/ 20
15
/ 20
16
/ 20
17
/ 20
18
/ 20
19
/ 20
20
/ 20
More Related Content
PDF
Lispmeetup #45 Common Lispで音声合成
by
Satoshi imai
PDF
Lispmeetup #39 MGLの紹介: Common Lispによるディープラーニング
by
Satoshi imai
PDF
明日使える超高速Ruby - RXbyak (Mitaka.rb #5)
by
Shuyo Nakatani
PDF
High performance python computing for data science
by
Takami Sato
PDF
CVPR2015読み会 "Joint Tracking and Segmentation of Multiple Targets"
by
Yuki Nagai
PPTX
Real world lisp
by
秀俊 伊藤
PDF
numpyの魅力
by
__106__
PDF
Introduction to Chainer and CuPy
by
Kenta Oono
Lispmeetup #45 Common Lispで音声合成
by
Satoshi imai
Lispmeetup #39 MGLの紹介: Common Lispによるディープラーニング
by
Satoshi imai
明日使える超高速Ruby - RXbyak (Mitaka.rb #5)
by
Shuyo Nakatani
High performance python computing for data science
by
Takami Sato
CVPR2015読み会 "Joint Tracking and Segmentation of Multiple Targets"
by
Yuki Nagai
Real world lisp
by
秀俊 伊藤
numpyの魅力
by
__106__
Introduction to Chainer and CuPy
by
Kenta Oono
What's hot
PDF
PythonistaがOCamlを実用する方法
by
Yosuke Onoue
PDF
TensorFlow XLA とハードウェア
by
Mr. Vengineer
PDF
二階堂愛と二階堂藍の違いについて
by
show you
PDF
深層学習フレームワークChainerとその進化
by
Yuya Unno
PDF
PyCharm入門
by
Yuki Nagai
PPTX
C++のビルド高速化について
by
AimingStudy
PPTX
My code
by
俊 中村
ODP
M1 gp
by
亮介 小林
PDF
Rubyで実はwritev(2) が使われているはなし
by
Masaki Matsushita
PPTX
クリスマス?
by
sasenomura
PDF
[DL Hacks]tensorflow/privacy Task-Embedded Control Networks for Few-Shot Imit...
by
Deep Learning JP
PDF
Tcl/Tkクイック入門
by
nyaocat
PDF
PARI/GPの話 @ Ph/shh/bin CTF勉強会LT
by
__ytoku
PDF
時を超えた JavaScript の道
by
Teppei Sato
PDF
2012 12 08_ngk_osm_a
by
Tom Hayakawa
PDF
論文紹介 "DARTS: Differentiable Architecture Search"
by
Yuta Koreeda
PDF
Numpy scipy matplotlibの紹介
by
Tatsuro Yasukawa
PDF
CMSI計算科学技術特論A(9) 高速化チューニングとその関連技術2
by
Computational Materials Science Initiative
PDF
Autopilot google kubernetes engineでargo workflowsを動かす
by
shouta yoshikai
KEY
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
by
Yosuke Onoue
PythonistaがOCamlを実用する方法
by
Yosuke Onoue
TensorFlow XLA とハードウェア
by
Mr. Vengineer
二階堂愛と二階堂藍の違いについて
by
show you
深層学習フレームワークChainerとその進化
by
Yuya Unno
PyCharm入門
by
Yuki Nagai
C++のビルド高速化について
by
AimingStudy
My code
by
俊 中村
M1 gp
by
亮介 小林
Rubyで実はwritev(2) が使われているはなし
by
Masaki Matsushita
クリスマス?
by
sasenomura
[DL Hacks]tensorflow/privacy Task-Embedded Control Networks for Few-Shot Imit...
by
Deep Learning JP
Tcl/Tkクイック入門
by
nyaocat
PARI/GPの話 @ Ph/shh/bin CTF勉強会LT
by
__ytoku
時を超えた JavaScript の道
by
Teppei Sato
2012 12 08_ngk_osm_a
by
Tom Hayakawa
論文紹介 "DARTS: Differentiable Architecture Search"
by
Yuta Koreeda
Numpy scipy matplotlibの紹介
by
Tatsuro Yasukawa
CMSI計算科学技術特論A(9) 高速化チューニングとその関連技術2
by
Computational Materials Science Initiative
Autopilot google kubernetes engineでargo workflowsを動かす
by
shouta yoshikai
PyOpenCLによるGPGPU入門 Tokyo.SciPy#4 編
by
Yosuke Onoue
Similar to Lisp meetup #29 cl-online-learningの紹介
PDF
Introduction to document classification 2014
by
Hiroyuki TOKUNAGA
PDF
LCCC2010:Learning on Cores, Clusters and Cloudsの解説
by
Preferred Networks
PDF
Lispmeetup48 cl-online-learningによる文書分類
by
Satoshi imai
PDF
クラシックな機械学習の入門 7. オンライン学習
by
Hiroshi Nakagawa
PDF
PRML_titech 8.1 - 8.2
by
Takafumi Sakakibara
PDF
PRML復々習レーン#10 7.1.3-7.1.5
by
sleepy_yoshi
PDF
[第2版] Python機械学習プログラミング 第3章(5節~)
by
Haruki Eguchi
PDF
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
by
Preferred Networks
PDF
機械学習の理論と実践
by
Preferred Networks
PDF
Hands on-ml section1-1st-half-20210317
by
Nagi Kataoka
PDF
Jubatusにおける大規模分散オンライン機械学習
by
Preferred Networks
Introduction to document classification 2014
by
Hiroyuki TOKUNAGA
LCCC2010:Learning on Cores, Clusters and Cloudsの解説
by
Preferred Networks
Lispmeetup48 cl-online-learningによる文書分類
by
Satoshi imai
クラシックな機械学習の入門 7. オンライン学習
by
Hiroshi Nakagawa
PRML_titech 8.1 - 8.2
by
Takafumi Sakakibara
PRML復々習レーン#10 7.1.3-7.1.5
by
sleepy_yoshi
[第2版] Python機械学習プログラミング 第3章(5節~)
by
Haruki Eguchi
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
by
Preferred Networks
機械学習の理論と実践
by
Preferred Networks
Hands on-ml section1-1st-half-20210317
by
Nagi Kataoka
Jubatusにおける大規模分散オンライン機械学習
by
Preferred Networks
More from Satoshi imai
PDF
lispmeetup #73 Common Lispで関係データ学習-スパース非負値テンソル分解の実装
by
Satoshi imai
PDF
lispmeetup#63 Common Lispでゼロから作るDeep Learning
by
Satoshi imai
PDF
Portacle : Common Lispのオールインワン開発環境
by
Satoshi imai
PDF
Lispmeetup #56 Common lispによるwebスクレイピング技法
by
Satoshi imai
PDF
Lispmeetup #53 PythonベースのLisp方言、 Hyのすすめ
by
Satoshi imai
PDF
Lispmeetup #50 cl-random-forest: Common Lispによるランダムフォレストの実装
by
Satoshi imai
lispmeetup #73 Common Lispで関係データ学習-スパース非負値テンソル分解の実装
by
Satoshi imai
lispmeetup#63 Common Lispでゼロから作るDeep Learning
by
Satoshi imai
Portacle : Common Lispのオールインワン開発環境
by
Satoshi imai
Lispmeetup #56 Common lispによるwebスクレイピング技法
by
Satoshi imai
Lispmeetup #53 PythonベースのLisp方言、 Hyのすすめ
by
Satoshi imai
Lispmeetup #50 cl-random-forest: Common Lispによるランダムフォレストの実装
by
Satoshi imai
Lisp meetup #29 cl-online-learningの紹介
1.
cl-online-learningの紹介 Satoshi Imai /
今井 悟士 Twitter: @masatoi0 Github: masatoi
2.
これは何か ● cl-online-learning ● 書籍「オンライン機械学習」に出てくる線形 識別器のアルゴリズムからいくつか実装 ● 2値分類と多値分類ができる ●
githubにあります – https://github.com/masatoi/cl-online-learning.git
3.
インストール ● シェルから ● Lisp処理系から – SBCL、CCL、ECL、CLISPで動作確認済み (ql:quickload :clonlinelearning) $
cd ~/quicklisp/localprojects/ $ git clone https://github.com/masatoi/clonlinelearning.git
4.
オンライン学習 ● バッチ学習: 訓練データをまとめて学習する ● オンライン学習: 訓練データを逐次的に学習する –
とにかく速い: 収束が速い、データ数に対して線形時間、省メモリ – リアルタイム処理に組込める – 実装が簡単 – 偏りのあるデータ、ノイズのあるデータに弱い → 対策されたアルゴリズムが出てきた (AROW, SCW)
5.
線形識別器 ● 線形分離可能なデータに対して有効な二値分類器 ● 識別関数f(x)が正か負かでクラスを分ける(xは入力データ点) ● 上手く分けられるようにパラメータ(wとb)を調整する 決定境界
f(x)=0 線形分離可能 線形分離不可能
6.
非線形SVM(バッチ学習) ● 線形分離不可能なデータを高次元の特徴空間に射影して線形分離し ている様子 – https://www.youtube.com/watch?v=3liCbRZPrZA ● 計算量はO(mn^2)
(m: データの次元数、 n: データ数) – データ数が増えてくると無理 – オンライン線形分類器だとO(mn) ● Common Lisp Machine Learningからフォーク – clml-svm (github.com/masatoi/clml-svm)
7.
cl-online-learningで実装している 二値分類アルゴリズム ● 二値分類 – パーセプトロン – 平均化パーセプトロン –
線形SVM – AROW – SCW-I、SCW-II 精度 良い 悪い メタパラメータの数 なし なし 2 1 2
8.
パーセプトロン ● 学習データ: 入力x
と 教師信号y の組 ● パーセプトロン: 以下のルールでwを更新する ● 直近の学習データの影響を受けすぎる → 過去の w の更新差分を平均化 (平均化パーセプトロン) の正負と y を比べてみて、分類に失敗していれば w ← w + y x
9.
AROW ● パラメータ w
が、正規分布からサンプリングされたものと考える – その正規分布の平均 μ と分散 Σ を更新する ● 精度良い、収束速い、学習も安定している ← おすすめ! ● メタパラメータとして正則化パラメータ γ を持つ
10.
AROWは頑健 ● マージン最大化 – 決定境界から一番近いデータとの距離(マージン)を大きくとる ● 特徴量ごとに信頼度をつける – 頻繁に出てきた特徴量の更新量は減らしていく
11.
cl-online-learningで実装している マルチクラス分類アルゴリズム ● 複数個の二値分類器を組み合わせてマルチクラス分類できる ● マルチクラス分類 – 1対多 (one-vs-rest) –
1対1 (one-vs-one) – 誤り訂正出力符号(ECOC) ↑(予定) 必要な二値分類器の数 K個 K(K-1)/2個 K個とK(K-1)/2個の間
12.
one-vs-rest ● クラスの数だけ二値分類器を用意: K個 ● 学習時:
観測されたデータのクラスに対応する学習器では正例、そうで なければ負例として学習 ● 予測時: 全部の学習器で識別関数 を計算して最大の ものに対応するクラスを出力する 1 2 3 各クラスに対応する 学習器 クラス2と ラベルのついた データ 教師信号を -1 として学習 教師信号を +1 として学習 教師信号を -1 として学習
13.
one-vs-one ● 2つのクラスの組合せの数だけ二値分類器を用意: K(K1) / 2
個 ● 学習時: 観測されたクラスのノードに接続する学習器を学習 ● 予測時: 全部の学習器で分類。多数決して一番多かったクラスを出力 1 5 2 4 3 エッジが学習器に対応 1 5 2 4 3 クラス2が観測されたとき +1 -1 +1 -1 +1-1 +1 -1 ノードの数字が若い方を+1とした
14.
使い方(二値分類) ● 学習器をつくる ● データを1個用意 (double-float型のsimple-array) ● 更新する ● 予測する (defparameter input (makearray 3 :elementtype 'doublefloat :initialcontents '(1d0 2d0 3d0))) (defparameter plearner (makeperceptron 3)) (update plearner input 1d0) (predict plearner input) ⇒1.0d0 教師信号 入力次元数
15.
使い方(マルチクラス分類) ● 学習器をつくる ● データを1個用意 (double-float型のsimple-array) ● 更新する ● 予測する (defparameter input (makearray 3 :elementtype 'doublefloat :initialcontents '(1d0 2d0 3d0))) (defparameter mlearner (makeonevsone 4 3 'arow 1d0)) (update mlearner input 2) (predict mlearner input) ⇒1.0d0 教師信号(整数) 入力次元数 クラス数 学習器の型 学習器のメタパラメータ
16.
データセットの学習 ● データセット: 教師信号と入力ベクトルのドット対のリスト – Libsvmのサイトで公開されているデータセットを読み込む ● 訓練データをまとめて訓練する ● テストデータをまとめて予測する (defparameter a9adim 123) (defparameter a9atrain (readlibsvmdata "/path/to/a9a" a9adim)) (defparameter a9atest (readlibsvmdata "/path/to/a9a.t" a9adim)) (train plearner a9atrain) (test plearner a9atest) ; Accuracy: 79.988945%, Correct: 13023, Total: 16281
17.
使用上の注意 ● スケーリング大事 – 入力の各次元が [-1,
1] の範囲に入るようにする ● データの順序大事 – 同じクラスのデータが延々と続くような場合は性能悪化 ● 必要なら順序をシャッフルする
18.
iris ● 入力データ: アヤメの花びらとがくの大きさ
(4次元) ● クラス数3、データ数150
19.
番外:深層学習 ● 特徴選択をどうするかは職人芸 → 深層学習 ● ニューラルネットはオンライン学習できるが、更新ごとの計算量が大きい – ミニバッチをつくってまとめて計算 ●
GPU向きの計算(大きな行列×行列の計算) ● cl-cudaベースの深層学習ライブラリ – github.com/melisgl/mgl
20.
今後の課題 ● 疎ベクトルの演算を実装 ● 誤り訂正出力符号(ECOC)にもとづくマルチクラス分類を実装 ● cl-online-learningから流用してclml-svmもマルチクラス分類できるよ うにする
Download