機械学習アルゴリズムにおける分類知識の要約

機械学習アルゴリズムにおける分類知識の要約

この記事では、機械学習アルゴリズムにおける非常に重要な知識である分類、つまり入力データが属するカテゴリを決定する関数を見つけることを紹介します。これは、2 カテゴリ問題 (はい/いいえ) または複数カテゴリ問題 (複数のカテゴリの中から入力データが属するカテゴリを決定する) になります。回帰問題と比較すると、分類問題の出力は連続値ではなく離散値となり、どのカテゴリに属する​​かを指定するために使用されます。分類問題は、スパム認識、手書き数字認識、顔認識、音声認識など、現実に広く使用されています。

1. しきい値を指定する ロジスティック回帰は確率を返します。返された確率を「そのまま」使用することも(例:ユーザーがこの広告をクリックする確率は 0.00023)、返された確率をバイナリ値に変換することもできます(例:このメールはスパムです)。

ロジスティック回帰モデルが特定の電子メールに対して 0.9995 の確率を返す場合、モデルは電子メールがスパムである可能性が非常に高いと予測します。対照的に、同じロジスティック回帰モデルで予測スコアが 0.0003 である別の電子メールは、スパムではない可能性が高くなります。しかし、特定の電子メールの予測スコアが 0.6 の場合はどうなるでしょうか?ロジスティック回帰値をバイナリ カテゴリにマッピングするには、分類しきい値 (決定しきい値とも呼ばれます) を指定する必要があります。このしきい値を超える値は「スパム」を示し、このしきい値を下回る値は「スパムではない」ことを示します。分類しきい値は常に 0.5 であるべきだと考える人が多いですが、しきい値は問題によって異なるため、調整する必要があります。

分類モデルの予測を評価するために使用できるメトリックと、分類しきい値を変更した場合の予測への影響については、後のセクションで詳しく説明します。

⭐️ 注記:

ロジスティック回帰のしきい値の「調整」は、学習率などのハイパーパラメータの調整とは異なります。しきい値を選択するときは、間違いを犯した場合の結果がどの程度深刻になるかを評価する必要があります。たとえば、スパムではないメッセージを誤ってスパムとして分類することは非常に危険です。ただし、スパム メッセージが誤ってスパムではないとマークされるのは不快かもしれませんが、それによって仕事を失うべきではありません。

2. ポジティブとネガティブ、ポジティブとネガティブのカテゴリー<br /> このセクションでは、分類モデルを評価するために使用されるメトリックの主なコンポーネントを定義します。寓話から始めましょう:

イソップ童話:狼と少年(簡易版) 町の羊の世話をしなければならなかった羊飼いの少年がいましたが、彼はその仕事に飽き始めました。狼は現れなかったのに、ただ面白がって「狼だ!」と叫んだのです。村人たちはすぐに羊を守ろうとしましたが、少年が冗談を言っていることに気づいて怒りました。 (このような状況は何度も起こりました。)

...

ある夜、羊飼いの少年は羊の群れに近づいてくるオオカミを見て、大声で叫びました。「オオカミが来ているよ!」村人たちは、またオオカミにからかわれるのが嫌だったので、家に留まりました。空腹の狼は羊を殺しておいしい食事を食べました。今、町全体が困難に陥っています。パニックが起こった。

以下のように定義します。

「狼が来る」というのはポジティブなカテゴリーです。

「狼なし」は否定クラスです。

私たちの「オオカミ予測」モデルは、2x2 混同行列を使用して要約することができ、これは 4 つの可能な結果すべてを記述します。

真陽性とは、モデルが陽性クラスの例を陽性であると正しく予測した場合です。同様に、真陰性とは、モデルが負のクラスの例を負であると正しく予測するインスタンスです。

偽陽性とは、モデルが陰性クラスのサンプルを誤って陽性と予測することであり、偽陰性とは、モデルが陽性クラスのサンプルを誤って陰性と予測することです。

次のセクションでは、これら 4 つの結果から得られたメトリックを使用して分類モデルを評価する方法について説明します。

3. 正確性

