线性回归与对数几率(Logistic)回归的区别与联系

1 线性回归

线性回归其实就是高中讲过的那种回归,但是不同的是线性回归在神经网络这里大多使用梯度下降来计算参数 w , b w,b w,b,而高中讲的是使用最小二乘法。
线性回归想解决的问题也是回归问题,公式:
y = w x + b y=wx+b y=wx+b
也可以写成:
h θ ( x ) = θ x h_\theta(x) =\theta x hθ(x)=θx
用图形表示的话:

如果更新方式使用梯度下降,其中损失函数为:

L o s s = 1 2 ∑ i ( y i ^ − y i ) 2 Loss = \frac{1}{2} \sum_i{(\hat{y_i}-y_i)^2} Loss=21i(yi^yi)2
一个线性回归的输出点 y y y更像是一个没有激活的神经元,因此在pytorch里的普通神经网络层叫做nn.Linear(input, output, bias=True)。

2 Logistic回归

与线性回归相比,Logistic回归结构只是在其基础上多了一个激活的过程。
公式:
h θ ( x ) = 1 1 + e − θ T x h_\theta(x) = \frac{1}{1+e^{-\theta^T x}} hθ(x)=1+eθTx1
用图形表示的话:

粉色代表一个非线性化过程。因为Logistic回归输出结果在(0,1)之间,往往用这个值做二分类,当输出 y > 0.5 y>0.5 y>0.5时,代表1类;当输出 y ≤ 0.5 y \leq 0.5 y0.5时,代表0类。
这里面除了结构的区别之外,还有一个地方有区别,那就是损失函数的表达式不同。因为Loss此时和 θ \theta θ的关系非线性程度较大,如果还使用平方差损失函数的话,就会比较麻烦(不是不行)。因此在Logistic回归中损失函数的公式为交叉熵:
L o s s = − y l o g ( h θ ( x ) ) − ( 1 − y ) l o g ( 1 − h θ ( x ) ) Loss = -ylog(h_\theta(x))-(1-y)log(1-h_\theta(x)) Loss=ylog(hθ(x))(1y)log(1hθ(x))
这里用到了真实值 y y y只有两个取值 0 , 1 0,1 0,1,使得计算过程得到了高效的转化。
一个线性回归的输出点 y y y更像是一个激活的神经元。这里有一个细节,Logistic回归翻译成汉语应该是对数几率回归,而不是逻辑回归。

3 总结

Logistic回归相当于在线性回归的基础上,多了一个sigmoid激活函数。因为结构上的这个区别,导致了以下两点主要的区别:

1)由于sigmoid可以将数值映射到0~1之间,因此Logistic回归主要用于二分类。
2) 为了方便计算,Logistic使用交叉熵损失函数。
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值