TEST_03 で紫・淡白の再現率が低かったため,クラス不均衡への対策(SPEC_02「クラス不均衡」→「対策の設定」)を 2 モデル × 3 通り × 2 条件 × 3 seed で試した結果.対策なしの結果は TEST_03 のものを使い,同じ seed・同じ fold どうしで対応比較した.表は uv run python scripts/summarize_cv.py runs で再生成できる.
| 項目 | 内容 |
|---|---|
| 実行日時 | 2026-09-28 08:50〜10:14 |
| 実行場所 | Archimedes の RTX A6000(GPU 1 の 1 枚.未使用の GPU のみを使用) |
| 本数 | 36 本(ConvNeXt-Tiny・ResNet-50 × 対策 3 通り × ややあり込み/除外 × seed 42・43・44) |
| モデルと学習率 | ConvNeXt-Tiny(1e-4)・ResNet-50(1e-3).TEST_03 の設定から対策のキーだけを変えた |
| 対策 | 重み inverse・重み sqrt_inverse・バランス・サンプリング balanced |
| コード | f9d9ebd-dirty(コミット 8387ebd の内容を実行時点で未コミットのまま使用.既定のままなら変更前と同じ学習になることはテストで確認済み) |
common(「あり」と淡紅)の macro F1・正解率と,all(ややあり込みの全体)の macro F1.15 fold の平均 ± 標準偏差.
| モデル | 対策 | 条件 | common macro F1 | common 正解率 | all macro F1 |
|---|---|---|---|---|---|
| ConvNeXt-Tiny | なし | 込み | 0.541 ± 0.066 | 0.668 ± 0.035 | 0.510 ± 0.056 |
| ConvNeXt-Tiny | 重み inverse | 込み | 0.585 ± 0.057 | 0.669 ± 0.063 | 0.546 ± 0.054 |
| ConvNeXt-Tiny | 重み sqrt | 込み | 0.563 ± 0.045 | 0.645 ± 0.057 | 0.524 ± 0.032 |
| ConvNeXt-Tiny | balanced | 込み | 0.566 ± 0.071 | 0.663 ± 0.081 | 0.528 ± 0.061 |
| ConvNeXt-Tiny | なし | 除外 | 0.592 ± 0.068 | 0.744 ± 0.035 | 0.480 ± 0.056 |
| ConvNeXt-Tiny | 重み inverse | 除外 | 0.632 ± 0.060 | 0.745 ± 0.030 | 0.528 ± 0.043 |
| ConvNeXt-Tiny | 重み sqrt | 除外 | 0.595 ± 0.060 | 0.750 ± 0.030 | 0.490 ± 0.049 |
| ConvNeXt-Tiny | balanced | 除外 | 0.611 ± 0.052 | 0.734 ± 0.041 | 0.509 ± 0.046 |
| ResNet-50 | なし | 込み | 0.546 ± 0.057 | 0.649 ± 0.066 | 0.520 ± 0.050 |
| ResNet-50 | 重み inverse | 込み | 0.558 ± 0.045 | 0.635 ± 0.055 | 0.535 ± 0.035 |
| ResNet-50 | 重み sqrt | 込み | 0.590 ± 0.057 | 0.666 ± 0.070 | 0.554 ± 0.043 |
| ResNet-50 | balanced | 込み | 0.562 ± 0.038 | 0.627 ± 0.045 | 0.533 ± 0.043 |
| ResNet-50 | なし | 除外 | 0.637 ± 0.062 | 0.748 ± 0.045 | 0.519 ± 0.056 |
| ResNet-50 | 重み inverse | 除外 | 0.637 ± 0.058 | 0.720 ± 0.045 | 0.542 ± 0.047 |
| ResNet-50 | 重み sqrt | 除外 | 0.633 ± 0.056 | 0.733 ± 0.045 | 0.534 ± 0.044 |
| ResNet-50 | balanced | 除外 | 0.616 ± 0.050 | 0.712 ± 0.062 | 0.523 ± 0.038 |
対策あり − 対策なし(同じモデル・条件・seed・fold どうし.15 fold).recall は common でのクラス別再現率の差.
| モデル | 対策 | 条件 | common F1 の差 | 上回った fold | 淡白 | 紫 | 淡紅 | 暗赤紅 |
|---|---|---|---|---|---|---|---|---|
| ConvNeXt-Tiny | 重み inverse | 込み | +0.044 ± 0.064 | 11 / 15 | +0.19 | +0.15 | −0.03 | −0.05 |
| ConvNeXt-Tiny | 重み inverse | 除外 | +0.040 ± 0.063 | 12 / 15 | +0.19 | +0.09 | −0.07 | +0.02 |
| ConvNeXt-Tiny | 重み sqrt | 込み | +0.021 ± 0.052 | 10 / 15 | +0.12 | +0.23 | −0.06 | −0.07 |
| ConvNeXt-Tiny | 重み sqrt | 除外 | +0.003 ± 0.074 | 8 / 15 | −0.01 | −0.04 | −0.02 | +0.06 |
| ConvNeXt-Tiny | balanced | 込み | +0.025 ± 0.060 | 9 / 15 | +0.07 | +0.19 | −0.00 | −0.09 |
| ConvNeXt-Tiny | balanced | 除外 | +0.018 ± 0.067 | 10 / 15 | +0.13 | +0.05 | −0.08 | +0.03 |
| ResNet-50 | 重み inverse | 込み | +0.011 ± 0.060 | 7 / 15 | +0.16 | +0.10 | −0.04 | −0.05 |
| ResNet-50 | 重み inverse | 除外 | −0.000 ± 0.053 | 5 / 15 | +0.11 | +0.08 | −0.04 | −0.12 |
| ResNet-50 | 重み sqrt | 込み | +0.043 ± 0.065 | 11 / 15 | +0.12 | +0.10 | +0.01 | −0.03 |
| ResNet-50 | 重み sqrt | 除外 | −0.004 ± 0.065 | 8 / 15 | −0.01 | +0.10 | −0.01 | −0.07 |
| ResNet-50 | balanced | 込み | +0.016 ± 0.068 | 8 / 15 | +0.13 | +0.15 | −0.05 | −0.08 |
| ResNet-50 | balanced | 除外 | −0.021 ± 0.071 | 4 / 15 | +0.06 | +0.07 | −0.04 | −0.09 |
クラス別再現率の差の標準偏差は 0.1〜0.3 と大きい(各 fold の held_out に淡白・紫は 11〜12 人しかいないため).
inverse が安定して効く.込み・除外とも common macro F1 が約 +0.04 上がり(11〜12/15 fold),除外では 0.632 となって ResNet-50 の最良(0.637)と並んだsqrt_inverse だけが +0.043(11/15)inverse が最も安定.balanced は同じ画像を何度も学習するためか効果が不安定で,ResNet-50 の除外では下がったinverse はおおむね改善する」程度inverse」または「ResNet-50(1e-3)」とし,学習率の公平な選び直し(入れ子の交差検証)と組み合わせる手元の runs/ に回収済み(.gitignore 対象).名前の末尾 _cwinv・_cwsqrt・_balanced が対策を表す.実験 ID の日時は 2026-09-28 08:50〜10:12.
ls -d runs/*_f9d9ebd-dirty