交差検証と最適学習モデル

35 views
Skip to first unread message

dokusyuu_jubatus

unread,
Dec 4, 2018, 4:07:37 AM12/4/18
to Jubatus
こんにちは。
交差検証と最適学習モデルについて質問があります。

現在、多値分類(jubaclassifier)と線形予測(jubaregression)を行っております。
アルゴリズムにはAROWを使っており、regularization_weightとsensitivityを固定して、グリッドサーチによる学習エポック数の最適化を行っております。
学習モデルの汎化性能は、最適化したハイパーパラメータを元に、k分割交差検証法によって検証しております。
例えば、総サンプル数が100個、k分割における分割数を5に設定し、k分割交差検証を行った場合、(80サンプルが学習データ、20サンプルが未学習データ)x 5 データセットそれぞれに対する学習モデルが構築されると思います。
そこで質問なのですが、最適な学習モデルを納品する場合には、次のどの学習モデルを提出するのが良いのでしょうか。

1. サンプルすべて(100個)を使用して、一から構築した学習モデルを納品する
2. k分割交差検証において構築された5つの学習モデルの中から、最も良いモデルを一つ選択して納品する
3. k分割交差検証において構築された5つの学習モデルをmix操作によって統合し、これを納品する

また、1のようにすべてのデータを学習に使ってしまうと、学習モデルを評価することができないように思えます。
このような場合、k分割交差検証によって算出された各学習モデルにおける汎化性能の平均値を、新たに構築した学習モデルの汎化性能とみなすことは可能なのでしょうか。

大変稚拙な質問で申し訳ございません。どなたかご教示いただけると幸いです。
よろしくお願い申し上げます。

Ryohei IMAMASU

unread,
Dec 6, 2018, 12:06:40 AM12/6/18
to Jubatus
こんにちは。Jubatus Team の 今増 です。

「最適な学習モデル」という定義は、納品先での利用方法や分析対象の
データのバリエーション等に依存するところが大きいと考えております
ので、以下の回答はすべての状況について言えることではないというこ
とをご理解下さい。

交差検証の結果から、作成された学習済みモデルが学習データの偏りに
依存しないと言える(例えば、5つの学習済みモデルの精度差が小さい)
のであれば、1 の サンプル全てを利用したモデル で良いのではないか
と思います。

そうではない場合は、2 の交差検証で最も精度が高かった学習済みモデル
とするのが良いかと思います。

個人的には、上記の状況をご説明し、納品先のお客様にご判断していただ
くというのものも1つのやり方かと思います。

よろしくお願いいたします。

2018年12月4日火曜日 18時07分37秒 UTC+9 dokusyuu_jubatus:

dokusyuu_jubatus

unread,
Dec 6, 2018, 12:37:00 AM12/6/18
to Jubatus
Jubatus Team 今増 様

教えていただき、ありがとうございました。
大変参考になりました。

① 交差検証の結果において、作成された学習済みモデルが学習データの偏りに依存しない場合
→ サンプル全てを利用して再構築した学習モデル 
② 交差検証の結果において、作成された学習済みモデルが学習データセットに依存する場合
→ 交差検証において最も精度の良かった学習モデル

もう一つ質問なのですが、3. のように交差検証によって作られた5つの学習モデルをMix操作によって統合した学習モデルと、1. のように100サンプルすべてを使って構築した学習モデルは等価と考えても良いのでしょうか?
また、Mix操作によって統合した学習モデルの汎化性能は、先の交差検証によって検証済みであると考えて良いのでしょうか?

大変お手数ではございますが、何卒宜しくお願い申し上げます。

2018年12月6日木曜日 14時06分40秒 UTC+9 Ryohei IMAMASU:
こんにちは。Jubatus Team の 今増 です。

「最適な学習モデル」という定義は、納品先での利用方法や分析対象の
データのバリエーション等に依存するところが大きいと考えております
ので、以下の回答はすべての状況について言えることではないというこ
とをご理解下さい。



