分类问题(Classification)是指把数据分成一些离散的输出,比如类1、类2、类3、类4等。逻辑回归(Logistic Regression)虽然名字里有"回归",但它实际上是一种分类问题的解决办法,主要用于二分类(即输出只有两种,0或1).我们首先讲二分类,然后再介绍多类。
1.模型表示
逻辑回归的模型实际上就是将线性回归的模型做了sigmoid变换。
Sigmoid函数为:
g ( z ) = 1 1 + e − z g(z)=\frac{1}{1+e^{-z}} g(z)=1+e−z1
它的曲线图为:
线性回归的模型为:
h θ ( X ) = θ T X h_\theta(X)=\theta^TX hθ(X)=θTX
对它做sigmoid变换就成了逻辑回归的模型:
h θ ( X ) = 1 1 + e − ( θ T X ) h_\theta(X)=\frac{1}{1+e^{-(\theta^TX)}} hθ(X)=1+e−(θTX)1
这样就可以将线性回归的一系列连续的值映射到(0,1)之间的值,可以更好地适用于分类问题。
其中 h θ ( x ) h_\theta(x) hθ(x)也可以代表输出等于1的概率。比如 h θ ( x ) = 0.7 h_\theta(x)=0.7 hθ(x)=0.7代表输出是1的概率是0.7.所以:
h θ ( x ) = P ( y = 1 ∣ x ; θ ) = 1 − P ( y = 0 ∣ x ; θ ) h_\theta(x)=P(y=1|x;\theta)=1-P(y=0|x;\theta) hθ(x)=P(y=1∣x;θ)=1−P(y=0∣x;θ)
P ( y = 0 ∣ x ; θ ) + P ( y = 1 ∣ x ; θ ) = 1 P(y=0|x;\theta)+P(y=1|x;\theta)=1 P(y=0∣x;θ)