Pytorch-线性回归(一)

一.线性回归

1.数学概念

线性回归是利用数理统计中的回归分析,来确定两种,或两种以上变量关系的一种统计方法。简而言之,对于输入xx与输出yy有一个映射ff,y=f(x)y = f(x),ff的形式为wx+bwx+b,其中w,bw,b为可调参数,训练w,bw,b

线性模型y=fw(x)=w0+i=1nwixix=wTxy = f_w(x) = w_0 + \sum_{i = 1}^{n}w_ix_ix = w^Tx

x=(1,x1,x2xn)x= (1,x_1,x_2 \cdot \cdot \cdot \cdot x_n)

Pytorch-线性回归(一)
Pytorch-线性回归(一)

2 .损失函数 loss function

minw1Ni=1NL(yi,fw(xi))\min_w \frac{1}{N}\sum_{i=1}^N \mathcal{L}(y_i,f_w(x_i))

MSE:L(yi,fw(xi))=12(yifw(xi))2MSE:\mathcal{L}(y_i,f_w(x_i)) = \frac{1}{2}(y_i - f_w(x_i))^{2}

Pytorch-线性回归(一)

3.梯度更新

Pytorch-线性回归(一)
Pytorch-线性回归(一)

3.1 批量梯度下降算法Batch Gradient Descent

优化函数
J(w)=12Ni=1N(yifw(xi))2minwJ(w)J(w) = \frac{1}{2N} \sum_{i = 1}^N (y_i - f_w(x_i))^2 \quad \underset{w}{min} J(w)
根据整个批量数据的梯度更新参数 wnew=woldηJ(w)ww_{new} = w_{old} - \eta\frac{\partial J(w)} {\partial w}
J(w)w=1Ni=1N((yifw(xi)fw(xi)w)=1Ni=1N(yifw(xi)xi \begin{aligned} \frac{\partial J(w)} {\partial w} &= -\frac{1}{N} \sum_{i = 1}^{N}((y_i - f_w(x_i)\frac{\partial f_w(x_i)}{\partial w}) \\ &= -\frac{1}{N} \sum_{i = 1}^{N}(y_i - f_w(x_i) x_i \end{aligned}

wnew=wold+η1Ni=1N(yifw(xi)xiw_{new} = w_{old} +\eta\frac{1}{N} \sum_{i = 1}^{N}(y_i - f_w(x_i) x_iPytorch-线性回归(一)

3.2 随机梯度下降Stochastic Gradient Descent

优化函数
J(i)(w)=12(yifw(xi))2minw1NiJ(i)(w)J^{(i)}(w) = \frac{1}{2}(y_i - f_w(x_i))^2 \quad \underset{w}{min} \frac{1}{N} \sum_iJ^{(i)}(w)
根据整个批量数据的梯度更新参数 wnew=woldηJ(w)ww_{new} = w_{old} - \eta\frac{\partial J(w)} {\partial w}
J(i)(w)w=(yifw(xi)fw(xi)w)=(yifw(xi))xi \begin{aligned} \frac{\partial J^{(i)}(w)} {\partial w} &= -(y_i - f_w(x_i)\frac{\partial f_w(x_i)}{\partial w}) \\ &= - (y_i - f_w(x_i) )x_i \end{aligned}

wnew=wold+η(yifw(xi))xiw_{new} = w_{old} +\eta(y_i - f_w(x_i)) x_i

3.3 小批量梯度下降Mini-Batch Gradient Descent

批量梯度下降和随机梯度下降的结合

1.将整个训练集分成K个小批量(mini-batches)
{123,k}\left\{1,2,3,\cdots,k \right\}

2.对每一个小批量kk,做一个批量下降来降低
J(k)(w)=12Nki=1Nk(yifw(xi))2J^{(k)}(w) = \frac{1}{2N_k} \sum_{i = 1}^{N_k}(y_i - f_w(x_i))^2

3.对于每一个小批量,更新参数
wnew=woldηJ(k)(w)ww_{new} = w_{old} -\eta \frac{\partial J^{(k)}(w)}{\partial w}

未完待续----------------------------------------------------------------------------------------------------------
后期比较优化算法
Pytorch-线性回归(一)