ロジスティック回帰: シグモイド関数による確率の計算

多くの問題では、出力として確率の見積もりが必要です。 ロジスティック回帰は、 確率を計算するための非常に効率的なメカニズムです。実質的には 返される確率は、次のいずれかで使用できます。 次の 2 つの方法があります。

  • 「現状のまま」適用されます。たとえば、迷惑メール予測モデルが、あるメールを 値が 0.932 の入力で出力される場合、次の確率分布は 93.2% であることを意味します。 迷惑メールに分類されます。

  • バイナリ カテゴリに変換されます。 (例: TrueFalseSpamNot Spam など)。

このモジュールでは、ロジスティック回帰モデルの出力をそのまま使用することに焦点を合わせます。 分類モジュール: この出力をバイナリ カテゴリに変換します。

シグモイド関数

ロジスティック回帰モデルによって 確率を表し、常に 0 と 1 の間の値を出力します。そのまま ロジスティック関数と呼ばれる 出力の特徴が同じです。標準ロジスティック関数は、 P-MAX とも呼ばれる シグモイド関数シグモイドは「S の形」を意味する))、 数式:

\[f(x) = \frac{1}{1 + e^{-x}}\]

図 1 は、対応するシグモイド関数のグラフを示しています。

デカルト座標面にプロットされたシグモイド(S 字型)曲線。
         原点を中心としています。
図 1. シグモイド関数のグラフ。曲線が 0 に近づく x 値が負の無限大まで小さくなり、1 が x になるとき 値が無限大に向かって増加します

入力 x が増加すると、シグモイド関数の出力が 1 には達しません。同様に、入力が減少すると、シグモイドは 0 に到達することはありません。

ここをクリックして数式の詳細を確認 シグモイド関数の裏側

下の表は、2 行ごとのシグモイド関数の出力 範囲の入力値(–7 ~ 7)です。シグモイドがどれだけ早く 0: 負の入力値を減らし、シグモイドがどれだけ早く近づくかを示します 正の入力値を増やす場合は 1。

ただし、入力値がどれだけ大きくても小さくても、出力は 常に 0 より大きく 1 より小さい必要があります。

入力 シグモイド出力
-7 0.001
-6 0.002
-5 0.007
-4 0.018
-3 0.047
-2 0.119
-1 0.269
0 0.50
1 0.731
2 0.881
3 0.952
4 0.982
5 0.993
6 0.997
7 0.999

シグモイド関数を使って線形出力を変換する

次の式はロジスティックの線形成分を表します 回帰モデル:

\[z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N\]

ここで

  • z は一次方程式の出力です。これは log Ods
  • b はバイアスです。
  • w 値はモデルの学習済みの重みです。
  • x 値は特定の例の特徴値です。

ロジスティック回帰予測を取得するために、次に z 値が シグモイド関数は、0 ~ 1 の間の値(確率)を生成します:

\[y' = \frac{1}{1 + e^{-z}}\]

ここで

  • y' はロジスティック回帰モデルの出力です。
  • z は線形出力です(前の式で計算されます)。

ここをクリックして詳細を確認 対数オッズ

式 $z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N$, z 対数オッズと呼ばれるのは、 次のシグモイド関数($y$ はロジスティック関数の出力 確率を表す回帰モデル):

$$y = \frac{1}{1 + e^{-z}}$$

次に、z を求めます。

$$ z = \log\left(\frac{y}{1-y}\right) $$

この場合、z は確率の対数として定義されます。 y1 – y の 2 種類があります。

図 2 は、線形出力がどのようにロジスティック回帰に変換されるかを示しています。 計算して出力します。

左: 点(-7.5, -10)、(-2.5, 0)、(0, 5)の点を含む線
         ハイライト表示されます。右: 対応する変換されたシグモイド曲線
         ポイント(-10, 0.00004)、(0, 0.5)、および(5, 0.9933)がハイライト表示されています。
図 2. 左: 3 つある一次関数 z = 2x + 5 のグラフ ポイントがハイライト表示されています。右: 同じ 3 点を持つシグモイド曲線 シグモイド関数によって変換された後 ハイライト表示されます

図 2 では、一次方程式がシグモイド関数に入力されています。 直線を S 字型に曲げます。一次方程式が 大きな z 値も非常に小さな z 値も出力できますが、シグモイドの出力は 関数 y' は常に 0 ~ 1 の範囲内(両端を除く)です。たとえば、 左側のグラフの長方形の z 値は -10 ですが、 右のグラフは、-10 を y' に、0.00004 になります。

演習:理解度をチェックする

特徴量が 3 つあるロジスティック回帰モデルには、次のバイアスがあります。 weights:

\[\begin{align} b &= 1 \\ w_1 &= 2 \\ w_2 &= -1 \\ w_3 &= 5 \end{align} \]

次のような入力値があるとします。

\[\begin{align} x_1 &= 0 \\ x_2 &= 10 \\ x_3 &= 2 \end{align} \]

次の 2 つの質問に答えてください。

1. これらの入力値の z の値はいくつになりますか。
-1
0
0.731
1
正解です。重みとバイアスによって定義される一次方程式は、 z = 1 + 2x1 – x2 + 5 x3 です。電源ケーブルの z = 1 + (2)(0) - (10) + という式になります。 (5)(2) = 1
2. これらの入力値のロジスティック回帰予測とは何ですか。
0.268
0.5
0.731

上記の 1 で計算したように、入力値の対数オッズは 1 です。 その z の値をシグモイド関数に挿入します。

\(y = \frac{1}{1 + e^{-z}} = \frac{1}{1 + e^{-1}} = \frac{1}{1 + 0.367} = \frac{1}{1.367} = 0.731\)

1
シグモイド関数の出力は常に 0 より大きく 1 より小さくなります