1.概述
逻辑回归为分类模型,适用于二分类问题。思想基于线性回归,属于广义线性回归模型,其公式为:hθ(x)=11+e−z=11+e−θTxh_\theta(x)=\frac{1}{1+e^{-z}}=\frac{1}{1+e^{-\theta^{T}x}}hθ(x)=1+e−z1=1+e−θTx1,其中z=θ0+θ1x1+...+θnxn=θTxz=\theta_0+\theta_1x_1+...+\theta_nx_n=\theta^Txz=θ0+θ1x1+...+θnxn=θTx。
LR算法即是将线性函数的结果映射到了sigmoid函数中。最终,大于0.5则判为1;小于0.5则判为0。
2.知识准备(关于sigmoid函数)
可以看到上述的预测公式,其中涉及到了sigmoid函数f(x)=11+e−xf(x)=\frac{1}{1+e^{-x}}f(x)=1+e−x1,这个函数的作用是将实数域映射到(0, 1)区间上。对应的图像如下所示:
对于f(x)=11+e−xf(x)=\frac{1}{1+e^{-x}}f(x)=1+e−x1而言,有f′(x)=(11+e−x)′=−(1+e−x)−2e−x(−1)=e−x(1+e−x)−2=f(x)[1−f(x)]f'(x)=(\frac{1}{1+e^{-x}})'=-(1+e^{-x})^{-2}e^{-x}(-1)=\frac{e^{-x}}{(1+e^{-x})^{-2}}=f(x)[1-f(x)]f′(x)=(1+e−x1)′=−(1+e−x)−2e−x(−1)=(1+e−x)−2e−x=f(x)[1−f(x)]。该结论一会在推导中需要使用~
3.算法推导
面试常常问到关于LR算法的推导,需要弄清楚。
假设数据集{ xi,yix_i,y_ixi,yi}包含N个样本,xix_ixi为第i个样本对应特征的向量(在此省略xi(1),xi(2),...,xi(m)x_{i(1)},x_{i(2)},...,x_{i(m)}xi(1),xi(2),...,xi(m)),m为特征个数,yiy_iyi为样本的真实类别,hθ(xi)h_\theta(x_i)hθ(xi)为模型输出结果,θTxi=zi\theta^Tx_i=z_iθTxi=zi。
此时,有预测函数:hθ(xi)=11+e−zi=11+e−θTxih_\theta(x_i)=\frac{1}{1+e^{-z_i}}=\frac{1}{1+e^{-\theta^Tx_i}}hθ(xi