1. 线性回归
1.1概念
对于一组特征,使用线性方程来进行拟合,对结果进行预测,公式如下:
hθ(X)=θTX=θ0X0+θ1X1+⋅⋅⋅+θnXnθ=(θ0,θ1,θ2,...,θn)X=(X0,X1,X2,...,Xn)其中X1=1
h_\theta (X)= \theta^TX = \theta_0X_0+\theta_1X_1+···+\theta_nX_n \\
\theta=(\theta_0,\theta_1,\theta_2,...,\theta_n) \\
X=(X_0,X_1,X_2,...,X_n) \\
其中X_1=1
hθ(X)=θTX=θ0X0+θ1X1+⋅⋅⋅+θnXnθ=(θ0,θ1,θ2,...,θn)X=(X0,X1,X2,...,Xn)其中X1=1
1.2代价函数
线性回归选取的损失函数是均方误差,均方误差表示所有样本到该预测函数的欧式距离最小,代价函数如下:
J(θ)=12m∑i=1m(hθ(X)−yi)2
J(\theta)=\frac{1}{2m}\sum_{i=1}^m(h_\theta(X)-y_i)^2
J(θ)=2m1i=1∑m(hθ(X)−yi)2
对每一个θ\thetaθ进行求导,便可以得到θ\thetaθ的值:
∂J∂θi=1m∑i=1m(hθ(Xi)−yi)Xi
\frac{\partial J}{\partial \theta_i}=\frac{1}{m}\sum_{i=1}^{m}(h_\theta(X_i)-y_i)X_i
∂θi∂J=m1i=1∑m(hθ(Xi)−yi)Xi
更新参数:
θ:=θ−α∂J∂θi
\theta:=\theta-\alpha\frac{\partial J}{\partial \theta_i}
θ:=θ−α∂θi∂J
其中α\alphaα表示学习率
1.3如何选取α,如何停止更新权值
通常α\alphaα取0.001,根据实验结果依次增加三倍,比较实验结果。0.001,0.003,0.01,0.03,0.1
θ\thetaθ更新到什么时候停止?
每次更新后,带入θ\thetaθ值可以求得J(θ)J(\theta)J(θ)的值,比较当前的J(θ)J(\theta)J(θ)与上一次的值,如果变化很小,则可认为达到收敛;或者不断增加迭代次数,可视化观察J(θ)J(\theta)J(θ)的曲线图。
1.4 正则化
使用L1范数(权值为非0的权值和)称为Lasso回归,使用L2范数(权值平方和)称为岭回归。正则化项称为惩罚函数,目的解决过拟合问题,代价函数变为:
J(θ)=12m∑i=1m(hθ(Xi)−yi)2+λ∑j=1nθj2
J(\theta) =\frac{1}{2m}\sum_{i=1}^{m}(h_\theta(X_i)-y_i)^2 + \lambda\sum_{j=1}^n\theta_j^2
J(θ)=2m1i=1∑m(hθ(Xi)−yi)2+λj=1∑nθj2
这里使用的时L2范数J(θ)J(\theta)J(θ)称为岭回归
2 逻辑回归
2.1 概念
逻辑回归由线性回归转变而来,线性回归用来预测具体的值,如果遇到分类问题如何解决呢?这里还是使用线性回归来拟合数据,然后再对其预测值进行0 1 映射(使用sigmod函数),因此得到的逻辑回归模型为:
hθ(X)=11+e−zz=θTX
h_\theta(X) = \frac{1}{1+e^{-z}} \\
z=\theta^TX
hθ(X)=1+e−z1z=θTX
sigmod函数就是形式S形状的函数,存在上限、下限。
2.2代价函数
这里可以均方误差作为代价函数,但是图像非凸函数,使用梯度下降很难求得其收敛值,因此这里借助于极大似然估计的概念来设计逻辑回归的代价函数:对于二分类:
似然函数:
L(x)=px∗(1−p)1−xx=0,1
L(x)=p^x*(1-p)^1-x \\
x=0,1
L(x)=px∗(1−p)1−xx=0,1
对数形式:
logL(x)=xlogp+(1−x)log(1−p)
\log L(x)=x\log p+(1-x)\log(1-p)
logL(x)=xlogp+(1−x)log(1−p)
对于逻辑回归本身求得就是偏向某类的概率hθ(x)h_\theta(x)hθ(x):逻辑回归似然函数:
L(x)=∏i=1mh(xi)yi∗(1−hθ(xi)1−y)
L(x)=\prod_{i=1}^m h(x_i)^{y_i}*(1-h_\theta(x_i)^{1-y})
L(x)=i=1∏mh(xi)yi∗(1−hθ(xi)1−y)
对数形式:这里求得极大似然估计,前面取符号,即可求得满足代价函数的最小值,于是得到逻辑回归的代价函数如下:
logL(x)=∑i=1myilog(hθ(xi))+(1−yi)log(1−hθ(xi))
\log L(x) = \sum_{i=1}^m y_i \log (h_\theta(x_i)) + (1-y_i) \log(1-h_\theta(x_i))
logL(x)=i=1∑myilog(hθ(xi))+(1−yi)log(1−hθ(xi))
1m\frac{1}{m}m1不影响函数的功能。故求得对θ\thetaθ的偏导为:
∂J∂θi=1m∑i=1mxi∗(hθxi−yi)
\frac{\partial J}{\partial \theta_i}=\frac{1}{m} \sum_{i=1}^m x_i * (h_\theta x_i - y_i)
∂θi∂J=m1i=1∑mxi∗(hθxi−yi)
更新梯度:
θ:=θ−α∂J∂θi
\theta:=\theta-\alpha\frac{\partial J}{\partial \theta_i}
θ:=θ−α∂θi∂J
2.3 正则化
与线性回归相似,正则化可以使用L1范数、L2范数,这里使用L2范数得到的代价函数为:
J(θ)=−1m∑i=1m[yilog(hθ(xi))+(1−yi)log(1−hθ(xi))+λ∑j=1nθj2]
J(\theta) = - \frac{1}{m} \sum_{i=1}^m\left[ y_i\log (h_\theta(x_i)) + (1-y_i)\log (1-h_\theta(x_i)) + \lambda\sum_{j=1}^n\theta_j^2\right]
J(θ)=−m1i=1∑m[yilog(hθ(xi))+(1−yi)log(1−hθ(xi))+λj=1∑nθj2]