SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
RパッケージBNSLの概要
@ AMBN 2017 サテライトワークショップ
2017年9月19日
鈴木譲 (大阪大学)
本日のお話の手順
• ベイジアンネットワークの構造学習
• 無向森の構造学習 (離散)
• 無向森の構造学習 (連続)
• 応用例
• よくある質問
• 他ツールとの比較
• まとめと今後の課題
ベイジアンネットワークの構造学習
Bayesian Network Structure Learning (BNSL)
データフレーム
構造
p=3のとき
森の構造学習
Forest Structure Learning (FSL)
データフレーム
構造
p=3のとき
BNSLの基本的な使い方(1): 離散 BN
library(BNSL)
g=bnsl(asia)
plot(g)
ASIA (Lauritzen 1996)
p=8
変数 意味 (Yes/No)
Asia 最近アジアに行った
Smoking 常習喫煙者
Tuberculosis 結核
Lung Cancer 肺がん
Bronchitis 気管支炎
E T(結核)またはL(肺がん)の論理和
Chest X-ray 肺の X 線撮影での異常
Dyspnoea 呼吸困難
ベイジアンネットワーク (BN)
分布の因数分解を、有向非巡回グラフ(DAG)で表現したもの
(同値)
統計学: データから正しい構造を推定
• サンプル数 nが大きいときに、正しい構造を推定
BN=分布データ
推定
乱数発生
ベイズ統計学: データのもとでの事後確率最大化
P(構造|データ)
= P(構造) 𝑃 データ 構造, パラメータ 𝑃(パラメータ|構造)𝑑パラメータ
パラメータを周辺化した事後確率
構造 (1)-(11)のどれか
パラメータ 各部分の条件付き確率
構造の事前確率 パラメータの事前確率
事前確率としては、標準的なもの
変数の個数pとともに指数的な計算?
Alarm p=37
最も知られたベンチマーク
library(BNSL)
g=bnsl(alarm)
plot(g)
PCで、1日かかる
g=bnsl(alarm[,1:20])
など、変数の個数を限定する
BNSLの高速化の検討
アプローチ 現状 将来 (1年以内)
分枝限定法
(最適な構造)
ICML-96、UAI-17
通常の方法より10倍速い
PCで1時間以内に
nを定数として、pの多項式時間
ヒューリスティック
(近似)
親集合の個数を制限
構造の探索のしかたを制限
やり方は無数にある
{D,X}は、
Eの親集合
BNではなく、事後確率を最大にする森を求める
高速化のためにRcppを適用
• Rでプログラミングするより、50-100倍高速
• C++で関数を構築して、Rから呼び出す
Rにはポインタがない。RcppではRの関数が使えない
R, C++を知っていても、インターフェイスになれるのに
若干時間がかかる
alarmはBNで1日かかるが、森だと5秒で完了
pの2乗の時間
asia alarm
BNSLの基本的な使い方(2): 離散 森
library(BNSL)
df=alarm
mm=mi_matrix(df)
edge.list=kruskal(mm)
g=graph_from_edgelist(edge.list, directed=FALSE)
V(g)$label <- colnames(df)
plot(g,vertex.size=20.0)
(デモだけやって、プログラムはあとで)
データ -> 相互情報量の推定値 -> 森
(Chow-Liu, Kruskal)
分布が森で表現されることを仮定
相互情報量の推定値大きいものから、
ループができない限り、辺を結んでいく
相互情報量
独立であるとき
だけ0になる
独立性を仮定した場合
とのK-L情報量
相互情報量 を推定したい
離散
連続だと、かなりむずかしい
独立性を検知できる推定量 (Suzuki 93)
(負のときは0とする)
Suzuki 93を用いると、事後確率最大の森が生成される
Rパッケージ BNSLの主な関数
関数名 機能
mi 相互情報量の推定
mi_matrix データフレームから相互情報量の推定量の行列を生成
cmi 条件付き相互情報量の推定
kruskal Chow-Liuアルゴリズムの実行で必要
parent_set ベイジアンネットワーク構築の親集合
bnsl ベイジアンネットワークの→の向き、変数の順序を決定
mi(x, y, proc=0)
等しい長さのベクトルx,yから、相互情報量を推定。
Jeffreys’ (proc=0), MDL (proc=1), 最尤 (proc=9), 連続を含む (proc=10)
BNSLの基本的な使い方(3): 連続 森
library(BNSL)
df=read.csv("nikkei225-2.csv")[,1:30]
m=nrow(df)-1 # 2015年の営業日数-1
differ=df[1:m,]
for(i in 1:m)differ[i,]=df[i+1,]-df[i,]
mm=mi_matrix(differ, proc=10)
edge.list=kruskal(mm)
g=graph_from_edgelist(edge.list, directed=FALSE)
V(g)$label <- colnames(df)
plot(g,vertex.size=10.0)
日経225銘柄の前日との差分
• PCでの実行時間: 3時間
• 離散でも連続でもない (整数値だが、取りうる値が多い)
有限個とみるのも、連続値の正規分布とみるのも難しい
quantmodパッケージ (金融データ処理)
Install.packages(“quantmod”)以外に、install.packages(“XML”)が必要
通常のAPIとは異なり、webで公開されているデータを獲得している
(RFinanceYJ パッケージは、バグが多い)
Wouter Thielen さん
getSymbols.yahooj
担当者 (東京在住)
Joshua Ulrich さん
Quantmod パッケージ
責任者 (米国在住)
時系列のクラスxtsのオブジェクトが得られる
始値 最高値 終値最安値 取引高 調整値
CRAN Rパッケージ BNSLの概要
CRAN Rパッケージ BNSLの概要
CRAN Rパッケージ BNSLの概要
同業8社の株価
(データサイエンス 新興企業)
8社の株価の相関係数
• ある銘柄の取引で成功した場合、同様の成功が得られるのは、どの銘柄か
• ある銘柄の変動を、他の銘柄から予測できないか。
8社の株価の相互情報量
(連続な変量として処理)
1: 2158 UBIC
2: 2389 オプト
3: 3622 ネットイヤー
4: 3655 ブレインパッド
5: 3680 ホットリンク
6: 3905 データセクション
7: 3906 ALBERT
8: 6031 サイジニア
8社の株値の関連性を森で表すと
連続: 正規分布を仮定する場合
相関係数の推定に帰着
一般の場合は、どうするのか
X,Yが正規分布でないとき
Xが離散、Yが連続のとき
mi(x,y proc=10)の動作 (Suzuki,16)
X, Y ともに等頻度の分割表ができる
Xを等頻度に分割
Yを等頻度に分割
X,Yは離散でも連続でもよいが、区切って頻度を数える
相互情報量の推定量 𝐽 𝑛を計算
いろいろなサイズの分割表を生成して、 𝐽 𝑛の最大値を計算
連続値は、量子化される
メッシュに区切っていく
(離散などで) 同じ値が境界にあるとき
nが大きいと、メッシュを細かくしても、推定できる
連続値も離散値も
区別しない
データセット(連続)
• 日経225銘柄 (2015年4月-2016年3月)の終値
(前日との差分をとったもの、年間データのない2社を除く)
nikkei225-2.csv
• 乳がん患者の遺伝子発現データ
(p51遺伝子をもつサンプル192個、もたないサンプル58個)
breastcancer.csv
ゲノム解析への応用 (1)
Int. J. Approximate Reasoning, 2016
青: p値の大きな遺伝子
赤: 症例/対照
1000個の連続変量
1個の2値変量
乳がん患者の遺伝子発現データ
(p51遺伝子をもつサンプル192個、
もたないサンプル58個)
大規模なグラフの作図は igraphよりCytoscape
論文に投稿すると、査読者もイチコロ
ゲノム解析への応用 (2)
Int. J. Approximate Reasoning, 2016
青: 遺伝子発現量
赤: SNP (3値)
マイクロアレイからRNA-seq へ
ゲノム解析データが大量に取得できるが、確率的モデルが異なる
古い 主流になりつつある
(産総研瀬々氏のスライド)
多い質問(1): BNだと向きがわかるが、無向だとわからない
BNの構造学習
因数分解して同じになる構造は
同じスコア(事後確率)になるので、方向は判定できない
3構造と1構造は区別される
区別されない
3構造間は
区別されない
多い質問(2): スコアとして、BDeu, MDL, AICのどれがいいのですか
どれが良いかは、データによる。ちまたにあふれたガセを信じべからず
• MDLは、事後確率最大の近似解
• AICは、他のと比べると、過学習で枝が多くなる
• BDeuは、デファクトに近い待遇をうけてきたが、
• 致命的な性質が証明された (Suzuki 2017)
少ないサンプルでも枝が多くなる。
使われなくなると予想。
他ツールとの比較 (自己評価)
bnlearn BayoLink BNSL
連続 △ ☓ ◯
研究の最先端 ☓ ☓ ◎
大規模な
BNの構造学習
近似を許して、大規
模な処理を行う
近似を許して、大規
模な処理を行う
最適解が求まる場
合しか動かない
ユーザ数 ◎ ◯ △
価格 無料 (Rパッケージ) 有料 無料 (Rパッケージ)
グラフィック △ ◎ ☓
まとめと今後の課題
RパッケージBNSLの使い方と、知っておくべき理論について説明
今後の課題
連続変数でも対応可能な、BNの構造学習
最適性を犠牲にしてでも、大規模なBNの構造学習を可能にする
ベンチマーク alarmを1時間で処理できるレベルに
グラフィックやマクロを整備して、商品価値を高める
学者が、論文を広めるためにつくったRパッケージという感が強い
民間で広く使っていただくことが重要

