機械学習における再現率、精度、正確さの指標は何ですか?

機械学習における再現率、精度、正確さの指標は何ですか?

以前の記事では、Naive Bayes、KNN、KMeans、EM、線形回帰、ロジスティック回帰など、いくつかのモデルを紹介しました。今日は、これらのモデルを評価する方法についてお話します。

[[323524]]

平均二乗誤差

概念は単純で、回帰モデルの損失関数と同じです。これは予測値と真の値の間の偏差として理解できます。サンプルの真の値を表すために y を使用し、モデルの予測値を表すために y_ を使用します。平均二乗誤差は次のように表すことができます。

ここで、m はサンプル数で、定数なので無視できます。無視する場合は、二乗差の合計となり、特別な用語はないようです。平均を計算しないと合計が非常に大きくなる可能性があるため、通常は平均を計算します。

ここでの MSE は平均二乗誤差の略で、平均分散を意味します。統計における分散は、サンプルが平均からどの程度変動しているかを示すものであることは誰もが知っています。分散が大きいほど、指標は不安定になり、変動範囲も大きくなります。回帰モデルのシナリオでは、平均からの分散度ではなく、実際の値からの分散度を測定します。これら 2 つの意味は非常に似ているため、理解するのは難しくありません。

平均二乗誤差が小さいほど、モデルは真の値に近くなるため、モデルのトレーニング中の損失関数として使用したり、モデル効果の手動レビューの参照として使用したりできます。

回帰モデルで一般的に使用される指標は平均二乗誤差ですが、分類モデルははるかに複雑で、複数の指標が関係します。それらを 1 つずつ見ていきましょう。

TP、TN、FP、FN

これら 4 つの値はわかりにくいように思えるかもしれませんが、英語を理解すれば、実は非常に簡単に理解できます。 T は true を表します。したがって、F は当然 false を表します。 P は positive を表し、男性的であると理解できます。N は negative を表し、女性的であると理解できます。ここでの陰陽には論理的な意味はなく、カテゴリーを表すだけです。01 または A と B として理解することもできます。論理的な要素がないので、何と呼んでも問題ありません。

つまり、これら 4 つは真と偽、陰と陽の配置と組み合わせです。T が付いているものは真を表し、正しい予測として理解できます。たとえば、TP は真陽性です。つまり、検査結果は陽性であり、実際に陽性であることを意味します。同様に、TN は真陰性を意味し、検査結果は陰性であり、実際に陰性です。 F は予測が間違っていることを意味し、FP は偽陽性、つまりテストは陽性だが実際は陰性であり、テストが間違っていることを意味します。同様に、FN は偽陰性であり、検査結果は陰性ですが、実際は陽性です。

これらの値に病院の検査結果を代入すると、すぐに意味が分かります。TPとTNは検査試薬の効力が強く、検査が正確であることを示します。検査結果が陰性であれば陰性、陽性であれば陽性です。 FP と FN は、検出試薬が不良で、検査が間違っていることを示します。健康な人が病気であると検出されたか、病気が明らかに存在しているが検出されなかったかのいずれかです。明らかに、医療検査のシナリオでは、偽陽性は許容されますが、偽陰性は許容されません。なぜなら、陰性か陽性かを判断するために再度検査できるからです。偽陰性のケースを見逃すと、患者に悪い影響を与えます。したがって、一般的に言えば、医療検査試薬は標準よりも感度が高く、網をすり抜けた魚を見逃さないようにしています。

想起

リコール率の英語はrecallです。この単語はうまく翻訳されていると思いますし、中国語の意味も基本的に英語と同じです。教科書によってはrecall rateと訳しているところもありますが、ちょっと間違っている気がします。recall rateと呼ぶ方が正確でエレガントです。

たとえば、A が 10 人の兵士を率いる小隊長であり、A がすべてのメンバーを召集して実行する必要があるタスクがあるとします。 Aは命令を出し、8人を召集した。そうするとリコール率は80%になります。これを機械学習のシナリオに当てはめる場合も同じです。バイナリ分類のシナリオでは、モデルは一般に主に正の例を考慮します。これは砂の中から金を探すことに似ています。否定的な例は砂であり、一般的にはほとんど価値がありませんが、金は肯定的な例であり、私たちが必要としているものです。したがって、再現率とは、すべての正例に対して正確に予測された正例の割合です。

