FFRI Security, Inc.

MWS Cup 2022 課題3
Post Meeting
株式会社ＦＦＲＩセキュリティ
https://www.ffri.jp

1

作問メンバーについて紹介2

今年の作問体制
今年は以下のメンバーにご協力いただいた（敬称略）
あらためて感謝申し上げます
所属・氏名

株式会社ＦＦＲＩ
セキュリティ

LINE株式会社役割

茂木裕貴

作問チームリーダー

中川恒

MWS Cup副委員長

愛甲健二

作問委員

小野颯真

作問委員

草間好輝

作問委員

華徳凱

作問委員

3

今年の問題について
アンケート結果

4

Kaggleの利用は継続したい
Kaggleでやれてよかったという声が自由記述でも多かった
各チーム代表者1人制は不評だったため来年以降は複数人可にしたい5

Stringsに絞ったことは良かった
以下の理由からStringsに絞った検知にした
特徴

概要

試行錯誤しやすい

特徴量を絞ることで方向性が定まる
NLPの各種手法を試せる

データ量を増やす

データサイズの削減により検体の件数を昨年の約2倍に論文に基づく設定

Stringsを用いた検知は複数の論文が存在する

取り組みやすい、試行錯誤できたという声が多く、好評だった
来年以降は要検討
6

難易度はちょうど良かった
試行錯誤でスコアを上げられたという声が多かった

7

分量は少ないという声があった「当日課題」がないことを惜しむ声もあった

一方で分量は解く人次第とも言える
当日課題については答えがない、ので…
8

作問協力者募集中です

課題

Stringsは今年使ってしまったが、どうする？
Kaggle Notebookで動くレベルの模範といえる解答
答えが決まる一方でバラけて分類に貢献する当日課題
9

MWS Cup 2022 課題3
Write-up 解説

10

1st 解法のDiscussionが模範的

上記Discussion[1]を是非読んでほしいが、出てくる単語をいくつか抜粋してDSコンペに慣れていない人向けに解説する
11embeddingの次元削減
TF-IDFで得られたベクトルを次元削減してLightGBM等への入力としている

図は[1]より抜粋

こうした高次元への埋め込みを次元削減して使用する方法はNLPでは広く行われている
例：事前学習済みBERTで埋め込んだあとPCA
Feature Engineering - Principal Component Analysis on News
Headline Embeddings[2]注：今回は「自然言語」というわけではないので、「自然言語」で事前学習されたBERT等で埋め込んだ場合有効かというと微妙
12

Stacking
モデルを「積み重ねる」手法
モデルの予測値を特徴量として予測する

図は[1]より抜粋

以下[3]に沿って解説する
13

Stacking（続き）
例：1層目がLightGBM, CatBoost, XGBoostの3つ、2層目がCatBoost
まず1層目の各モデルで以下を行う
test.csv

train.csvを分割
1 fold

train

train

val

test

2 fold

train

val

train

test

3 foldval

train

train

test

図は簡略のため3-foldvalを予測
各train dataに対しvalとしてのpredictionが得られる

testを予測＆平均test dataに対しpredictionが得られる
14

Stacking（続き）
例：1層目がLightGBM, CatBoost, XGBoostの3つ、2層目がCatBoost
2層目のモデルで以下を行う
Trainのvalとしてのprediction(LightGBM)
Trainのvalとしてのprediction(CatBoost)Trainのvalとしてのprediction(XGBoost)

CatBoost

1層目のモデルの予測を特徴量として学習

Testのprediction(LightGBM)
Testのprediction(CatBoost)

CatBoost

1,0…

Testのprediction(XGBoost)

testを予測15

Adversarial Validation
主に2つの使われ方がある
いずれにせよTrain DataとTest Dataに乖離があるときに使用される
論文[4]の該当箇所

概略

方法

3.1
AutomatedFeature
Selection

特徴ベクトルがTrain
DataとTest Dataであまり乖離しないように特徴量を選択する

Train DataとTest Dataを見分ける分類器を作り、見分けられないように特徴量を削っていく

