Logistic回归和Softmax回归引入$L_2$正则化后的梯度下降过程
Logistic回归引入L2L_2L2正则化后的梯度下降过程
Logistic回归是一种用于分类问题的机器学习算法。在引入L2L_2L2正则化后,Logistic回归的目标函数为:
J(w)=−1m∑i=1m[y(i)log(hw(x(i)))+(1−y(i))log(1−hw(x(i)))]+λ2m∑j=1nwj2=−1m∑i=1m[y(i)log(σ(wTx(i)))+(1−y(i))log(1−σ(wTx(i))))]+λ2m∑j=1nwj2\\begin{aligned} J(w) &= -\\frac{1}{m}\\sum_{i=1}^{m}[y^{(i)}log(h_w(x^{(i)})) + (1-y^{(i)})log(1-h_w(x^{(i)}))] + \\frac{\\lambda}{2m}\\sum_{j=1}^n w_j^2 \\\\ &= -\\frac{1}{m}\\sum_{i=1}^{m}[y^{(i)}log(\\sigma(w^Tx^{(i)})) + (1-y^{(i)})log(1-\\sigma(w^Tx^{(i)})))] + \\frac{\\lambda}{2m}\\sum_{j=1}^n w_j^2 \\end{aligned} J(w)=−m1i=1∑m[y(i)log(hw(x(i)))+(1−y(i))log(1−hw(x(i)))]+2mλj=1∑nwj2=−m1i=1∑m[y(i)log(σ(wTx(i)))+(1−y(i))log(1−σ(wTx(i))))]+2mλj=1∑nwj2
其中,mmm是训练样本的数量,nnn是特征的数量,y(i)y^{(i)}y(i)是第iii个样本的类别(0或1),x(i)x^{(i)}x(i)是第iii个样本的特征向量,www是模型的参数向量,λ\\lambdaλ是正则化系数,σ(z)\\sigma(z)σ(z)是Logistic函数,定义为:
σ(z)=11+e−z\\sigma(z)=\\frac{1}{1+e^{-z}}σ(z)=1+e−z1
使用梯度下降算法来最小化目标损失函数J(w)J(w)J(w),更新规则为:
wj←wj−α∂J(w)∂wjw_j \\leftarrow w_j - \\alpha \\frac{\\partial J(w)}{\\partial w_j} wj←wj−α∂wj∂J(w)
其中,α\\alphaα是学习率,∂J(w)∂wj\\frac{\\partial J(w)}{\\partial w_j}∂wj∂J(w)是目标函数J(w)J(w)J(w)对参数wjw_jwj的偏导数。
对目标函数J(w)J(w)J(w)求偏导数,有:
∂J(w)∂wj=−1m∑i=1m(y(i)−σ(wTx(i)))xj(i)+λmwj=−1m∑i=1mxj(i)(y(i)−σ(wTx(i)))+λmwj\\begin{aligned} \\frac{\\partial J(w)}{\\partial w_j} &= -\\frac{1}{m}\\sum_{i=1}^{m}(y^{(i)}-\\sigma(w^Tx^{(i)}))x_j^{(i)} + \\frac{\\lambda}{m}w_j \\\\ &= -\\frac{1}{m}\\sum_{i=1}^{m}x_j^{(i)}(y^{(i)}-\\sigma(w^Tx^{(i)})) + \\frac{\\lambda}{m}w_j \\end{aligned} ∂wj∂J(w)=−m1i=1∑m(y(i)−σ(wTx(i)))xj(i)+mλwj=−m1i=1∑mxj(i)(y(i)−σ(wTx(i)))+mλwj
因此,Logistic回归引入L2L_2L2正则化后的梯度下降更新规则为:
wj←wj−α(−1m∑i=1mxj(i)(y(i)−σ(wTx(i)))+λmwj)w_j \\leftarrow w_j - \\alpha \\left(-\\frac{1}{m}\\sum_{i=1}^{m}x_j^{(i)}(y^{(i)}-\\sigma(w^Tx^{(i)})) + \\frac{\\lambda}{m}w_j\\right) wj←wj−α(−m1i=1∑mxj(i)(y(i)−σ(wTx(i)))+mλwj)
化简得:
wj←(1−αλm)wj+α1m∑i=1mxj(i)(y(i)−σ(wTx(i)))w_j \\leftarrow (1-\\alpha\\frac{\\lambda}{m})w_j + \\alpha\\frac{1}{m}\\sum_{i=1}^{m}x_j^{(i)}(y^{(i)}-\\sigma(w^Tx^{(i)})) wj←(1−αmλ)wj+αm1i=1∑mxj(i)(y(i)−σ(wTx(i)))
Softmax回归引入L2L_2L2正则化后的梯度下降过程
Softmax回归是一种用于多分类问题的机器学习算法。在引入L2L_2L2正则化后,Softmax回归的目标函数为:
J(W)=−1m∑i=1m∑j=1kyj(i)log(ewjTx(i)∑l=1kewlTx(i))+λ2m∑j=1k∑l=1nWjl2=−1m∑i=1m∑j=1kyj(i)(wjTx(i)−log∑l=1kewlTx(i))+λ2m∑j=1k∑l=1nWjl2\\begin{aligned} J(W) &= -\\frac{1}{m}\\sum_{i=1}^{m}\\sum_{j=1}^{k}y_{j}^{(i)}log(\\frac{e^{w_j^Tx^{(i)}}}{\\sum_{l=1}^{k}e^{w_l^Tx^{(i)}}}) + \\frac{\\lambda}{2m}\\sum_{j=1}^{k}\\sum_{l=1}^{n}W_{jl}^2 \\\\ &= -\\frac{1}{m}\\sum_{i=1}^{m}\\sum_{j=1}^{k}y_{j}^{(i)}(w_j^Tx^{(i)} - log\\sum_{l=1}^{k}e^{w_l^Tx^{(i)}}) + \\frac{\\lambda}{2m}\\sum_{j=1}^{k}\\sum_{l=1}^{n}W_{jl}^2 \\end{aligned} J(W)=−m1i=1∑mj=1∑kyj(i)log(∑l=1kewlTx(i)ewjTx(i))+2mλj=1∑kl=1∑nWjl2=−m1i=1∑mj=1∑kyj(i)(wjTx(i)−logl=1∑kewlTx(i))+2mλj=1∑kl=1∑nWjl2
其中,mmm为训练样本的数量,nnn表示特征的数量,kkk是类别的数量,yj(i)y_{j}^{(i)}yj(i)是第iii个样本属于第jjj个类别的概率(yj(i)=1y_{j}^{(i)} = 1yj(i)=1表示第iii个样本属于第jjj个类别,yj(i)=0y_{j}^{(i)} = 0yj(i)=0表示不属于),x(i)x^{(i)}x(i)是第iii个样本的特征向量,WWW是模型的参数矩阵,λ\\lambdaλ是正则化系数。
使用梯度下降算法来最小化目标函数J(W)J(W)J(W),更新规则为:
Wjl←Wjl−α∂J(W)∂WjlW_{jl} \\leftarrow W_{jl} - \\alpha \\frac{\\partial J(W)}{\\partial W_{jl}}Wjl←Wjl−α∂Wjl∂J(W)
其中,α\\alphaα是学习率,∂J(W)∂Wjl\\frac{\\partial J(W)}{\\partial W_{jl}}∂Wjl∂J(W)是目标函数J(W)J(W)J(W)对参数WjlW_{jl}Wjl的偏导数。
对目标函数J(W)J(W)J(W)求偏导数,有:
∂J(W)∂Wjl=−1m∑i=1m(yj(i)−ewjTx(i)∑l=1kewlTx(i))xl(i)+λmWjl=−1m∑i=1mxl(i)(yj(i)−ewjTx(i)∑l=1kewlTx(i))+λmWjl\\begin{aligned} \\frac{\\partial J(W)}{\\partial W_{jl}} &= -\\frac{1}{m}\\sum_{i=1}^{m}(y_{j}^{(i)} - \\frac{e^{w_j^Tx^{(i)}}}{\\sum_{l=1}^{k}e^{w_l^Tx^{(i)}}})x_{l}^{(i)} + \\frac{\\lambda}{m}W_{jl} \\\\ &= -\\frac{1}{m}\\sum_{i=1}^{m}x_{l}^{(i)}(y_{j}^{(i)} - \\frac{e^{w_j^Tx^{(i)}}}{\\sum_{l=1}^{k}e^{w_l^Tx^{(i)}}}) + \\frac{\\lambda}{m}W_{jl} \\end{aligned} ∂Wjl∂J(W)=−m1i=1∑m(yj(i)−∑l=1kewlTx(i)ewjTx(i))xl(i)+mλWjl=−m1i=1∑mxl(i)(yj(i)−∑l=1kewlTx(i)ewjTx(i))+mλWjl
将上述偏导数带入梯度下降更新规则中,得到:
Wjl←Wjl−α(−1m∑i=1mxl(i)(yj(i)−ewjTx(i)∑l=1kewlTx(i))+λmWjl)W_{jl} \\leftarrow W_{jl} - \\alpha(-\\frac{1}{m}\\sum_{i=1}^{m}x_{l}^{(i)}(y_{j}^{(i)} - \\frac{e^{w_j^Tx^{(i)}}}{\\sum_{l=1}^{k}e^{w_l^Tx^{(i)}}}) + \\frac{\\lambda}{m}W_{jl}) Wjl←Wjl−α(−m1i=1∑mxl(i)(yj(i)−∑l=1kewlTx(i)ewjTx(i))+mλWjl)
化简后得到:
Wjl←(1−αλm)Wjl−αm∑i=1mxl(i)(ewjTx(i)∑l=1kewlTx(i)−yj(i))W_{jl} \\leftarrow (1-\\alpha\\frac{\\lambda}{m})W_{jl} - \\frac{\\alpha}{m}\\sum_{i=1}^{m}x_{l}^{(i)}(\\frac{e^{w_j^Tx^{(i)}}}{\\sum_{l=1}^{k}e^{w_l^Tx^{(i)}}} - y_{j}^{(i)}) Wjl←(1−αmλ)Wjl−mαi=1∑mxl(i)(∑l=1kewlTx(i)ewjTx(i)−yj(i))