ロジスティック回帰: 確率の計算

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

  • 「現状」
  • バイナリカテゴリに変換されました。

確率をそのまま使用する方法を考えてみましょう。ロジスティック回帰モデルを作成して、夜中に犬が吠える確率を予測するとします。この確率を以下と呼ぶことにします。

\[p(bark | night)\]

ロジスティック回帰モデルで \(p(bark | night) = 0.05\)が予測されると、1 年以上にわたって、犬の飼い主は約 18 回、目を覚ます必要があります。

\[\begin{align} startled &= p(bark | night) \cdot nights \\ &= 0.05 \cdot 365 \\ &~= 18 \end{align} \]

多くの場合、ロジスティック回帰の出力をソリューションの 2 項分類の問題にマッピングします。ここでは、2 つのラベルのいずれか(たとえば、「スパムでない」または「スパムでない」)。後のモジュールでは、この点を中心に説明します。

ロジスティック回帰モデルでは、出力が常に 0 から 1 の間にあることを保証できます。その場合、次のように定義される sigmoid 関数によって、同じ特性を持つ出力が生成されます。

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

sigmoid 関数では、次のプロットが生成されます。

Sigmoid 関数。x 軸は未加工の推論値です。y 軸は 0 ~+1 の範囲で、この値は含まれません。

図 1: Sigmoid 関数。

\(z\) ロジスティック回帰でトレーニングしたモデルの線形レイヤの出力を表す場合、 \(sigmoid(z)\) 0 から 1 の間の値(確率)が得られます。数学用語は次のとおりです。

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

ここで

  • \(y'\) は、特定の例のロジスティック回帰モデルの出力です。
  • \(z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N\)
    • \(w\) 値はモデルの学習済みの重みで、 \(b\) バイアスです。
    • \(x\) 値は特定の例の特徴値です。

\(z\) は、シグモイド状態を逆にすると、 \(z\) ラベルの確率のログとして定義できるため、対数とも呼ばれます \(z\) (例:"dog bark") を \(0\)ラベルの確率で割った数値(例:「犬は吠えません」

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

ML ラベル付きの sigmoid 関数は次のとおりです。

X 軸にすべての重みと特徴(およびバイアス)を合計したラベル付きの Sigmoid 関数。Y 軸には確率出力というラベルが付いています。

図 2: ロジスティック回帰出力。