上司から、利用可能なさまざまな測定値に基づいて製品に欠陥があるかどうかを予測するモデルを作成するように依頼されたとします。お気に入りの分類器をデータでトレーニングすると、96.2% の精度が達成されます。 上司は驚き、それ以上テストせずにモデルを使用することに決めました。数週間後、彼はあなたのオフィスに来て、テーブルにドルを叩きつけ、あなたのモデルはまったく役に立たず、不良品は一つも見つからなかったと言います。 調査の結果、会社の製品の約 3.8% に欠陥があるにもかかわらず、モデルは常に「欠陥なし」と答えており、精度率は 96.2% であることがわかりました。このような「素朴な」結果が得られる理由は、トレーニングに不均衡なデータセットを使用しているためと考えられます。 この記事では、不均衡なデータ分類問題を解決するためのさまざまな方法を紹介します。 まず、「ナイーブな動作」を検出するためのさまざまな評価基準の概要を示します。次に、データセットを再処理するさまざまな方法について説明し、これらの方法がどのように誤解を招く可能性があるかを示します。最後に、ほとんどの場合、データセットを再処理することがモデリングを進めるための最良の方法であることを示します。 注: (∞) でマークされたセクションには、より数学的な詳細が含まれており、この記事の全体的な理解に影響を与えることなくスキップできます。さらに、この論文の大部分は 2 クラス分類問題を扱っていますが、その推論は多クラスの場合にも簡単に拡張できます。 1. 「素朴な行動」の検出 まず、単純な動作が検出されるように分類子を評価するいくつかの方法を見てみましょう。前述したように、精度は無視できない重要な指標ですが、誤解を招く可能性があるため、注意して使用する必要があり、他の指標と組み合わせて使用するのが最適です。まずは他にどんな指標があるのか見てみましょう。 1. 混同行列、適合率、再現率、F1 分類問題を扱う場合、適切かつシンプルなメトリックは混同行列です。このメトリックは、モデルのパフォーマンスがどの程度優れているかの概要を示します。したがって、これはあらゆる分類モデルの評価にとって良い出発点となります。次の図は、混同行列から導き出せるメトリックのほとんどをまとめたものです。 混同行列とそこから導き出される指標 簡単に説明しましょう。精度は正しい予測の数を予測の総数で割ったもので、精度は、ある点がそのクラスに属すると判断されたときのモデルの信頼性を示します。クラス再現率は、モデルがそのクラスを検出できる割合を表します。クラスの F1 スコアは、精度と再現率の調和平均です (F1 = 2×精度×再現率 / (精度 + 再現率))。F1 は、クラスの精度と再現率を同じメトリックに組み合わせることができます。 特定のクラスの場合、精度と再現率のさまざまな組み合わせは次のとおりです。
たとえば、以下に示すように、10,000 個の製品の混同行列があります。 記事の冒頭の例の混同行列。 「不良品ではない」精度は計算できないことに注意してください。 上図によると、精度は 96.2%、良品クラスの精度は 96.2%、不良品クラスの精度は計算できません。良品クラスのリコールは 1.0 (これは良好で、良品はすべて検出されます)、不良品クラスのリコールは 0 (これは不良で、不良品は検出されません) です。したがって、このモデルは欠陥クラスに適していないと結論付けることができます。不良品のF1スコアは計算できず、良品のF1スコアは0.981です。この例では、混同行列を調べていれば、モデルや目的を再検討し、以前のような役に立たないモデルは存在しなかったでしょう。 2. ROCとAUROC もう 1 つの興味深いメトリックは、特定のクラス (以下ではクラスを表すために C が使用されています) に対して定義される ROC 曲線 (受信者動作特性) です。 与えられた点 x に対して、モデルが点がカテゴリ C に属する確率を P(C | x) として出力するとします。この確率に基づいて、P(C | x) ≥ T の場合にのみ x がカテゴリ C に属するという決定ルールを定義します。ここで、T は決定ルールを定義する特定のしきい値です。 T = 1 の場合、モデルの信頼性が 100% である場合にのみ、ポイントはクラス C としてラベル付けされます。 T = 0 の場合、すべてのポイントはクラス C としてラベル付けされます。 0 から 1 の間のしきい値 T の各値は、ポイント (偽陽性、真陽性) を生成します。ROC 曲線は、T が 1 から 0 に変化したときに生成されるポイントのセットによって記述される曲線です。曲線は点 (0,0) から始まり、点 (1,1) で終わり、単調に増加します。優れたモデルの ROC 曲線は、0 から 1 に急速に増加します (つまり、高い再現率を達成するには、精度を少し犠牲にする必要があることを意味します)。 有効性の異なるモデルの ROC 曲線。左側のモデルは、高い再現率を達成するために精度を大幅に犠牲にする必要がありますが、右側のモデルは非常に効果的で、高い精度を維持しながら高い再現率を達成できます。 ROC 曲線に基づいて、モデルを評価するためのもう 1 つの使いやすい指標を構築できます。それは、ROC 曲線の下の領域である AUROC (Area Under the ROC) です。 AUROC は最良の場合には 1.0 に近づき、最悪の場合には 0.5 に向かって減少することがわかります。同様に、AUROC スコアが良好であるということは、評価したモデルが特定のクラス (通常は少数派クラス) で高いリコールを達成するために精度を大幅に犠牲にしていないことを意味します。 何が悪かったのでしょうか? 1. 不均衡なケース 問題を解決する前に、その問題をより深く理解する必要があります。これを実行するために、非常に単純な例を考えてみましょう。 C0 と C1 という 2 つのクラスがあるとします。C0 のポイントは平均 0、分散 4 の 1 次元ガウス分布に従い、C1 のポイントは平均 2、分散 1 の 1 次元ガウス分布に従います。データ セット内のポイントの 90% が C0 から取得され、残りの 10% が C1 から取得されると仮定します。次の図は、上記の仮定に従って 50 個のポイントを含むデータ セットの理論的な分布を示しています。 不均衡事例の図解。点線は各クラスの確率密度を表し、実線はデータの割合を考慮に入れています。 この例では、C0 の曲線が常に C1 の曲線より上にあることがわかります。そのため、任意の点について、それがクラス C0 である確率は、クラス C1 である確率よりも常に高くなります。ベイズの公式を使って表現すると次のようになります。 ここでは、事前確率の影響と、あるクラスが他のクラスよりも発生する可能性が高くなる状況につながる可能性がある様子が明確にわかります。つまり、理論的な観点から見ても、分類器の判定結果が常に C0 である場合にのみ精度が最大になります。したがって、分類器の目標が最高の精度を達成することである場合、分類器をまったくトレーニングする必要はなく、すべてを C0 として分類するだけで済みます。 2. 分離可能性について 前の例では、2 つのクラスが十分に分離されていない (互いに離れていない) ことがわかります。ただし、データの不均衡は、2 つのクラスを適切に分離できないことを意味するものではありません。たとえば、データ セット内の C0 と C1 の割合がそれぞれ 90% と 10% であると仮定しますが、C0 は平均 0、分散 4 の 1 次元ガウス分布に従い、C1 は平均 10、分散 1 の 1 次元ガウス分布に従います。次の図に示すように: この例では、平均差が十分に大きい場合、不均衡なクラスであっても分離できます。 ここでは、前の場合とは逆に、C0 曲線が常に C1 曲線の上にあるとは限らないため、一部のポイントは C0 よりもクラス C1 から来る可能性が高くなることがわかります。この場合、2 つのクラスは不均衡を補うのに十分に分離されており、分類器が必ずしも C0 を達成できるとは限りません。 3. 理論上の最小エラー確率(∞) 分類器には理論上最小のエラー確率があることを理解する必要があります。この記事で説明した単一特徴バイナリ分類器の場合、理論上の最小エラー確率は、2 つの曲線の最小値の下の領域によってグラフで表されます。 異なる距離にある2つのクラス間の理論上の最小誤差 それを数式の形で表現することができます。実際、理論的な観点から見ると、最適な分類器は、2 つのクラスのうち、点 x が属する可能性が最も高いクラスを選択します。これは当然、与えられた点xに対して、***の理論的な誤り確率は、2つのクラスのうち可能性の低い方、すなわち 次に全体を積分して、合計エラー確率を取得します。 つまり、上図の 2 つの曲線の最小値の下の領域です。 3. データセットの再処理が必ずしも解決策になるとは限らない 不均衡なデータセットに直面したとき、私たちの最初の反応は、そのデータが現実を反映していないと考えることでしょう。これが正しければ、実際のデータは(またはほぼ)バランスが取れているはずですが、データ収集に使用する方法の問題により、データに比例的な偏りが生じています。したがって、より代表的なデータを収集するよう努める必要があります。 次の 2 つのセクションでは、不均衡なクラスに対処し、データセット自体を処理するための一般的な方法を簡単に紹介します。特に、アンダーサンプリング、オーバーサンプリング、および合成データの生成のリスクと利点について説明します。 1. アンダーサンプリング、オーバーサンプリング、合成データの生成 これら 3 つの方法は、分類器をトレーニングする前にデータセットのバランスをとるためによく使用されます。簡単に言えば:
これらすべての方法には、データセットを(部分的にまたは完全に)再バランス調整するという 1 つの目標があります。しかし、両方のクラスのデータ量が等しくなるようにデータセットのバランスを再調整する必要がありますか? それとも、サンプル数が多いクラスを最も多く表すクラスのままにすべきでしょうか? そうであれば、どの程度の割合でバランスを再調整する必要がありますか? 多数派クラスのアンダーサンプリングの程度の違いがモデルの意思決定に与える影響 再サンプリング方法を使用する場合(例:C1 よりも C0 からより多くのデータを取得する)、トレーニング中に 2 つのクラスの誤った比率が分類器に示されます。この方法で学習された分類器は、変更されていないデータセットでトレーニングされた分類器よりも、将来の実際のテスト データでさらに低い精度を達成する可能性があります。実際、クラスの真の割合は新しいポイントを分類するために非常に重要であり、データセットを再サンプリングするとこの情報は失われます。 したがって、これらの方法を完全に拒否しない場合でも、注意して使用する必要があります。意図的に新しい比率を選択すると、関連するいくつかの方法につながる可能性があります (次のセクションで説明します)。ただし、問題の本質をさらに考慮せずにクラスを単純に再バランスすると、プロセスが無意味になる可能性があります。要約すると、再サンプリングによってデータセットを変更すると、事実が変わるため、分類器の出力にどのような意味を持つのかを注意深く覚えておく必要があります。 2. 追加機能の追加 データセットを再サンプリングする(クラス比率を変更する)ことが良いアイデアか悪いアイデアかは、分類器の目的によって異なります。 2 つのクラスが不均衡で分離不可能であり、最大の精度を達成することが目標である場合、取得する分類器はデータ ポイントを 1 つのクラスにのみ分類します。ただし、これは問題ではなく、単なる事実です。これらの変数の場合、これより適切な選択肢はありません。 再サンプリングに加えて、データセットに 1 つ以上の他の機能を追加してデータセットを充実させ、より正確な結果を得ることもできます。前の例(2 つのクラスを適切に分離できない)に戻ると、以下に示すように、2 つのクラスを分離するのに役立つ新しい機能を追加します。 追加機能を見つけることで、分離できないクラスを分離できます。 前のセクションで説明した再サンプリング方法と比較すると、この方法では、データの現実を変更するのではなく、現実からのより多くの情報でデータを充実させます。 4. 再問題解決のほうが良い これまでのところ、結論は残念なものに思えます。データセットが実際のデータを表す必要があり、追加の特徴を取得できない場合、分類器をその最大精度で判断すると、「単純な動作」(判断結果は常に同じクラス)になり、それを事実として受け入れる必要があります。 しかし、結果に満足できない場合はどうなるでしょうか? これは、問題が実際には適切に表現されていないことを意味します (そうでない場合は、モデルの結果を受け入れることができるはずです)。そのため、期待される結果を得るには、問題を再度解決する必要があります。例を見てみましょう。 1. コストベースの分類 結果が悪くなる根本的な原因は、目的関数が適切に定義されていないことです。ここまでは、分類器の精度が高く、2 種類のエラー (偽陽性と偽陰性) のコストは同じであると想定してきました。私たちの場合、これは、真のラベルが C1 であるときに C0 を予測することは、真のラベルが C0 であるときに C1 を予測することと同じくらい悪いことを意味します。つまり、エラーは対称的です。しかし、現実はそうではない場合が多いです。 この記事の最初の例、不良品 (C1) と良品 (C0) について考えてみましょう。ご想像のとおり、欠陥のある製品を検出しないことによって企業が被るコストは、欠陥のない製品を欠陥品として分類することよりもはるかに大きくなります (顧客サービス コスト、訴訟費用など)。したがって、実際のケースでは、エラーのコストは非対称です。 次のことを前提として、より具体的に考えてみましょう。
次に、目的関数を再定義します。つまり、最大の精度を目指すのではなく、より低い予測コストを目指します。 2. 理論上の最小コスト(∞) 理論的な観点からは、上で定義したエラー確率を最小化するのではなく、予想される予測コストを最小化したいのです。 ここでC(.)は分類関数を定義します。したがって、予測コストを最小化したい場合、理論上最も優れた分類器C(.)は、 あるいは、xの密度で割ると、C(.)は最小になる。 この目的関数では、理論的な観点から、最適な分類器は次のようになります。 注: コストが等しい場合、「古典的な」分類器の表現が回復されます (精度のみを考慮)。 3. 確率閾値 分類器のコストを考慮する最初の方法は、トレーニング後に行うことです。つまり、分類器を基本的な方法でトレーニングし、次の確率を出力することです。 ここではコストは考慮されません。そして、以下の条件が満たされた場合 予測されるクラスは C0 です。それ以外の場合は C1 です。 ここでは、特定のポイントの各クラスの確率を出力する限り、どの分類器を使用するかは問題ではありません。私たちの場合、データにベイズ分類器を適合させ、得られた確率に再度重み付けして、コスト誤差に基づいて分類器を調整することができます。 確率的閾値法: 出力確率は、最終的な決定ルールでコストが考慮されるように再重み付けされます。 4. クラスの再重み付け クラスの再重み付けは、分類器のトレーニング中にコスト エラーの非対称性を直接考慮し、各クラスの出力確率にコスト エラー情報を埋め込みます。この確率は、しきい値 0.5 の分類ルールを定義するために使用されます。 一部のモデル(ニューラル ネットワーク分類器など)では、目的関数を調整することでトレーニング中にコストを考慮できます。分類器に出力させたいのは しかし、今回のトレーニングでは次のコスト関数を最小化します。 他のモデル(ベイズ分類器など)では、再サンプリング手法を使用してクラス比率にバイアスをかけ、コスト エラー情報がクラス比率内に入力されるようにすることができます。コスト P01 と P10 (P01> P10 の場合) を考慮すると、次のようになります。
クラス再加重法: 多数クラスが比例的にサンプリング不足となり、クラスの割合にコスト情報を直接導入できます。 V. 結論 この記事の中心的なアイデアは次のとおりです。
この記事では、バッチ トレーニング分類器で一般的に使用される「層別サンプリング」手法など、すべての手法について説明しているわけではないことに注意してください。この手法 (バッチ内の比率の違いを排除することにより) により、クラスの不均衡という問題に直面した場合でも、トレーニング プロセスがより安定します。 ***、この記事の主なキーワードは「目標」であることを強調する必要があります。目標を明確に理解することで、データセットの不均衡の問題を克服し、最良の結果を得ることができます。目標を正確に定義することは、機械学習モデルを作成するために必要な選択を行うための第一歩です。 オリジナルリンク: https://towardsdatascience.com/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28 [この記事は51CTOコラム「Machine Heart」、WeChatパブリックアカウント「Machine Heart(id:almosthuman2014)」によるオリジナル翻訳です] この著者の他の記事を読むにはここをクリックしてください |
<<: 「ディープラーニングは学習ではない」:インテル幹部とAI大手ルカンが罵り合う
ディープフェイクの出現以来、多くの論争を引き起こし、多くの倫理的、社会的問題を引き起こしてきました。...
アジアのビッグデータおよび人工知能企業である凌創志信は、同社の伝統的なリテイン事業であるデータラベリ...
エッジ インテリジェント テクノロジーのエンジニアリング プラクティスを紹介する前に、避けることので...
国内の大型モデルスタートアップがテクノロジーの最前線で新記録を打ち立てている。 10月30日、百川知...
昨日、国内のAIスタートアップ企業Rokidは杭州で新製品発表会を開催し、Meスマートポータブルスピ...
特にインフラとして重要な役割を担うデータセンターにおいては、運用・保守は決して軽視できるものではなく...
私が人工知能の分野で働き始めた頃は、まだ広大な海でした。モデルの展開方法さえ知っていれば、モデルの調...
最近、Sinovation Venturesの創設者であるKai-Fu Lee氏が「AIの急速な時代...
果物の収穫から雑草の除去まで、ロボットは精密農業で大きな成果を上げています。農家は常に熱心なデータ収...
著者 | プリタム・ボルドロイ徐潔成編纂暗号通貨は死んだのか?この質問に対する答えは、誰が答えるかに...
[[271788]]今月、オーストラリアのシドニーで2019年ロボカップ(ロボットワールドカップ)が...
車が自ら考えるのを助ける —— グラフィックスプロセッシング ユニット( GPU ) とニューラル...