Ryohei IMAMASU

unread,
Dec 11, 2018, 7:59:12 AM12/11/18
to Jubatus
Jubatus Team 今増です。返信が遅くなってしまい、すみません。

> もう一つ質問なのですが、3. のように交差検証によって作られた5つの学習モデルをMix操作によって統合した学習モデルと、1. のように100サンプルすべてを使って構築した学習モデルは等価と考えても良いのでしょうか?
> また、Mix操作によって統合した学習モデルの汎化性能は、先の交差検証によって検証済みであると考えて良いのでしょうか?

機械学習エンジン(Classifier とか Recommender とか)にもよるのですが、等価と考えない方が良いです。
MIX操作は複数のJubatusサーバが学習したモデルを交換し、平均を割り出す操作に似ています。
そのため、100サンプルを使って学習したモデルとは異なります。つまり、汎化性能も異なるものと考えていただければと思います。

複数のJubatusサーバで十分な回数繰り返し学習を行った後にMIX操作を行った場合でも、単一のJubatusサーバで学習した場合と得られる学習モデル(モデルの重み)が異なる点にもご留意ください。

2018年12月6日木曜日 14時37分00秒 UTC+9 dokusyuu_jubatus:

dokusyuu_jubatus

unread,
Dec 11, 2018, 8:09:46 PM12/11/18
to Jubatus
Jubatus Team
今増 様

教えて頂きありがとうございました。

複数のJubatusサーバで十分な回数繰り返し学習を行った後にMIX操作を行った場合でも、単一のJubatusサーバで学習した場合と得られる学習モデル(モデルの重み)が異なる点にもご留意ください。

100サンプルを1ノードで学習させる場合と、25サンプルを4ノードで学習した後にMixした場合の結果が異なるということでしょうか? 
これは、学習に使われるサンプルの順番が異なることに起因するのでしょうか?それとも、Mix操作の仕様上異なる結果となるのでしょうか?

何卒よろしくお願い申し上げます。

Ryohei IMAMASU

unread,
Dec 19, 2018, 1:20:07 AM12/19/18
to Jubatus
Jubatus Team 今増です。返信が遅くなってしまい、すみません。

複数のJubatusサーバで十分な回数繰り返し学習を行った後にMIX操作を行った場合でも、単一のJubatusサーバで学習した場合と得られる学習モデル(モデルの重み)が異なる点にもご留意ください。

100サンプルを1ノードで学習させる場合と、25サンプルを4ノードで学習した後にMixした場合の結果が異なるということでしょうか? 
これは、学習に使われるサンプルの順番が異なることに起因するのでしょうか?それとも、Mix操作の仕様上異なる結果となるのでしょうか?

はい。機械学習エンジン(Classifier とか Recommender とか)にもよるのですが、その通りと考えていただいて良いです。

Classifier で学習を行うときには、現在までに学習した内容にもとづいて学習を進めます。

MIX の概要は以下にある通り、学習の結果得られたモデル(重み)の平均をとるような操作となります。
つまり、4ノードそれぞれが、それぞれ受け取ったデータで学習を進め、学習の結果得られたモデルの情報だけをMIXで交換するという動作になります。
1ノードと4ノードとでは、受け取る学習データの内容が異なります。

よろしくお願いします。

dokusyuu_jubatus

unread,
Dec 19, 2018, 4:54:58 AM12/19/18
to Jubatus
Jubatus Team
今増 様

ありがとうございました。
Mixの仕様等、とても参考になりました。

初歩的な質問にご丁寧に対応してくださり誠にありがとうございました。
解析を進めていく中でまた質問させて頂くかもしれません。
今後ともどうぞよろしくお願い申し上げます。

2018年12月19日水曜日 15時20分07秒 UTC+9 Ryohei IMAMASU:
Reply all
Reply to author
Forward
0 new messages