この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)から転載したものです。 機械学習における一般的な問題は、ターゲット クラスに非常に不均衡な量のデータが存在する、不均衡なデータを処理することです。
マルチクラス不均衡データとは何ですか? 分類問題の対象クラス(2 つ以上)が均等に分布していない場合、不均衡データと呼ばれます。この問題が適切に処理されない場合、クラスの不均衡なデータを使用したモデリングは多数派クラスに偏るため、モデルは惨事になります。不均衡なデータに対処するにはさまざまなアプローチがありますが、最も一般的なのはオーバーサンプリングと合成サンプルの作成です。 SMOTE アルゴリズムとは何ですか? SMOTE は、データセットから合成例を生成するオーバーサンプリング手法であり、少数派クラスの予測力を向上させます。情報の損失はありませんが、いくつかの制限があります。 合成サンプル 制限:
したがって、この問題を回避するには、「class_weight」パラメータを使用してクラスに手動で重みを割り当てることができます。 クラスの重みを使用するのはなぜですか? クラスの重みは、異なる重みを持つクラスにペナルティを課すことで損失関数を直接変更し、少数クラスのパワーを意図的に増加させ、多数クラスのパワーを減少させます。したがって、SMOTE よりもうまく機能します。この記事では、不均衡な学習問題に適したデータの重みを取得するための最も一般的な手法をいくつか紹介します。 (1) Sklearnユーティリティ クラスの重みは、sklearn を使用して取得および計算できます。モデルをトレーニングする際にこれらの重みを少数クラスに追加すると、クラスの分類パフォーマンスが向上します。
ロジスティック回帰から Catboost まで、ほぼすべての分類アルゴリズムには、class_weight パラメーターがあります。しかし、XGboost はバイナリ分類には scale_pos_weight を使用し、バイナリおよびマルチクラスの問題には sample_weight を使用します。 (2)数と長さの比 非常に簡単です。行数を各クラスのカウント数で割るだけです。
(3)ウェイトを滑らかにする これは重量を選択する最良の方法の 1 つです。 labels_dict は各クラスのカウントを含む辞書オブジェクトであり、対数関数は不均衡なクラスの重みを平均化します。
(4)サンプル重み戦略 以下の関数は、XGboost アルゴリズムのサンプル重みを取得するために使用される class_weight パラメータとは異なります。トレーニング例ごとに異なる重みを返します。サンプルの重みは、データと同じ長さの配列で、各サンプルに適用されたモデル損失の重みが含まれます。
(5)クラス重みとサンプル重み: サンプルの重みは、各トレーニング サンプルの重みを提供するために使用されます。つまり、トレーニング サンプルとまったく同じ数の要素を持つ 1D 配列を渡す必要があります。クラスの重みは、各ターゲット クラスに重みを提供するために使用されます。つまり、分類するクラスごとに 1 つの重みを渡す必要があります。 これらは、分類器のクラス重みとサンプル重みを見つけるためのいくつかの方法です。これらのテクニックはすべて私のプロジェクトで機能したので、ぜひ試してみてください。きっと大いに役立つでしょう。 |
<<: 精密人工知能:原子核物理学と素粒子物理学における新たな力
>>: 95歳のハーバード大学出身者が、機械学習をゼロから始めるための必読書を執筆しました。本のリソースは現在公開されています。
はじめに: AI 開発についてさらに詳しく知りたいですか? この記事では、AIプログラムを作成する際...
[[278050]]ファーウェイの創業者兼CEOである任正非氏は、人工知能分野の2人の専門家と対談し...
近年、先端技術の発展により、科学技術は日々変化しており、職業や仕事内容も変化しています。最近、人力資...
「死は本当の消滅ではないが、忘却は永遠の消失である。」なくなってしまったとしても忘れないでください。...
最近、InstantX と名乗る、Xiaohongshu 出身の 95 歳以上の謎のチームが大きな動...
この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...
教師あり学習、教師なし学習、半教師あり学習の特徴と、それらが機械学習プロジェクトでどのように使用され...
Dropbox のエンジニアたちは世界をより良い場所にするために取り組んでおり、HBO のコメディー...
[[431963]]この記事はWeChatの公開アカウント「Zhibin's Python ...
人工知能によってもたらされる将来の教育の変革と発展は、新たな機会を生み出すだけでなく、より大きな課題...
[[260546]]ニューラル ネットワークを使い始めたばかりのときは、ニューラル ネットワーク ア...