上記の TP、TN、FP、FN を計算に代入すると、次のようになります。

TP は、正確に予測した正の例、つまり、思い出した部分です。では、正の例はいくつあるでしょうか。答えは、思い出した正の例と思い出していない正の例を足したものです。思い出していない正の例は、予測が間違っていて、負の例として予測されたことを示しています。しかし、それらは負の例ではないので、偽陰性のサンプルであり、当然 FN です。ここでは少し混乱がありますが、重要な点は、再現率は否定的な例ではなく肯定的な例に対するものであるということです。それは、砂金採りに行くとき、砂の状態は気にしないのと同じです。金が見つかったかどうかだけを気にします。同じ考え方です。

精度と正確さ

多くの機械学習の本で、この 2 つの値を見たことがあるかもしれません。読んだときにはその違いを覚えていたのに、読んだ後には忘れてしまったり、それ以降も混乱してしまったりするかもしれません。これは珍しいことではなく、私自身も経験しており、面接中に間違いを犯したこともあります。

この理由の大部分は翻訳の問題です。 2 つの値が近すぎる位置に翻訳されています。中国語では、精度と正確さの違いを区別するのは困難です。私たちの意見では、これら 2 つの単語は同義ですが、英語では、これら 2 つの単語には違いがあります。したがって、この 2 つの違いを理解したい場合は、概念を単に覚えるのではなく、英語の説明を見る必要があります。

英語で、正確性を表す単語は「precision」です。辞書では次のように説明されています。「precision は、すべての陽性結果 (真陽性と偽陽性の両方) に対する真陽性の割合として定義されます。」翻訳すると、陽性例として予測されたすべてのサンプルの正しい割合を意味します。

正確さを表す英語の単語はaccuracyで、英語の説明は次のとおりです。正確さは、母集団における真の結果(真陽性と真陰性の両方)の割合です。翻訳すると、予測された結果が正確である確率を意味します。予測された結果は正確であるため、当然、肯定的な例と否定的な例の両方が含まれます。

英語の説明から、これら 2 つの概念の違いが明確にわかります。どちらも正しい部分を予測しますが、精度は正の例のみを対象とし、正確性は正の例と負の例の両方を含むすべてのサンプルを対象とします。個人的には、この2つをスクリーニング精度と判定精度と訳した方が分かりやすいと思います。精度と正確性だけならまだしも、前述の再現率も加えると本当にややこしくなるかもしれません。

これら 3 つの指標を明確にするために例を見てみましょう。

中国の国共内戦の際、政府は軍事統制委員会のスパイを捕まえたいと考え、すでに村の民間人 100 人をターゲットにしており、スパイを見つける任務を A と B の 2 人に与えたとします。そのうち、Aは18人を選び、そのうち12人はスパイであり、Bは10人を選び、そのうち8人はスパイであった。スパイは全部で 20 人いると仮定すると、この 2 人の再現率、正確度、精度はどれくらいでしょうか?

[[323527]]

まず A を見てみましょう。単純なリコールから始めます。スパイは全部で 20 人いて、A はそのうち 12 人を見つけたので、リコール率は 12/20 = 0.6 です。精度とは、スクリーニングの正確さを指します。合計 18 人をスクリーニングし、そのうち 12 人が正解だったので、精度は 12/18 = 2/3 です。正解率は全体の正解率です。12人のスパイと80人の一般人を正しく判定しました。正解率は(12+82-8)/100で86%です。

もう一度Bを見てみましょう。再現率は8 / 20 = 0.4、適合率は8 / 10 = 0.8、正確度は(8 + 90 - 12) / 100 = 86%です。

上記の例から、精度と正確さの式を得ることができます。