3.2
ValidationData
Selection

Test Dataに近いデータでValidation Dataを作成し、正確に精度を見積もることを目指す

Train DataとTest Dataを見分ける分類器を作り、Test Dataである予測確率が高いものをValidation Dataとする

16

Pseudo Labeling
Test Dataの予測値をそのデータのラベルとしてみなし、Train Dataに加える
Test
data

Train
data

Model
学習

1, 0…
Testの Train
予測
data

Model

学習

1, 1…
Testの予測繰り返して行う事も多い【Kaggle】NBME - Score Clinical Patient Notesコンペにチーム参加し、4位となり金メダルを獲得しました[5][3]では工夫の仕方について言及がある

17

Random Seed Averaging
Random Seedを変えただけのモデルでアンサンブルする（平均を取るだけ。Seedは例）
Model(seed == 1)

Model(seed == 42)

Model(seed == 3407)

testを予測0.8, 0.1…

0.7, 0.2…

0.63, 0.3…

平均を取る
0.71, 0.2…

アンサンブル用に手軽にモデルを増やせるためKaggleでも使用されている2019 Data Science Bowl 1st Solution[6] など
18

基本は特徴量エンジニアリング
いろいろテクニックを紹介したが、進め方としてはやみくもに（最初から）Random Seed Averagingやハイパラチューニングをし続けるより特徴量エンジニアリングをやるのがよい「分析コンペでモデルの精度を上げるために最も重要な要素である」[3]“Feature engineering is the art part of data science.”[7]19Write-upのすすめ
今回は3チームにWrite-upを公開していただいた
コンペのページ
https://www.kaggle.com/competitions/mws-cup-2022-3/のCode及びDiscussionから閲覧できる

特に今回の課題3のようなDSコンペは決まった正解がなく、各チームのWrite-upによる議論は重要
課題3以外でも何らかの形でWrite-upを取り上げ、何らかの形で評価できるようにしていきたい20

再掲：次回以降作問にご協力いただける方を募集しています！！！
2018 - 2021
分類問題のサステナビ
リティ••

Fexrdの出力を食わせるだけで高精度
次回は模範解答からスタートされうる

2022
•
•

Stringsのみを用いたtrainデータとtestデータの時間をずらした
来年以降は未定•問題を「解く」ではなく「作る側」•

DSコンペに参加者ではなく作問側として参加する機会は希少
より良い問題、より良い模範解答ができればMWSコミュニティそしてサイバーセキュリティ業界全体にプラス
21

参考文献
[1] 1st place solution (public LB 2nd, private LB 1st), Available athttps://www.kaggle.com/competitions/mws-cup-2022-3/discussion/362177(Accessed 14 November 2022)[2] Feature Engineering - Principal Component Analysis on News Headline
Embeddings, Available at https://developers.refinitiv.com/en/articlecatalog/article/ai-feature-engineering-pca-on-news-headlines-embeddings(Accessed 10 November 2022)[3] 門脇大輔，阪田隆司，保坂桂佑，平松雄司著『Kaggleで勝つデータ分析の技術』,
2019, 技術評論社[4] Jing Pan, Vincent Pham, Mohan Dorairaj, Huigang Chen,
and Jeong-Yoon Lee. “Adversarial Validation Approach toConcept Drift Problem in User Targeting Automation Systems at Uber.” ACM AdKDD
2020 (2020).
[5]【Kaggle】NBME - Score Clinical Patient Notesコンペにチーム参加し、4位となり金メダルを獲得しました, Available at https://blog.recruit.co.jp/data/articles/kagglenbme-score-clinical-patient-notes/ (Accessed 10 November 2022)[6] 1st Place Solution, Available at https://www.kaggle.com/c /data-science-bowl2019/discussion/127469 (Accessed 10 November 2022)[7] Feature Engineering for Automated Machine Learning | Dataset Features,
Available at https://www.datarobot.com/wiki/feature-engineering/ (Accessed 14November 2022)
22