ITエンジニア ノイのブログ

ITエンジニアのノイです。 YouTubeで ITエンジニアのお勉強という学習用の動画を公開しています。チャンネル登録お願いします!https://m.youtube.com/channel/UCBKfJIMVWXd3ReG_FDh31Aw/playlists

Extreme multi-label classification(極端多ラベル分類)

こんにちは!ノイです! 機械学習でクラス分類のモデルでラベル数が多くなってしまうことがあります。精度や学習時間が課題となることも多いので、記事にまとめました。

極端多ラベル分類

Extreme multi-label classification(極端多ラベル分類)は、非常に多数の可能なラベルを持つデータセットに対する機械学習のタスクです。通常、ラベル数は数千から数百万に及びます。 例えば、商品のタグ付け、音楽のジャンル分類、ニュース記事のトピック分類などが考えられます。これらのタスクでは、各データポイントは多数のラベルを持ち、それぞれのラベルに対して正確な予測を行う必要があります。 極端多ラベル分類は、従来の多クラス分類とは異なります。通常、多クラス分類では、各データポイントは1つのラベルにのみ属します。しかし、極端多ラベル分類では、各データポイントは数千または数百万のラベルのいずれかに属することができます。そのため、高度なデータ処理、分類アルゴリズム、並列処理、分散処理などが必要となる場合があります。

具体的な手法

極端多ラベル分類では、多数のラベルを同時に予測することが必要であるため、多数のクラスを扱える分類器を用いる必要があります。以下に代表的なモデルをいくつか紹介します。

  1. Binary Relevance: ラベルを1つずつ独立した二値分類問題として扱い、複数の分類器を組み合わせる方法です。
  2. Label Powerset: 全てのラベルの組み合わせを1つのクラスとして扱い、多クラス分類問題として扱う方法です。
  3. Classifier Chains: ラベルの順序に従って、前のラベルの予測結果を現在のラベルの特徴量として利用する方法です。
  4. Hierarchical Classification: ラベルを階層構造として扱い、上位の分類器から下位の分類器に渡す方法です。
  5. Extreme Multi-label Ensemble (XML-E): 複数のモデルを組み合わせることで、より正確な予測を行うアンサンブル学習を用いる方法です。 これらのモデルは、それぞれ異なるアプローチを用いて極端多ラベル分類を行います。どのモデルが最も適しているかは、データセットや問題によって異なります。そのため、実際のタスクに応じて、適切なモデルを選択する必要があります。

極端多ラベル分類の課題

極端多ラベル分類には、以下のような課題があります。

  1. ラベルのスパース性:極端多ラベル分類では、多数のラベルを同時に予測する必要があります。しかし、多くのデータポイントにはほとんどのラベルが割り当てられておらず、スパースな状態になっています。このため、モデルの学習に必要なデータが不十分であるという問題が生じます。
  2. ラベルの相関性:複数のラベルが存在する場合、これらのラベル間には相関性があることがあります。例えば、"猫"というラベルがある場合、"猫"というラベルが付与されたデータポイントには、"犬"というラベルが付与される可能性が低いです。しかし、モデルがこれらの相関性を学習することは困難であり、正確な予測が難しくなる可能性があります。
  3. ラベルの数の増加:極端多ラベル分類では、ラベルの数が非常に多くなります。ラベルの数が多いと、モデルの学習が難しくなるだけでなく、予測の正確性も低下する可能性があります。
  4. 計算量の増加:ラベルの数が増加すると、モデルの計算量も増加します。特に、モデルの予測を高速化するために、並列処理や分散処理などの技術が必要になることがあります。

データセットがスパースであるときの問題点

データセットがスパースである場合、各データポイントに対してラベルのほとんどが欠落している状態になります。極端多ラベル分類においては、ラベル数が非常に多いため、スパースな状態が非常に一般的です。スパースなデータセットに対してモデルを学習させる際には、以下のような問題が発生する可能性があります。

  1. モデルの正確性の低下:スパースなデータセットでは、各データポイントが持つラベルの数が非常に少ないため、正確な予測が難しくなります。このため、モデルの正確性が低下する可能性があります。
  2. ラベルのバランスの不均衡:スパースなデータセットでは、各ラベルに割り当てられたデータポイントの数が極端に少ない場合があります。この場合、モデルが特定のラベルを予測する際に偏りが生じ、全体的な正確性が低下する可能性があります。
  3. 過学習のリスク:スパースなデータセットでは、モデルがデータに過剰に適合する可能性があります。これは、モデルが特定のデータポイントに過剰に反応するため、予測の一般化能力が低下する可能性があるためです。 スパースなデータセットに対するモデルの学習では、適切な前処理や特徴量エンジニアリング、または適切なモデル選択やハイパーパラメータの調整などが必要となる場合があります。

eXtreme Multi-label Learning

「eXtreme Multi-label Learning (XML)」は、大量のラベル(カテゴリ)の中から、最も関連性の高いラベルを選んでデータに自動的にタグ付けする分類器を学習するための技術です。例えば、100万以上のカテゴリがあるウィキペディアの記事に、最も関連性の高いカテゴリを付与する分類器を作りたい場合に使用されます。

