# 大外し一次分類 所見（2026-06-19, Claude目視＋ルール）

対象: `large_errors_human_total.csv` / `large_errors_human_soup.csv`（各 abs_error 上位50件）。
分類は実フレーム目視（805,219,790,833,501ほか）で確認したパターンを `scripts/fill_classification.py` でルール化し全件付与。

## 内訳（human_total）

| 分類 | 件数 | 割合 |
|---|---:|---:|
| LLM評価ミス | 21 | 42% |
| 画像では判断不能(assessable=0) | 13 | 26% |
| その他 | 16 | 32% |

human_soup もほぼ同傾向（LLM評価ミス20 / 判断不能16 / その他14）。

## 3つの根本原因と対処

### ① LLM評価ミス：visual_density の過大評価（最多・最優先）
- 症状: assessable=1 で人間より過大予測。LLMが `visual_density=12〜13`（最大付近）を付けているが人間は70点。
- 目視確認: 790・833・501 いずれも、**白泡・脂膜・白い膜・湯気・浮いた具材（網脂巻きの肉）の白さ**を濃度と誤認して density を上げている。**方針書が明示的に警告していたパターンそのもの**。
- 805: フレームが仕込み中の生肉で占められ、スープ表面がほぼ見えないのに density=13・全項目good。
- **対処**: `APIテスト/豚山スープ画像評価プロンプト方針.md` と `APIテスト/index.html` の visual_density 11/12（および12/13）境界説明を補強。「白泡・湯気・脂膜・白い膜・具材表面の白さだけで濃度を上げない」を強調。具材/肉が表面を占めるフレームは density 評価対象外とするルールも追加検討。

### ② 画像では判断不能（構造的パイプライン課題）
- 症状: assessable=0（撮り直し推奨相当）にもかかわらず、**後段モデルが約77〜80点を機械的に付与**。人間スコアは40〜100に散らばるため、過大・過小どちらにも大外しする。
- これは「モデルの精度」問題ではなく**パイプライン設計の欠陥**：判断不能画像をスコアリングに流している。
- **対処**: assessable=0（または retake_recommended=1）は後段スコア回帰に渡さず、`要確認/撮り直し` 出力へ分岐させる。これだけで大外しの約1/4が消える。`anomaly_recall≈0` 問題（03_low_score）とも直結。

### ③ その他：後段回帰の天井効果（優先度低）
- 症状: 人間=100、特徴量も最大（vdens=13, brix=13）なのに予測が約92.7で飽和し err≈-7。
- LLM/教師の誤りではなく回帰モデルが100に届かない性質。誤差は小さく、上位50に滑り込んでいるだけ。
- **対処**: 急がない。線形/Ridgeのスケーリングや目的変数変換で多少改善余地はあるが効果は限定的。

## 結論（次に直す場所の優先順）

1. **パイプライン分岐**: assessable=0 / retake_recommended=1 はスコアせず要確認へ（実装容易・効果大）
2. **LLMプロンプト境界補強**: visual_density 過大評価の抑制（白泡/脂膜/具材白／具材占有フレームの扱い）
3. 後段モデルの天井効果は後回し

→ 「後段モデルの差し替え」より、**上流（assessable分岐＋LLM density境界）の修正**が大外しの約7割（①42%＋②26%）に効く、という当初仮説が実データで裏付けられた。
