化合物の構造を表現する記述子

無機化合物の化学式とユニットセルの情報及び原子の座標から物性値(結合エネルギー・バンドギャップ)を予測するKaggleコンペに参加していた。

Nomad2018 Predicting Transparent Conductors | Kaggle

feature engineering の過程で分子および無機結晶の構造から特徴量抽出する手法に関する論文をいろいろ読んだので、以下にまとめておく。 基本的に記述子の作り方の部分しか読んでいないので、詳しくは論文を参照。

分子に対する手法

Coulomb Matrix (CM)

ここで Z_{I}は原子Iの形式電荷 r_{IJ}は原子Iと原子Jの距離。

  • 分子を構成する原子Iと原子Jの間の反発力を表している。 対角成分については、原子の自己エネルギーを多項式でフィッティングしたもの。

  • Coulomb Matrix  M固有値を絶対値の大きい順で並べ、適当に0でpadding して次元を揃えたものを記述子として使う(分子ごとに原子数が異なるので記述子の次元を揃える必要がある)。

  • 分子の回転・並進移動の元で記述子は不変。

Bag of Bonds (BoB)

Bonds, angles, machine learning (BAML)

Extended Connectivity Fingerprints (ECFP)

Molecular atomic radial angular distribution (MARAD)

Histogram of distances, angles and dihedral angles (HDAD)

Fourier series of radial distance distributions

Molecular Graph (MG)

無機結晶に対する手法

分子に対する手法ほど進展していない印象。 分子の場合は並進移動と回転に対する対称性を考えればよかったが、結晶の場合は更にユニットセルの選び方に関して不変であるべきなのでより難しそう。 crystal net *2を一意に表す方法があればいいのだが、そもそもグラフ同型判定問題はNPに属しているという厳しさがある。

Partial radial distribution function (PRDF)

Atom centered symmetry functions

 f_{c}(R) = \begin{cases} \frac{1}{2} \left( 1 + \cos \left( \frac{\pi R}{R_{cutoff}} \right) \right) \quad (R < R_{cutoff}) \\  0 \quad (R > R_{cutoff}) \end{cases}

  • 各原子 iに対して次のような動径分布関数を考える。  \eta, R_{s}をいろいろ変えて記述子とする。

 G_{i}^{rad} (\eta, R_{s})= \sum_{j} e^{-\eta (R_{ij} - R_{s})^{2} } f_{c} (R_{ij})

  • 各原子 iに対して次のような角度分布関数を考える。  \zeta, \etaをいろいろ変えて記述子とする。

 G_{i}^{ang} (\zeta, \eta) = \frac{1}{2^{\zeta - 1}} \sum_{j, k \neq i} \left( 1 \pm \cos \theta_{ijk} \right)^{\zeta} \, e^{-\eta (R_{ij}^{2} + R_{jk}^{2} + R_{ki}^{2})} f_{c} (R_{ij}) f_{c} (R_{jk}) f_{c} (R_{ki})

Bond orientational order parameter (BOP, BOOP)

Bispectrum

F-Fingerprint

 F_{AB}(R) = \sum_{A_{i} \in unit cell} \sum_{B_{j} s.t. R_{ij} \lt R_{max}} \frac{\delta (R - R_{ij}) }{4 \pi R_{ij}^{2} \frac{N_{A} N_{B}}{V} \Delta}  - 1

  • ここで、 R_{ij}は原子 A_{i}と原子 B_{j}の距離、 N_{A}, N_{B}はユニットセル内の原子A,Bの個数、 Vはユニットセルの体積、 \Deltaはこの関数をヒストグラムにするビン幅、 \delta (\cdot )はgaussian-smeared delta function

Ewald Sum Matrix

  • [1503.07406] Crystal Structure Representations for Machine Learning Models of Formation Energies
  • Coulomb Matrix における M_{IJ} をサイトIを占めるすべての原子とサイトJを占めるすべての原子との間の静電ポテンシャルの和に修正。
  • Ewald法を用いて静電ポテンシャルの総和を計算する。
  • pymatgen にEwald法を用いて結晶の静電ポテンシャルの総和を計算する関数があるが、計算する式が少し違う。ただEwald Sum Matrix を実際に実装するときに大いに参考にはなる。

Extended Coulomb-like Matrix

Sine Matrix

Crystal Graph (CG)