一、理论
逻辑回归(Logistic Regression) 是一种广义的线性回归分析模型,它利用逻辑函数(通常是Sigmoid函数)将线性回归的输出值映射到0和1之间,从而用于处理二分类问题。
1.1 线性回归
1.1.1 线性回归的原理
线性回归是一种利用数理统计中回归分析的方法,来确定两种或两种以上变量间相互依赖的定量关系。其原理是假设因变量 Y \ Y Y与自变量 X \ X X之间存在线性关系,即 Y \ Y Y可以表示为 X \ X X的线性组合加上一个常数项。
1.1.2 线性回归的数学推导
1.1.2.1 模型设定
线性回归模型可以表示为:
Y = w 1 X 1 + w 2 X 2 + . . . + w n X n + b \ Y = w_1X_1 + w_2X_2 + ... + w_nX_n + b Y=w1X1+w2X2+...+wnXn+b
其中:
- Y \ Y Y是因变量;
- X 1 , X 2 , . . . , X n \ X_1, X_2, ..., X_n X1,X2,...,Xn是自变量
- w 1 , w 2 , . . . , w n \ w_1, w_2, ..., w_n w1,w2,...,wn是回归系数
- b \ b b是截距项
为了简化表示,我们可以引入一个额外的特征 X 0 = 1 \ X_0=1 X0=1,并将截距项 b \ b b视为 w 0 \ w_0 w0,这样模型就可以表示为:
Y = w 0 X 0 + w 1 X 1 + w 2 X 2 + . . . + w n X n \ Y = w_0X_0 + w_1X_1 + w_2X_2 + ... + w_nX_n Y=w0X0+w1X1+w2X2+...+wnXn
进一步地,我们可以将上式写为矩阵形式:
Y = w T X \ Y = \mathbf{w}^T\mathbf{X} Y=wTX
其中:
- w = [ w 0 , w 1 , w 2 , . . . , w n ] T \ \mathbf{w} = [w_0, w_1, w_2, ..., w_n]^T w=[w0,w1,w2,...,wn]T
- X = [ X 0 , X 1 , X 2 , . . . , X n ] T \ \mathbf{X} = [X_0, X_1, X_2, ..., X_n]^T X=[X0,X1,X2,...,Xn]T
1.1.2.2 求解参数 w \ \mathbf{w} w
从上述公式可以看出,线性回归模型的参数 w \ \mathbf{w} w是我们要求解的,为了实现这个目标,我们进行以下操作。
1.1.2.2.1 损失函数
在线性回归中,我们通常使用均方误差(Mean Squared Error, MSE)作为损失函数,以衡量模型预测值与实际值之间的差异。损失函数的数学表达式为:
J ( w ) = 1 2 m ∑ i = 1 m ( y ( i ) − w T x ( i ) ) 2 \ J(\mathbf{w}) = \frac{1}{2m}\sum_{i=1}^{m}(y^{(i)} - \mathbf{w}^T\mathbf{x}^{(i)})^2 J(w)=2m1i=1∑m(y(i)−wTx(i))2
其中:
- m \ m m是样本数量
- y ( i ) \ y^{(i)} y(i)是第 i \ i i个样本的实际值
- x ( i ) \ \mathbf{x}^{(i)} x(i)是第 i \ i i个样本的特征向量。
1.1.2.2.2 优化算法
很显然,为了使模型能够契合某一个数据集,我们要使损失函数的值越小越好,而为了找到使损失函数最小的参数 w \ \mathbf{w} w,我们通常采用梯度下降法(Gradient Descent) 进行求解。此外还有很多其它的优化算法,这边再介绍一个牛顿法(Newton’s Method)。
梯度下降法(Gradient Descent)
首先,我们需要计算损失函数 J ( w ) \ J(\mathbf{w}) J(w)关于参数 w \ \mathbf{w} w的梯度。
对于参数 w \ \mathbf{w} w的第 j \ j j个分量 w j \ w_j wj,其梯度为:
∂ J ( w ) ∂ w j = 1 m ∑ i = 1 m ( h w ( x ( i ) ) − y ( i ) ) ⋅ ∂ ∂ w j ( w T x ( i ) ) \ \frac{\partial J(\mathbf{w})}{\partial w_j} = \frac{1}{m}\sum_{i=1}^{m}(h_{\mathbf{w}}(x^{(i)}) - y^{(i)}) \cdot \frac{\partial}{\partial w_j}(\mathbf{w}^T\mathbf{x}^{(i)}) ∂wj∂J(w)=m1i=1∑m(hw