マルチホット表現とは、複数のカテゴリや特徴を同時に表現するために、該当する複数の要素に「1」、それ以外に「0」を割り当てるベクトル表現手法です。1つのデータに複数のラベルが付与されるマルチラベル分類や、テキストから単語の有無を抽出する前処理などで広く活用されています。
マルチホット表現とは
マルチホット表現は、1つのデータが複数の属性やカテゴリを同時に保持している場合に、該当するすべての位置に「1」、それ以外に「0」を配置して表現するベクトル形式のデータ変換手法です。
詳しく解説
機械学習モデルに入力するカテゴリデータを数値化する前処理において、マルチホット表現は広く利用されます。全カテゴリ数と同じ次元数を持つベクトルを用意し、対象データに含まれる要素に対応するインデックスを「1」にします。自然言語処理におけるBag-of-Wordsのバイナリ版などでも用いられ、文中に現れた単語のインデックスを1として扱います。構造が単純で解釈性に優れる一方、語彙数やカテゴリ数が増えると大半が0で占められるスパースベクトルとなり、メモリ消費や計算負荷が増大しやすい特徴があります。
具体例・使われ方
映画のジャンル分類において、「アクション」「コメディ」「SF」「ドラマ」の4種類が定義されている場合、「アクションかつSF」に属する映画は[1, 0, 1, 0]というベクトルで表されます。また、ECサイトにおける商品の複数タグ付けや、文書に複数のトピックを割り当てるマルチラベル分類の教師ラベル表現にも用いられます。
似た用語との違い
混同されやすいワンホット表現は、ベクトル内のいずれか1つの要素のみが「1」で残りがすべて「0」となる表現であり、単一カテゴリの選択に用いられます。対してマルチホット表現は複数の要素が「1」になることを許容します。また、単語埋め込みのような密ベクトル表現とは異なり、マルチホット表現は各カテゴリ間の意味的な類似度を直接数値として保持しない点も異なります。
注意点
カテゴリ数が数万件から数百万件に及ぶ大規模な問題では、ベクトルの次元数が膨大になりスパースベクトル化が進むため、計算効率が大幅に低下します。さらに、マルチホット表現は通常「要素が存在するか否か(0か1か)」のみを記録するため、同じカテゴリが複数回出現した回数や重要度などの重み情報を単体では保持できない点に注意が必要です。