web-dev-qa-db-ja.com

F-MeasureがPrecisionおよびRecallメジャーの算術平均ではなく調和平均であるのはなぜですか?

PrecisionとRecallの両方を考慮してF-Measureを計算するとき、単純な算術平均ではなく、2つの測定の調和平均を取ります。

単純平均ではなく調和平均をとる背後にある直感的な理由は何ですか?

57
London guy

ここにはすでにいくつかの精巧な答えがありますが、それについてさらに情報があれば、もっと深く掘り下げたい人には役立つと思いました(特にFメジャーの理由)。

測定理論によれば、複合メジャーは次の6つの定義を満たす必要があります。

  1. 接続性(2つのペアを注文できます)および推移性(e1> = e2およびe2> = e3の場合、e1> = e3)
  2. 独立性:2つのコンポーネントが効果に独立して影響を与えます。
  3. トムセン条件:一定のリコール(精度)で、2つの精度の値(リコール)の有効性に違いがあることを考えると、定数値を変更してもこの差を除去または元に戻すことはできません。
  4. 制限された可解性。
  5. 各コンポーネントは不可欠です。一方を変化させ、もう一方を一定にすると、効果が変化します。
  6. 各コンポーネントのアルキメデスプロパティ。コンポーネントの間隔が同等であることを保証するだけです。

次に、 導出して取得 有効性の関数: enter image description here

通常、有効性は使用しませんが、より単純なFスコア because
enter image description here

これで、Fメジャーの一般式が得られました。

enter image description here

ベータは次のように定義されているため、ベータを設定することで、リコールまたは精度をより強調することができます。

enter image description here

精度よりも重要なリコールを重み付けする場合(関連するすべてが選択されます)、ベータを2に設定してF2メジャーを取得できます。そして、リコールよりも高い逆精度と重量精度を実行する場合(たとえば、 CoNLL などの一部の文法エラー修正シナリオで選択された要素が可能な限り関連している場合)、ベータを0.5に設定してF0を取得します.5メジャー。そして明らかに、ベータを1に設定して、最もよく使用されるF1尺度(精度と再現率の調和平均)を取得できます。

算術平均を使用しない理由については、すでにある程度答えていると思います。

参照:
1。 https://en.wikipedia.org/wiki/F1_score
2。 F尺度の真実
3。 情報の取得

3
Lerner Zhang

説明するために、例えば、30mphと40mphの平均が何であるかを考えてください。各速度で1時間運転する場合、2時間の平均速度は実際には算術平均である35mphです。

ただし、各速度で同じ距離(10マイルなど)で運転する場合、20マイルを超える平均速度は30と40の調和平均であり、約34.3マイルです。

その理由は、平均が有効であるためには、値が同じスケール単位である必要があるためです。同じ時間数で1時間あたりのマイル数を比較する必要があります。同じマイル数で比較するには、代わりに1マイルあたりの時間数を平均する必要があります。これは、調和平均が正確に行うことです。

精度とリコールはどちらも分子に真の正の値を持ち、分母が異なります。それらを平均するためには、実際にはそれらの逆数、つまり調和平均を平均することが理にかなっています。

65
Sean Owen

極端な価値をもっと罰するからです。

trivialメソッド(たとえば、常にクラスAを返す)を検討してください。クラスBには無限のデータ要素があり、クラスAには単一の要素があります。

Precision: 0.0
Recall:    1.0

算術平均を取るとき、それは50%正しいでしょう。 最悪可能な結果にもかかわらず!調和平均では、F1メジャーは0です。

Arithmetic mean: 0.5
Harmonic mean:   0.0

つまり、F1を高くするには、bothの精度と再現性が高い必要があります。

59
Anony-Mousse

調和平均は、算術平均によって平均化されるべき量の逆数の算術平均に相当します。より正確には、調和平均を使用して、すべての数値を「平均化可能な」形式に変換し(逆数を取る)、算術平均を取り、結果を元の表現に変換します(逆数を取る)。

精度とリコールは、分子が同じで分母が異なるため、「自然に」逆数です。分数は、それらが同じ分母を持つ場合、算術平均によって平均化するほうが賢明です。

より直感的に理解するために、真の陽性項目の数を一定に保つと仮定します。次に、精度とリコールの調和平均を取ることにより、偽陽性と偽陰性の算術平均を暗黙的に取得します。基本的に、真の陽性が変わらない場合、偽陽性と偽陰性が等しく重要であることを意味します。アルゴリズムにN個の誤検出項目があり、N個の誤検出項目が少ない場合(同じ真陽性が存在する場合)、Fメジャーは同じままです。

言い換えると、Fメジャーは次の場合に適しています。

  1. 誤認は、偽陽性でも偽陰性でも等しく悪い
  2. 間違いの数は、真の陽性の数と比較して測定されます
  3. 真のネガは面白くない

ポイント1は真実である場合とそうでない場合があり、この仮定が真実でない場合に使用できるFメジャーの重み付きバリアントがあります。ポイント2は、より多くのポイントを分類するだけで結果がスケーリングされることが予想されるため、かなり自然です。相対番号は同じままにしてください。

ポイント3は非常に興味深いものです。多くのアプリケーションでは、ネガが自然なデフォルトであり、真のネガとして実際にカウントするものを指定するのは困難またはarbitrary意的ですらあります。たとえば、火災警報器には、毎秒、ナノ秒ごと、プランク時間が経過するたびに、真のネガティブイベントが発生します。

または、顔検出の場合、ほとんどの場合、「正しく戻らない」画像内の数十億の可能な領域がありますが、これは面白くないです。興味深いケースは、do提案された検出を返すとき、またはshouldを返すときです。

対照的に、分類精度は真の陽性と真の陰性を等しく考慮し、サンプル(分類イベント)の総数が明確に定義されており、かなり少ない場合により適しています。

21
isarandi

上記の答えはよく説明されています。これは、算術平均とプロットの調和平均の性質を理解するためのクイックリファレンスです。プロットからわかるように、X軸とY軸を精度と再現率、Z軸をF1スコアと考えてください。したがって、調和平均のプロットから、算術平均とは異なり、精度と再現率の両方がF1スコアの上昇に均等に寄与するはずです。

これは算術平均のためです。

enter image description here

これは調和平均のためです。

enter image description here

17
gadde saikumar