深度学习系列一:逻辑回归与线性回归

概念:

回归是机器学习中一个基础概念,通俗来讲,即从有限的现实事件中提取一系列特征,通过发现这些特征之间的关系,寻找其规律,来通过已有的特征来预测或判断一个相关的结果,对应数学概念来说,即建立一个数学模型(建模),并对一些已有数据提取其特征转换为自变量,将这一系列自变量输入到模型之中(输入),经过模型计算得到因变量(输出),通过把计算得到的因变量与已有的真实因变量对比(使用损失函数),应用一些优化方法来优化模型(训练),使用训练过的模型来对一些已有的自变量去预测其结果(预测)。

数学中的回归方法很多,各类回归方法虽然在一些细节方面有所差异去,但本质上却是比较一致的,不同的回归方法的提出,主要基于不同的应用场景,当需要解释的现实规律不同时,需要找出不同的模型来进行适配,而线性回归与逻辑回归即为比较典型的两种类型。

  • 线性回归
    一种当自变量与因变量之间主要呈现线性关系的经典模型,应用于金融、经济学、流行病学等各个领域,其表达式如下:
    f ( x ) = θ 0 ​ x 0 ​ + θ 1 ​ x 1 ​ + θ 2 ​ x 2 ​ . . . + θ n ​ x n ​ + b f(x)=θ_0​x_0​+θ_1​x_1​+θ_2​x_2​...+θ_n​x_n​+b f(x)=θ0x0+θ1x1+θ2x2...+θnxn+b
    简化为向量形式:
    h θ ( x ) = θ T x + b h_\theta(x)=\theta^Tx+b hθ(x)=θTx+b
    损失函数一般可以选用均方差,表达式如下:
    l o s s = 1 2 m ∑ i = 1 m ( h θ ( x i ) − y i ) 2 loss=\frac{1}{2m}\sum_{i=1}^m(h_\theta(x_i)-y_i)^2 loss=2m1i=1m(hθ(xi)yi)2
    写成矩阵形式:
    L ( w ) = 1 2 ∣ ∣ Y − X T W ∣ ∣ 2 L(w)=\frac{1}{2}||Y-X^TW||^2 L(w)=21YXTW2
    可以证明该函数为凸函数,因此可以通过求导的方式得到其极值,以此得到最优参数使loss最小。
    优化模型的方法可以采用最小二乘法,用损失函数对w求导,并令结果为0:
    ∂ L ( w ) ∂ w = − ( Y − X T W ) = 0   W = ( X X T ) − 1 X Y \frac{\partial L(w)}{\partial w}=-(Y-X^TW)=0\\ \ \\ W=(XX^T)^{-1}XY wL(w)=(YXTW)=0 W=(XXT)1XY

    此外,也可以采用交叉熵作为损失函数,使用梯度下降法进行优化,相关的资料和文章很多,这里就不多做介绍了。

    从表达式上来看,线性回归的特点很明显,需要数据特征之间存在线性关系,当输出量为差别较大的离散量时,模型的训练会很困难,而且无法很好的预测结果,只能简单的以某个阈值作为分类的标准,因此,提出逻辑回归模型来弥补这个缺陷。

  • 逻辑回归
    常见逻辑回归解决的问题中,因变量一般是true or false的关系,例如在判定某种癌症问题上,通过提取一类人群的特征如身高体重等(自变量),以及结果如是否患有该种类癌症(因变量),去寻找自变量和因变量的关系(参数θ),并用以推断某人是否患有该类癌症,其结果不具有连续性特征。
    逻辑回归主要在线性回归的基础上,将结果输入到sigmoid函数中去,即将该连续结果映射到0-1的区间中,因此可以将输出的结果视为分类为True的概率。

    sigmoid函数表达式如下:
    f ( z ) = 1 1 + e − z f(z)=\frac{1}{1+e^{-z}} f(z)=1+ez1
    因此逻辑回归的表达式为:
    h θ ( x ) = 1 1 + e − θ T x h_\theta(x)=\frac{1}{1+e^{-\theta^Tx}} hθ(x)=1+eθTx1
    对于逻辑回归损失函数的选择上,由于对输出加入了sigmoid激活函数,如果采用均方差作为损失函数,当输出接近0或者1时,会出现梯度消失的问题,结合sigmoid函数曲线来看:在这里插入图片描述
    很显然,当输出接近0或者1时,其斜率几乎为0,而均方差损失函数在求导后,在反向传播的过程中会再次与sigmoid函数的导数向乘,造成梯度消失,而采用交叉熵则可以避免这个问题,后续文章中会详细讲到,交叉熵表达式如下:
    l o s s = − 1 2 m ∑ i = 1 m ( y i l o g ( h θ ( x i ) ) + ( 1 − y i ) l o g ( 1 − h θ ( x i ) ) ) loss=-\frac{1}{2m}\sum_{i=1}^m(y_ilog(h_\theta(x_i))+(1-y_i)log(1-h_\theta(x_i))) loss=2m1i=1m(yilog(hθ(xi))+(1yi)log(1hθ(xi)))
    此外,有文章提出,在逻辑回归中采用均方差损失函数与与线性回归另一个不同之处在于该损失函数会出现许多局部极小值,对于使用梯度下降等方法求解全局最优解不利,本文尚未进行相应证实。

    之后采用梯度下降法来优化参数,使损失函数逐步趋于最优解,以此来进行模型的优化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值