线性回归与逻辑回归损失函数推导

损失函数推导

线性回归

首先损失函数是为了衡量模型预测的数据与真实数据之间的区别,那么问题来了为什么是平方损失,而不是绝对值损失,四次方损失。

一个很浅显的理解:二次方简单,导数是线性的且连续,而且离预测值远的值会被放大。

推导

假设模型已被训练到最佳,这时候与真实值必然会存在一些误差。比如房子供应商的心情突然好了,进行促销。这些都是不可知的,但所有的误差叠加到一起,
可以将其看做成一个高斯分布。也就是说所有点的误差 ϵ ∼ N ( 0 , σ 2 ) \epsilon \sim \mathcal N(0,\sigma^2) ϵN(0,σ2)
误差为x的概率 P ( ϵ = x ) = 1 2 π σ e x 2 − 2 σ 2 P(\epsilon=x) = \frac{1}{\sqrt{2 \pi} \sigma }e^{\frac{x^2}{-2\sigma^2}} P(ϵ=x)=2π σ1e2σ2x2
所以每个 X i \pmb X^i XXi因为误差取得 y i \pmb y^i yyi的概率 P ( y i ∣ X i ) = 1 2 π σ e ( X i θ − y i ) 2 − 2 σ 2 P(\pmb y^i|\pmb X^i) = \frac{1}{\sqrt{2 \pi} \sigma }e^{\frac{(\pmb X^i\pmb \theta - \pmb y^i)^2}{-2\sigma^2}} P(yyiXXi)=2π σ1e2σ2(XXiθθyyi)2
以上都是对一训练好的模型来说的。

而对于 θ \pmb \theta θθ未确定来说, X i \pmb X^i XXi因为误差取得 y i \pmb y^i yyi的概率 P ( y i ∣ X i ; θ ) = 1 2 π σ e ( X i θ − y i ) 2 − 2 σ 2 P(\pmb y^i|\pmb X^i; \pmb \theta) = \frac{1}{\sqrt{2 \pi} \sigma }e^{\frac{(\pmb X^i \pmb \theta - \pmb y^i)^2}{-2\sigma^2}} P(yyiXXi;θθ)=2π σ1e2σ2(XXiθθyyi)2
这时 y i y^i yi都发生的概率应为 P ( y ∣ X ; θ ) P(\pmb y| \pmb X; \pmb \theta) P(yyXX;θθ),将其设为 L ( θ ) \mathcal L(\pmb \theta) L(θθ)

L ( θ ) = P ( y ∣ X ; θ ) = ∏ i = 1 n P ( y i ∣ X i ; θ ) = ∏ i = 1 n 1 2 π σ e − ( X i θ − y i ) 2 2 σ 2 {\LARGE \begin{array}{rcl} \mathcal L(\pmb \theta) &=& P(\pmb y | \pmb X; \pmb \theta)\\ &=&\prod_{i=1}^n P(\pmb y^i|\pmb X^i; \pmb \theta)\\ &=& \prod_{i=1}^n \frac{1}{\sqrt{2 \pi} \sigma }e^{-\frac{(\pmb X^i\pmb \theta - \pmb y^i)^2}{2\sigma^2}} \end{array} } L(θθ)===P(yyXX;θθ)i=1nP(yyiXXi;θθ)i=1n2π σ1e2σ2(XXiθθyyi)2

如上式,所表示的是 y \pmb y yy发生的概率,只需要求能使得这个式子取得最大值的 θ \pmb{\theta} θθ即可,观此式,为积式,而且还有许多我们可以通过 log ⁡ \log log函数将其转化为和式并去掉指数函数。设 l ( θ ) = log ⁡ ( L ( θ ) ) \mathcal l(\pmb \theta) = \log (\mathcal L(\pmb \theta)) l(θθ)=log(L(θθ))

