前提
機械学習について勉強中です.
0~9までのクラスがあり,各クラス [50, 5, 10, 2, 8, 34, 7, 5, 4, 1] 枚の画像(物体の輪郭内を白塗りした白黒画像)が含まれているとします.
このとき, モデルの汎化性能を上げるために
python
1import albumentations as albu 2 3img = albu.Blur(blur_limit=(4,7), p=1)(image=mask)['image'] # ランダムに1の確率でぼかし画像を生成
としてぼかし画像によるオーギュメンテーションを施し [50, 50, 50, 50, 50, 50, 50, 50, 50, 50] 枚に水増ししたとします.
現在はオーギュメンテーションをしたデータを手作業でtrain/testに分けて学習を行ったところ精度はほぼ100%近く出ています.
実現したいこと
交差検証を行うにあたって,このデータをどのようにtrain/testデータに分けるべきかが分かりません.
交差検証を使用してモデルを評価したいのですが,このデータを用いて交差検証をする場合testデータにオーギュメンテーション画像が含まれてしまう恐れがあります.
それを避けるために,trainデータだけにオーギュメンテーション画像が含まれるような交差検証の方法などがあれば教えていただきたいです.
ラベル9に関しては元画像が1枚しかなかったりと,一部元画像の数が少ないクラスの正しい評価はできないことはしょうがないとして,お答えいただければと思います.
その他の疑問
上記のデータではtrainデータにのみオーギュメンテーション画像が含まれるので,trainに対してtestが極端に少なくなってしまい正当な評価ができない可能性もありますが,こちらもどのように対処すれば良いのでしょうか.
併せてお答えいただけますとありがたいです.
あなたの回答
tips
プレビュー