Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2018年度 化学工学特論2 第11回

2018年度 化学工学特論2 第11回

前回の達成目標
今回の達成目標
クラスタリング
階層的クラスタリング
計算の流れ
クラスター間の距離をどうするか?
クラスターの数
クラスタリングを実行してみよう!
クラスタリングとクラス分類
構造物性相関・構造活性相関
決定木 (Decision Tree, DT) とは?
決定木のでできることのイメージ (クラス分類)
決定木モデルの木構造 (クラス分類)
決定木のアルゴリズム
クラス分類における評価関数 E
クラス分類の結果の評価
クラス分類の結果の評価 例
いつ木の成長を止めるか?
クロスバリデーション
決定木をしてみよう!
Random Forest (RF) とは?
RFの概略図
どのようにサブデータセットを作るか?
サブデータセットの数・説明変数の数はどうする?
どのように推定結果を統合するか?
Out-Of-Bag (OOB)
ランダムフォレストをしてみよう!
[補足] 説明変数 (記述子) の重要度
[補足] OOBを用いた説明変数 (記述子) の重要度

Hiromasa Kaneko

January 27, 2019
Tweet

More Decks by Hiromasa Kaneko

Other Decks in Technology

Transcript

  1. クラスタリングとクラス分類 クラスタリング • サンプルを塊 (クラスター) ごとに、自動に分ける • クラスの情報 (正解) は用いない

    ⁃ 階層的クラスタリング クラス分類 • クラスの情報 (正解) に基づいて、サンプルを分類する ⁃ 決定木 (Decision Tree, DT) ⁃ ランダムフォレスト (Random Forests, RF) 9
  2. 構造物性相関・構造活性相関 10 X: 説明変数 y: 目的変数 回帰モデル クラス分類モデル y =

    f( X ) モデリング データベース yの推定値 新しいデータ xnew 構造記述⼦*など 予測 物性・活性など x1 x2 1 2 2 1 3 3 データ1 データ2 データ3 例) X: 2変数 データ数: 3 線形モデル *化学構造の情報を数値化したもの 例) 分⼦量、炭素原⼦の数、 ベンゼン環の数 y 活性なし 活性なし 活性あり 1 2 3 1 2 3 クラス分類 モデル
  3. 決定木のでできることのイメージ (クラス分類) 12 説明変数1 (x1 ) 説明変数2 (x2 ) 3

    5 1 4 推定されたクラスは、 多数決で クラス 2 クラス 2 クラス 1 クラス 2 クラス 1 ・・・ クラスが 1 のサンプル ・・・ クラスが 2 のサンプル
  4. 決定木モデルの木構造 (クラス分類) 13 根ノード x1 > 3 x1 ≤ 3

    x2 ≤ 1 x2 > 1 x2 > 4 x2 ≤ 4 x1 ≤ 5 x1 > 5 枝 クラス 2 クラス 1 クラス 2 クラス 2 クラス 1 ノード 葉ノード
  5. クラス分類における評価関数 E 交差エントロピー誤差関数 ジニ係数 15 1 n i i E

    E = =  1 ln K i ik ik k E p p = = − ( ) 1 1 K i ik ik k E p p = = −  いずれも、 K : クラスの数 pik : 葉ノード i における、クラス k の サンプルの割合 (ジニ係数のほうが よく使われるかな・・・)
  6. クラス分類の結果の評価 混同⾏列 (confusion matrix) 16 予測されたクラス 1 (Positive, 陽性) -1

    (Negative, 陰性) 実際の クラス 1 (Positive, 陽性) True Positive (TP) False Negative (FN) -1 (Negative, 陰性) False Positive (FP) True Negative (TN) 正解率 = TP + TN TP + FN + FP + TN 検出率 = TP TP + FN 精度 = TP TP + FP 誤検出率 = FP FP + TN など
  7. クラス分類の結果の評価 例 混同⾏列 (confusion matrix) 17 予測されたクラス 1 (Positive, 陽性)

    -1 (Negative, 陰性) 実際の クラス 1 (Positive, 陽性) 45 5 -1 (Negative, 陰性) 20 50 正解率 = 45 + 50 45+5+20+50 検出率 = 45 45 + 5 = 0.90 精度 = 45 45 + 20 誤検出率 = 20 20 + 50 = 0.69 = 0.29 = 0.79
  8. クロスバリデーション 例) 3-fold クロスバリデーション 19 X 比較指標の 計算 変数 サンプル

    y X1 X3 y1 y3 X2 y2 X1 y1 X2 y2 X3 モデル1 y3p y1 y3 y2 y1p y3p y2p ① X2 y2 X3 y3 X1 モデル2 y1p ② X3 y3 X1 y1 X2 モデル3 y2p ③ ① ③ ②
  9. どのようにサブデータセットを作るか︖ データセットのサンプル数: m • サンプルを重複を許してランダムに m 個選択 データセットの説明変数(記述⼦)の数: n •

    説明変数を重複を許さずランダムに p 個選択 23 が得られる サブデータセット 説明変数の数 : p サンプルの数 : m 決定木作成
  10. サブデータセットの数・説明変数の数はどうする︖ グリッドサーチ + クロスバリデーション サブデータセットの数の候補 例 • 100, 200, 300,

    400, 500 説明変数の数の候補 例 • データセットにおける説明変数(記述⼦)の数の 10, 20, …, 80, 90 % 24
  11. [補足] 説明変数 (記述⼦) の重要度 説明変数 (記述⼦) の重要度 Ij 28 ,

    1 t j t T t T j m I E k m ∈ = ∆   k : サブデータセットの数 (決定木の数) m : サンプル数 T : ある決定木 t : T におけるあるノード ΔEt : t にしたときの E (決定木における評価関数) の変化  目的変数の誤差の⼆乗和 (回帰分析)  Gini 係数など (クラス分類) * Scikit-learn では変数の重要度としてこれを採用
  12. [補足] OOBを用いた説明変数 (記述⼦) の重要度 説明変数 (記述⼦) の重要度 Ij 29 (

    ) ( ) 1 1 k j i i i I F E p j k = = −  k : サブデータセットの数 (決定木の数) p(j) : i 番目の決定木に変数 j が使われていたら 1, そうでなければ 0 Ei : i 番目の決定木において、OOBを推定したときの  平均⼆乗誤差 (回帰分析)  誤分類率 (クラス分類) Fi : i 番目の決定木を作成した後に、説明変数をランダムに並び替えて、 OOBを推定したときの  平均⼆乗誤差 (回帰分析)  誤分類率 (クラス分類) Ei が小さいほど、Fi が大きいほど、Ij が大きい → j 番目の説明変数 (記述⼦) の重要度が⾼い