機械学習のサンプルサイズについて、どうやって見積もればいいのかよくわからなかったので文献を調べてみました。
書き写しの間違いもあるかもしれませんが・・・
📘 1. Vapnik『The Nature of Statistical Learning Theory』(ISBN: 978-1-4757-3264-1)
- **「小さいサンプルサイズ(small sample size)」**の定義:
- サンプル数 l / VC次元 h < 20 の場合、小さいと見なされる。
-
小サンプル学習のための理論的枠組み:
- SRM(Structural Risk Minimization) や MDL(Minimum Description Length) などの原理を用いて、経験リスクとモデルの容量(capacity)を同時に制御する。
-
重要な考え方:
- モデルの汎化能力は、パラメータ数ではなくVC次元に依存する。
- 高次元でもVC次元が低ければ、少ないサンプルでも学習可能。
📗 2. Harrell『Regression Modeling Strategies』(ISBN: 978-3-319-19425-7)
ページ 72, 73
-
経験則(Rule of Thumb):
- p < m / 10 〜 m / 20(p:モデルのパラメータ数、m:有効サンプルサイズ)であれば、モデルは信頼性が高い。
-
有効サンプルサイズ m の定義(Table 4.1):
- 連続変数:m = 総サンプル数
- バイナリ変数:m = min(0のサンプル数, 1のサンプル数)
- 生存時間:m = イベント数(例:死亡数)
-
具体例:
- Cox回帰モデルでハザード比を精度良く推定するには、462件のイベントが必要。
- ロジスティック回帰で予測誤差を±0.1以内に抑えるには、n = 96が必要(単一のバイナリ変数の場合)。
📙 3. Hastie, Tibshirani, Friedman『The Elements of Statistical Learning』(ISBN: 978-0-387-84858-7)
-
次元の呪い(ISBN: Curse of Dimensionality):
- 入力次元が増えると、同じ密度を保つために必要なサンプル数は指数的に増加する(例:1次元で100件 → 10次元では100¹⁰件)。
-
学習曲線(Learning Curve):
- サンプル数が少ないと、クロスバリデーションは予測誤差を過大評価する傾向がある。
- 例:50件のデータで5-fold CVを行うと、40件で学習したモデルの性能を評価することになり、バイアスが大きくなる。
-
経験的な指針:
- 十分なサンプル数の定義は難しいが、モデルの複雑さと信号対雑音比に依存する。
✅ まとめ
観点 | 推奨・経験則 |
---|---|
小サンプルの定義 | VC次元に対して l/h < 20(Vapnik) |
回帰・分類モデルの目安 | p < m / 10〜20(Harrell) |
生存時間解析 | イベント数 ≥ 100(Harrell) |
高次元データ | 次元が増えると指数的にサンプル数が必要(Hastie) |
CVの注意点 | サンプルが少ないとバイアスが大きくなる(Hastie) |
個人的メモ
- カテゴリ変数を one-hot encoding すると複数のバイナリ変数になるから、 p < m / 10-20 の p は上がり m は下がる。