トレーニングサンプルのクラスの不均衡を修正する方法


7

最近、就職の面接でトレーニングデータセットのクラスの不均衡を修正するための解決策について尋ねられました。バイナリ分類のケースに焦点を当てましょう。

私は2つのソリューションを提供しました:分類子のバランスのとれたデータのバッチを供給することによる少数派クラスのオーバーサンプリング、またはバランスのとれたトレーニングセット(豊富な固有のサブセットと同じ少数派のセット)で多くの分類子をトレーニングするなどの豊富なクラスの分割。インタビュアーがノードを結んだが、私は後に断られ、彼らが言及した知識のギャップの1つはこの答えであった。メトリックを変更して話し合うことができたことがわかりました。

しかし、私の頭に浮かぶ質問は、次のとおりです。テストセットが同じ比率になる場合、クラスAを80%にして分類子をトレーニングすることは本当に問題なのでしょうか。機械学習の経験則では、トレーニングセットは、最良の予測パフォーマンスを得るためにテストと可能な限り類似している必要があるようです。

クラスのバランスをとるのに必要なテストの分布について何もわからない(事前に知らない)場合だけではありませんか?多分私はインタビューでこの点を上げるべきだった。

回答:


4

実際、彼らが述べたことは正しい。オーバーサンプリングの考え方は正しく、一般に、このような問題に対処するためのリサンプリング手法の1つです。リサンプリングは、少数派のオーバーサンプリングまたは多数派のアンダーサンプリングを通じて行うことができます。十分に確立されたリサンプリング手法として、SMOTEアルゴリズムをご覧ください。

しかし、あなたの主な質問について:いいえ、それはテストとトレインセットの間の分布の一貫性についてだけではありません。それはもう少しです。

メトリックについて述べたように、正確さのスコアを想像してみてください。人口の90%と10%の2つのクラスのバイナリ分類問題がある場合、機械学習を必要とせず、私の予測は常に過半数クラスであり、90%の精度があります。そのため、トレーニングテストの配布間の一貫性に関係なく機能しません。このような場合、PrecisionとRecallにさらに注意を払う必要があります。通常、PrecisionとRecallの平均(通常は調和平均)を最小化する分類器が必要です。つまり、エラー率はFPとFNがかなり小さく、互いに近い場所です。

調和平均は、それらのエラーが可能な限り等しいという条件をサポートするため、算術平均の代わりに使用されます。たとえば、Precisionが1 そしてリコールは 0 算術平均は 0.5これは結果の内部の現実を示していません。しかし、調和平均は0 ただし、一方のメトリックは良好であり、もう一方のメトリックは非常に悪いため、一般に結果は良好ではありません。

しかし、実際にはエラーを同じにしたくない状況があります。どうして?以下の例をご覧ください。

追加ポイント

これは正確にあなたの質問についてではありませんが、理解に役立つかもしれません。

ここに画像の説明を入力してください

実際には、エラーを犠牲にして他のエラーを最適化することができます。たとえば、HIVの診断がケースになることがあります(私は例をあざけっているだけです)。もちろん、HIVに感染していない人の数は保菌者よりも劇的に多いため、分類は非常に不均衡です。エラーを見てみましょう:

偽陽性:人はHIVに感染していませんが、テストではHIVに感染していると述べています。

偽陰性:人はHIVに感染していますが、テストではHIVに感染していません。

HIVに感染していると誰かに誤って伝えるだけで別の検査が行われると想定すると、保因者ではない人がウイルスを増殖させる可能性があるため、誤って伝えないように注意する必要があります。ここで、アルゴリズムはFalse Negativeに敏感であり、False Positiveよりはるかに罰する必要があります。つまり、上の図によれば、False Positiveの割合が高くなる可能性があります。

カメラで人の顔を自動的に認識して、超セキュリティサイトにアクセスさせたい場合も同じです。許可を持っている人(False Negative)のドアが一度開かれなくてもかまいませんが、見知らぬ人を入れたくないと思います。(偽陽性)

お役に立てば幸いです。


詳細な回答に感謝します。したがって、私がそれを正しくcost(false positive) = cost(false negative)理解している場合、誤分類のコストが同じであれば、精度をメトリックとして使用でき、リバランスはテストサンプルの分布と一致するようにのみ実行する必要があります。そうですか?
学習は

1
それが助けてくれてうれしい:)実際にリサンプリング(リバランス)は、それらのエラーをかなり小さく保つ方法です。逆に見たようなものです。クラスのバランスが取れていると、精度と再現性が向上します。そして分布について:通常、機械学習では、トレーニングとテストは同様の分布からのものであるため、それほど時間をかけないことが前提です。それらが類似していない状況は、「ドメイン適応」または「転移学習」と呼ばれる機械学習の分岐です
Kasra Manshaei

1

「テストセットが同じ比率である場合、80%のクラスAで分類子をトレーニングすることは本当に問題ですか?」という質問に対する答えは、「誤分類のコストに依存します」ですが、通常、それは確かに問題ですなぜなら、平均すると、トレーニング中に正しい分類が行われる可能性が高くなるため、分類子は、その特徴の値に関係なく、個人を過剰表現クラスに分類するようにバイアスされるためです。

オーバーサンプリングとアンダーサンプリングの戦略は異なります。おそらく最も人気のあるものはSMOTE(Synthetic Minority Over-sampling Technique)で、k最近傍に基づいて合成トレーニングデータを作成します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.