9K Views
July 19, 23
スライド概要
マテリアルズインフォマティクスチュートリアル
(超初心者向け)Orange Data Miningによるマテリアルズ・イ ンフォマティクスハンズオン 第二回 木野日織 (きのひおり)
今回行うこと 分類ワークフロー例 • • • • 回帰 次元圧縮 分類(classification) クラスタリング(clustering)
次元圧縮 多次元のデータをより低次元のデータに変換するための手法の一つ。 利点: 手法例 1. ノイズの除去: 圧縮プロセス中に無関係 な特徴やノイズが取り除かれる。この ため機械学習の性能が向上する場合が ある。また,説明変数をまとめること で,説明変数数を減らす。 代数的な構造(分散,共分散)を用いる。 例: PCA 2. データ視覚化: 人間が理解できる次元 (2Dまたは3D)にデータを変換するこ とで、データパターンや構造を視覚化 できます。 データ間の距離を用いる。 例:多様体学習
主成分分解(PCA) 分布の長軸から順に回転させた変数の組み合わせ(変 数軸)を選ぶ。各軸は直交する。 𝑥𝑥2 PCA2 PCA1 主成分が大きい次元(変換された 説明変数)から利用する。 主成分の値から ある次元の寄与率 累積寄与率(=ある次元までの主 成分の和/全部の酒精分の和) が評価できる。 𝑥𝑥1
多様体学習 データ間の距離をなるべく保持するように低次元表現化を行う。 MDS: 全距離を用いた多様体学習。 t-SNE: 近距離のみを用いた多様体学習 など
データファイル Data/Fe2_descriptor_Orange.csv 21データインスタンス materials projectから取得した鉄の構造データ(FCC,BCC,HCP)を 1. 長周期構造に変換し。 2. 原子位置に微小変異を加え, 3. Behlerの二体対称性関数を用いて説明変数に変換した。 このデータには目的変数は存在しません。 説明変数: Behlerの二体対称性関数のパラメタを用いた 'a0.70_rp2.40', 'a0.70_rp3.00', 'a0.70_rp3.60', 'a0.70_rp4.20', 'a0.70_rp4.80', 'a0.70_rp5.40’ 目的変数ではないが, 元構造データ:FCC,BCC,HCP を記載。
2.01.DR_PCA.ows
PCAを用いるワークフロー作成 [File], [Data Table] [Preprocess] [Scatter Plot] [PCA]
ワークフローの説明 A) 観測データをファイル から読み込む。 A) 観測データをファイルか ら読み込む。 B) 観測データを正規化する。 C) 正規化した説明変数を PCAで低次元化する。 B) 観測データを 正規化する。 C) 正規化した説 明変数をPCAで 低次元化する。
詳細の設定 ①[File]で Data/Fe2_descriptor_Orange.csvを 選択する。 ① ② ②[Preprocess]で Normalize Features:Standarize to μ=0, σ2=1を選択する。
詳細の設定 [Scatter Plot] window ③説明変数 の選択 ②Color: polytype Label: polytype と設定 ①[Preprocess]の後 ろの[Scatter Plot]を 開く。
説明変数による見え方の違い
[PCA]の設定と結果 [PCA] window ②Componentsを選択 ③累積寄与率(上), 寄与率(下)の表示 ①[PCA]を選択 二次元ですでに98%の累積 寄与率がある。分布の分散 からは二次元で十分記述が できている。
PCAによる次元圧縮後の可視化 [Scatter Plot] window ③説明変数の選択,PCA1(PCAの一 軸目),PCA2(PCAの二軸目) ①[Scatter Plot (1)] を開く 累積寄与率が98%ある軸の取り方での可視化を行ったことになる。
2.02.DR_MDS.ows
多様体学習を用いるワークフロー作成 ワークフローの作成 [File], [Data Table] [Preprocess] [Scatter Plot] [Manifold learning]
多様体学習 A) 観測データをファイルか ら読み込む。 B) 観測データを正規化する。 C) 正規化した説明変数を多 様体学習で低次元化する。 C)正規化した説明変 数を多様体学習で低 次元化する。 A) 観測データをファ イルから読み込む。 B) 観測データをファ イルから読み込む。
詳細設定 ①[File]で Data/Fe2_descriptor_Orange.csvを 選択する。 ① ② ②[Preprocess]で Normalize Features:Standarize to μ=0, σ2=1を選択する。
[Manifold Learning]の設定 ① ①Manifild: t-SNEを選択 ②Metric: Euclideanを選択 ③Perplexity: 近接データ数を選択 する。小さいほど少ない近接デー タ数を選択する。 ④Output: Components=2を選択。 説明変数が二次元の出力になる。 ② ③ ④
[Scatter Plot]の設定と結果 [Scatter Plot] window ①Axis x: t-SNE-x Axis y: t-SNE-y を選択する。 ② Color: polytype, Lable: polytypeを 選択する。 ① ② PCAより異なるpolytype間が分離しているように見える(かもしれない)。
分類 ロジスティック回帰 線形関数𝑓𝑓(𝑥𝑥)に対して、 ⃗ 罰則項を含む 𝐶𝐶 𝑛𝑛 𝑐𝑐𝑐𝑐𝑐𝑐 𝐿𝐿 = 𝑤𝑤 𝑛𝑛 + � log(exp −𝑦𝑦𝑖𝑖 𝑓𝑓 𝑥𝑥⃗𝑖𝑖 )2 𝑁𝑁 𝑖𝑖 を最小化する。 Cはハイパーパラメタで,妥当な分類モデ ルになるように選択する。 二値分類 あるクラスと予測される確率 1 𝑃𝑃 𝑥𝑥⃗ = 1 + exp(−𝑓𝑓 𝑥𝑥 ) 別なクラスと予測される確率は1 − 𝑃𝑃 𝑥𝑥⃗ 多値分類 One-vs-Rest法:カテゴリ個モデルを作る。 クラス1確率: P1 𝑥𝑥⃗ クラス2確率: P2 𝑥𝑥⃗ クラス3確率: P2 𝑥𝑥⃗ 最も確率が大きいクラス名を予測値とする。
分類評価指標 観測値 混同行列 bcc fcc hcp misc 評価指標 予測値 bcc fcc 8 0 1 5 3 2 1 2 hcp 6 6 17 9 misc 0 8 2 33 正答率(Accuracy)=(8+5+17+33)/103=0.61
分類評価指標 観測値 混同行列 bcc fcc hcp misc 個別評価指標 予測値 bcc fcc 8 0 1 5 3 2 1 2 hcp 6 6 17 9 misc 0 8 2 33 再現率(Recall):fcc再現率=5/(1+5+6+8)=0.25 適合率(Precision):fcc適合率=5/(5+2+2)=0.56 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅×𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 F1スコア=2 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅+𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝
分類評価指標 観測値 混同行列 bcc fcc hcp misc 個別評価指標 予測値 bcc fcc 8 0 1 5 3 2 1 2 hcp 6 6 17 9 misc 0 8 2 33 再現率(Recall):fcc再現率=5/(1+5+6+8)=0.25 適合率(Precision):fcc適合率=5/(5+2+2)=0.56 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅×𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 F1スコア=2 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅+𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝
分類評価指標 観測値 混同行列 bcc fcc hcp misc 個別評価指標 予測値 bcc fcc 8 0 1 5 3 2 1 2 hcp 6 6 17 9 misc 0 8 2 33 再現率(Recall):fcc再現率=5/(1+5+6+8)=0.25 適合率(Precision):fcc適合率=5/(5+2+2)=0.56 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅×𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 F1スコア=2 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅+𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 これらの全体の指標に対しては、例えば、加重 平均を取る。
問題 単元素からなる基底状態の結晶構造 説明変数 min_oxidation_state, max_oxidation_state: min. and max of oxidation state Row, group: row or group of the periodic table s p d f: valence electrion occupation atomic_radius_calculated: calculated atomic radius X(chi), IP, EA : electronegativity, ionization potential, electron affinity 目的変数 1.misc (black) 2.hcp (red) 3.bcc (blue) 4.fcc (green)
2.03.cls_CV.ows
分類モデルを用いるワークフロー作成 以下を作成。 [File] [Proprocess] [Logistic Regression],[Random Forest] [Test and Score]. [Confusion Matrix] 表示の都合で [Random Forest]を追加。
ワークフローの意味 A) 観測データをファイルから読み込む。 B) 観測データで交差検定により正規化関 数を含む分類予測モデルを作成し,あ るハイパーパラメタの予測値と分類性 能を得る。 C) 交差検定の混同行列を得る。 D) 全観測データで正規化関数を含む Logstic回帰モデルを作る。 A) 観測データ をファイルから 読み込む。 B) 観測データで交差検定に より回帰予測モデルを作成し, あるハイパーパラメタの予測 値と分類性能を得る。 C) 交差検定の混同行 列を得る。 D) 全観測データでLogstic回 帰モデルを作る。
ワークフローの意味 A) 観測データをファイルから読み込む。 B) 観測データで交差検定により正規化 関数を含む分類予測モデルを作成し, あるハイパーパラメタの予測値と分 類性能を得る。 C) 交差検定の予測値から混同行列を 得る。 D) 全観測データで正規化関数を含む Logstic回帰モデルを作る。 A) 観測データ をファイルから 読み込む。 B) 観測データで交差検定に より回帰予測モデルを作成し, あるハイパーパラメタの予測 値と分類性能を得る。 C) 交差検定の混同行 列を得る。 D) 全観測データでLogstic回 帰モデルを作る。
詳細の設定 ③[Test and Score] Cross Validation Number of folds: 5 を選択 ①[File] Data/mon_structure_descript or_Orange.csvを選ぶ。 ① ③ ⑤ ② ④ ②[Preprocess] Normalize Features: Standarize to μ=0, σ2=1 を選ぶ ⑤[Logistic Regression] Regularization type: Lasso(L1) を選択。 ④[Confusion Matrix] Learners: Logistic Regression を選択
Windowの表示 [Logistic Regression]でハイパーパラメタ(C)を変化させて分類性能を確認する。 [Logistic Regression],[Test and Score],[Confusion Matrix] windowを見えるように配置する。 [Confusion Matrix] window [Test and Score] window [Logistic Regression] window
ハイパーパラメタを変えて分類性能を確認 する
ハイパーパラメタを変えて分類性能を確認 する
Logistic回帰の係数 C=35での係数の表示
Logistic回帰の係数 C=35での係数の絶対値大きい説明変数を記す。カッコ内が値。 bcc: atomic_radiuc_calculated(3.4),min_oxidation_state(-3.1) fcc: row(2.24), d(1.2) hcp: p(-4.6), IP(1.4), Z(-1.14) それぞれの分類モデルがかなり異なる。 例えば 仮説:上の説明変数の間に何か関係があるのでは? それに対して,DistanceとDistance Mapなどを用いて説明変数間の関係を見るなどできることはある。
クラスタリング 教師データ(ラベル)が存在しないデータから構造やパターンを見つけ出す手法。 クラスタ間に関係が無い クラスタ間に関係がある 例)K-Means 例)階層クラスタリング データをk個のクラスタに分ける。 クラスタを階層的に分けます。 距離を用いる。 各クラスタの中心(セントロイド)はその クラスタ内の全データポイントの平均で計 算され、各データポイントは最も近いセン トロイドのクラスタに割り当てられます。 結果としてクラスタの中心から等方的な分 割になる。 距離を用いる。 全てのデータポイントを個々のクラスタと して始め、最も似ているクラスタを繰り返 し結合する。 データ間の距離と,クラスタ間の距離の2 つの距離定義がある。
2.04.DR_CPA_kMeans.ows
k-Means [File], [Data Table] [Preprocess] [Scatter Plot] ① [PCA,k-Means] ①[PCA]{Transformed Data}-{Data}[k-Means]と接続する。
詳細の設定 ①[File]で Data/Fe2_descriptor_ Orange.csvを選択す る。 ③[PCA]で • Normalize Variablesを選択しない。 ([PCA]では入力データの正規化が行わ れない。) • Components:2を選択する。 ③ ① ② ② ②[Preprocess]で Normalize Features:Standarize to μ=0, σ2=1を選択する。 [k-Means]の前に[Preprocess]があるのは[PCA]で変換されると,後ろの ←妥当かどうかを後で確かめる。 次元では分散が小さいくなるので,再度正規化している,という意味。
詳細の設定 A) B) C) D) E) 観測データを読み込む。 観測データを正規化する。 観測データをPCAで低次元化する。 低次元化した観測データを正規化する。 正規化した低次元化した観測データを k-Means法でクラスタリングする。
k-Meansの設定 ②Number of Clustersを2から5に設定する。(今の場合は答 えが3とわかっているのでその範囲に設定する。) ③Normalize columnsをチックしない。チェックされると入 力データがStandardizeされる。 ④シルエットスコアからクラスタ数が3と自動選択される。 [k-Means] window ② ③ ①[k-Means]を開く。 ④
[Scatter Plot]の設定 ②Axis x: PC1, Axis y: PC2を選択する。 ③Attributes, Color: Cluster, Label polytypeと選択する。 ④クラスタ(色),と構造類型(文字)が表示される。 [Scatter Plot (1)] window ① ② ④ ③ ①[Scatter Plot(1)]を開く。
[PCA]次元と正規化の関係 当たり前と思われるかもしれませんが,[PCA]の次元を変えてみてください。 ③[Scatter Plot]でもPCA1 vs PCA2次元空間で 分離されない。 ①[PCA] で5出力次元を選択する。 ②[k-Means] で5クラス ターが選択される。
[PCA]次元と正規化の関係 この場合はk-Meansの入力の正規化を行 わない場合は3クラスターになります。 ① ①[Preprocess (1)]を開く。 「x」を押すと具体 的な操作が消えて, 何も行われない。
[PCA]次元と正規化の関係 →次元圧縮と規格化を適切に行わないと妥当なクラスタリング が行えません。 (必ずではありませんが)妥当なクラスタリングが行える説明 変数空間では説明変数空間でデータ点が分離している,という ことなので,分類問題も問題毎に適切に行った次元圧縮と規格 化を使用すると性能が向上します。
2.05.hierarchical_clustering.ows
階層クラスタリング ワークフローの作成 [File] [Preprocess] [Distances], [Hierarchical Clustering]
詳細の設定 ①[File]で Data/Fe2_descriptor_ Orange.csvを選択す る。 ① ② ②[Preprocess]で Normalize Features:Standarize to μ=0, σ2=1を選択する。
[Distance]の設定 [Distances] window ① [Distances]を開く。 ② ③ ② ②Compare:でRowsを選択 ③Distance Metricで Euclideanを選択。
[Hierarchical Clustering]の設定 [Hierarchical Clustering] window ④ ② ③ ① [Hierarchical Clustering]を開く。 ② LinkageでSingleを選ぶ。 ③ Annotationsで keyを選ぶ。 ④距離が近いデー タの順につないだ 樹形図が表示され る。
Linkageの設定 helpによるLinkageの説明 Linkage=Averageの例 Single linkage computes the distance between the closest elements of the two clusters Average linkage computes the average distance between elements of the two clusters Weighted linkage uses the WPGMA method Complete linkage computes the distance between the clusters' most distant elements Ward linkage computes the increase of the error sum of squares. In other words, the Ward's minimum variance criterion minimizes the total within-cluster variance. 距離の選び方:解析者が見たい見え方になるように距離を選びます。
引用 単元素結晶:Wikipediaより。