逻辑回归与线性回归

1. 线性回归

1.1概念

对于一组特征,使用线性方程来进行拟合,对结果进行预测,公式如下:
h θ ( X ) = θ T X = θ 0 X 0 + θ 1 X 1 + ⋅ ⋅ ⋅ + θ n X n θ = ( θ 0 , θ 1 , θ 2 , . . . , θ n ) X = ( X 0 , X 1 , X 2 , . . . , X n ) 其 中 X 1 = 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 ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( X ) − y i ) 2 J(\theta)=\frac{1}{2m}\sum_{i=1}^m(h_\theta(X)-y_i)^2 J(θ)=2m1i=1m(hθ(X)yi)2
对每一个 θ \theta θ进行求导,便可以得到 θ \theta θ的值:
∂ J ∂ θ i = 1 m ∑ i = 1 m ( h θ ( X i ) − y i ) X i \frac{\partial J}{\partial \theta_i}=\frac{1}{m}\sum_{i=1}^{m}(h_\theta(X_i)-y_i)X_i θiJ=m1i=1m(hθ(Xi)yi)Xi
更新参数:
θ : = θ − α ∂ J ∂ θ i \theta:=\theta-\alpha\frac{\partial J}{\partial \theta_i} θ:=θαθiJ
其中 α \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 ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( X i ) − y i ) 2 + λ ∑ j = 1 n θ j 2 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=1m(hθ(Xi)yi)2+λj=1nθj2
这里使用的时L2范数 J ( θ ) J(\theta) J(θ)称为岭回归

2 逻辑回归

2.1 概念

逻辑回归由线性回归转变而来,线性回归用来预测具体的值,如果遇到分类问题如何解决呢?这里还是使用线性回归来拟合数据,然后再对其预测值进行0 1 映射(使用sigmod函数),因此得到的逻辑回归模型为:
h θ ( X ) = 1 1 + e − z z = θ T X h_\theta(X) = \frac{1}{1+e^{-z}} \\ z=\theta^TX hθ(X)=1+ez1z=θTX
sigmod函数就是形式S形状的函数,存在上限、下限。

2.2代价函数

这里可以均方误差作为代价函数,但是图像非凸函数,使用梯度下降很难求得其收敛值,因此这里借助于极大似然估计的概念来设计逻辑回归的代价函数:对于二分类:
似然函数:
L ( x ) = p x ∗ ( 1 − p ) 1 − x x = 0 , 1 L(x)=p^x*(1-p)^1-x \\ x=0,1 L(x)=px(1p)1xx=0,1
对数形式:
log ⁡ L ( x ) = x log ⁡ p + ( 1 − x ) log ⁡ ( 1 − p ) \log L(x)=x\log p+(1-x)\log(1-p) logL(x)=xlogp+(1x)log(1p)
对于逻辑回归本身求得就是偏向某类的概率 h θ ( x ) h_\theta(x) hθ(x):逻辑回归似然函数:
L ( x ) = ∏ i = 1 m h ( x i ) y i ∗ ( 1 − h θ ( x i ) 1 − y ) L(x)=\prod_{i=1}^m h(x_i)^{y_i}*(1-h_\theta(x_i)^{1-y}) L(x)=i=1mh(xi)yi(1hθ(xi)1y)
对数形式:这里求得极大似然估计,前面取符号,即可求得满足代价函数的最小值,于是得到逻辑回归的代价函数如下:
log ⁡ L ( x ) = ∑ i = 1 m y i log ⁡ ( h θ ( x i ) ) + ( 1 − y i ) log ⁡ ( 1 − h θ ( x i ) ) \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=1myilog(hθ(xi))+(1yi)log(1hθ(xi))
1 m \frac{1}{m} m1不影响函数的功能。故求得对 θ \theta θ的偏导为:
∂ J ∂ θ i = 1 m ∑ i = 1 m x i ∗ ( h θ x i − y i ) \frac{\partial J}{\partial \theta_i}=\frac{1}{m} \sum_{i=1}^m x_i * (h_\theta x_i - y_i) θiJ=m1i=1mxi(hθxiyi)
更新梯度:
θ : = θ − α ∂ J ∂ θ i \theta:=\theta-\alpha\frac{\partial J}{\partial \theta_i} θ:=θαθiJ

2.3 正则化

与线性回归相似,正则化可以使用L1范数、L2范数,这里使用L2范数得到的代价函数为:
J ( θ ) = − 1 m ∑ i = 1 m [ y i log ⁡ ( h θ ( x i ) ) + ( 1 − y i ) log ⁡ ( 1 − h θ ( x i ) ) + λ ∑ j = 1 n θ j 2 ] 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=1m[yilog(hθ(xi))+(1yi)log(1hθ(xi))+λj=1nθj2]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值