理学系研究科 情報科学専攻 データベース特論 ii...
DESCRIPTION
理学系研究科 情報科学専攻 データベース特論 II 10:15-12:15 新領域創成科学研究科 複雑理工学専攻 複雑計算論 10:15-11:55 オリエンテーション 森下 真一. データマイニング 理論 アルゴリズム 実装 応用. 大規模生データの存在. 数ギガ~テラの生データ POSデータ 顧客データ 受注データ 等. 市場のニーズ. 技術的シーズ. データ読取装置の普及. バーコード クレジットカード OCR. 記憶装置の低価格化. 検索可能状態 (大福帳システム Data Warehouse ). - PowerPoint PPT PresentationTRANSCRIPT
理学系研究科 情報科学専攻データベース特論 II
10:15-12:15
新領域創成科学研究科 複雑理工学専攻複雑計算論
10:15-11:55
オリエンテーション
森下 真一
データマイニング
• 理論
• アルゴリズム
• 実装
• 応用
市場のニーズ
ルールの収集 発見・(データマイニング)
技術的シーズ
データ読取装置の普及•バーコード•クレジットカード•OCR
記憶装置の低価格化
プロセッサーの高速化並列計算機の商用化関係DBの普及
多次元的問合せ OLAP
大規模生データの存在数ギガ~テラの生データ•POSデータ•顧客データ•受注データ 等
検索可能状態 (大福帳システム Data Warehouse )
•検索 集計 チャート化・ ・•経験的ルールの検証
知識発見技術の高速化
•商品間関連 •危険度分析•顧客分類
• データベース問合せ最適化• 組合せ論的アルゴリズム• 並列処理
•ゲノム情報 •検索エンジン•発見科学
Association Rules
Interesting Rules を枚挙したい
観察 B ⇒ C が interesting Pr (BC) は閾値以上 Pr (B) と Pr (C) も閾値以上
当座取引有無 定期口座有無 血液型 職業コード カードローン延滞有無
結合ルール X ⇒ Y定期口座有無=No ⇒ カードローン延滞有無=Yes
サポート Pr (X かつ Y) 例 5%
確信度 Pr (Y|X) 例 32%
閾値を設け、上回るルールを “ interesting” と考える
• オーストラリア健康保険委員会 年間 数千万ドルの節約に成功
• 開業医が不必要な処方箋を出す ケースを見つけ出す規則の発見
IBM data warehousing and data mining technologies are enabling the Health Insurance Commission (HIC) to save the Australian healthcare systems tens of millions of dollars a year.
The HIC is a Federal Government agency which processes claims for Medicare, Medibank Private and the Pharmaceutical Benefits and Child Care Programs. Every year, it deals with 300 million transactions and pays out eight billion dollars worth of funds.
Healthcare systems around the world are attempting to find ways to reduce the millions of taxpayers' dollars which are wasted by fraud and the inappropriate use of medical tests and services.
The HIC, together with IBM has implemented a world-leading data mining solution, which analyzes data and detects unnecessary prescriptions or referrals by medical practitioners then intervene to reduce the incidence.
http://www.software.ibm.com/data/intelli-mine/applbrief.html
HIC Provides A Healthier Future With IBM成功例
φ
A B C D
AB AC BC AD BD CD
ABC ABD ACD BCD
ABCD
条件集合{ A,B,C } を ABC と簡略に記述
まずサポートが閾値以上の条件集合(大きい条件集合)を枚挙
条件数が少ない集合から徐々にサポートを計算
まずサポートが閾値以上の条件集合(大きい条件集合)を枚挙
条件数が少ない集合から徐々にサポートを計算
枝狩り: Pr (AB) < 閾値 ⇒ Pr (ABC) < 閾値
ルール B ⇒ C は確信度
Pr(C | B)=Pr (BC) / Pr(B)
が閾値以上のとき生成
φ
A B C D
AB AC BC AD BD CD
ABC ABD ACD BCD
ABCD
A Pr(A)≧閾値AB Pr(AB)<閾値
サポート計算の効率化
AB AC AD AE BC BD BE CD CE DE
ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE
大きい条件集合の候補を枚挙
各レコードが満たす条件集合を見つけ、サポートを増加
ACDE
AB AC AD AE BC BD BE CD CE DE
ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE
大きい条件集合の候補を枚挙
A B
B D C D
D E
ABD ABE
ADE BCE BDE
各レコードが満たす条件集合を見つけ、サポートを増加
サポート計算の効率化
Hash tableACDE
AB AC AD AE BC BD BE CD CE DE
ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE
大きい条件集合の候補を枚挙
A B
B D C D
D E
ABD ABE
ADE BCE BDE
各レコードが満たす条件集合を見つけ、サポートを増加
サポート計算の効率化
Hash tableACDE
AB AC AD AE BC BD BE CD CE DE
ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE
大きい条件集合の候補を枚挙
A B
B D C D
D E
ABD ABE
ADE BCE BDE
各レコードが満たす条件集合を見つけ、サポートを増加
サポート計算の効率化
Hash tableABDE
φ
A B C D
AB AC BC AD BD CD
ABC ABD ACD BCD
ABCD
条件集合の枝狩りの効率化
データベースの走査回数を減らせないか?
例 サポートの閾値が5%のとき
条件集合の枝狩りの効率化
φ
A B C D
AB AC BC AD BD CD
ABC ABD ACD BCD
ABCD
サイズ1の条件集合の計算を開始A A AA
当確 当選落選 出馬
読込済
サイズ2を開始
サイズ1の条件集合の計算を開始
φ
A B C D
AB AC BC AD BD CD
ABC ABD ACD BCD
ABCD
A A AA当確 当選落選 出馬
φ
A B C D
AB AC BC AD BD CD
ABC ABD ACD BCD
ABCD
読込済サイズ2を開始
サイズ3を開始
A A AA当確 当選落選 出馬
φ
A B C D
AB AC BC AD BD CD
ABC ABD ACD BCD
ABCD
読込済
サイズ2を開始
サイズ3を開始
サイズ1のサポート計算
終了
A A AA当確 当選落選 出馬
サイズ1の条件集合の
サポート計算を開始
第1回読込済
サイズ2の計算終了
サイズ3も開始
サイズ1のサポート計算
終了
読込済
φ
A B C D
AB AC BC AD BD CD
ABC ABD ACD BCD
ABCD
A A AA当確 当選落選 出馬
サイズ1の条件集合の
サポート計算を開始
第1回読込済
サイズ2の計算終了
サイズ3の計算終了
サイズ1のサポート計算
終了
読込済
A priori に比べ 20%から4倍の性能向上との報告されている
φ
A B C D
AB AC BC AD BD CD
ABC ABD ACD BCD
ABCD
A A AA当確 当選落選 出馬
預金残高
Pr(預金残高∈R )≧10%で確信度最大
預金残高∈R ⇒ クレジットカード= Yes
少しでも精度を上げたい
預金残高
Pr(預金残高∈R )≧10%で確信度最大
確信度80%以上でPr(預金残高∈R )最大
預金残高∈R ⇒ クレジットカード= Yes
少しでも精度を上げたい
預金残高 X → ( Pr ( 預金残高≦X ) , Pr ( {預金残高≦X,クレジットカード= Yes } )
預金残高∈R ⇒ クレジットカード= Yes
入力: Pr ( 預金残高∈R ) の閾値
出力: 確信度を最大化する区間 R
確信度
閾値
O(M log M)M: number of records
預金残高 X → ( Pr ( 預金残高≦X ) , Pr ( {預金残高≦X,クレジットカード= Yes } )
預金残高∈R ⇒ クレジットカード= Yes
入力: Pr ( 預金残高∈R ) の閾値
出力: 確信度を最大化する区間 R
確信度
R の候補
Clockwise Search
Counter Clockwise Search
Clockwise, Counter Clockwiseはともに、点を高々1回だけ走査する
(年齢 ,預金残高)∈S ⇒ カードローン延滞= Yes
年齢
預金残高
(年齢 ,預金残高)∈S ⇒ カードローン延滞= Yes
年齢
預金残高
(年齢 ,預金残高)∈S ⇒ カードローン延滞= Yes
年齢
預金残高
(年齢 ,預金残高)∈S ⇒ カードローン延滞= Yes
年齢
預金残高
領域族
矩形領域 X単調領域 直交凸領域
p( ( 年齢 ,預金残高 )∈ S ) を「領域Sのサポート」
最大確信度領域 閾値以上のサポートをもち、確信度を最大にする領域S最大サポート領域 閾値以上の確信度を導き、サポートを最大にする領域S
年齢
預金残高
データ数 M, ピクセル数 n
領域族:矩形領域最大サポート・最大確信度領域を O(n1
.5) で計算可能
領域族: X 単調領域または直交凸領域最大サポート・最大確信度領域を X 単調は O(n M) 、直交凸は O(n 1.5 M) で計算可能。
n と log M の多項式時間で計算することは P = NP でない限り不可能。
(年齢 ,預金残高)∈ S ⇒ カードローン延滞= Yes
グリッド領域へ
近似アルゴリズム
確信度
S(年齢 ,預金残高)∈ S
⇒ カードローン延滞= Yes
p( { 年齢 ,預金残高)∈S , カードローン延滞= Yes} )
p( (年齢 ,預金残高)∈S )
確信度
S(年齢 ,預金残高)∈ S
⇒ カードローン延滞= Yes
p( (年齢 ,預金残高)∈S )
p( { 年齢 ,預金残高)∈S , カードローン延滞= Yes} )
サポート値の閾値
近似解
Hand Probing による解の探索
1回の hand probing のコストX単調領域 O ( n )直交凸領域 O ( n 1.5)
hand probing の回数はO (log M )
サポート値の閾値
確信度
1
2
3
凸閉包上の探索
y =θx + a
切片 a の最大化
• 各ピクセルに実数で表現される濃度• 濃度の和を最大化する領域を計算
ルールの評価 - 領域族別、メッシュ粒度別
矩形領域
#(pixels) Training Test Test – Tra.
8× 8 47.77% 46.92% -0.85%
16× 16 48.22% 47.66% -0.56%
32× 32 48.30% 47.52% -0.78%
64× 64 48.42% 47.03% -1.39%
X単調領域#(pixels) Training Test Test – Tra.
8× 8 52.70% 51.38% -1.31%
16× 16 53.72% 51.76% -1.95%
32× 32 55.24% 51.69% -3.55%
64× 64 57.47% 51.00% -6.46%
直交凸領域
#(pixels) Training Test Test – Tra.
8× 8 52.70% 51.56% -1.14%
16× 16 53.49% 52.24% -1.25%
32× 32 53.96% 51.79% -2.17%
64× 64 54.43% 51.75% -2.67%
データを平面中に一様に生成
ガードローン延滞となる確率を対角線からの距離に関して一様分布
10-fold Cross Validation
Classification
決定木入力データ例 健康な人と心臓疾患の患者のデータ
血圧 心拍数 中性脂肪 肥満度 GPT GOT 心臓疾患
決定木
訓練データで木を生成評価基準: 未知データでの予測精度
動機: 領域分割は予測精度向上に効くか?
入力データ例 健康な人と心臓疾患の患者のデータ
Yes No
血圧 < 125
血圧
GPT
領域分割
Yes
Yes
No
No
決定木 データ分割の評価方法
正のデータ 負のデータ
決定木 データ分割の評価方法
Quinlanのエントロピー最小化
p q
Ent1=- (p log p + q log q)
Ent2
n
n1Ent1
n
n2Ent2+
n1 n2
n
正のデータ 負のデータ
S
S中のデータ数
S中の正のデータ数
エントロピー関数は凸関数
エントロピー最小の領域は凸包の境界上に存在
Hand Probing で探索
単純な二分探索は困難(凸包上の全ての点のエントロピーが一致する例)
X
YZ
Ent(三角形XYZ内の任意の点)≧ min(Ent(X),Ent(Y),ENT(Z))
もし Ent(Z)≧ 現時点の最小エントロピー ならば枝狩りBranch and Bound Search
実用上はほぼ、O(logM)のHand Probing
決定木性能評価UC Irvine, Repository of Machine Learning databaseshttp://www.ics.uci.edu/~mlearn/MLRepository.html
10-fold Cross Validation
エラー率データベース 数レコード 属性数 数クラス X単調 直交凸 矩形 二分割balance scale 625 4 3 15.52 15.52 19.34 20.95breast-cancer-wisc 699 9 2 5.01 4.15 4.58 5.72german credit 1000 24 2 27.30 23.80 26.90 25.60liver disorder 345 6 2 34.81 33.36 31.08 34.87pima diabetes 768 8 2 24.47 25.12 23.69 26.82segmentation 2310 19 7 4.81 4.37 4.89 4.50vehicle 846 18 4 30.02 28.47 27.65 26.23waveform 5000 20 3 21.74 20.98 22.36 22.74waveform+noise 5000 40 3 22.54 21.32 22.94 24.36
回帰木 (Regression Tree)
BPS GDM YEN TB3M TB30Y SP500 GOLD
1.443530 0.407460 0.004980 7.02 9.31 210.88 326.001.446120 0.408050 0.004950 7.04 9.28 205.96 339.45 : : : : : : :
Yes
No
Yes No
誤差二乗平均を最小化する領域
μ 1 μ 2
D1
D2
領域中外
μ 2
D1
D2
領域中外
Σ(t [ A ] - μ 1 )2t∈D1
Σ(t [ A ] - μ 2 )2t∈D2
+| D1∪D2 |
誤差二乗平均の最小化
クラス間分散の最大化
μ
| D1∪D2 |
| D1 | ( μ - μ 1 )2 +|D2 | ( μ - μ 2 )2
A
μ 1
S
S中のデータ数
S中データの目標属性の値の和
クラス間分散関数は凸関数
クラス間分散最大の領域は凸包の境界上に存在
Hand Probing で探索
単純な二分探索は困難
Branch and Bound Searchで実用上はO(log M)
回帰木性能評価
http://www.cs.utoronto.ca/~delve/data/datasets.html
10-fold Cross Validation
誤差二乗平均(予測前と後の比)データベース 数レコード 属性数 X単調 直交凸 矩形 二分割add10 9792 10 0.141 0.123 0.156 0.185abalone 4177 8 0.521 0.515 0.534 0.539kin-8fh 8192 8 0.447 0.433 0.459 0.479kin-8fm 8192 8 0.225 0.197 0.257 0.249kin-8nh 8192 8 0.649 0.618 0.619 0.655kin-8nm 8192 8 0.494 0.449 0.478 0.541pumadyn-kin-8fh 8192 8 0.412 0.402 0.409 0.410pumadyn-kin-8fh 8192 8 0.0604 0.0595 0.0653 0.0632pumadyn-kin-8fh 8192 8 0.347 0.337 0.353 0.355pumadyn-kin-8fh 8192 8 0.0530 0.0496 0.0550 0.0535
OLETFインシュリン非依存型糖尿病モデルラット
F344正常のモデルラット
何世代か交配後のラット
Marker(1) = OLETF ホモ接合Marker(2) = F344 ホモ接合Marker(3) = OLETF / F344 ヘテロ接合
Intercross
個体
102
|103
個
遺伝子型 (3×102 列 )マーカー接合状態
表現型血糖値 , 疾患 ,
個体
102
|104
個
遺伝子型 (102 ~ 107 列 )遺伝子発現量 , SNP, ...
表現型血糖値 , 疾患 , 遺伝子発現量 ,薬の効果 ,副作用 , ...
Clustering
Brain in embryo Five brain tissues of adult mouse
Expression Patterns of Genes in Various Tissues
brain heart lung kidn e y testis 10.5d .13.5d .17.5d .1 d. 5 d. 7 d. 14 d. 21 d. 91 d. olfact hippo cortexcorpuscereb.MB00001 17.3 32.8 5.0 22.7 22.2 5.6 8.9 11.2 9.5 12.7 12.3 8.4 12.0 6.7 38.5 33.2 9.4 5.7 13.2MB00002 46.5 15.2 5.0 19.0 14.3 5.4 7.2 7.0 10.7 12.5 10.3 10.0 15.4 8.9 42.5 20.2 11.5 4.7 21.1MB00004 11.5 55.2 4.5 26.5 2.3 5.9 8.8 8.5 10.3 10.9 9.1 8.1 15.0 12.6 58.5 14.8 9.6 4.8 12.3MB00005 15.1 36.0 17.8 22.9 8.2 9.7 11.5 7.3 12.4 13.0 10.9 6.7 10.5 5.0 32.3 18.3 5.6 16.1 27.6MB00006 61.9 21.6 7.9 4.6 4.0 2.9 13.4 10.3 11.7 10.1 13.1 10.3 10.0 8.4 45.9 29.1 4.3 9.4 11.3MB00007 27.0 27.3 15.3 14.8 15.6 4.9 7.7 3.0 10.6 13.6 10.8 13.7 12.9 9.4 20.7 19.0 15.0 27.9 17.3MB00009 0.0 0.0 100.0 0.0 0.0 0.0 4.8 7.4 7.5 7.3 17.4 10.1 24.1 14.2 0.0 100.0 0.0 0.0 0.0MB00010 82.9 17.1 0.0 0.0 0.0 0.0 5.1 8.2 16.5 18.8 16.8 5.1 6.8 3.9 41.4 15.5 15.2 0.0 27.9
Identifier
tissues in organs chronological expression patterns in all tisuues in brain tissues in brainembryo post-natal
Clustering genes via expression patterns is promising.
• A set of genes are expected to share common rolesin cellular processes.
• Genes in the same group would be observed in the same tissue at the same time.
• Their expression patterns would be similar.
• Clustering genes by expression patterns would providesubstantial insight on real groups of genes.
Graphical Representation of Expression Patterns
Before Clustering
AfterClustering
Cluster of genes coding ribosomal proteins
Clusters of genes coding myelin
diameter max{ || x – y || | x and y are points in C }
Tightness of a cluster C of points
intra-class variance (1 / |C| ) xin C || x – c(C) ||2
|C| number of points in Cc(C) centroid (mean) of C, xin C x
k-clustering of a set S of points
a partition of S into k disjoint nonempty subsets (clusters) C1, …, Ck
Minimizing the maximum value of diameters or intra-class variances of all clusters
Optimization criteria
Diameter Problem
• Approximation factor of 2 is achieved by furthest point heuristic in O(n k)-time. (n = number of points)
• NP-hard if k is treated as a variable
• O(n log k)-time version
• Approximation within a factor of the optimal diameter is NP-hard for < 2.
Diameter1 = Diameter2
Intra-class variance1 >> Intra-class variance2
Intra-class Variance Problem
• O(n (d+2)k+1 )-time algorithm (d = number of dimensions)
• O(n(1/)d )-time -approximate 2-clustering algorithm
Our Approach
• Perform hierarchical clustering by -approximate 2-clustering.
• Stop dividing a cluster if its intra-class variance is no more than a given threshold.
• It is hard to guess an appropriate value for k, beforehand.
• It is not easy to avoid generating a false-positive cluster of large intra-class variance that may contain genes of different functions.
Problems of k-clustering
Cluster of genes coding ribosomal proteins
intra-class variance =209
Clusters of genes coding myelin
intra-class variance = 128
講義の予定
結合ルールマイニング
• Apriori• Dynamic Itemset Counting• 最適区間• 最適領域• Correlation
情報科学的手法2次記憶管理主記憶管理 ハッシング最悪計算量NP完全 NP 困難動的計画法凸包探索
分類問題 / 決定木 / 回帰木
• C4.5• CART• 最適部分集合• NP-hardness / Parallel Search• Optimized Ranges / Regions• Boosting / Bagging / Weighted Majority
情報科学的方法NP 困難分岐限定法並列化
検索エンジン
• キーワード検索• リンク情報の利用 Google / Clever• 検索エンジンの動向
Clustering / Nearest Neighborhood
• k-means / k-clustering
情報科学的手法近似アルゴリズムグラフアルゴリズム