しきい値による古典的な分類と、K-means クラスタリング (v4.5 / 7次元) による現代的な分類を 実データ 69,750 領域で比較。同一生徒同一設問の全選択肢を並置して、アルゴリズムの差が何を捉えているかをインタラクティブに観察します。
各選択肢領域が「塗られているか否か」を判定する問題を機械学習では2クラス分類問題と呼びます。
同一の答案紙 155 枚 450 領域 = 69,750 サンプルで両者を比較します。
| # | 特徴量 | 意味 | 特記事項 |
|---|---|---|---|
| filled_ratio | Otsu二値化後のマーク面積率 | ||
| mean_inv_brightness | 反転輝度の平均(明るさ) | ||
| dark_pixel_ratio | 暗画素(128)の割合 | ||
| std_inv_brightness | 輝度のばらつき | ||
| center_edge_ratio | 中心濃さ 辺縁濃さ | 🆕 消しゴム跡は辺縁が残る傾向 | |
| normalized_filled | 生徒内の最大filled比 | 🆕 筆圧の個人差を吸収 | |
| question_contrast | 設問内での濃さの差分 | 🆕 消し残りと正マークを区別 |
| しきい値法 (1次元 / 固定) | K-means法 v4.5 (7次元 / 適応的) |
|---|
center_edge_ratio でマーク内部の濃度パターンを評価、のコンテキスト特徴量で「生徒ごとの筆圧差」と「設問内の相対的な濃さの差」を加味するため、消し残りや薄いマークの判定精度が向上しました。
しきい値法では filled_ratio = 0.4 の縦線が機械的な境界です。K-meansは分布の「谷」を7次元で自動発見するため、filled_ratio だけでは判断が難しいケースも適切に分類できます。
7次元の特徴量を主成分分析(PCA)で2次元に投影。各点にホバーすると実際のマーク画像を確認できます。
7次元のデータを「情報をなるべく失わないように」2次元に圧縮します。X軸(PC1)〜Y軸(PC2)の割合が寄与率で、高いほど元のデータをよく説明しています。「不一致のみ」タブでは2つの手法で判定が割れた点だけがオレンジで強調されます。
しきい値を下げるとダブルマーク増、上げるとノーマーク増。K-means v4.5 は ダブルマーク - / ノーマーク - を同時に達成しています。コンテキスト特徴量が「この生徒の中で相対的に一番濃いのはどれか」を判断材料に加えるためです。
filled_ratio mean_inv の2次元平面で、しきい値の直線を動かして分類を体験。K-meansの境界(データ分布に沿う)との違いを感じてください。
2つのアルゴリズムで判定が分かれた - 設問を、同一生徒同一設問の全選択肢を並べて表示します。
消しゴムで消した跡が残っていますか? この生徒の手書きの癖ですか? 実際の画像で確認してみましょう。
判定が異なった - 件の個別一覧。上の「全選択肢比較」と合わせてご確認ください。
| 観点 | しきい値法 | K-means法 v4.5 |
|---|---|---|
| 特徴量の次元 | 1次元 | 7次元 |
| 境界の形 | 軸に垂直な直線 | 7次元の超平面(複合条件) |
| 筆圧差への対応 | なし(固定) | シート内正規化あり |
| 消し残り検出 | 面積率のみ | 中心/辺縁比設問内コントラスト |
| 境界の決め方 | 人手で固定 | データから自動決定(適応的) |
| 計算コスト | 低い | やや高い(反復最適化) |