精度は分類モデルを評価するために使用される指標です。簡単に言えば、精度とは、モデルによって予測された正しい結果の割合を指します。より正式には、精度は次のように定義されます。

バイナリ分類の場合、次のように正と負のカテゴリに基づいて精度を計算することもできます。

ここで、TP = 真陽性、TN = 真陰性、FP = 偽陽性、FN = 偽陰性です。 100 個の腫瘍を悪性(陽性クラス)または良性(陰性クラス)に分類する次のモデルの精度を計算してみましょう。

精度は 0.91、つまり 91% (合計 100 サンプルのうち 91 が正しい予測) です。これは、私たちの腫瘍分類器が悪性腫瘍をかなりうまく識別していることを意味しますね?

実際、正のクラスと負のクラスを詳しく調べると、モデルのパフォーマンスがどの程度優れているかをより正確に把握できます。

100 個の腫瘍サンプルのうち、91 個は良性(TN 90 個、FP 1 個)、9 個は悪性(TP 1 個、FN 8 個)でした。

モデルは 91 個の良性腫瘍のうち 90 個を良性であると正しく識別しました。これは良いですね。しかし、モデルは 9 つの悪性腫瘍のうち 1 つだけを悪性であると正しく識別しました。なんとひどい結果でしょう!悪性腫瘍の 9 件中 8 件は診断されません。

91% の精度は一見悪くないように思えるかもしれませんが、別の腫瘍分類モデルが常に良性を予測する場合、このモデルは私たちのサンプルを使用して同じ精度 (100 件中 91 件の正しい予測) を達成します。言い換えれば、私たちのモデルは、悪性腫瘍と良性腫瘍を区別する予測力のないモデルに匹敵します。

不均衡なデータセット(つまり、肯定的なラベルと否定的なラベルの数に大きな差があるデータセット)を扱っている場合、精度だけでは全体像がわからない場合があります。

次のセクションでは、分類の不均衡の問題をより適切に評価できる 2 つのメトリック、精度と再現率を紹介します。

理解することを学ぶ

次のケースのうち、高い精度の値が機械学習モデルのパフォーマンスが良好であることを示すのはどれですか?

高価なロボット鶏は、交通量の多い道路を 1 日に 1,000 回横断します。機械学習モデルが交通パターンを評価し、鶏が安全に道路を横断できる時間を 99.99% の精度で予測しました。

致命的だが治癒可能な病気が人口の 0.01% に影響を与えています。機械学習モデルは、症状を特徴として用いて、99.99% の精度で病気を予測しました。

ルーレットのゲームでは、ボールが回転するホイールに落ち、最終的に 38 個のスロットの 1 つに落ちます。機械学習モデルは、視覚的な特徴(ボールの回転方法、ボールが落ちたときの回転ホイールの位置、ボールが回転ホイールからどのくらい高い位置にあるか)を使用して、ボールがどのスロットに落ちるかを 4% の精度で予測できます。

4. 精度と再現率
4.1 精度
精度メトリックは、次の質問に答えようとします。陽性と識別された例のうち、実際に陽性である割合はどれくらいですか?

精度の定義は次のとおりです。

⭐️ 注: モデルが誤検知を予測しない場合、モデルの精度は 1.0 になります。

前のセクションで腫瘍を分析するために使用した機械学習モデルの精度を計算してみましょう。

このモデルの精度は 0.5 であり、これはモデルが悪性度を予測する際に 50% の確率で正しいことを意味します。

4.2 リコール

リコールは、次の質問に答えようとします: すべての肯定的な例のうち、正しく肯定的であると識別される割合はどれくらいですか?

数学的に言えば、再現率は次のように定義されます。

⭐️ 注: モデルが偽陰性を予測しない場合、モデルのリコールは 1.0 になります。

腫瘍分類器の再現率を計算してみましょう。

このモデルの再現率は 0.11 で、これはモデルがすべての悪性腫瘍の 11% を正しく識別できたことを意味します。

4.3 精度と再現率:綱引き