マルチラベル学習

マルチラベル学習というのは、単一の相互に排他的なラベルを予測することではなく、複数のラベルを同時に予測することを目的としています。

XML

XMLは、何十万、あるいは何百万ものラベル、機能、およびトレーニングポイントを学習することが困難な問題ですが、ラベルの階層構造を使用することで改善できます。しかし、ラベル階層が利用できない場合、各ラベルに対して個別の分類器を学習する「1-vs-All」手法がベースラインとして用いられます。ただし、この手法は訓練や予測に非常に時間がかかるため、多数のラベルが与えられた場合の予測コストが非常に高くなるという課題があります。

圧縮する方法

ラベル埋め込み

極端多ラベル分類においてラベル埋め込みで大量ラベルでの分類を行う場合

  1. ラベルの埋め込み表現の学習 この手法では、各ラベルを固定次元のベクトルに変換するラベルの埋め込み表現を学習します。代表的な手法には、Word2Vec、GloVe、FastTextなどがあります。
  2. ラベルの埋め込み表現を用いたラベルの予測 学習されたラベルの埋め込み表現を用いて、各ラベルの予測を行います。具体的には、テストデータの特徴量とともに、各ラベルの埋め込み表現を内積やcos類似度で計算し、その値が高いラベルを予測値として出力します。
  3. モデルの評価 極端多ラベル分類では、正解ラベルの数が非常に多いため、評価指標にはPrecision@k、Recall@k、NDCG@kなどが用いられます。これらの指標は、上位k個の予測ラベルに対して正解ラベルが含まれている割合を測るものです。

この手法は、ラベルの埋め込み表現を学習することで、ラベル間の関係性を捉えることができます。また、計算量が少なく、高速な処理が可能であるため、大規模なデータセットにも適用が可能です。ただし、モデルの表現力が限定的であるため、複雑な関係性を捉えることが難しい場合もあります。

SLEEC(スリーク)(Sparse Local Embeddings for Extreme Classification)

この手法は、マルチラベル分類問題において、より正確かつ高速な予測を行うことができます。また、最先端の埋め込みベースのアプローチと比較して、より大きな問題にスケールします。 「eXtreme Multi-label Learning (XML)」は、大量のラベルを持つデータに対して、関連性の高いラベルのサブセットを使用して自動的にタグ付けする分類器を学習する問題に取り組む手法です。 例えば、ウィキペディアには100万以上のカテゴリがありますが、最も関連性の高いカテゴリのサブセットを使って新しい記事やWebページにタグを付ける分類器を構築することができます。 マルチラベル学習は、マルチクラス分類とは異なり、単一の相互に排他的なラベルを予測するのではなく、複数のラベルを予測することが目的です。

木構造

極端多ラベル分類において木構造で大量ラベルでの分類を行う場合

  1. ラベル間の相関関係を考慮した木構造の作成 極端多ラベル分類では、大量のラベルが存在し、それらの間には相関関係がある場合が多いです。この相関関係を考慮して、ラベル間の依存関係を表現できるような木構造を作成します。代表的な手法には、FastXML、Parabel、XML-CNNなどがあります。
  2. 木構造を用いたラベルの推定 作成された木構造を用いて、テストデータの各ラベルに対して、それぞれのラベルに関連する木構造の経路をたどり、最終的にそのラベルを予測します。このとき、木構造の各ノードには閾値が設定されており、その閾値を超えた場合にそのノードを通過します。
  3. モデルの評価 ラベル埋め込みの場合と同じです。

この手法は、相対的に高速であり、大量のラベルを扱うことができます。ただし、ラベル間の相関関係を正確に表現するためには、十分な学習データが必要であること、木構造の作成が困難であることなどの課題があります。

ディープラーニング

極端多ラベル分類においてディープラーニングを用いて大量ラベルでの分類を行う場合

  1. 多層ニューラルネットワークの構築 この手法では、多層ニューラルネットワークを構築し、それを用いて各ラベルの予測を行います。代表的な手法には、MLP、CNN、RNN、Transformerなどがあります。
  2. ラベルの埋め込み表現の学習 極端多ラベル分類では、各ラベルに対して大量のデータが存在するため、ラベルの埋め込み表現を学習することが重要です。ラベルの埋め込み表現は、各ラベルを固定次元のベクトルに変換することで表現されます。代表的な手法には、Word2Vec、GloVe、FastTextなどがあります。
  3. ラベルの埋め込み表現を用いたラベルの予測 学習されたラベルの埋め込み表現を用いて、各ラベルの予測を行います。具体的には、テストデータの特徴量とともに、各ラベルの埋め込み表現を入力として、多層ニューラルネットワークを用いてラベルの予測を行います。
  4. モデルの評価 ラベル埋め込みと木構造の場合と同じです。

この手法は、多層ニューラルネットワークを用いるため、高い表現力を持ち、複雑な関係性を捉えることができます。ただし、極端に多数のラベルを扱う場合には、モデルの学習が困難であること、ラベルの埋め込み表現の学習に時間がかかることなどが課題となります。

※この記事の一部情報にはChatGPTを用いてえます。