

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
one-hotベクトルとは?
データを機械が処理できるように変える仕組みの一つが one-hotベクトル です。まずは言葉の意味から見ていきましょう。
基本的な考え方
one-hot とは「ちょうど一つだけ = 1、それ以外はすべて 0」という表現のことです。たとえば色を表す場合、赤・緑・青の三つのカテゴリーがあるとします。赤を 1、緑と青を 0 にすると [1, 0, 0] となり、緑は [0, 1, 0]、青は [0, 0, 1] になります。こうしたベクトルを one-hotベクトル と呼びます。
どうして使うのか
機械は数字の形のデータを好みます。言葉やカテゴリの文字列をそのまま渡しても意味が分からないので、数値の形に変える必要があります。one-hotベクトル はカテゴリを「どれか一つだけ選ばれている」という情報を、機械が理解できる形に変える方法です。
具体的な作り方
カテゴリの総数を N とします。各カテゴリには 0 から N-1 までの番号を割り当て、対象のカテゴリの位置だけ 1、それ以外は 0 にします。たとえば N が 4 の場合の例は次のようになります。
| カテゴリ | ベクトル |
| カテゴリA | [1, 0, 0, 0] |
| カテゴリB | [0, 1, 0, 0] |
| カテゴリC | [0, 0, 1, 0] |
| カテゴリD | [0, 0, 0, 1] |
現実のデータでも同じ考え方で表します。たとえば国を表す列があり、日本・アメリカ・中国・韓国の4つなら、日本 は [1,0,0,0]、アメリカ は [0,1,0,0] のようになります。
メリットとデメリット
メリット はシンプルで理解しやすい点です。別のカテゴリとの間に順序や距離の仮定が不要で、計算も簡単です。
デメリット は次の点です。カテゴリの数が増えるとベクトルの長さが大きくなり、データが疎になる こと。加えて「似ているカテゴリ」をモデルが覚えにくく、類似性を自然に捉えにくいです。これを解決する方法として 埋め込み表現 や カテゴリ分解 などが使われます。
使う場面の例
名前のないデータ、テキストのトークン、商品カテゴリ、地域、日付の区分など、カテゴリが決まっているデータ を機械に渡すときに使われます。自然言語処理の初期段階や、実装が難しいときのベースラインとしても活躍します。
実務での注意点
実務では データの前処理 の際に欠損値や未知のカテゴリへの対応が必要です。新しいカテゴリが出てきたらどうするか、などの運用ルールを決めておくと混乱を防げます。
よくある誤解
よくある誤解として、埋め込みと混同 しますが、埋め込み は連続的な値にする技術であり、one-hot とは別物です。ここを分けて覚えましょう。
もう一つの誤解として、長いベクトルが必ず良い わけではない点も重要です。高次元になるとモデルの学習が難しくなることがあります。
実用的な代替案
埋め込みやターゲットエンコーディングなど、データの規模やタスクに応じて適切な方法を選ぶことが大切です。
まとめ
one-hotベクトルは「ちょうど一つだけが 1、残りは 0」という規則性でカテゴリを数値化する方法です。理解のコツは、カテゴリの数を決め、それぞれのカテゴリを一意の位置に対応づけることです。長所と短所を踏まえ、場面に応じて埋め込みなどの代替案と組み合わせて使うと、データをより上手に機械に伝えることができます。
one-hotベクトルの同意語
- ワンホットベクトル
- カテゴリを表すベクトルで、要素のうちちょうど1つが1、他はすべて0になる表現です。主にカテゴリの識別に使われます。
- ワンホットエンコーディング
- one-hot encoding の日本語表現。カテゴリを0と1で表すエンコード手法で、機械学習の入力ベクトルとしてよく利用されます。
- 1ホットベクトル
- 1つの要素だけが1、残りは0になるベクトルの別表現です。読みは“いちホット”。
- one-hotベクトル
- 英語表現を日本語表記にした名称で、ワンホットベクトルと同義です。
- one-hot表現
- カテゴリを0/1で表す表現方法の総称。ベクトルとして表すことが多いです。
- one-of-K表現
- K個のカテゴリのうちちょうど1つだけを1で示す表現。one-of-K encoding の日本語表現。
- one-of-Kエンコーディング
- カテゴリを1つだけを1で表すエンコード手法。one-hot と同義の日本語表現です。
- one-of-Nエンコーディング
- N個のカテゴリのうち1つだけを1で表すエンコーディング。一般的には one-hot と同義として使われます。
- 0/1ベクトル(1要素のみ1)
- 全要素が0か1のベクトルで、ただ1つの要素だけが1になる特殊な表現。one-hot 表現の説明として使われることがあります。
- カテゴリ別識別用ベクトル
- カテゴリを個別の位置で識別するベクトル表現の総称。実質的には one-hot 表現を指すことが多いです。
one-hotベクトルの対義語・反対語
- 密表現
- 情報が多くの次元に分散して格納され、各成分が実数値をとる表現。ワンホットのように1つの要素だけが突出するのではなく、全体で意味を表す点が特徴です。
- 分散表現
- 情報が多くの次元に分散して蓄えられる表現。個別の成分だけで意味を決めず、組み合わせで意味を表現します。
- 連続値ベクトル
- 各成分が連続的な実数値で表され、0や1といった離散的な制約がないベクトル。密表現の典型的な形です。
- 複数ホット表現
- 一つ以上の成分が 1 であるベクトル。複数のカテゴリを同時に表す場合に用いられ、one-hot の拡張と言えます。
- ラベルエンコーディング
- カテゴリを整数で表すエンコーディング。次元数はカテゴリ数と同じになることが多く、順序情報が生じることがあるため、ワンホットの代替として使われることがあります。
- 順序付きエンコーディング
- カテゴリ間に順序情報を持たせるエンコーディング。ワンホットより意味の連続性を扱いやすい一方、順序の取り扱いには注意が必要です。
- カテゴリ埋め込み
- カテゴリを低次元の連続ベクトルに変換する手法。密で分散した表現を作るのに適しており、ニューラルネットの入力として広く用いられます。
- 非疎表現
- ゼロがほとんどを占めない、疎でない表現。密表現と同義に近く、データが稠密に分布している状態を指します。
one-hotベクトルの共起語
- ワンホットエンコーディング
- カテゴリ値をそれぞれ独立した次元に割り当て、該当する次元を1、他を0にする表現・手法。
- 疎ベクトル
- 非0の要素が少なく多くが0で占められているベクトル。one-hotベクトルは典型的に疎です。
- スパースベクトル
- 疎ベクトルと同義。データの多くが0のまま表現されるベクトル。
- 次元の呪い
- 特徴量の次元数が増えるほどデータの分布が扱いにくくなる現象。one-hot化は次元を著しく増やすことがあります。
- カテゴリカルデータ
- カテゴリをとるデータのこと。one-hotはこのデータを数値ベクトルに変換します。
- カテゴリ変数
- カテゴリ値を表す特徴量。one-hot化の対象になることが多いです。
- ダミー変数
- カテゴリを0/1で表す表現。one-hotエンコーディングと同様の用途で使われます。
- ラベルエンコーディング
- カテゴリを整数ラベルに変換する別のエンコーディング法。用途やモデルに制約があります。
- 特徴量
- 機械学習でモデルに与えるデータの要素。one-hotベクトルはこの特徴量の表現の一つです。
- 特徴量エンコーディング
- カテゴリ型特徴量を数値化する方法の総称。one-hotは代表的な手法です。
- エンコーディング
- データを数値表現に変換する処理の総称。one-hotエンコーディングはその一種です。
- 0/1ベクトル
- 各成分が0または1だけのベクトル。one-hotの典型的な形です。
- pd.get_dummies
- Pythonのpandasでワンホットエンコーディングを行う代表的な関数です。
- scikit-learn
- Pythonの機械学習ライブラリ。前処理としてのエンコーディング機能を提供します。
- インデックス
- カテゴリごとに割り当てられる番号。one-hotベクトルを作るときの位置情報として使われます。
- ベクトル空間
- データをベクトルとして表現する数学的空間。one-hotは空間上の一点の表現です。
- 行列
- 複数のベクトルを並べたデータ構造。データセットを表形式で扱う際に使われます。
one-hotベクトルの関連用語
- one-hotベクトル
- カテゴリを表すベクトルで、該当カテゴリの次元が1、その他の全ての次元が0になるスパースな表現。
- ワンホットエンコーディング
- カテゴリを表す特徴量を作る標準的な手法で、各カテゴリに対応する1つの次元を作り、該当カテゴリだけが1、他は0になる表現。
- ダミー変数
- カテゴリを0/1の列に分解して表現する手法。回帰や木構造ベースのモデルでカテゴリ特徴を扱いやすくするために用いられる。
- カテゴリカルデータ
- 連続値ではなく、分類可能な値(色・性別・地域など)を持つデータの総称。
- ラベルエンコーディング
- カテゴリの値を整数に置換するエンコーディング。順序を持つように解釈されることがあるため注意が必要。
- 順序なしカテゴリ
- カテゴリ間に自然な大小関係が意味を持たないデータのこと(例: 色、品種)。
- スパースベクトル
- 要素の多くが0で埋められたベクトル。one-hotベクトルは典型的なスパース表現。
- 次元の呪い
- 特徴量の次元が高くなるほど学習が難しくなる現象。データ不足や計算コストも増えることがある。
- 高基数カテゴリ
- カテゴリの種類数が非常に多い特徴。one-hotでは次元が爆発しやすい。
- ハッシュエンコーディング
- カテゴリを固定長のベクトルに写す手法。ハッシュ関数を用いて次元を圧縮し、メモリと計算を節約する。
- 単語埋め込み
- 語彙を連続的な低次元ベクトルで表現する手法。文脈情報を捉えやすく、one-hotより学習効率が高い。
- 語彙サイズ
- データセット内の固有カテゴリ値(例: 単語)の総数。one-hotの次元数に直接影響する。
- 連続表現
- カテゴリを数値の連続ベクトルで表す表現の総称。埋め込みは連続表現の代表例。
- 稀疎性
- データにおいて非ゼロ要素の割合が非常に低い性質。one-hotは高い稀疎性を示すことが多い。



