モデルの有効性を完全に評価するには、精度と再現率の両方を調べることが重要です。残念ながら、精度と再現率はトレードオフの関係にある場合がよくあります。つまり、精度を上げると通常は再現値が低下し、その逆も同様です。この概念を理解するには、電子メール分類モデルによって行われた 30 の予測を示す次の図をご覧ください。分類しきい値の右側にあるメールは「スパム」として分類され、左側にあるメールは「スパムではない」として分類されます。

図 1. 電子メールメッセージをスパムか非スパムかに分類する

図 1 に示す結果に基づいて、精度と再現率の値を計算します。

精度は、スパムとしてマークされたメールの中で正しく分類されたメールの割合であり、図 1 のしきい値ラインの右側にある緑色の点の割合です。

再現率は、実際のスパムメールの中で正しく分類されたメールの割合であり、図 1 のしきい値ラインの右側にある緑色の点の割合です。

図 2 は分類しきい値を増加した場合の効果を示しています。

図2. 分類閾値の引き上げ

偽陽性の数は減少しますが、それに応じて偽陰性の数は増加します。その結果、精度は向上しましたが、再現率は低下しました。

対照的に、図 3 は分類しきい値を下げた場合の効果を示しています (図 1 の初期位置から)。

図3. 分類閾値の引き下げ

偽陽性の数は増加し、偽陰性の数は減少します。今回は、精度は低くなりますが、再現率は高くなります。

私たちは、精度と再現率の指標に基づいてさまざまな指標を開発しました。例については、F1 値を参照してください。

理解することを学ぶ<br /> 電子メールを「スパム」と「非スパム」の 2 つのカテゴリに分類する分類モデルの例を見てみましょう。分類しきい値を上げると精度はどうなりますか?

改善する可能性があります。

必ず改善されます。

確実に減ります。

下げられる可能性があります。

電子メールを「スパム」と「非スパム」の 2 つのカテゴリに分類する分類モデルの例を見てみましょう。分類しきい値を上げるとリコールはどうなりますか?

常に減少するか、同じままです。

常に同じままです。

必ず改善されます。

同じデータセットで評価される 2 つのモデル (A と B) を例に挙げます。次の記述のうち正しいものはどれですか?

モデル A がモデル B よりも正確である場合、モデル A の方が優れています。

モデル A の精度と再現率が両方ともモデル B よりも優れている場合、モデル A の方が優れていると考えられます。

モデル A の再現率がモデル B よりも優れている場合、モデル A の方が優れています。

5. ROCとAUC
5.1 ROC曲線

ROC 曲線 (受信者動作特性曲線) は、すべての分類しきい値における分類モデルのパフォーマンスを示すグラフです。この曲線は次の 2 つのパラメータをプロットします。

真陽性率

誤検出率

真陽性率 (TPR) はリコールの同義語であり、次のように定義されます。

偽陽性率 (FPR) は次のように定義されます。

ROC 曲線は、異なる分類しきい値が使用される場合に TPR と FPR をプロットするために使用されます。分類しきい値を下げると、より多くのサンプルが陽性と分類され、偽陽性と真陽性の数が増加します。下の図は典型的な ROC 曲線を示しています。

図4. 異なる分類閾値におけるTP率とFP率

ROC 曲線上の点を計算するには、異なる分類しきい値を使用してロジスティック回帰モデルを複数回評価することもできますが、これは非常に非効率的です。幸いなことに、曲線下面積と呼ばれるこの情報を提供できる、効率的なソートベースのアルゴリズムがあります。

5.2 曲線下面積: ROC 曲線の下の面積 曲線下面積は、 「ROC 曲線の下の面積」の略です。つまり、曲線の下の面積は、(0,0) から (1,1) までの ROC 曲線全体の下の 2 次元領域全体を測定します (積分計算を参照)。

図 5. 曲線下面積 (ROC 曲線下面積)

曲線の下の領域は、考えられるすべての分類しきい値の影響を包括的に測定します。曲線の下の領域を解釈する 1 つの方法は、モデルがランダムな正の例をランダムな負の例より上にランク付けする確率として解釈することです。次のサンプルを例にとると、ロジスティック回帰予測は左から右へ昇順に並べられています。