l ( θ ) = log ⁡ ( L ( θ ) ) = log ⁡ ( ∏ i = 1 n 1 2 π σ e − ( X i θ − y i ) 2 2 σ 2 ) = ∑ i = 1 n ( log ⁡ ( 1 2 π σ ) + log ⁡ ( e − ( X i θ − y i ) 2 2 σ 2 ) ) = n log ⁡ ( 1 2 π σ ) + ∑ i = 1 n ( X i θ − y i ) 2 2 σ 2 = n log ⁡ ( 1 2 π σ ) + ∑ i = 1 n ( X i θ − y i ) 2 2 σ 2 {\LARGE \begin{array}{rcl} \mathcal l(\pmb \theta) &=& \log (\mathcal L(\pmb \theta))\\ &=&\log(\prod_{i=1}^n \frac{1}{\sqrt{2 \pi} \sigma }e^{-\frac{(\pmb X^i\pmb \theta - \pmb y^i)^2}{2\sigma^2}})\\ &=&\sum_{i=1}^n(\log( \frac{1}{\sqrt{2 \pi} \sigma })+\log(e^{-\frac{(\pmb X^i\pmb \theta - \pmb y^i)^2}{2\sigma^2}}))\\ &=&n\log( \frac{1}{\sqrt{2 \pi} \sigma }) + \sum_{i=1}^n\frac{(\pmb X^i\pmb \theta - \pmb y^i)^2}{2\sigma^2}\\ &=&n\log( \frac{1}{\sqrt{2 \pi} \sigma }) + \frac{\sum_{i=1}^n(\pmb X^i\pmb \theta - \pmb y^i)^2}{2\sigma^2}\\ \end{array} } l(θθ)=====log(L(θθ))log(i=1n2π σ1e2σ2(XXiθθyyi)2)i=1n(log(2π σ1)+log(e2σ2(XXiθθyyi)2))nlog(2π σ1)+i=1n2σ2(XXiθθyyi)2nlog(2π σ1)+2σ2i=1n(XXiθθyyi)2

由此得到了函数 ∑ i = 1 n ( y i − X i θ ) 2 \sum_{i=1}^n(y^i-X^i\theta)^2 i=1n(yiXiθ)2,即 ( X θ − y ) T ( X θ − y ) (\pmb X \pmb \theta - \pmb y)^T(\pmb X \pmb \theta - \pmb y) (XXθθyy)T(XXθθyy),且只需要求函数的最小值,就是求 L ( θ ) \mathcal L(\pmb\theta) L(θθ)的最大值。

即:
J ( θ ) = ( X θ − y ) T ( X θ − y ) J(\pmb \theta) = (\pmb X \pmb \theta - \pmb y)^T(\pmb X \pmb \theta - \pmb y) J(θθ)=(XXθθyy)T(XXθθyy)

这时求其梯度得

∂ J ( θ ) ∂ θ = ∂ ( ( X θ − y ) T ( X θ − y ) ) ∂ θ = x = X θ − y ( ∂ x T x ∂ x ) T ∂ ( X θ − y ) ∂ θ = ( 2 x ) T X = 2 ( X θ − y ) T X {\LARGE \begin{array} {rcl} \frac{\partial J(\pmb \theta)}{\partial \pmb \theta} &=& \frac{\partial ((\pmb X \pmb \theta - \pmb y)^T(\pmb X \pmb \theta - \pmb y))}{\partial \pmb \theta}\\ &\overset{\pmb{x} = \pmb X\pmb\theta-\pmb y }{=}& (\frac{\partial\pmb x^T \pmb x}{\partial \pmb x})^T \frac{\partial (\pmb X \pmb\theta - \pmb y)}{\partial \pmb \theta}\\ &=& (2\pmb x)^T \pmb X\\ &=& 2(\pmb X\pmb\theta-\pmb y)^T \pmb X\\ \end{array} } θθJ(θθ)==xx=XXθθyy==θθ((XXθθyy)T(XXθθyy))(xxxxTxx)Tθθ(XXθθyy)(2xx)TXX2(XXθθyy)TXX

逻辑回归

h ( X i ) = 1 1 + e − X i θ h(\pmb X^i) = \frac{1}{1+e^{- \pmb X^i \pmb\theta}} h(XXi)=1+eXXiθθ1

求逻辑回归线性回归同理:

