転移学習におけるモデルの適用範囲

転移学習にも色々とありまして、例えばディープニューラルネットワークを用いて、ソースドメインのデータセット (サポート用のデータセット) でネットワークを学習させておいて、中間層における最後の層のニューロンだけターゲットドメインのデータ (目的のデータセット) で再学習 (ファインチューニング) する手法や、こちらに記載したように、ゼロ行列をうまく使うことでデータセットを拡張し、モデル構築をする手法 Frustratingly Easy Domain Adaptation (FEDA) などがあります。

[解析結果とPythonコードあり] 転移学習 (Transfer Learning) を用いたデータ解析
転移学習 (Transfer Learning) について、パワーポイントの資料とその pdf ファイルを作成しました。どんなシチュエーションで転移学習が使えるのか、そして転移学習により本当にモデルの精度は向上するのか、数値シミュレーション...

 

もちろん、どの転移学習を利用した場合でも、構築されたモデルを活用するときは、モデルの適用範囲 (Applicability Domain , AD) を設定する必要があります。

モデルの適用範囲・モデルの適用領域 (Applicability Domain, AD) ~回帰モデル・クラス分類モデルを使うとき必須となる概念~
今回は、モデルの適用範囲・モデルの適用領域 (Applicability Domain, AD) についてです。AD は回帰モデル・クラス分類モデルが本来の性能を発揮できるデータ領域のことです。回帰モデル・クラス分類モデルを使うとき必須にな...

 

ディープニューラルネットワークを用いた手法のように、説明変数 x の数が変わらないのであれば、通常通り AD を設定できます。もちろんニューラルネットワークに基づいた手法では、x で AD を設定するのではなく、(PCA 後の主成分に AD を設定するように) いずれかの中間層に AD を設定することで、抽象化した AD にすることもできます。

一方で、ゼロ行列を組み合わせてデータセットを拡張した場合の AD については、x が変わるため、どのように AD を設定するか迷う方もいらっしゃるかもしれません。ここで頭に入れておくべきことは、AD は、モデルを構築したデータセット、すなわち x やサンプルに依存するということです。予測するサンプルにおいても、オリジナルの x とゼロ行列 (もしくはベクトル) を組み合わせた x になります。そのため、その x と同じ次元で AD を設定する必要があります。

ゼロ行列を組み合わせた後のデータセットに対して、AD を設定するのが一般的な方法になります。例えば、k-NN における k の値や OCSVM における ν や γ などのパラメータも転移学習をしない場合と同様にして決定するほうがよいです。

以上のように、転移学習をすることによりデータセットを変更した場合でも、AD の基本的な考え方を踏襲して、AD を決めるとよいです。

 

以上です。

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

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