精度は正しくスクリーニングされる確率であり、正しいスクリーニングの数をスクリーニングされたサンプルの数で割ったものです。正しいスクリーニングの数は当然 TP です。スクリーニングされたサンプルの総数には正しいものと間違ったものの両方が含まれ、間違ったスクリーニング サンプルの数は FP です。つまり、

精度は全体的な正確さ、つまりすべての正しい値をサンプル数で割ったものです。

再現率と精度のトレードオフ

前の例を引き続き研究してみましょう。A と B の結果から、正解率はどちらも 86% と非常に高いことがわかります。しかし、スパイを捕まえなければ精度は 80% のままになる可能性があるため、この値は無意味であることがわかります。ネガティブなサンプルが多すぎるため、全体的な精度を上げても問題は説明できません。ネガティブサンプルの割合がさらに大きくなれば、精度はさらに向上します。

例えば、医療業界では、発症率自体が高くなく、陰性のサンプルが多数あるため、一部の病気の検出精度を調べても意味がありません。何も検出できない場合でも、高い精度を達成できます。これを理解すれば、偽薬や偽器具を売りつけ、正確さを装って消費者を騙すような詐欺は減るでしょう。

負の例が重要でないシナリオでは、負の例の影響を受けるため、通常は精度を参照しません。では、再現率と精度のどちらの値を参照すればよいのでしょうか?

質問のシナリオに戻りましょう。A と B という 2 人の人物がいます。A はより高い記憶力を持ち、20 人のスパイのうち 12 人を見つけました。 B の正解率はさらに高く、発見した 10 人のうち 8 人がスパイであり、非常に高い正解率を示しました。それで、この二人のうちどちらが強いのでしょうか?

質問の立場に立ってみれば、この質問に対する標準的な答えはなく、答えは完全に上司によって異なることがわかります。もし上司が業績を重視し、誤って誰かを殺してしまうよりも解雇したい利己主義者であれば、スパイを多く捕まえるAの方が優れていると当然考えるでしょう。上司が思いやりのある人であれば、明らかに B を好むでしょう。ミスが減れば、人への害も減ります。したがって、これは技術的な質問ではなく、哲学的な質問です。

どちらが優れているかは、問題の観点とシナリオによって完全に異なります。シナリオが変われば、結果は変わります。病気のスクリーニングのシナリオであれば、できるだけ多くの陽性例を思い出せるように、より高い再現率が必要になるかもしれません。不正確な検査結果については、信頼性を高めるためにさらに数回検査することができますが、一部のサンプルが漏れていると、患者の診断を見逃すリスクがあります。リスク管理シナリオであれば、不正行為が検出された後に厳しい処罰が課されることが多いです。もちろん、私たちは正確率にもっと注意を払います。なぜなら、間違いが見つかった場合、ユーザーに多大な損害を与え、アプリをアンインストールして二度と戻ってこない可能性があるからです。したがって、誤ってアプリを終了させるよりも、そのまま放置する方がよいでしょう。

再現率と精度を総合的に考慮できる指標はあるのでしょうか?はい、あります。この値は F1 スコアと呼ばれます。

その定義は次のとおりです。

数学に詳しい学生なら、f1 スコアが本質的には再現率と精度の混合平均であることに気づくでしょう。これを使用して再現率と精度のバランスをとることができるため、トレードオフが容易になります。 A と B の f1 スコアを計算することもできます。計算により、A の f1 スコアは 0.631、B の f1 スコアは 0.533 となり、全体的には A の方が優れていることがわかります。

再現率と精度のトレードオフ

先ほどの例を続けましょう。多くのモデルを作成したことがある人なら、機械学習の分野では再現率と適合率は相容れない2つの値であることがわかるでしょう。モデルの適合率が高い場合、その再現率は低いことが多く、再現率が高い場合、適合率は低くなります。適合率と再現率の両方を向上させることは困難です。これはなぜでしょうか。

例としてロジスティック回帰モデルを使用します。次の図を見てみましょう。

図の l1、l2、l3 は 3 つの異なるモデルとして見ることができます。明らかに、l1 は精度が最も高いものの再現率が最も低く、l3 は精度が最も低いものの再現率が最も高いことがわかります。

