【DS検定対策】直線では分けられない!?「線形分離不可能」を攻略せよ
データを「○」と「×」に分けるとき、定規で一本の線を引くだけで完璧に分類できるとは限りません。この「一本の線ではどうにもならない状態」を理解しましょう。
1. 【 問題 】
2つのクラスに属するデータ群において、直線(または平面や超平面)を引くことだけでは、それらを完全に2つに分けることができない状態を何と呼ぶでしょうか?
① 線形分離可能
② 線形分離不可能
③ 特徴量不足
④ 多重共線性
2. 【 解答 】
3. 整理:一本の線では限界がある世界
単純な「線形モデル」は、境界線が真っ直ぐである必要があります。しかし、現実のデータはもっと複雑に絡み合っています。
【 線形分離不可能な例:XOR(排他的論理和)問題 】
(0,1)は○ 、(1,0)は○
(0,0)は× 、(1,1)は×
[ 分類に挑戦 ]
・横に線を引いても、どちらかに○と×が混ざる。
・縦に線を引いても、やはり混ざる。
・斜めに引いてもダメ。
★ これが線形分離不可能!
どうしても「曲がった線」や「囲むような線」でないと分けられません。
--------------------------
◎ 重要: 単層パーセプトロンという初期のモデルは、この「線形分離不可能」な問題を解けないことが大きな壁となりました。
4. どうやって解決するのか?
1. 多層化(ディープラーニング): ニューラルネットワークを何層にも重ねることで、複雑な「曲がった境界線」を作り出します。
2. カーネル法: データを高次元の空間に飛ばすことで、元の空間では曲がっていた境界線を、高次元空間で真っ直ぐな面(超平面)として扱えるようにします(SVMなどで利用)。
3. 特徴量エンジニアリング: データの組み合わせを変えることで、分離しやすく加工します。
5. DS検定形式:実戦4択クイズ
問:線形分離不可能な問題を解決するために、ニューラルネットワークに導入される「非線形な変化」を生み出すための関数を何と呼ぶか。
① 損失関数 ② 活性化関数 ③ 目的関数 ④ 線形関数
【 正解: ② 】
解説: シグモイド関数やReLUなどの「活性化関数」を通すことで、ネットワークに非線形な表現力が加わります。これによって、線形分離不可能な複雑なデータも分類できるようになるのです。
6. まとめ
DS検定において「直線や平面で分割できない」という定義が出たら「線形分離不可能」です。この限界を知ることで、なぜ今のAIが「多層(ディープ)」である必要があるのか、その理由がより明確に見えてきます!