斯坦福机器学习公开课(2)

1、线性回归

线性回归假设特征和label满足线性关系。其实线性关系的表达能力特

别强,每个特征对结果的影响强弱可以由特征前的权重所体现。

在这里,我们用 x1,x2,x3,...,xn 来表示特征。 θ 为权重

参数,表示每个特征的影响力。

hθ(x)=θ0+θ1x1+θ2x2+...+θnxn

定义损失函数为:

J(θ)=12mi=1(hθ(xi)yi)2

为了找到使得目标函数最小的 θ 值,常用两种方法:梯度下降

法和最小二乘法。

2、梯度下降

2.1、批量梯度下降(Batch Gradient Descent):

批梯度下降法的主要思路:

(1)将 J(θ) 对所有的权重参数 θ 进行求导,得到每个

θ 对应的梯度:

J(θ)θj=mi=1(hθ(xi)yi)xij

(2) 由于要最小化损失函数,因而按每个参数 θ 的梯度负方向来

更新 θ

θj=θjαJ(θ)θj

其中 α 为步长,它能限制收敛的速度,若 α 的值太小,

那么收敛的速度会比较慢;若 α 的值太大,则其可能会跨过最

优值。

(3)重复执行步骤(1)、(2),直到损失函数收敛(如某两次的损

失函数值之差满足所设定的终止条件)。

从上面的算法可以看出,批量梯度下降在每一步更新参数时,都需要

用到训练集里的所有数据。若训练集特别大,那么参数更新的速度会

非常慢。在这种情况下,我们可以使用随机梯度下降。

2.2、随机梯度下降(Stochastic Gradient Descent):

随机梯度下降的思路如下:

(1)在随机梯度下降里,我们在更新参数时,每次只使用一个训练样

本。第i个样本在参数 θ 处的导数为:

Ji(θ)θj=(hθ(xi)yi)xij

(2)更新参数 θ

θj=θjαJi(θ)θj

(3)重复执行步骤(1)、(2),直到损失函数收敛。

随机梯度下降是通过每个样本来迭代更新一次,如果样本量很大的情

况(例如几十万),那么可能只用其中几万条或者几千条的样本,就

已经将theta迭代到最优解了,对比上面的批量梯度下降,迭代一次需

要用到十几万训练样本,一次迭代不可能最优,如果迭代10次的话就

需要遍历训练样本10次。但是,SGD伴随的一个问题是噪音较BGD要

多,使得SGD并不是每次迭代都向着整体最优化方向。最小化每条样

本的损失函数,虽然不是每次迭代得到的损失函数都向着全局最优方

向, 但是大的整体的方向是向全局最优解的,最终的结果往往是在全

局最优解附近。

3、最小二乘法


X=(x(1))T(x(2))Tx(m))T

θ=θ1θ2θn

Y=y(1)y(2)y(m)

则损失函数变为

J(θ)=12(XθY)T(XθY)

迹运算和导数的一些结论:

(1) tr(AB)=tr(BA)

(2) tr(ABC)=tr(CAB)=tr(BCA)

(3) tr(A)=tr(AT)

(4) tr(a)=a #其中a为实数。

(5) Atr(AB)=BT

(6) Atr(ABATC)=CAB+CTABT

则:

θJ=12θ(θTXTXθYTXθθTXTY+YTY)

其中 θθTXTXθ=θθIθTXTX=2XTXθ

θYTXθ=θθTXTY=XTY

θJ=2XTXθ2XTY

θ 的最优值为 (XTX)1XTY

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值