《推荐系统笔记(一)》线性回归方法的数学推导

前言

在线性回归方法的推导中,实际上有两种角度,一种是从概率,即似然函数最大角度得出;另一种则是从损失函数最小出发,同样可以得到结果。

我们将线性回归问题阐述如下:

  • 输入:数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1, y_1), (x_2, y_2), ..., (x_N, y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)}
  • 输出: w , b w, b w,b;线性回归模型 y = w ⋅ x + b y=w\cdot x+b y=wx+b

我们将从如下两个角度,推导出同样的目标函数,从而说明两种角度的等价性。

1. 似然函数最大

假设线性回归结果与实际值之间的误差 ϵ \epsilon ϵ 服从参数为 ( μ = 0 , σ 2 ) (\mu=0, \sigma^2) (μ=0,σ2) 的正态分布,即 ϵ = y − ( w ⋅ x + b ) ∼ 1 2 π σ e − ϵ 2 2 σ 2 \epsilon=y-(w\cdot x+b)\sim \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{\epsilon^2}{2\sigma^2}} ϵ=y(wx+b)2π σ1e2σ2ϵ2

因此,给定 x i x_i xi,结果为 y i y_i yi 的概率为 P ( y i ∣ x i , w , b ) = 1 2 π σ e − ( y i − ( w ⋅ x i + b ) ) 2 2 σ 2 P(y_i|x_i, w, b)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{\left(y_i-(w\cdot x_i+b)\right)^2}{2\sigma^2}} P(yixi,w,b)=2π σ1e2σ2(yi(wxi+b))2

此时,对数似然函数为
L ( w , b ) = l o g Π i = 1 N P ( y i ∣ x i , w , b ) = ∑ i = 1 N l o g P ( y i ∣ x i , w , b ) = − ∑ i = 1 N ( l o g ( 2 π σ ) − l o g ( 2 σ 2 ) + ( y i − ( w ⋅ x i + b ) ) 2 ) \begin{array}{lll} L(w, b)&=&log\Pi_{i=1}^NP(y_i|x_i, w, b)\\ &=& \sum\limits_{i=1}^NlogP(y_i|x_i, w, b)\\ &=&-\sum\limits_{i=1}^N\left(log(\sqrt{2\pi}\sigma)-log(2\sigma^2)+\left(y_i-(w\cdot x_i+b)\right)^2\right) \end{array} L(w,b)===logΠi=1NP(yixi,w,b)i=1NlogP(yixi,w,b)i=1N(log(2π σ)log(2σ2)+(yi(wxi+b))2)

由于 σ \sigma σ w , b w, b w,b 无关,因此,
max ⁡ w , b L ( w , b ) = max ⁡ w , b − ∑ i = 1 N ( l o g ( 2 π σ ) − l o g ( 2 σ 2 ) + ( y i − ( w ⋅ x i + b ) ) 2 ) = min ⁡ w , b ( y i − ( w ⋅ x i + b ) ) 2 \begin{array}{lll} \max\limits_{w, b}L(w, b)&=&\max\limits_{w, b}-\sum\limits_{i=1}^N\left(log(\sqrt{2\pi}\sigma)-log(2\sigma^2)+\left(y_i-(w\cdot x_i+b)\right)^2\right)\\ &=& \min\limits_{w, b}\left(y_i-(w\cdot x_i+b)\right)^2 \end{array} w,bmaxL(w,b)==w,bmaxi=1N(log(2π σ)log(2σ2)+(yi(wxi+b))2)w,bmin(yi(wxi+b))2

从上面可知,当我们想要最大化似然函数的时候,实际上是最小化误差的平方项。

2. 损失函数最小

假设损失函数为平方函数,即
L ( y i , f ( x i ) ) = ( y i − f ( x i ) ) 2 L(y_i, f(x_i))=(y_i-f(x_i))^2 L(yi,f(xi))=(yif(xi))2

自然的,给定数据集 T T T,损失函数为
min ⁡ w , b L ( w , b ) = ∑ i = 1 N ( y i − ( w ⋅ x i + b ) ) 2 \min\limits_{w, b}L(w, b)=\sum\limits_{i=1}^N(y_i-(w\cdot x_i+b))^2 w,bminL(w,b)=i=1N(yi(wxi+b))2

显然,对比目标函数,可以见到最大化似然函数和最小化损失函数,实际上是等价的。

3. 梯度下降

综上,我们有线性回归的目标函数为
min ⁡ w , b L ( w , b ) = ∑ i = 1 N ( y i − ( w ⋅ x i + b ) ) 2 \min\limits_{w, b}L(w, b)=\sum\limits_{i=1}^N(y_i-(w\cdot x_i+b))^2 w,bminL(w,b)=i=1N(yi(wxi+b))2

分别对 w w w b b b 求导,我们有
∂ L ( w , b ) ∂ w = − 2 ∑ i = 1 N ( y i − ( w ⋅ x i + b ) ) x i \frac{\partial L(w, b)}{\partial w}=-2\sum_{i=1}^N(y_i-(w\cdot x_i+b))x_i wL(w,b)=2i=1N(yi(wxi+b))xi

∂ L ( w , b ) ∂ b = − 2 ∑ i = 1 N ( y i − ( w ⋅ x i + b ) ) \frac{\partial L(w, b)}{\partial b}=-2\sum_{i=1}^N(y_i-(w\cdot x_i+b)) bL(w,b)=2i=1N(yi(wxi+b))

我们有三种更新 ( w , b ) (w, b) (w,b) 的策略,分别是 随机梯度下降、批量梯度下降和小批量梯度下降。

  • 批量梯度下降:由于每次更新都考虑了所有样本点,所以速度慢,但容易获得最优解 w ← w + 2 ∑ i = 1 N ( y i − ( w ⋅ x i + b ) ) x i w\leftarrow w+2\sum_{i=1}^N(y_i-(w\cdot x_i+b))x_i ww+2i=1N(yi(wxi+b))xi b ← b + 2 ∑ i = 1 N ( y i − ( w ⋅ x i + b ) ) b\leftarrow b+2\sum_{i=1}^N(y_i-(w\cdot x_i+b)) bb+2i=1N(yi(wxi+b))
  • 随机梯度下降:每次更新只考虑一个样本点,所以迭代速度快,但并不一定能在给定迭代次数内找到最优解 w ← w + α ( y i − ( w ⋅ x i + b ) ) x i w\leftarrow w+\alpha(y_i-(w\cdot x_i+b))x_i ww+α(yi(wxi+b))xi b ← b + α ( y i − ( w ⋅ x i + b ) ) b\leftarrow b+\alpha(y_i-(w\cdot x_i+b)) bb+α(yi(wxi+b))
  • 小批量梯度下降:平衡上述两种方法的优缺点,选取其中一部分样本点更新 w ← w + α ∑ i = k l ( y i − ( w ⋅ x i + b ) ) x i w\leftarrow w+\alpha\sum_{i=k}^{l}(y_i-(w\cdot x_i+b))x_i ww+αi=kl(yi(wxi+b))xi b ← b + α ∑ i = k l ( y i − ( w ⋅ x i + b ) ) b\leftarrow b+\alpha\sum_{i=k}^l(y_i-(w\cdot x_i+b)) bb+αi=kl(yi(wxi+b))
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值