-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[2006.01245] An Effectiveness Metric for Ordinal Classification: Formal Properties and Experimental Results [paper-reading] #54
Comments
ACL 2020 long paper で気になった論文を読んでみようシリーズ。 ordinal classification の問題設定でも単純な classification として解いてしまうことが多かったが、本来扱いたい情報を適切に扱えてないよなという気持ちがあった。その辺りの整理と提案 metric がどんなもんか理解してみようということで読んでみることにする。 |
ordinal classification は positive, neutral, negative のように相対的な順番に意味がある問題設定で、これは順序情報があるので単純な classification (class 1, 2, 3 は相対的な順番などない) とは違うものである。しかし実際には単純な classification として解いてしまうことも多く、そこで使用する metric には想定的な順番の情報はない。本来は順番があり、例えば positive が多く negative が少ないような分布をしているデータに対して、neutral を positive と間違える場合と negative と間違える場合は区別すべきはず。 この論文はそういう論点を整理し、その上で ordinal classification の metric として適切なものを提案している。 具体的な話に入る前に、誰しもがデータ分析を初めて勉強するときに学ぶ測定尺度について振り返っておく(自分は名称とかすっかり忘れていた)。
このような尺度の性質を反映した metric で測るべきだが、それができてないというのが冒頭の話。 |
ということで測定尺度を思い出した結果、以下のように ordinal classification は◯◯◯とは異なる、と言って違いを認識できる。
異なる、とかいうとこういう問題だと捉えて解くと間違いだという印象を与えるが、そういうことではなくて本来持っている情報を使い切っていないという意味である。そもそも間違いとは何だみたいな話はよく分からんが、とにかくこういう問題設定だと思ってもモデル学習したり新しいデータに対して予測したりはできるけど、もっと適切な設定ひいては評価方法があるという話。 ちなみに過去の公開ベンチマークで使われてきた metric には以下のようなものがある。 |
ordinal classification に関する先行研究がいくつか提示されるが、どれも 2010 年以前でなんか時代を感じさせますな。 仮定する内容としては、カテゴリ間の一様な間隔(つまりは間隔尺度として扱う)、誤分類のコストが予測と答えの絶対値の差に比例するとする、などがあるらしい。 何度も繰り返すようにカテゴリ間の間隔に何か仮定して問題を解くのは順序尺度を逸脱している行為なので、それをしない適切な metric を提案しようというのがこの論文の趣旨である。 |
提案 metric の定義をしていく。 ちょっと慣れが必要なので、まずは以下の例でイメージを掴む。 左の場合は weak reject, undecided, weak accept の数が多い。これはつまりこれらのどこに属するかが reject/accept を分ける鍵になるので重要な情報である。つまり weak reject -> weak accept は大きな移動でこれらのカテゴリは「遠い」と言える。あの weak reject が weak accept に変わってくれれば論文通ってたかもしれないのに!みたいな状況である。 一方で右の場合は reject, accept の数が多い。これのどちらに入るかが重要であり、数が少ない weak reject -> weak accept の移動は大した違いになってない。左の場合と比べるとこれは小さな移動でこれらのカテゴリは「近い」と言えそう。 これを情報論的に定式化してみる。データがどこのカテゴリに属するかを分布に基づいて考える時、左の例では weak reject, undecided, weak accept に属する確率は高く、こういう場合は「遠く」なるようにしたい。一方で右の例では weak reject, undecided, weak accept に属する確率が低く、こういう場合は「近く」なるようにしたい。 P(x ≦^{b}_{ORD} a) という記法を導入する。 確率が定義できれば情報量が定義できるので、Closeness Information Quantity (CIQ) を以下で定義する。 これは近さの指標として使うもの(であって距離的なものではない)なので、値が大きいほど近いという意味になる。 ちなみに ORD とかいう superscript いらんじゃんと思うけど、読んでいくとこの辺りの定義は一般化されて他の尺度の場合にも定義できるので明示的に ORD とつけてるっぽい。 この書き方をみたときに a <-> b の入れ替え対称性はあるんかな?と思ったけど、まずこの抽象的な定義の段階ではそこに関しては何も言ってない。そして具体的な ordinal classification 用の計算にするときも非対称なものを使う。 ここは完全に勘違いしていた部分があった。
ここを x から b の方が近くて、x から a の方が遠い、という感じに解釈してしまったが、これでは以降の議論がおかしくなってしまう。 なので weak reject とかの例で言えば weak reject < x < weak accept のような話になる。 |
これを system (model) の output と ground truth の場合に書き下す。 $ D $: item 集合 これらが与えられた時に、先ほどの CIQ を以下のように書く。 これまでは単一のデータに対する定義だったが、データセットが与えられ時に ordinal classification 用の metric を作りたいというのがこの論文のメインのモチベーションであった。データセット全体に対して、以下のように Closeness Evaluation Measure (CEM) を定義する。 ここで、分母は normalizing factor である。これは同じクラスで比較してるので、クラスの確率分布のようなものになるのだろう。 |
順序尺度であることを明示的に使って計算を具体化する。 $ x ≦^{b}_{ORD} a $ は a ≦ x ≦ b もしくは a ≧ x ≧ b を示唆している(これは x が a よりも b に近い確率という話だったと思うので、なぜ単純な a ≦ x ≦ b になってるのかは理解できてない)。 この定義の書き方はなかなか酷いのでもう少し詳しくみる。 まず、$ i = j $ となるパターンの場合、summation の方は落とす。つまり $ prox(c_i, c_j) = - log(n_i / 2 N) $ となる。 そしてこの定義がやはりちょっとよく分からない。元の確率 $ x ≦^{b}_{ORD} a $ で $ x $ が $ b $ に近い確率とか言ってたのをちゃんと反映してる気がしない。 ここは全体的によく分かってないのでもう少し考えてみるとしてとりあえず先に進める。 勘違いが伝播してたのでここに書いてたのもだいぶ意味がわかってないという感じになっていた。
1/2 に関しては著者に聞いてみたが empirical なものらしい。色々考えたけど理論的な justification はできてなくて、実験をしたりしてこの factor が重要だと経験的に分かったとのこと。 factor 1 にすると上で述べたように ill-defined な場合が発生してしまうし、factor 0 にすると ground truth のケースが表現できないので、まあ間の 1/2 やという温度感と理解した。 |
本文中や appendix に具体的な数値を入れた計算が載っているのがなかなか丁寧な論文ではある。 Figure 1 の weak_reject と weak_accept を間違えて予測する場合を考える。 これは Closeness Evaluation Measure が高い方が良い予測であることを考えると、同じ一件の予測の間違いでも左の分布の間違いの方がシビアであることを意味している。つまり proximity が小さいクラスを間違える(遠い)クラスを間違える方をより厳しく罰するという話になる。 全体からみた時にレアなクラス間(Figure 1 の weak_reject と weak_accept で言えば右の分布の方)が proximity の値が大きくなるが、それは情報量としてそっちの方が多くの情報を持ってるからだ、というのが情報量的な見方になる。 ということで、以上まとめると CEM^{ORD} は
というものになっている。これは確かに単純な accuracy とかより順序分類に適していそうだ。 |
ここまで順序分類のみをターゲットにしてきたが、prox で具体的な表現に入る前までは実は割と抽象的な定義になっていて、他の尺度の場合にも一般化することができる。以下のように x ≦^b_T a を定義する(これは定義)。 ここで T としては NOMINAL, ORDINAL, INTERVAL を考えていて、F_T がそれぞれ bijective, strictly increasing, linear function となっている。これは名目尺度であれば被りのないものに map しても同値なので全単射で、順序尺度は順番が守られればいいので単調増加関数で map してもいいし、間隔尺度は間隔を保つ変換の下で性質が変わらないので linear function です、というだけの話。 この定義に基づいて $ x ≦^b_T a $ の条件を考えれば以下のようになる。
ordinal scale で $ x ≦^b_T a $ が示唆するのが a ≦ x ≦ b とかなのがよくわからんという話をしていたが、ここで定義したものから出発すれば確かにそうはなる。 この拡張により、置き換えをするだけで CIQ と CEM も他の尺度の場合で定義可能となる。 |
よく使われる metric との関係性を示す。 accuracy は以下。 ここはさらっと書かれてるが真面目に follow しないとよくわからない。 これは全部間違ってれば 0 になるし全部当たってれば 1 になる。というか (当たった数) / (全データ数) になるので比例というより exact に一致するのだが、比例になっているのはちとよくわからん。もうちょっと恣意性があるんかな。 precision/recall は以下。 exact match は値が最大値で normalize されていれば成立するとのこと。 |
順序分類が持っているべき 3 つの性質を紹介する。無論、この論文で定義した CEM^{ORD} はその性質を満たしている。 順序分類の性能を測る effectiveness metric Eff は以下の 3 つの条件を満足すべきである。
これらを schematic に表現したものが以下の図。上で説明したものそのままなのでいいだろう。 |
実験。 提案手法は新 metric の提案なので、これを評価するにはこの metric を用いた時に他の metric と比べてどうかをいくつかの実験で試すというような meta-analysis が必要になる。 過去提案されてきた metric は単体では(この論文で議論されてきたように)順序予測の性質を捉えきれない。
新しい metric を使うことでこれらの情報を全てうまく扱えるようになれると期待しているが、それを測るために Unanimous Improvement Ratio (UIR) を用いる。Unanimous は全会一致という意味らしい。 ここまでが meta-analysis の準備で、これを使って個別の metric の良し悪しを判定したい。 これは 一つの dataset に対して system output s がいくつかあり、その全ての組み合わせに対して m(s) - m(s') と UIR を算出し、その相関をみているというものになる。 |
実験の設定。実験は人工データとリアルデータの 2 パターンでやっている。
結果は以下。 一番下の CEM_{ORD}_{flat} は log を使わないバージョンで情報量的な解釈でできない場合である。 リアルデータでは一部他の metric の方が良い結果も出ているが、数値自体が 1 に近く誤差というか違いがなさそうという感じである。 accuracy, kendall tau-a, mutual information の全てが良いというのが順序分類の性質を表現するためにこの論文が用いた条件だが、それぞれの metric 単体では coverage は高くはなく、順序分類はこれまでの metric 単体では評価が難しかったことを雄弁に物語っている。(3 つの中では分布の情報を有する mutual information が最も coverage が高そう) そのほかにも classification metric, よく使われる誤差函数, 相関係数なども単体では順序分類を評価しきれていないことがみて取れる。 また、一つの s_x を抜いた場合に最も性能がよくなるのは stDisp (あるデータのカテゴリを順序集合の次のカテゴリに map する) 場合である。順序集合として正しい出力が重要であるが、それを問答無用で一つ次のカテゴリにするというのはかなり性能に悪影響を与えていたことが如実に出ている。soDisp も他のものよりそれに近しいはずだが、実際にやってみるとそこまでカテゴリが変わらなかったということなのだろう(この辺は実験結果のデータとか残ってれば確認しやすいんだけどなぁ)。 |
ということで読了。 順序予測は本来は NLP で結構現れる問題設定のはずだが、それを適切に評価できていないということで、順序尺度が満たすべき性質に基づいた(そして情報論的なアイデアを取り込んだ)評価 metric を作成したという論文。 ここで提案しているのは評価指標だけなので、これを学習に使えるようにできればめちゃくちゃ面白いと思う。 |
論文リンク
https://arxiv.org/abs/2006.01245
公開日(yyyy/mm/dd)
2020/06/01
概要
順序分類タスクは reject weak reject, weak accept, accept のように順序がある(しかしカテゴリ間の間隔については等間隔とは定まっていない)ものの分類で、NLP の分類タスクとしてはよくあるものである。
このようなデータは順序尺度であるが、これまで用いられきた指標は順序尺度が持つべきいくつかの性質を全部満たすものではなく、順序分類を正しく評価できているものではなかった。
この論文では情報論的な枠組みに則りつつクラス間の近さを全体の分布に基づいて定義し、それを用いて Closeness Evaluation Measure という指標を導入した。
これは名義尺度、順序尺度、間隔尺度それぞれで使えるものであり、それぞれのケースで尺度が満たすべき性質を満たすものとして定義されている。
新たな指標を導入するという論文なので、実験では二つのシステムの出力を比べて、順序尺度が満たすべき accuracy, kendall tau-a, mutual information の全てが良くなる場合に提案したメトリックも良くなっているかの相関を測ることで、他の指標の場合と比べて良くなっているかを調べている。結果は人工データでもリアルデータでもこれまで使われてきたメトリックよりも良い結果を示した。
これは評価指標でそのままではモデル学習の損失関数として使えるものではないが、使えるように発展させられればさらに面白いと思う。
evaluation の code はこれ: https://github.com/EvALLTEAM/CEM-Ord
java なので珍しいねと思ったら、以前に online evaluation 用の EVALL http://evall.uned.es/home というのを作っててそこに追加で載せているというもの。
The text was updated successfully, but these errors were encountered: