什么是逻辑回归
逻辑回归用于分类问题。在分类问题中,我们尝试预测目前观测目标属于哪一类,它会产生一个离散的二元结果y∈{0,1}。而线性回归模型产生的预测值为z=θTx是实数值,于是我们引入一个新的模型,使输出变量z的值到始终在0和1之间,于是便找到了Sigmoid function。
Sigmoid function的图像是一条值在0-1之间的S形曲线,如图:
通常,我们把Sigmoid fuction计算得到的值大于等于0.5的归为类别1,小于0.5的归为类别0。从Sigmoid function图像可以看出,当z≥0时,g(z)≥0.5;当z<0时,g(z)<0.5。
合起来,我们得到逻辑回归模型的假设:
逻辑回归的代价函数
我们第一个想到的自然是模仿线性回归的做法,利用误差平方和来当代价函数:
那么我们不妨来换一个思路解决这个问题。前面说到,我们可以将hθ(x)视为y=1的后验概率估计,所以可以得到:
P(y=1|x;θ) = hθ(x) = g(θTx) = g(z)
P(y=0|x;θ) = 1- g(z)
将这两式写成一般形式:P(y|x;θ) = g(z)y(1- g(z))(1-y)
接下来我们就要用极大似然估计来根据给定的训练集估计出参数θ。
J(g(z),y; θ)=− (y ln(g(z)) + (1−y) ln (1−g(z)))
也就是说:
代价函数图像为:
利用梯度下降法求参数
在得到这样一个代价函数以后,我们便可以用梯度下降算法来求得能使代价函数最小的参数了。算法为:Sigmoid function有一个性质:g'(z)=g(z)*(1-g(z)),在梯度下降过程中会用到。
所以,在使用梯度下降法更新权重时