直線モデル(線形モデル)にシグモイド関数を通すのはなぜ?

IT

直線モデル(線形モデル)にシグモイド関数を通すのは、モデルの出力を 確率 のような 0から1の範囲 に制限し、非線形性を導入するためです。具体的には、以下の理由からシグモイド関数が使われます。

1. 確率解釈を可能にする
シグモイド関数は入力値を0から1の範囲に変換するので、出力を確率として解釈できるようになります。例えば、ロジスティック回帰でのクラス分類では、シグモイド関数の出力を「クラス1である確率」として利用できます。
シグモイド関数を通すことで、モデルの出力が「あるクラスに属する確率」という形にできるため、分類問題に適した形式になります。

2. 非線形性の導入
シグモイド関数は非線形関数です。線形モデル自体は直線的な関係しか表現できないため、シグモイド関数を通して非線形性を追加します。これにより、モデルは単純な直線だけでなく、より複雑な境界を学習しやすくなります。
特にニューラルネットワークでは、シグモイド関数(またはその他の活性化関数)を各層で適用することで非線形性が増し、より複雑なパターンや特徴の学習が可能です。

3. 出力のスケーリング
線形モデルの出力は非常に大きな正の値や負の値になる可能性がありますが、シグモイド関数を通すと値が0から1の範囲に収まります。これにより、数値のスケーリングが統一され、計算の安定性が向上します。
出力の範囲を制限することで、学習が収束しやすくなり、異常に大きな値による影響を抑えることができます。

まとめ
シグモイド関数を直線モデルに通すことで、確率解釈、非線形性の導入、出力のスケーリングといった利点が得られます。特にロジスティック回帰やニューラルネットワークなどで、分類や複雑な関係性のモデル化に有効です。

では、実際に数値を使って確認してみましょう。ちなみに、e とは 2.71828 18284 59045 23536 02874 71352…と続くネイピア数です。

Screenshot

Screenshot

コメント

タイトルとURLをコピーしました