Weitere ähnliche Inhalte

Was ist angesagt?

計量経済学と 機械学習の交差点入り口 (公開用)
計量経済学と 機械学習の交差点入り口 (公開用)計量経済学と 機械学習の交差点入り口 (公開用)
計量経済学と 機械学習の交差点入り口 (公開用)Shota Yasui
 
PRML輪読#10
PRML輪読#10PRML輪読#10
PRML輪読#10matsuolab
 
顕著性マップの推定手法
顕著性マップの推定手法顕著性マップの推定手法
顕著性マップの推定手法Takao Yamanaka
 
アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法Satoshi Hara
 
Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西Keigo Nishida
 
相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心takehikoihayashi
 
深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点Taiji Suzuki
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep LearningSeiya Tokui
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類Shintaro Fukushima
 
スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)Hidetoshi Matsui
 
統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)Kota Mori
 
敵対的生成ネットワーク(GAN)
敵対的生成ネットワーク(GAN)敵対的生成ネットワーク(GAN)
敵対的生成ネットワーク(GAN)cvpaper. challenge
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明Haruka Ozaki
 
ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...
ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...
ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...西岡 賢一郎
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門Shuyo Nakatani
 
PRML輪読#8
PRML輪読#8PRML輪読#8
PRML輪読#8matsuolab
 