図6. ロジスティック回帰スコアの昇順で並べた予測値

曲線の下の領域は、ランダムな正の例 (緑) がランダムな負の例 (赤) の右側にある確率を表します。

曲線の下の領域の範囲は 0 から 1 です。 100% 誤った予測を行うモデルの曲線の下の領域は 0.0 になります。100% 正しい予測を行うモデルの曲線の下の領域は 1.0 になります。

曲線の下の領域は、次の 2 つの理由で役立ちます。

曲線の下の領域のスケールは一定のままです。予測の絶対値ではなく、予測の順位を測定します。

曲線の下の領域の分類しきい値は変更されません。選択した分類しきい値に関係なく、モデルの予測の品質を測定します。

ただし、これらの理由にはそれぞれ制限があり、特定のユースケースでは曲線の下の領域が実用的でなくなる可能性があります。

一定のスケールを維持することが常に望ましいとは限りません。たとえば、適切に調整された確率出力が本当に必要な場合もありますが、曲線の下の領域ではこの結果がわかりません。

分類しきい値を一定に保つことが常に望ましいとは限りません。偽陰性と偽陽性のコストに大きな差がある状況では、1 種類の分類エラーを最小限に抑えることが重要になる場合があります。たとえば、スパム検出を行う場合、誤検知を最小限に抑えることを優先したい場合があります (これにより誤検知が大幅に増加する場合でも)。曲線の下の領域は、このタイプの最適化では実用的な指標ではありません。

理解を深める 次の ROC 曲線のうち、0.5 を超える AUC 値を生成するのはどれですか?

特定のモデルのすべての予測に 2.0 を掛けると (たとえば、モデルが 0.4 を予測する場合、2.0 を掛けて 0.8 になります)、AUC で測定されるモデルのパフォーマンスはどのように変化しますか?

予測は互いに大きく異なるため、これにより AUC が向上します。変更はありません。 AUC は相対的な予測スコアのみを考慮します。予測があまりにも異なるため、AUC が非常に悪くなります。

6. 予測バイアス ロジスティック回帰予測は偏りのないものでなければなりません。今すぐ:

予測偏差は、これら 2 つの平均値の差です。今すぐ:

予測バイアス = 予測平均 − データセット内の対応するラベルの平均

⭐️ 注意: 「先読みバイアス」はバイアス (「wx + b」の「b」) と同じではありません。

非常に高い非ゼロの予測バイアスは、モデルが正のクラス ラベルの頻度を誤って予測していることを示しているため、モデルに何らかの問題があることを示しています。

たとえば、平均してすべての電子メールの 1% がスパムであることがわかっているとします。特定の電子メールについて何も知らない場合、1% の確率でそれがスパムであると予測できます。同様に、優れたスパム モデルは、平均して電子メールがスパムである可能性が 1% あると予測する必要があります。 (言い換えると、個々の電子メールがスパムである可能性の予測値を平均すると、結果は 1% になるはずです。) ただし、モデルが電子メールがスパムである可能性の平均を 20% と予測した場合、モデルは偏った予測を行っていると結論付けることができます。

予測バイアスの考えられる原因は次のとおりです。

機能セットが不完全

データセットが乱雑

モデル実装パイプラインにエラーがあります

トレーニングサンプルは偏っている

正規化が強すぎる

学習したモデルを後処理することで、つまり、キャリブレーション レイヤーを追加してモデルの出力を調整し、予測バイアスを減らすことで、予測バイアスを修正できます。たとえば、モデルのバイアスが 3% を超える場合は、キャリブレーション レイヤーを追加して平均予測バイアスを 3% 削減できます。ただし、次の理由から、キャリブレーション レイヤーを追加することはお勧めできません。

原因ではなく症状を治すのです。

継続的に更新する必要がある、より脆弱なシステムを構築します。

キャリブレーション レイヤーを使用して、モデル内のエラーを修正します。

可能であれば、キャリブレーション レイヤーを追加しないでください。キャリブレーションレイヤーを使用するプロジェクトは、それらに依存する傾向がある