l ( θ ) = log ⁡ ( L ( θ ) ) = log ⁡ ( P ( y ∣ X ; θ ) ) = log ⁡ ( ∏ i = 1 n P ( y i ∣ X i ; θ ) ) = log ⁡ ( ∏ i = 1 n h θ ( X ) y i ( 1 − h θ ( X ) ) 1 − y i ) = ∑ i = 1 n ( y i log ⁡ ( h θ ( X ) ) + ( 1 − y i ) log ⁡ ( 1 − h θ ( X ) ) ) {\LARGE \begin{array}{rcl} \mathcal l(\pmb \theta) &=& \log (\mathcal L(\pmb \theta))\\ &=& \log (P(\pmb y | \pmb X; \pmb \theta))\\ &=& \log (\prod_{i=1}^n P(\pmb y^i|\pmb X^i; \pmb \theta))\\ &=& \log (\prod_{i=1}^n h_{\pmb \theta} (\pmb X )^{\pmb y^i} (1 - h_{\pmb \theta}(\pmb X))^{1-\pmb y^i})\\ &=& \sum_{i=1}^n(\pmb y^i\log(h_{\pmb \theta} (\pmb X ))+(1-\pmb y^i )\log(1 - h_{\pmb \theta}(\pmb X)))\\ \end{array} } l(θθ)=====log(L(θθ))log(P(yyXX;θθ))log(i=1nP(yyiXXi;θθ))log(i=1nhθθ(XX)yyi(1hθθ(XX))1yyi)i=1n(yyilog(hθθ(XX))+(1yyi)log(1hθθ(XX)))


J ( θ ) = − l ( θ ) J(\pmb \theta) = - \mathcal l(\pmb \theta) J(θθ)=l(θθ)

对其求梯度得

∂ J ( θ ) ∂ θ = − ∑ i = 1 n ( y i log ⁡ ( h θ ( X ) ) + ( 1 − y i ) log ⁡ ( 1 − h θ ( X ) ) ) ∂ θ = − ∑ i = 1 n y i log ⁡ ( h ) + ( 1 − y i ) log ⁡ ( 1 − h ) ∂ h h ( θ ) ∂ θ = − ∑ i = 1 n ( y i h − 1 − y i 1 − h ) h ( 1 − h ) X i = − ∑ i = 1 n ( y i ( 1 − h ) − h ( 1 − y i ) ) X i = ∑ i = 1 n ( h θ ( X i ) − y i ) X i = ( [ ⋮ h θ ( X i ) ⋮ ] − y ) T X {\LARGE \begin{array} {rcl} \frac{\partial J(\pmb \theta)}{\partial \pmb \theta} &=& \frac{-\sum_{i=1}^n(\pmb y^i\log(h_{\pmb \theta} (\pmb X ))+(1-\pmb y^i )\log(1 - h_{\pmb \theta}(\pmb X)))}{\partial \pmb \theta}\\ &=& -\sum_{i=1}^n\frac{\pmb y^i\log(h)+(1-\pmb y^i )\log(1 - h)}{\partial h} \frac{h(\pmb\theta)}{\partial \pmb \theta}\\ &=& -\sum_{i=1}^n(\frac{\pmb y^i}{h} - \frac{1 - \pmb y^i}{1 - h})h(1 - h)\pmb X^i\\ &=& -\sum_{i=1}^n(\pmb y^i(1-h) - h(1 - \pmb y^i))\pmb X^i\\ &=& \sum_{i=1}^n(h_{\pmb \theta }(\pmb X^i) - \pmb y^i)\pmb X^i\\ &=& ( \begin{bmatrix} \vdots \\ h_{\pmb \theta }(\pmb X^i)\\ \vdots\\ \end{bmatrix} -\pmb y)^T \pmb X\\ \end{array} } θθJ(θθ)======θθi=1n(yyilog(hθθ(XX))+(1yyi)log(1hθθ(XX)))i=1nhyyilog(h)+(1yyi)log(1h)θθh(θθ)i=1n(hyyi1h1yyi)h(1h)XXii=1n(yyi(1h)h(1yyi))XXii=1n(hθθ(XXi)yyi)XXi( hθθ(XXi) yy)TXX

为什么是sigmoid

在线性回归的时候我们假设了误差 ϵ \epsilon ϵ,将其视为一个高斯分布,得到每个 y i \pmb y^i yyi的概率,
为什么到了逻辑回归就不用假设,而是 h θ h_{\pmb \theta} hθθ直接得到的就是概率呢?是通过推导得出来的还是只是因为此函数比较优异?

链接

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值