モデルの適用範囲の手法やハイパーパラメータの選び方

説明変数 x と目的変数 y の間で構築されたモデル y = f(x) を運用するとき、モデルの適用範囲 (Applicability Domain, AD) が必須になります。AD は、モデルが本来の予測性能を発揮できる x のデータ範囲です。

モデルの適用範囲・モデルの適用領域 (Applicability Domain, AD) ~回帰モデル・クラス分類モデルを使うとき必須となる概念~
今回は、モデルの適用範囲・モデルの適用領域 (Applicability Domain, AD) についてです。AD は回帰モデル・クラス分類モデルが本来の性能を発揮できるデータ領域のことです。回帰モデル・クラス分類モデルを使うとき必須にな...
[無料公開] 「化学のためのPythonによるデータ解析・機械学習入門」 の “はじめに” と目次の詳細
こちらの書籍には改訂2版がございます。改訂2版でも無料公開の部分の内容は変わらない一方で、一章分+α を改訂2版では追記しておりますので、以下で興味を持っていただけましたら、改訂2版の購入をオススメいたします。2019 年 10 月 23 ...
[無料公開] 「Pythonで気軽に化学・化学工学」 の “まえがき”、目次の詳細、第1・2・3章
2021 年 5 月 1 日に、金子弘昌著の「Pythonで気軽に化学・化学工学」が出版されました。丸善: Amazon: Amazon(Kindle): こちらの本は、前著の 「化学のための Pythonによるデータ解析・機械学習入門」 ...

 

AD を設定する手法として、k最近傍法(k-Nearest Neighbor, k-NN) や One-Class Support Vector Machine (OCSVM) などいろいろあります。

k最近傍法(k-Nearest Neighbor, k-NN)でクラス分類・回帰分析・モデルの適用範囲(適用領域)の設定をしよう!
今回は、k最近傍法 (k-Nearest Neighbor, k-NN) についてです。k-NN だけで、 クラス分類 回帰分析 モデルの適用範囲(適用領域)の設定の3つもできてしまうんです。そんな有用な k-NN について、pdfとパワー...
One-Class Support Vector Machine (OCSVM) で外れ値・外れサンプルを検出したりデータ密度を推定したりしよう!
今回は、One-Class Support Vector Machine (OCSVM) についてです。OCSVM は SVM を領域推定問題に応用した手法であり、外れ値・外れサンプルを検出できたり、データ密度を推定できたりします。データ密...

 

ちなみに DCEKit では k-NN、OCSVM を含む AD の計算ができます。

DCEKit (Data Chemical Engineering toolKit) を PyPI にリリース!
これまで化学データ・化学工学データのデータ解析に役立つツールや金子研で開発された手法に関する Python コードを Github にて公開してきました。このたびは、これらのツール・手法 (の一部) に加えて、新たな機能を追加して、DCEK...

 

AD を計算するときは、AD の手法の中から一つ選んだり、その手法におけるハイパーパラメータを選んだりする必要があります。ただ AD は基本的に教師なし学習であるため、回帰分析やクラス分類といった教師あり学習のようにテストデータの予測性能やクロスバリデーションの推定性能に基づいて手法やハイパーパラメータを決める、といったことができません。

では、どのように AD の手法やハイパーパラメータを決めればよいでしょうか。まず、簡単なやり方としては、深く考えずに k-NN で k = 10 とするのでよいと思います。経験的には、これで大きな問題はありません。もちろん、OCSVM によりスパースなモデルを構築でき、次元の呪いの影響を受けにくいとされています。ただ、例えば OCSVM でガウシアンカーネルを使ったときには、パイパーパラメータが二つあり、それらの設定が難しいです。そのため、簡便に使用でき、k として妥当な値もある k-NN が妥当な選択肢といえます。

次に、より詳細に検討する方法です。回帰分析における予測誤差も用いて、Area Under Coverage and RMSE curve (AUCR) を指標にして決めます。まず、ここでいう予測誤差は、テストデータのサンプルの場合はそのまま y の誤差で OK ですが、トレーニングデータのサンプルの場合はダブルクロスバリデーションをしたときの y の誤差がよいです。

ダブルクロスバリデーション(モデルクロスバリデーション)でテストデータいらず~サンプルが少ないときのモデル検証~
回帰モデルやクラス分類モデルを検証するときの話です。モデルの検証一般的には、データセットが与えられたとき、サンプルをモデル構築用サンプル (トレーニングデータ, training dataset) とモデル検証用サンプル (テストデータ, ...

 

次に AUCR の計算方法についてです。まず、AD の指標を計算し、サンプルを AD の内側順に、例えば k-NN でいえば平均距離が小さい順に、サンプルを並び替えます。そして、最も小さい 30 サンプルで RMSE を計算し、次に小さい 1 サンプルを追加して 31 サンプルで RMSE を計算し、また小さい 1 サンプルを追加して 32 サンプルで RMSE を計算し、、、といったことを、すべてのサンプルで RMSE を計算するまで繰り返します。これにより、RMSE を計算したサンプルの割合と、RMSE の関係が得られます。横軸をサンプルの割合、縦軸を RMSE としたときの曲線の、下側の面積が AUCR です。

 

AUCR が小さいということは、AD の小さい順に y の予測誤差の小さいサンプルを整理できたということになり、AD として妥当といえます。そのため、手法を変えたり、手法におけるハイパーパラメータを変えたりして、それぞれ AUCR を計算し、AUCR が最小となる手法とハイパーパラメータの組み合わせを選ぶのがよいと思います。

なお参考情報ですが、こちらの論文では、AUCR に基づいて新たな指標を開発し、予測誤差の指標としています。

r2やRMSE・MAEはもう古い!?回帰分析においてモデルを評価するための新しい指標を開発しました
データ化学工学研究室としての最初の論文が掲載されました。つまり、わたしが明治大学に異動したあとに実施した研究成果の論文として、初めてのものです。その報告をすると同時に、論文の内容の概要を説明します。この論文は、回帰モデルを評価するための新し...

 

以上です。

質問やコメントなどありましたら、twitter, facebook, メールなどでご連絡いただけるとうれしいです。

タイトルとURLをコピーしました