第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)Yoshitake Takebayashi
 

Was ist angesagt? (20)

continual learning survey
continual learning surveycontinual learning survey
continual learning survey
 
計量経済学と 機械学習の交差点入り口 (公開用)
計量経済学と 機械学習の交差点入り口 (公開用)計量経済学と 機械学習の交差点入り口 (公開用)
計量経済学と 機械学習の交差点入り口 (公開用)
 
PRML輪読#10
PRML輪読#10PRML輪読#10
PRML輪読#10
 
顕著性マップの推定手法
顕著性マップの推定手法顕著性マップの推定手法
顕著性マップの推定手法
 
アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法
 
Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西
 
相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心
 
深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep Learning
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類
 
スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)
 
統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)
 
Stanでガウス過程
Stanでガウス過程Stanでガウス過程
Stanでガウス過程
 
敵対的生成ネットワーク(GAN)
敵対的生成ネットワーク(GAN)敵対的生成ネットワーク(GAN)
敵対的生成ネットワーク(GAN)
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明
 
ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...
ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...
ブラックボックスからXAI (説明可能なAI) へ - LIME (Local Interpretable Model-agnostic Explanat...
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門
 
PRML輪読#8
PRML輪読#8PRML輪読#8
PRML輪読#8
 
因果推論の基礎
因果推論の基礎因果推論の基礎
因果推論の基礎
 
第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)
 

Mehr von Joe Suzuki

