值得注意的是,逻辑回归(logistic regression)解决的是有监督的分类问题,而非回归问题。
分类和回归的区别
分类问题和回归问题的区别在于输出:分类问题的输出是离散型变量,如判断一个人是否得病,只有两种结果:得病或者不得病;而回归问题的输出为连续型变量,如预测一个人五年后的工资,它就可能是一个实数区间内的任意值。
logistic和多重线性回归
实际上,logistic回归和多重线性回归除输出的不同外基本类似,这两种回归可以归于同一个家族,即广义线性模型(generalized linear model)。因此这两个回归的模型形式基本差不多,都可以简单表示为: y = Θ T X y=\Theta^TX y=ΘTX,只是,logistic回归需要借助sigmoid激活函数,将回归问题转化为分类问题。
sigmoid函数
sigmoid激活函数: g ( z ) = 1 ( 1 + e ( − z ) ) g(z)=\frac{1} {(1+e^{(-z)})} g(z)=(1+e(−z))1
sigmoid激活函数曲线如下:
由图可以看出,sigmoid函数中z的取值范围为任意实数,g(z)的输出范围为0到1,因此可以将输出看做一个概率值,将回归问题转化为分类问题。
sigmoid函数的一阶导数:
g ′ ( z ) = 1 ( 1 + e − z ) 2 ∗ ( e − z ) = 1 1 + e − z ∗ ( e − z 1 + e − z ) = 1 1 + e − z ∗ ( 1 − 1 1 + e − z ) = g ( z ) ( 1 − g ( z ) ) g'(z)=\frac{1} {(1+e^{-z})^2}*(e^{-z})=\frac{1}{1+e^{-z}}*(\frac{e^{-z}}{1+e^{-z}})=\frac{1}{1+e^{-z}}*(1-\frac{1}{1+e^{-z}})=g(z)(1-g(z)) g′(z)=(1+e−z)21∗(e−z)=1+e−z1∗(1+e−ze−z)=1+e−z1∗(1−1+e−z1)=g(z)(1−g(z))
logistic回归模型
模型: h θ ( x ) = g ( Θ x ) = 1 1 + e − Θ T x h_\theta(x)=g(\Theta x)=\frac{1}{1+e^{-\Theta^{T}x}} hθ(x)=g(Θx)=1+e−ΘTx1
因此:
{ P ( y = 1 ∣ x , Θ ) = h θ ( x ) P ( y = 0 ∣ x , Θ ) = 1 − h θ ( x ) \left\{\begin{matrix} P(y=1|x,\Theta )=h_\theta (x) \\P(y=0|x,\Theta ) =1-h_\theta (x) \end{matrix}\right. {
P(y=1∣x,