最終的には、キャリブレーション レイヤーの維持が面倒になる可能性があります。

⭐️ 注意: 優れたモデルは通常、バイアスがゼロに近くなります。それでも、予測バイアスが低いということは、モデルが優れていることを証明するものではありません。特に悪いモデルでは予測バイアスがゼロになる可能性もあります。たとえば、すべてのサンプルの平均しか予測できないモデルは、予測バイアスがゼロであっても、劣ったモデルです。

7. バケットバイアスと予測バイアス ロジスティック回帰は0〜1の間の値を予測します。ただし、ラベルの付いた例はすべて、正確に 0 (たとえば、「スパムではない」場合は 0) または 1 (たとえば、「スパム」の場合は 1) になります。したがって、予測バイアスを調べる場合、1 つのサンプルだけに基づいて予測バイアスを正確に判断することはできません。サンプルの「バケット」内で予測バイアスを調べる必要があります。つまり、ロジスティック回帰の予測バイアスは、予測値(例:0.392)と観測値(例:0.394)を比較できる十分なサンプルをグループ化した場合にのみ意味を持ちます。

バケットは次の方法で構築できます。

ターゲット予測を線形に分解します。

分位数を構築します。

特定のモデルのキャリブレーション曲線については以下を参照してください。各ドットは 1000 個の値を含むバケットを表します。 2 つの軸には次の意味があります。

x 軸は、そのバケットに対するモデルの予測の平均を表します。

Y 軸は、そのバケットのデータセット内の実際の平均値を表します。

両方の軸は対数スケールです。

図7. 予測偏差曲線

モデルの一部だけがなぜそれほど不正確な予測を行っているのでしょうか?ここにいくつかの可能性があります:

データ空間の一部のサブセットは、トレーニング セットでは適切に表現されない可能性があります。

データセットの一部のサブセットは、他のサブセットよりも乱雑になっています。

モデルは過剰に正規化されています。 (lamdba の値を減らす必要があるかもしれません。)

<<:  70%は輸入品。中国の産業用ロボットはチップのような悲劇をどう回避できるのか?

>>:  自動運転の 6 つのレベル: 真の無人運転までどれくらいの距離があるのでしょうか?

ブログ    
ブログ    
ブログ    

推薦する

人類の生存に関わる問題ですか? AI システムの説明可能性を調査する理由は何ですか?

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

人工知能の役割がクローズアップ!ロボットが増えると雇用に影響が出るでしょうか?

短期的には、人工知能が雇用全体に与える影響は比較的軽微であり、構造的影響が量的影響を上回っている。し...

AIの変革力:AI市場の探究

人工知能 (AI) は、急速に現代の最も変革的なテクノロジーの 1 つとなり、産業を再編し、生産性を...

CPU と比較して、GPU がディープラーニングに適しているのはなぜですか?

1. CPUとGPUの比較CPUは複数の機能を備えた優れたリーダーです。その利点は、強力なスケジュ...

...

ディープラーニングは自動運転車にとって何を意味するのでしょうか?

[[348074]]自動運転車でディープラーニングを使用すると、歩行者の行動を理解したり、最短ルー...

ディープマインドの創業者はAIの弟子を育て、「訓練」ではなく「教育」によってAIに宝探しを教えた

最近、DeepMind は強化学習の分野で新しいことを行いました。簡単に言えば、DeepMind の...

AI はあらゆる人間の声を再現できます。これはポッドキャストにとって何を意味するのでしょうか?

ポッドキャスティングは、よりカジュアルな形式のオーディオストーリーテリングへと進化しています。複雑な...

CES 2020 における AI による心を読む

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

...

Lilith モバイルゲームにおける不正防止の設計と調査

1. モバイルゲーム闇産業チェーンまず、モバイルゲームのブラック産業チェーンを紹介します。これは基本...

...

...

...

会話型 AI ソリューションを実装する際に避けるべき 7 つの間違い

会話型 AI ソリューションを実装する際によくある 7 つの間違いを見てみましょう。適切な戦略と計画...