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