本文へ移動

G検定(ジェネラリスト検定)

ろじすてぃっくかいき

ロジスティック回帰

Logistic Regression

線形関数の出力をロジスティックシグモイド関数で0から1の間に押し込み、その値を「ラベルが1である確率」として読むことで、2つのクラスを見分ける分類のモデル。

詳しい説明

どんなモデルか

ロジスティック回帰は、入力xに対して、ラベルyが1になる確率を出すモデルです。まず線形回帰と同じように、重みthetaと入力xから線形関数の値 theta^T * x を計算します。この値はそのままでは負の数にも1より大きな数にもなるため、確率としては使えません。そこでロジスティックシグモイド関数に通して、値を0から1の間に押し込みます。

p(y=1|x;theta) = sigmoid(theta^T * x)

ここで sigmoid(z) = 1 / (1 + exp(-z)) です。zが大きいほど1に近づき、小さいほど0に近づきます。

グッドフェロー(Ian Goodfellow)、ベンジオ(Yoshua Bengio)、クールヴィル(Aaron Courville)の教科書『Deep Learning』(2016年)は、第5章の確率的な教師あり学習の節でこのモデルを説明しています。出発点は、0か1をとる変数の分布では平均が0から1の間になければならない、という制約です。線形関数の出力をそのまま平均として使うとこの制約を破るので、シグモイド関数で区間(0,1)に収め、その値を確率として解釈します。

名前は回帰でも使い道は分類

同書は、この手法がロジスティック回帰と呼ばれることを述べたうえで、モデルを回帰ではなく分類に使うのだから幾分奇妙な名前だ、という断り書きを添えています。モデルが出すのは確率という連続した値ですが、使われ方としては、その確率をもとに入力が2つのクラスのどちらに属するかを決める分類のモデルです。実際に判定するときは、確率に境目を設け、それを超えたら1のクラスとする形がよく使われます。

ベルヌーイ分布とのつながり

yが0か1のどちらかをとるとき、その分布はベルヌーイ分布で表せます。ベルヌーイ分布は「1になる確率」を表すパラメータphiを1つだけ持ち、phiは0から1の範囲になければなりません。同書は、ロジスティックシグモイド関数は値域が(0,1)でありphiの取りうる範囲に収まるため、ベルヌーイ分布のphiを作るためによく使われる、と述べています。

この見方に立つと、p(y=1|x;theta) = sigmoid(theta^T * x) という式は、入力xごとにベルヌーイ分布のパラメータphiを予測している、と位置づけられます。ロジスティック回帰は、入力に応じて形が変わるベルヌーイ分布を出力するモデルだと読むこともできます。

重みの求め方

線形回帰では、正規方程式を解けば最適な重みを求められました。ロジスティック回帰には、最適な重みを直接与えるそのような式がありません。同書はこの点で線形回帰より難しいとし、代わりに対数尤度を最大化する重みを探すと説明しています。探す手段には勾配降下法が使われます。つまり、今の重みで学習データの尤もらしさがどれだけ上がるかを勾配から調べ、重みを少しずつ動かしていく反復の計算になります。

3つ以上のクラスへの広げ方

シグモイド関数が扱うのは、1になるか0になるかという2択です。3つ以上のクラスから1つを選ぶ問題には、softmax関数(ソフトマックス関数)が使えます。同書の第6章は、n個の値をとる離散的な変数の確率分布を表したいときはいつでもsoftmax関数を使えるとし、これはシグモイド関数の一般化とみなせる、と述べています。ロジスティック回帰の考え方をこの形で多クラスに広げたものは、多項ロジスティック回帰やソフトマックス回帰と呼ばれることがあります。

試験で問われること

G検定

  • ロジスティック回帰は、名前に「回帰」と付いていますが、分類に用いるモデルです。グッドフェロー(Ian Goodfellow)らの教科書『Deep Learning』(2016年)も、分類に使うのに回帰と呼ぶのは幾分奇妙な名前だと断っています。名前から回帰の手法と取り違えないことが要点です。
  • 仕組みは、線形関数の出力 theta^T * x をロジスティックシグモイド関数に通して0から1の間に収め、その値を p(y=1|x;theta) = sigmoid(theta^T * x) として、ラベルが1である確率と解釈するものです。線形回帰との違いは、出力をシグモイド関数で確率の範囲へ押し込む点にあります。
  • シグモイド関数の値域は0から1の間なので、ベルヌーイ分布のパラメータphiを作るのによく使われます。ロジスティック回帰の出力は、入力ごとにベルヌーイ分布のphiを予測していると位置づけられます。
  • 線形回帰のように正規方程式で最適な重みを直接求める式はなく、対数尤度を最大化する重みを勾配降下法で探します。また、3つ以上のクラスを扱うときはsoftmax関数を使います。softmax関数はシグモイド関数の一般化とみなせます。

最終更新日: 2026/09/23