google-site-verification: googlec11dd3c59de6bdc4.html
人工知能はどこまで人間に迫るのか
How close will artificial intelligence get to humans?
深層学習

6)データ分割

データの分割も大切な前処理です。予測モデルを評価する際に必要になります。学習データと検証データに分割されます。この二つのデータに対して行う前処理は前記事でのせたようにまったく同じ処理を施します。

データ分割の機能はPythonに装備されています。scikit-learのtrain_test_split()関数を用いてホールドアウト検証を行う場合、pandasを用いて学習データ、テストデータに分けて交差検証を行う場合などが考えられます。結果はしばしばDataFrameをCSVファイルに保存します。カンマセパレータ、行番号も出力、headerも出力がデフォルトです。

通常検証は交差検証を用いるのですが、交差検証では、データをいくつかに分けて分割します。分割した1セットをモデルの評価用とし、のこりはモデルの学習を行います。

交差検証(Cross-validation)では,データセットを k個に分割し,モデルの訓練と評価を k回行います。
得られた k個の評価値の平均をとった値を最終的なモデルのスコアとして扱います。

具体的な流れは次の通りです.

データを k個のブロックに分ける.これを分割(fold)といいます。

最初の分割1 を test set,残りの分割2~5 を training set とし,モデルの学習と評価を行います。

次に分割2 を test set,残りの分割1, 3~5 を training set として,モデルの学習と評価を行います。この過程を,分割3, 4, 5 を test set として繰り返す。

得られた k 個の精度の平均値をモデルの評価値とするものです。

 

交差検証

この手法はモデルの性能が偶然による影響を受けないようにできるというものです。

オギュメンテーション時に意図的な作成手法を用いていたりするとその影響はすぐにわかります。今回のように多様なデータを収集しているとその傾向はいやでも見えてきます。それを色んな交差検証などで検討していくことが大切です。

問題は計算時間が馬鹿にならないということです。

トップページへ