Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Nishika_Bussei_大好きオフトゥン_1st_solution.pdf
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Nishika-Inc
April 10, 2023
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Nishika_Bussei_大好きオフトゥン_1st_solution.pdf
Nishika-Inc
April 10, 2023
More Decks by Nishika-Inc
See All by Nishika-Inc
Nishika_テックチーム_ご紹介資料 / Nishika_TechTeam_Introduction
nishikainc
0
1.7k
Nishika_Bussei_mi-solution_3rd_solution.pdf
nishikainc
0
440
Nishika_Sleep_TYS_1st_Solution.pdf
nishikainc
0
280
Nishika_Sleep_Condor_3rd_Solution.pdf
nishikainc
0
240
[Nishika] Patent_tmsbir_1st Solution
nishikainc
0
530
[Nishika] Patent_TDX_3rd Solution
nishikainc
0
410
[Nishika] Narou_Hi F_1st Solution
nishikainc
0
330
[Nishika] Narou_z Animal_2nd Solution
nishikainc
0
280
202010_Nishika_サービス紹介 / Nishika_Service_Introduction
nishikainc
0
260
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
170
Making the Leap to Tech Lead
cromwellryan
135
10k
Statistics for Hackers
jakevdp
799
230k
Six Lessons from altMBA
skipperchong
29
4.3k
Fireside Chat
paigeccino
42
4k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Optimising Largest Contentful Paint
csswizardry
37
3.8k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
Transcript
Nishika様主催 データサイエンスコンペティション 材料の物性予測 解法紹介 チーム名 大好きオフトゥン
メンバー紹介 ・大好きオフトゥン 化学メーカー勤務 Pythonは2020年ごろから勉強開始 本業でMIを活用した研究開発にトライする傍ら勉強のため各種コンペに参加中 ・UnionFind 化学メーカー勤務 競プロ (Atcoder)を趣味にしたい 競プロからプログラミングスキルを磨きつつ最近データサイエンスコンペに進出 最近強々PCを導入
大好きオフトゥンの大学同期 ・Pandaman 化学メーカー勤務 Macでの環境構築に苦しみつつ勉強中 大好きオフトゥンの後輩
解法概要 ・前処理 train, test.csv内のCIFデータを用いてpymatgenで各結晶構造のCIFファイルを作成 ・モデル CGCNN : チュートリアル掲載の元論文実装を使用 GitHub MEGNet : Matdeeplearn からMEGNetを選択 GitHub
SchNet : Kgcnn(Kerasベースの各種結晶物性予測モデル)から SchNetを選択 GitHub ・CV Stratified Kfoldで10分割 train : validation : test = 8 : 1 : 1の割合で分割し、 各モデルのアンサンブルは testのスコアを参考にざっくり
モデル選択 Papers with codeのFormation Energyを参考に、効果的かつ実装の容易なモデルを順番に試していった。 なお、もっともよさそうなALIGNNやMatFormerは時間の関係上、環境構築やデータセット作成が間に合わなかっ たためもっといいスコアが出せる可能性あり。 papers with code
各モデル 簡単に紹介 • CGCNN : arxiv論文 グラフ畳み込みネットワークを結晶構造に適用したもの。 ノードに結晶内の原子、エッジに一定の距離を閾値として間引いた原子間の結合を充てて、ノード自身 と周辺ノードの情報を集約して更新する。 日本語で分かりやすいCGCNNの解説 • MEGNet : arxiv論文
ノード、エッジ以外にグローバル状態量を用意しノード、エッジの両方を用いて更新する • SchNet : arxiv論文 continuous-filter convolutional layersを導入したGNN エッジの特徴量として e = exp(-(r-μ)^2) を用意しone-hotベクトルのように扱うのが特徴
CVとアンサンブル ・CV 目的変数のエネルギーが非常に大きいもの、小さいものが一 定数あったので、ざっくりでまとめて6つラベル付けし、そのラベ ルをもとにStratified Kfoldにより10分割 train : validation :
test = 8 : 1 : 1にて学習、評価 ・アンサンブル 各モデルでfoldそれぞれで予測し平均 3つのモデルを以下のようにアンサンブル CGCNN : 20 % (public LB 0.0679) MEGNet : 10% (public LB 0.0758) SchNet : 70% (public LB 0.0615) 上記アンサンブルでpublic : 0.0583, private : 0.0605 ※ SchNet単でpublic2位、pribate1位相当 3モデルのアンサンブルにより public, privateともに1位のスコアに
他トライしたこと、やったけど効かなかったこと • テーブルデータとしてトライ 初期は元データの組成、原子の特徴量をもとにした構成元素の電気陰性度の差、原子量などの統計 量、ディスカッションにあったような matminerなどのライブラリから生成できる特徴量を用いて LightGBM、MLP →LBでだいたいpublic 0.130くらいまでしかスコア下がらず •
SOAP記述子 DScribeというライブラリを用いてSOAP記述子を作成しMLP →LBでだいたいpublic : 0.090, private 0.089 • CIFからグラフ特徴量を作成し利用 結晶グラフをなんやかんやで作成し、ネットワーク特徴量として リンク密度、クラスター密度や平均結合次数など作成して利用 →LB改善なし(グラフの作り方など工夫必要そう)
まとめ コメント ・取り組み方 今回の題材は比較的研究が盛んで、公開されているモデルも多い分野だったことから、参考にできる 文献、実装が豊富でした。そういった分野はまず現在までの研究を一通り追っていくことがスコアを上 げる一番手っ取り早い方法だったと思います。(自作の特徴量、モデルで戦うほうが面白味はあるかも しれないし勉強できることの汎用性も高そうなので、皆さまの公開していただいた解法もとに勉強させ ていただきます。) ・感想 チームとしてコンペに挑むということが初めてということもあり、 CVの方法や分担などならではの面白さ
がありました(仕事感) 結晶構造をもとにした物性の予測は今も続々と arxivやjChemInfoに論文が出続けているのでこれを期 にキャッチアップしていきたいです。 以上 お疲れさまでした。