RとPythonを比較する
RとPythonを比較するRとPythonを比較する
RとPythonを比較するJoe Suzuki
 
R集会@統数研
R集会@統数研R集会@統数研
R集会@統数研Joe Suzuki
 
E-learning Development of Statistics and in Duex: Practical Approaches and Th...
E-learning Development of Statistics and in Duex: Practical Approaches and Th...E-learning Development of Statistics and in Duex: Practical Approaches and Th...
E-learning Development of Statistics and in Duex: Practical Approaches and Th...Joe Suzuki
 
分枝限定法でモデル選択の計算量を低減する
分枝限定法でモデル選択の計算量を低減する分枝限定法でモデル選択の計算量を低減する
分枝限定法でモデル選択の計算量を低減するJoe Suzuki
 
E-learning Design and Development for Data Science in Osaka University
E-learning Design and Development for Data Science in Osaka UniversityE-learning Design and Development for Data Science in Osaka University
E-learning Design and Development for Data Science in Osaka UniversityJoe Suzuki
 
AMBN2017 サテライトワークショップ
AMBN2017 サテライトワークショップAMBN2017 サテライトワークショップ
AMBN2017 サテライトワークショップJoe Suzuki
 
Forest Learning from Data
Forest Learning from DataForest Learning from Data
Forest Learning from DataJoe Suzuki
 
A Bayesian Approach to Data Compression
A Bayesian Approach to Data CompressionA Bayesian Approach to Data Compression
A Bayesian Approach to Data CompressionJoe Suzuki
 
A Conjecture on Strongly Consistent Learning
A Conjecture on Strongly Consistent LearningA Conjecture on Strongly Consistent Learning
A Conjecture on Strongly Consistent LearningJoe Suzuki
 
A Generalization of the Chow-Liu Algorithm and its Applications to Artificial...
A Generalization of the Chow-Liu Algorithm and its Applications to Artificial...A Generalization of the Chow-Liu Algorithm and its Applications to Artificial...
A Generalization of the Chow-Liu Algorithm and its Applications to Artificial...Joe Suzuki
 
A Generalization of Nonparametric Estimation and On-Line Prediction for Stati...
A Generalization of Nonparametric Estimation and On-Line Prediction for Stati...A Generalization of Nonparametric Estimation and On-Line Prediction for Stati...
A Generalization of Nonparametric Estimation and On-Line Prediction for Stati...Joe Suzuki
 
研究紹介(学生向け)
研究紹介(学生向け)研究紹介(学生向け)
研究紹介(学生向け)Joe Suzuki
 
Bayesian Criteria based on Universal Measures
Bayesian Criteria based on Universal MeasuresBayesian Criteria based on Universal Measures
Bayesian Criteria based on Universal MeasuresJoe Suzuki
 
MDL/Bayesian Criteria based on Universal Coding/Measure
MDL/Bayesian Criteria based on Universal Coding/MeasureMDL/Bayesian Criteria based on Universal Coding/Measure
MDL/Bayesian Criteria based on Universal Coding/MeasureJoe Suzuki
 
The Universal Measure for General Sources and its Application to MDL/Bayesian...
The Universal Measure for General Sources and its Application to MDL/Bayesian...The Universal Measure for General Sources and its Application to MDL/Bayesian...
The Universal Measure for General Sources and its Application to MDL/Bayesian...Joe Suzuki
 
Universal Prediction without assuming either Discrete or Continuous
Universal Prediction without assuming either Discrete or ContinuousUniversal Prediction without assuming either Discrete or Continuous
Universal Prediction without assuming either Discrete or ContinuousJoe Suzuki
 
Bayesian network structure estimation based on the Bayesian/MDL criteria when...
Bayesian network structure estimation based on the Bayesian/MDL criteria when...Bayesian network structure estimation based on the Bayesian/MDL criteria when...
Bayesian network structure estimation based on the Bayesian/MDL criteria when...Joe Suzuki
 
The Universal Bayesian Chow-Liu Algorithm
The Universal Bayesian Chow-Liu AlgorithmThe Universal Bayesian Chow-Liu Algorithm
The Universal Bayesian Chow-Liu AlgorithmJoe Suzuki
 
