図 1 と図 2 で、以下の状況を想像してみてください。
- 青い点は病気の木を表しています。
- オレンジ色の点は、健全な木を表しています。
図 1. これは直線的な問題ですか?
病気の木と健康な木をきれいに分ける線を引くことができるでしょうか。かしこまりました。これは直線的な問題です。この線は完璧ではありません。病気の木が 1 本か 2 本なら、
次の図をご覧ください。
図 2. これは直線的な問題ですか?
病気の木と健康な木をきれいに切り分ける 1 本の直線を引くことができるでしょうか。いいえ、できません。これは非線形の問題です。描画した線は、ツリーの健全性の予測がよくありません。
図 3. 1 行で 2 つのクラスを区切ることはできません。
図 2 に示す非線形の問題を解決するには、特徴クロスを作成します。特徴クロスは、2 つ以上の入力特徴を乗算することで特徴空間内の非線形をエンコードする合成特徴です。(クロスという用語は、クロスプロダクトに由来します)。次の行で \(x_3\) 次の特徴クロスを作成 \(x_1\)します。 \(x_2\)
この新たに作成された特徴量クロス特徴量は、他の特徴と同様に \(x_3\) 扱われます。線型は次のようになります。
線形アルゴリズムは、 \(w_1\) および \(w_2\)の場合と同様に、 \(w_3\)の重みも学習できます。つまり、 \(w_3\) は非線形の情報をエンコードしますが、 \(w_3\)の値を決めるために線形モデルのトレーニング方法を変更する必要はありません。
特徴クロスの種類
さまざまな種類の特徴クロスを作成できます。例:
[A X B]
: 2 つの特徴の値を乗算して形成された特徴クロス。[A x B x C x D x E]
: 5 つの特徴の値を乗算して形成された特徴クロス。[A x A]
: 単一の特徴の 2 乗をとって形成される特徴クロス。
確率的勾配降下法により、線形モデルの効率的なトレーニングが行えます。その結果、スケーリングされた線形モデルを特徴クロスで補完することが、従来は巨大なデータセットで効率的にトレーニングする方法でした。