Model and Cost Function
Linear regression predicts a real-valued output based on an input value. We discuss the application of linear regression to housing price prediction, present the notion of a cost function, and introduce the gradient descent method for learning
supervised learning: given the ‘right answer’ for each example in the data
regression problem: predict real-valued output
Notation:
m = Number of training examples()
x’s = “input” variable / features (输入值,也叫特征量)
y’s = “output” variable / “target” variable (输出变量或目标变量)
(x,y) = one training example (一个训练样本)
上图这个模型被称为线性回归(linear regression)模型,另外,这是关于单变量线性回归(linear regression with one variable or univariable linear regression)
上面这个模型,是为了更友好的描述监督学习问题而得来的,在这个模型中的h是hypothesis(意为预测)的简写,当这个模型中的预测值y,也就是target value是连续的时候,这就是个线性问题(regression problem),如果是离散的,则就是分类问题(classification)
代价函数(或成本函数)Cost Function
这个函数也叫作平方差函数
这个代价函数的目的是为了使目标变量的真实值和预测值的差距最小
Idea:Choose Θ0,Θ1 so that hΘ(x) is close to y for out training examples (x,y)
Cost Function - Intuition Ⅰ
需要注意的就是,hΘ(x)是关于x的函数,而J(Θ1)是关于参数Θ1的函数,我们的目标就是找到这个参数Θ1来是J(Θ1)的值最小,则这个参数就是能使我们的预测值和真实值差距最小的那个参数
Cost Function - Intuition Ⅱ
这一讲主要介绍了轮廓图(contour plot / contour graph)来更好的理解J函数的意义
Parameter Learning
Gradient Descent(梯度下降算法)
原文: Now we need estimate the parameters in the hypothesis function. That’s where gradient descent comes in.
梯度下降算法,在这里用来最小化j函数
上图就是梯度下降算法的定义图其中的:=表示赋值,α叫做learning rate(学校效率),它控制着以多大的幅度更新参数Θ0和Θ1;
另外,上面的simultaneous update(同步更新),需要Θ0和Θ1都更新后再赋值,否则第二个赋值的值会不正确
Gradient Descent Intuition
在梯度下降算法公式等号右边的部分中,α称为learning rate,剩下的部分合起来称为derivative term(导数项)
上图显示了,当公式中的导数项为正时,Θ1的值随着导数项的增大(也就是途中斜率的增大)而减小(接近最小值);反之当导数项为负时,Θ1的值随着导数项的增大而减小(同样也是接近最小值)
上图说明,我们需要调整α的值来确保梯度下降算法在一定时间内收敛,如果没有得到最小值,或者收敛的时间过长,都意味着α的值取值不对
另外,从上面的图中我们可以发现,当取到最小值的时候,函数的斜率为0,也就是导数项为0,所以公式简化为Θ1:=Θ1,因此当Θ已经找到局部最小值以后,Θ的值就不变了;
上图说明,即使阿尔法的值不对,随着函数接近最小值,梯度下降算法也会“放慢脚步”,因此不必减小阿尔法的值
Gradient Descent For Linear Regression
上图是将代价函数(Cost function)和梯度下降算法整合以后的公式
如果我们从一个猜测值开始预测,然后重复的应用梯度下降方程,我们的预测就会越来越准确;
这种方法对每一步都需要对所有的样本求和(Σ),所以也称之为batch gradient descent(批量梯度下降);
通常梯度下降可以收敛得到局部最小值,但是在线性回归问题中,只有一个全局的最小值,所以,梯度下降总是能够收敛(前提是learning rate α 不是太大)