これには 2 つの理由があります。1 つ目の理由は、サンプルにエラーがあり、特に重要なエッジのデータにエラーがあるため、エラーによってデータが互いに浸透してしまうことです。 2 つ目の理由は、モデルのフィッティング能力が限られていることです。たとえば、この例では線形モデルを使用しており、サンプルを線形平面上でしか分割できません。リコールを増やすと、必然的に誤ったサンプルが混ざるようになります。また、精度を向上させると、リコールは必然的に低下します。

明らかに、これは取引、つまり英語で言うとトレードオフです。両方を手に入れることはできず、どちらかを選ばなければなりません。もちろん、gbdt やニューラル ネットワークなどのより強力なフィッティング機能を備えたモデルに切り替えれば、より良い結果が得られますが、コストがかからないわけではありません。モデルが複雑になるほど、トレーニングに必要なサンプルの数が増えます。十分なサンプルがないと、モデルが複雑になるほど、収束が難しくなります。

これはアルゴリズム エンジニアをテストする典型的なシナリオです。シナリオに基づいて適切な選択を行う必要があります。リコールを拡大するためですか、それとも精度を向上させるためですか?ロジスティック回帰モデルを例にとると、0.5 ビットのしきい値を使用して、正例か負例かを判定します。理論的には、このしきい値を上げるとモデルの精度を向上させることができますが、同時にリコール率も低下します。逆に、このしきい値を下げると、より多くの肯定的な例が得られることになりますが、より多くの否定的な例が肯定的な例として誤分類され、精度が低下することも意味します。

要約する

今日紹介した概念は、機械学習の基礎であるだけでなく、面接でもよく聞かれるものです。有能なアルゴリズム エンジニアであれば、これを理解しておく必要があります。

混乱しているようであれば、スパイを捕まえるという例を考えてみてください。非常に鮮明で効果的であり、記憶を深めるのに役立つことは間違いありません。

<<:  セキュリティ業界における5G+AIの探究と実装

>>:  2020年のコロナウイルスパンデミックが仕事の未来に与える影響

ブログ    
ブログ    

推薦する

ジェネレーティブAIはCIOにとって成否を分ける瞬間

IT リーダーは、まずユースケースに合わせて戦略を最適化し、次世代 AI の可能性と落とし穴を実用的...

ニューラルネットワークにおける量子化と蒸留

この記事では、ディープラーニングにおけるモデルを合理化する技術、量子化と蒸留について詳しく説明します...

Linux SNMP アルゴリズムと機能モジュール

Linux SNMP を十分に学習したい場合は、いくつかのモジュールに精通している必要があります。そ...

...

効率が1200倍にアップ! MIT、医薬品製造向けの新たなAIモデルを開発

海外メディアTech Xploreによると、MITの研究者らは最近、新しいタンパク質分子の構造を事前...

...

...

自然言語処理はビジネスに革命をもたらす

顧客対応チャットボットの強化から契約コミットメントの追跡、会議の議事録の最大限の活用まで、自然言語処...

職場におけるAIと自動化の重要性

AI は問題解決に新たな次元をもたらし、さまざまな業界の企業に利益をもたらします。 AI は、膨大な...

ディープラーニングの基本的な概念と手法についての簡単な説明

この記事は、数学的および理論的な詳細にはあまり触れずに、ディープラーニングの基本的な概念を取り上げ、...

...

EasyDL モデルのトレーニングから EdgeBoard 推論までのステップバイステップ ガイド

まとめ: EdgeBoard は Baidu が開発した FPGA ベースの組み込み AI ソリュー...

RFID と AI が出会うとき: 「敵」か「味方」か?

近年の科学技術分野で最も代表的な技術をいくつか選ぶとしたら、AI技術は間違いなくそのリストに入るでし...

LinkedIn は、すべてのユーザーに公開される生成 AI 支援投稿作成機能を開始しました。

職場向けソーシャルプラットフォーム「LinkedIn」は6月26日、広告主が生成AIを通じてマーケテ...