データ解析・機械学習を始める際のサンプル数の目安(あくまで目安!)

分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y = f(x) を構築し、構築したモデルに x の値を入力して y の値を予測したり、y が目標値となる x の値を設計したりします。

データ解析・機械学習でモデルを構築し始める際のサンプル数の目安について、もちろんモデルを構築する時には、可能な限り多くのサンプルを用いることが望ましいです。多くのサンプルを用いることで、サンプルの変化に強い (例えばサンプルが一つ追加されたり一つ削除されたりしても結果の変わりにくい) 頑健なモデルを構築できる可能性が高まります。頑健なモデルにより、より妥当な x の設計やモデルの解釈が可能になります。

ただし、サンプルを集めることは時間とコストがかかります。過去の実験データから情報を収集するのも一苦労ですし、新たな実験が必要になれば、さらに時間とコストがかかります。データ解析・機械学習の目的の一つが実験の効率化であることを考えると、本末転倒です。

ある程度サンプルが蓄積されたら、どこかのタイミングでデータ解析・モデル構築を行うことが一般的です。例えば、何らかの設計をしたい時、すなわちモデルに基づいて y の値が良好だったり、y が目標値を達成する確率の高かったりする次の x の候補を提案する場合、提案された実験条件で実験を行い、その実験データをフィードバックして (サンプルとしてデータセットに追加して) モデルを再構築します。このようなモデル構築、x の設計、実験を繰り返し行う時には、サンプル数としては 10 が目安になります。

10 サンプルでモデルを構築して、そのモデルに基づいて 11 サンプル目の x を設計して、その x で実験したら、11 サンプル目としてデータセットに追加して、11 サンプルで改めてモデルを構築して、そのモデルに基づいて 12 サンプル目の x を設計して、、、といったことを繰り返します。具体的な進め方の流れは以下の書籍に説明があります。

[無料公開] 「Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析」 の “まえがき”、目次の詳細、第1・2章
2021 年 6 月 3 日に、金子弘昌著の「Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析」が出版されました。講談社: Amazon: Amazon(Kindle): === 出版して約2年経過した 2023 年 4 月 ...

 

一方でモデルの解釈をする際には、もう少し多くのサンプルを集めることが推奨されます。サンプル数が少ないと、例えば変数・特徴量の重要度を計算しても、サンプルを一つ追加しただけで重要度の値が大きく変わる可能性があります。この場合、重要度として不安定な結果になりがちです。サンプル数の目安としては、30 サンプルが目安になります。30 サンプルで構築したモデルを用いて そのモデルの解釈をするようにしましょう。

機械学習モデルを大域的・局所的に解釈する方法
分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y =...

 

また、以下の CVPFI では重要度の値だけでなく、そのバラツキも出力されますので、特にサンプル数が小さい時には、そのバラツキも考慮しながら解釈を進めると良いでしょう。

上記のサンプル数はあくまで目安です。サンプルの多様性も重要ですし、x の数と内容、モデルの予測精度も必要なサンプル数に関係しています。もし多くのサンプルを集めることが可能であれば、多ければ多いほど良いでしょう。また、サンプル数が少ない時は、サンプルを一つ追加したり削除したりするだけでモデルの結果が変わりやすく、不安定なモデルが構築されがちです。また偶然の相関 (chance correlation) の影響も受けやすいです。

サンプルを増やしてモデルの予測精度が向上する、とは?
分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y =...

 

モデルの評価をする際にはダブルクロスバリデーションを用いることはもちろんのこと、

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

 

どの程度偶然の相関の影響を受けやすいのか、y-randomization も活用して確認すると良いでしょう。

y-randomizationで過学習(オーバーフィッティング), Chance Correlation(偶然の相関)の危険度を評価!
回帰モデル・クラス分類モデルの評価のなかで、yランダマイゼーション (y-randomization) についてです。y-scrambling と呼んだりもします。やることは簡単で、目的変数 y の値をサンプル間でシャッフルして、回帰モデル...

 

以上です。

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

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