多くの問題では、出力として確率の見積もりが必要です。 ロジスティック回帰は、 確率を計算するための非常に効率的なメカニズムです。実質的には 返される確率は、次のいずれかで使用できます。 次の 2 つの方法があります。
「現状のまま」適用されます。たとえば、迷惑メール予測モデルが、あるメールを 値が
0.932
の入力で出力される場合、次の確率分布は93.2%
であることを意味します。 迷惑メールに分類されます。バイナリ カテゴリに変換されます。 (例:
True
、False
、Spam
、Not Spam
など)。
このモジュールでは、ロジスティック回帰モデルの出力をそのまま使用することに焦点を合わせます。 分類モジュール: この出力をバイナリ カテゴリに変換します。
シグモイド関数
ロジスティック回帰モデルによって 確率を表し、常に 0 と 1 の間の値を出力します。そのまま ロジスティック関数と呼ばれる 出力の特徴が同じです。標準ロジスティック関数は、 P-MAX とも呼ばれる シグモイド関数 (シグモイドは「S の形」を意味する))、 数式:
\[f(x) = \frac{1}{1 + e^{-x}}\]
図 1 は、対応するシグモイド関数のグラフを示しています。
入力 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 は確率の対数として定義されます。 y と 1 – y の 2 種類があります。
図 2 は、線形出力がどのようにロジスティック回帰に変換されるかを示しています。 計算して出力します。
図 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 で計算したように、入力値の対数オッズは 1 です。 その z の値をシグモイド関数に挿入します。
\(y = \frac{1}{1 + e^{-z}} = \frac{1}{1 + e^{-1}} = \frac{1}{1 + 0.367} = \frac{1}{1.367} = 0.731\)