【Andrew Ng机器学习】单变量线性回归-代价函数(一)

课程:吴恩达机器学习


之前我们已经给出了代价函数的数学定义,接下来是一些例子,直观地来理解代价函数是用来做什么的,以及我们为什么要使用它。


回顾

【Andrew Ng机器学习】单变量线性回归-代价函数(一)_第1张图片
  • 我们喜欢找到一条与数据拟合的直线,所以我们构造了假设函数h
  • 假设函数h,包含了两个参数\theta_0\theta_1。随着参数的选择不同,我们会得到不同的直线
  • 代价函数J(\theta_0,\theta_1),也是我们的优化目标。

本次为了更好地使代价函数J可视化,使用一个简化的假设函数

【Andrew Ng机器学习】单变量线性回归-代价函数(一)_第2张图片

此时我们的优化目标就是尽量减少J(\theta_1)的值

实际上我们关注的是两个函数h\theta(x)和J(\theta_1)。
假设我们有以下数据集

【Andrew Ng机器学习】单变量线性回归-代价函数(一)_第3张图片

  • 我们设\theta_1为1,那么有h将表示为如下直线
    【Andrew Ng机器学习】单变量线性回归-代价函数(一)_第4张图片
    横轴的标签是房子的大小x。
    \theta_1=1时:

J(\theta_1)=(1/2m)\sum_{i=1}^m( h\theta (x^{(i)})-y^{(i)} )2
=(1/2m)\sum_{i=1}^m( \theta_1 x^{(i)}-y^{(i)} )2
=(1/2m)( 0^2 + 0^2 + 0^2)
=0^2

也就是J(1)=0,那么我们画出代价函数的图像如下:
【Andrew Ng机器学习】单变量线性回归-代价函数(一)_第5张图片
  • \theta_1 = 0.5时:
    【Andrew Ng机器学习】单变量线性回归-代价函数(一)_第6张图片

J(\theta_1)
=(1/2m)\sum_{i=1}^m( h\theta x^{(i)}-y^{(i)} )2
=(1/2m)( (0.5-1)^2 + (1-2)^2 + (1.5-3)^2)
=(1/6)*(3.5)=0.58

  • \theta_1 = 0时:
    【Andrew Ng机器学习】单变量线性回归-代价函数(一)_第7张图片

实际上经过一系列的计算我们就可以画出函数J(\theta)的形状:

【Andrew Ng机器学习】单变量线性回归-代价函数(一)_第8张图片

【Andrew Ng机器学习】单变量线性回归-代价函数(一)_第9张图片

那么我们优化的目标就是选择 \theta_1的值,使得J( \theta1)最小, 这就是线性规划的目标函数:

\theta_1选择1时,J( \theta_1)达到最小。而观察h函数图像,当 \theta_1为1时,h就是最符合数据的直线。


在本个例子中,我们简化了算法,使代价函数只有一个参数\theta_1,我们将参数\theta_0设置成了0, 接下来我们会回到原来的公式,看看同时包含两个参数\theta_0\theta_1的图形。
【Andrew Ng机器学习】单变量线性回归-代价函数(二)

你可能感兴趣的:(【Andrew Ng机器学习】单变量线性回归-代价函数(一))