Bayes Independence Test
Bayes Independence TestBayes Independence Test
Bayes Independence TestJoe Suzuki
 

Mehr von Joe Suzuki (20)

RとPythonを比較する
RとPythonを比較するRとPythonを比較する
RとPythonを比較する
 
R集会@統数研
R集会@統数研R集会@統数研
R集会@統数研
 
E-learning Development of Statistics and in Duex: Practical Approaches and Th...
E-learning Development of Statistics and in Duex: Practical Approaches and Th...E-learning Development of Statistics and in Duex: Practical Approaches and Th...
E-learning Development of Statistics and in Duex: Practical Approaches and Th...
 
分枝限定法でモデル選択の計算量を低減する
分枝限定法でモデル選択の計算量を低減する分枝限定法でモデル選択の計算量を低減する
分枝限定法でモデル選択の計算量を低減する
 
E-learning Design and Development for Data Science in Osaka University
E-learning Design and Development for Data Science in Osaka UniversityE-learning Design and Development for Data Science in Osaka University
E-learning Design and Development for Data Science in Osaka University
 
UAI 2017
UAI 2017UAI 2017
UAI 2017
 
AMBN2017 サテライトワークショップ
AMBN2017 サテライトワークショップAMBN2017 サテライトワークショップ
AMBN2017 サテライトワークショップ
 
Forest Learning from Data
Forest Learning from DataForest Learning from Data
Forest Learning from Data
 
A Bayesian Approach to Data Compression
A Bayesian Approach to Data CompressionA Bayesian Approach to Data Compression
A Bayesian Approach to Data Compression
 
A Conjecture on Strongly Consistent Learning
A Conjecture on Strongly Consistent LearningA Conjecture on Strongly Consistent Learning
A Conjecture on Strongly Consistent Learning
 
A Generalization of the Chow-Liu Algorithm and its Applications to Artificial...
A Generalization of the Chow-Liu Algorithm and its Applications to Artificial...A Generalization of the Chow-Liu Algorithm and its Applications to Artificial...
A Generalization of the Chow-Liu Algorithm and its Applications to Artificial...
 
A Generalization of Nonparametric Estimation and On-Line Prediction for Stati...
A Generalization of Nonparametric Estimation and On-Line Prediction for Stati...A Generalization of Nonparametric Estimation and On-Line Prediction for Stati...
A Generalization of Nonparametric Estimation and On-Line Prediction for Stati...
 
研究紹介(学生向け)
研究紹介(学生向け)研究紹介(学生向け)
研究紹介(学生向け)
 
Bayesian Criteria based on Universal Measures
Bayesian Criteria based on Universal MeasuresBayesian Criteria based on Universal Measures
Bayesian Criteria based on Universal Measures
 
MDL/Bayesian Criteria based on Universal Coding/Measure
MDL/Bayesian Criteria based on Universal Coding/MeasureMDL/Bayesian Criteria based on Universal Coding/Measure
MDL/Bayesian Criteria based on Universal Coding/Measure
 
The Universal Measure for General Sources and its Application to MDL/Bayesian...
The Universal Measure for General Sources and its Application to MDL/Bayesian...The Universal Measure for General Sources and its Application to MDL/Bayesian...
The Universal Measure for General Sources and its Application to MDL/Bayesian...
 
Universal Prediction without assuming either Discrete or Continuous
Universal Prediction without assuming either Discrete or ContinuousUniversal Prediction without assuming either Discrete or Continuous
Universal Prediction without assuming either Discrete or Continuous
 
Bayesian network structure estimation based on the Bayesian/MDL criteria when...
Bayesian network structure estimation based on the Bayesian/MDL criteria when...Bayesian network structure estimation based on the Bayesian/MDL criteria when...
Bayesian network structure estimation based on the Bayesian/MDL criteria when...
 
The Universal Bayesian Chow-Liu Algorithm
The Universal Bayesian Chow-Liu AlgorithmThe Universal Bayesian Chow-Liu Algorithm
The Universal Bayesian Chow-Liu Algorithm
 
Bayes Independence Test
Bayes Independence TestBayes Independence Test
Bayes Independence Test
 

CRAN Rパッケージ BNSLの概要