多くの問題には、出力として確率の見積もりが必要です。ロジスティック回帰は、確率を計算するための非常に効率的なメカニズムです。実際には、次の 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 関数によって、同じ特性を持つ出力が生成されます。
sigmoid 関数では、次のプロットが生成されます。
図 1: Sigmoid 関数。
\(z\) ロジスティック回帰でトレーニングしたモデルの線形レイヤの出力を表す場合、 \(sigmoid(z)\) 0 から 1 の間の値(確率)が得られます。数学用語は次のとおりです。
ここで
- \(y'\) は、特定の例のロジスティック回帰モデルの出力です。
- \(z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N\)
- \(w\) 値はモデルの学習済みの重みで、 \(b\) バイアスです。
- \(x\) 値は特定の例の特徴値です。
\(z\) は、シグモイド状態を逆にすると、 \(z\) ラベルの確率のログとして定義できるため、対数とも呼ばれます \(z\) (例:"dog bark") を \(0\)ラベルの確率で割った数値(例:「犬は吠えません」
ML ラベル付きの sigmoid 関数は次のとおりです。
図 2: ロジスティック回帰出力。