您的位置:首页 > 其它

【Stanford机器学习笔记】1-Linear Regression with One Variable

2016-04-28 21:07 330 查看

1. Model Representation

单变量线性回归即假设函数中hθ(x)只包含一个特征变量x,加上一个偏差值bias,即只包含两个参数 θ0和θ1。

hθ(x)=θ0+θ1x监督分类的基本流程是将训练样本输入学习算法,通过训练得到最优参数Θ,最后得到假设函数h(x),然后用于回归预测。除了线性回归,还包括一些非线性回归,如指数、对数、多项式等。



2. Cost Function

代价函数J又叫误差平方函数,即所有样本的残差平方和。训练的目标是最小化代价函数,获取最优参数Θ,代价函数公式如下:J(Θ)=12m∑i=1m(hθ(x(i))−y(i))2目标函数是:min J(Θ)



备注:整个课程中,除特殊说明,m都是指训练样本(training examples)的个数,n都是指特征的个数(feature),即特征维数(feature dimension),i指的是第i个样本(ith example),j是指的第j个参数θj.

3. Cost Function-Intuition I

假设函数hθ(x)是关于x的函数,代价函数J(Θ)是关于参数Θ的函数。

现在令θ0=0,则假设函数变为:hθ(x)=θ1x此时,θ1即为直线hθ(x)的斜率,通过改变θ1的值,寻找代价函数J(Θ)的最小值,此时,θ1即为假设函数hθ(x)的最优参数。



4. Cost Function-Intuition II

现在令θ0和θ1都不等于0,即有两个参数,当有一个参数时,代价函数J(θ)是一个二次函数曲线,当有两个参数时,则代价函数J(θ)是一个三维的碗形曲面图形(二维中用等高线表示),每一对参数(θ0和θ1)都有一个J(θ)值,通过寻找θ0和θ1参数的值,使得J(θ)最小,及参数最优,得到最优假设函数hθ(x)。



课中是通过手动调节参数来是得代价函数J(θ)最小,进而获得最优参数,接下来的课中主要讲如何自动的训练模型来获得最优参数。

5. Gradient Descent

梯度下降法是机器学习中最常用的优化算法之一,该算法的主要流程是:

(1)计算代价函数J(Θ)的偏导数∂∂θjJ(Θ);

(2)利用梯度下降更新参数的值(注意是同时更新所有参数);θj:=θj−α∂∂θjJ(Θ) (for j=0 and j=1)

(3)依次循环1-2步,直至收敛(convergence)停止。



6. Gradient Descent Intuition

(1)梯度下降中的导数项ddθjJ(θ1)

假设只有一个参数θ1,则代价函数为J(θ1)为二次函数曲线,梯度下降公式为:θ1:=θ1−α∂∂θ1J(θ1)如果初始值θ1在对称轴右边,梯度下降导数项ddθjJ(θ1)大于等于0,则θ1逐渐减小;如果θ1在对称轴左边,梯度下降导数项ddθjJ(θ1)小于等于0,则θ1逐渐增加;



(2)梯度下降中的学习率α

如果学习率太小,则梯度下降将非常慢;如果太大,则可能会错过最代价函数最小值,或不能收敛。



(3)局部最小值(局部最优)

如果θ1初始值正好落在代价函数一个局部最小值处,则θ1将保持不变。



(4)接近最优,梯度下降逐渐减慢

如果学习率α是固定数值,则随着训练接近代价函数最小值(最优),梯度下降导数项逐渐变小,导致梯度下降逐渐减慢。



7. Gradient Descent for Linear Regression

(1)将梯度下降优化算法用于线性回归(假设只有一个参数x),关键在于计算其中的导数项∂∂θ1J(θ0,θ1)



(2)依次对参数进行求偏导



(3)同时更新参数值,循环以上步骤直至收敛



Note:

上一节中我们讲到,梯度下降可能会收敛到局部最小值,但是对于代价函数J(θ0,θ1)来说不会存在这个问题,因为J(θ0,θ1)是一个凸函数,只有一个全局最小值。



以上是使用的方法称为批量梯度下降法,即训练时遍历所有训练样本,还有另外一种方法叫随机批量梯度下降法(Stochastic Gradient Descent,SGD),在遍历循环时只需要部分样本即可,随后课程会讲到。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息