第 5 章 特徴量を用いた機械学習の利用
5.4. 結果
図 5.10 BDTのROC曲線
図5.10は学習器にBDTを使用してイベントの識別を行ったときのROC曲線(Receiver
Operatorating Characteristic curve)である。ROC 曲線を用いることで機械学習の学習器
の学習モデルを評価できる。
教師信号と実際に学習器が出力したシグナルとバックグラウンドのイベント数を以下の ように定義する。
表 5.2シグナルとバックグラウンドのイベント数
図5.10のROC曲線の横軸、縦軸は以下のようにしている。
𝐵𝑎𝑐𝑘𝑔𝑟𝑜𝑢𝑛𝑑 𝑟𝑒𝑗𝑒𝑐𝑡𝑖𝑜𝑛 = 𝑇𝑁 𝐹𝑃 + 𝑇𝑁 𝑆𝑖𝑔𝑛𝑎𝑙 𝑒𝑓𝑓𝑖𝑐𝑖𝑒𝑛𝑐𝑦 = 𝑇𝑃
𝑇𝑃 + 𝐹𝑁
上記からBackground rejectionが1に近いほど正確にバックグラウンドを除去できてお
り、同様にSignal efficiencyが1に近いほど正確にシグナルを識別している。
ROC曲線の示す学習器の性能を表した値がAUC(Area Under the Curve)で、ROC曲線 と縦軸、横軸で囲まれた面積である。AUCが1のときは完全な分類が可能であり、AUCが 0.5の時はランダムな分類となることを表している。
BDTのAUCの値は0.9877 ± 0.0006となった。
次に、MLPを使用したときの解析結果について述べる。まず、MLPの隠れ層を1層に 固定する。ノードの数を2から20まで変化させた時のAUCの推移を図5.12に記す。ただ しこの時の隠れ層のノード数はバイアスノードを含むノード数である。使用した入出力関 数は tanh 関数、sigmoid 関数(2.4.3 参照)、radial 関数の 3 つとした。radial 関数はy = 𝑒−𝑥2⁄2の関数である。
まず、活性化関数にtanh関数を用いたときの結果を示す。
図 5.11 活性化関数にtanh関数を用いたときのノード数に対するAUC値
図5.11から活性化関数にtanh関数を用いたとき、ノード数が3,4ときノード数5~20の 時に比べてAUCが低い値が出る。図5.11をy軸方向に射影したときのAUC分布を示す。
図 5.12 活性化関数にtanh関数を用いたときのAUC分布
ノード数が5~20の時のAUCのノード依存性は見られず統計誤差でふらついていると考え られる。この時のAUC平均値は0.95 ± 0.01である。
0.88 0.89 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 AUC
ノード数
tanh 関数を用いたときのノード数に対する AUC 値
0 2 4 6 8 10
0.88 0.89 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 回数
AUC
tanh 関数を用いたときの AUC 分布
ノード数3の時のROC曲線とノード数13のときのROC曲線を以下で示す。
図 5.13 活性化関数:tanh関数 ノード数13の時のROC曲線
次にシグモイド関数を用いたときの結果を示す。
図 5.14 活性化関数にsigmoid関数を用いたときのノード数に対するAUC値
顕著な AUCのノード数依存は見られない。AUC値の平均は0.934 ± 0.008である。この 時のROC曲線は以下の図である。
図 5.15 活性化関数にシグモイド関数を用いて、ノード数19のときのROC曲線 0.88
0.89 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 AUC
ノード数
シグモイド関数を用いたときのノード数に対する AUC 値
次にradial関数用いたときの結果を示す。
図 5.16 活性化関数にradial関数を用いたときのノード数に対するAUC値
活性化関数にradial関数を用いたとき、3~6ノードの時にはそれ以上と比較してAUC値 が低い傾向があるが、ノード数 7 以上では一定と考えられる。この時の AUC 値の平均は 0.95 ± 0.01となった。
活性化関数にradial関数を用いたときのROC曲線は以下のようになった。
図 5.17 活性化関数にradial関数、ノード数13のときのROC曲線
MLP の隠れ層を1 層に固定、ノード数を変化せた時、AUCのノード数依存性は見られ なかった。また活性化関数によるAUC値の値も変わらない。ただし活性化関数によるAUC 値のふらつきが異なる。tanh関数を用いたときは低ノード側では統計誤差から外れる低い AUC値を出力した。radial関数の時はノード数におけるAUCの誤差がsigmoid関数の時
0.88 0.89 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 AUC
ノード数
radial 関数を用いたときのノード数に対する AUC 値
よりも大きい値が計算される。使用する活性化関数の時 sigmoid 関数は tanh 関数,radial 関数に比べ誤差の小さいAUC値を出す。
次に、tanh関数で低いAUCを出したノード数3にノード数を固定。隠れ層を1から6 層まで変化させた時のAUCの値を記す。
図 5.18 ノード数を3に固定して隠れ層を変化させた時のAUCの値
ノード数3に固定して隠れ層を増加させた時、tanh関数は4,5層までAUCの増加が見
られる。radial関数では2層までAUC増加が見られるがその後一定の値に収束したとみら
れる。sigmoid関数は増加せず一定のAUC値となった。ただし隠れ層6層にしたとき識別 が出来ず計算できなかった。
次に、AUCの値が一定になるノード数8にノード数を固定し、隠れ層数を増加させたと きのAUC値は以下のようになった。
図 5.19 ノード数を3に固定して隠れ層を変化させた時のAUCの値 いずれの活性化関数においてもAUC値の隠れ層数依存性はみられない。
0.86 0.88 0.9 0.92 0.94 0.96 0.98 1
0 1 2 3 4 5 6 7
AUC
隠れ層数
隠れ層数とAUCの関係 (ノード数:3)
tanh sigmoid radial
0.86 0.88 0.9 0.92 0.94 0.96 0.98 1
0 1 2 3 4 5 6 7
AUC
隠れ層数
隠れ層数とAUCの関係 (ノード数:8)
tanh sigmoid radial
これまでの解析では,予め準備した特徴量をすべて入力とした。12個の特徴量から,真に必要 なものを選別することは機械学習にとって重要な課題である。今回はL1正則化[17]という手法を 用いて,12個の特徴量からイベントの特徴を表すために必要な量を選別を試みた。
用いた特徴量は
電磁カロリメータでのエネルギー損失
レプトン対系の運動量
レプトン対系の不変質量
反跳質量
レプトン対の角度
損失角度 の6つである。
その結果各学習器のAUCは以下のようになった。
全ての特徴量を用いたときのAUC値 正則化した特徴量を用いたときのAUC値
BDT 0.877 ± 0.0006 0.988
MLP 0.937 ± 0.007 0.930
表 5.3 特徴量の正則化を行った時と行わない時のAUC値
MLPのノード数は10、隠れ層数は2層、繰り返し回数は500、活性化関数はシグモイド関数 とした。表5.3から正則化によって入力の特徴量の数を減らしてもAUC値は誤差範囲内となり、
特徴量の選別ができた。
図 5.20 正則化を行った時のROC曲線