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

前言

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

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

  • 输入:数据集 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
    评论
本教程为官方授权出品伴随着大数据时代的到来,作为发掘数据规律的重要手段,机器学习已经受到了越来越多的关注。而作为机器学习算法在大数据上的典型应用,推荐系统已成为各行业互联网公司营销体系中不可或缺的一部分,而且已经带来了真实可见的收益。目前,推荐系统机器学习已经成为各大公司的发力重点,众多知名公司(如亚马逊、netflix、facebook、阿里巴巴、京东、腾讯、新浪、头条等)都在着眼于将蕴含在庞大数据中的宝藏发掘出来,懂机器学习算法的大数据工程师也成为了新时代最紧缺的人才。精心打造出了机器学习推荐系统课程,将机器学习理论与推荐系统项目实战并重,对机器学习推荐系统基础知识做了系统的梳理和阐述,并通过电影推荐网站的具体项目进行了实战演练,为有志于增加大数据项目经验、扩展机器学习发展方向的工程师提供更好的学习平台。本课程主要分为两部分,机器学习推荐系统基础,与电影推荐系统项目实战。第一部分主要是机器学习推荐系统基础理论的讲解,涉及到各种重要概念和基础算法,并对一些算法用Python做了实现;第二部分以电影网站作为业务应用场景,介绍推荐系统的开发实战。其中包括了如统计推荐、基于LFM的离线推荐、基于模型的实时推荐、基于内容的推荐等多个模块的代码实现,并与各种工具进行整合互接,构成完整的项目应用。通过理论和实际的紧密结合,可以使学员对推荐系统这一大数据应用有充分的认识和理解,在项目实战中对大数据的相关工具和知识做系统的回顾,并且可以掌握基本算法,入门机器学习这一前沿领域,为未来发展提供更多的选择,打开通向算法工程师的大门。谁适合学:1. 有一定的 Java、Scala 基础,希望了解大数据应用方向的编程人员2. 有 Java、Scala 开发经验,了解大数据相关知识,希望增加项目经验的开发人员3. 有较好的数学基础,希望学习机器学习推荐系统相关算法的求职人员
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值