Model and Cost Function

1 模型概述 - Model Representation

To establish notation for future use, we’ll use

  • x(i)
  1. the “input” variables (living area in this example), also called input features, and
  • y(i)
  1. the “output” or target variable that we are trying to predict (price).

A pair (x(i),y(i)) is called a training example
the dataset that we’ll be using to learn—a list of m training examples (x(i),y(i));i=1,...,m—is called a training set.
the superscript “(i)” in the notation is simply an index into the training set, and has nothing to do with exponentiation

  • X
  1. the space of input values
  • Y
  1. the space of output values

In this example

X = Y = R



To describe the supervised learning problem slightly more formally, our goal is,
given a training set, to learn a function h : X → Y so that h(x) is a “good” predictor for the corresponding value of y.
For historical reasons, this function h is called a hypothesis. Seen pictorially, the process is therefore like this

  • regression problem
    When the target variable that we’re trying to predict is continuous, such as in our housing example
  • classification problem
    When y can take on only a small number of discrete values (such as if, given the living area, we wanted to predict if a dwelling is a house or an apartment, say)

简单的介绍了一下数据集的表示方法,并且提出来h(hypothesis),即通过训练得出来的一个假设函数,通过输入x,得出来预测的结果y。并在最后介绍了线性回归方程

2 代价函数 - Cost Function

代价函数是用来测量实际值和预测值精确度的一个函数模型.
We can measure the accuracy of our hypothesis function by using a cost function.
This takes an average difference (actually a fancier version of an average) of all the results of the hypothesis with inputs from x's and the actual output y's.


首先需要搞清楚假设函数和代价函数的区别
当假设函数为线性时,即线性回归方程,其由两个参数组成:theta0和theta1


我们要做的就是选取两个参数的值,使其代价函数的值达到最小化

J(θ0,θ1)=12m∑i=1m(y^i−yi)2=12m∑i=1m(hθ(xi)−yi)2

To break it apart, it is 1/2 x ̄ where x ̄ is the mean of the squares of hθ(xi)−yi , or the difference
between the predicted value and the actual value.
This function is otherwise called theSquared error function, or Mean squared error.
The mean is halved (1/2)as a convenience for the computation of the gradient descent, as the derivative term of the square function will cancel out the 1/2 term.
The following image summarizes what the cost function does:


3 代价函数(一)



If we try to think of it in visual terms, our training data set is scattered on the x-y plane.
We are trying to make a straight line (defined by hθ(x)) which passes through these scattered data points.

Our objective is to get the best possible line. The best possible line will be such so that the average squared vertical distances of the scattered points from the line will be the least.

Ideally, the line should pass through all the points of our training data set. In such a case, the value of J(θ0,θ1) will be 0.

The following example shows the ideal situation where we have a cost function of 0.

When θ1=1, we get a slope of 1 which goes through every single data point in our model.
Conversely, when θ1=0.5, we see the vertical distance from our fit to the data points increase.

This increases our cost function to 0.58. Plotting several other points yields to the following graph:
Thus as a goal, we should try to minimize the cost function. In this case, θ1=1 is our global minimum.



4 代价函数(二)


  • 等高线图是包含许多等高线的图形,双变量函数的等高线在同一条线的所有点处具有恒定值
    采用任何颜色并沿着'圆',可得到相同的成本函数值
  • 当θ0= 800且θ1= -0.15时,带圆圈的x显示左侧图形的成本函数的值
    取另一个h(x)并绘制其等高线图,可得到以下图表


例如,在上面的绿线上找到的三个红点具有相同的J(θ0,θ1)值,因此,它们能够被沿着同一条线找到

  • 当θ0= 360且θ1= 0时,等高线图中J(θ0,θ1)的值越接近中心,从而降低了成本函数误差
    现在给出我们的假设函数略微正斜率可以更好地拟合数据。

上图尽可能地使成本函数最小化,因此,θ1和θ0的结果分别约为0.12和250。
在我们的图表右侧绘制这些值似乎将我们的观点置于最内圈“圆圈”的中心。

5 梯度下降 - Gradient Descent



对于假设函数,我们有一种方法可以衡量它与数据的匹配度
现在我们需要估计假设函数中的参数。
这就是梯度下降使用到的地方。
想象一下,我们根据其字段θ0和θ1绘制我们的假设函数(实际上我们将成本函数绘制为参数估计函数)
我们不是绘制x和y本身,而是我们的假设函数的参数范围以及选择一组特定参数所产生的成本值
我们将θ0放在x轴上,θ1放在y轴上,成本函数放在z轴
我们的图上的点将是使用我们的假设和那些特定的θ参数的成本函数的结果

我们知道,当我们的成本函数位于图中凹坑的最底部时,即当它的值是最小值时,我们已经成功了
红色箭头显示图表中的最小点。
我们这样做的方法是采用我们的成本函数的导数(一个函数的切线)
切线的斜率是该点的导数,它将为我们提供一个朝向的方向
我们在最陡下降的方向上降低成本函数

每个步骤的大小由参数α确定,该参数称为学习率
例如,上图中每个“星”之间的距离表示由参数α确定的步长
较小的α将导致较小的步长,较大的α将导致较大的步长
采取步骤的方向由J(θ0,θ1)的偏导数确定,根据图表的开始位置,可能会在不同的点上结束
两个不同的起点,最终出现在两个不同的地方.
梯度下降算法:重复直到收敛


θj:=θj−α∂∂θjJ(θ0,θ1)

where
j=0,1 represents the feature index number.
在每次迭代j,应该同时更新参数θ1,θ2,...,θn。
在第j次迭代计算另一个参数之前更新特定参数将导致错误的实现。

6 梯度下降知识点总结


在本文,我们探讨了使用一个参数θ1并绘制其成本函数以实现梯度下降的场景
对单个参数的公式是:重复直到收敛

θ1:=θ1−αddθ1J(θ1)


无论ddθ1J(θ1)的斜率符号如何,θ1最终会收敛到其最小值
下图显示当斜率为负时,θ1的值增加,为正时,θ1的值减小

Choose Learning Rate α

另外,我们应该调整参数α以确保梯度下降算法在合理的时间内收敛。
没有收敛或太多时间来获得最小值意味着我们的步长是错误的。

  • 如果J(θ)在下降,但是下降的速度很慢的话,就需要增大学习率α,因为每一步走的都太短了,导致到达最优解的速度下降,即收敛速度下降。

  • 因为α大的原因,每次都一步跳过了最优解点,导致距离最优解越来越远,J(θ)不断上升


梯度下降如何由一个定步长的α收敛?

收敛背后的直觉是当我们接近凸函数的底部时ddθ1J(θ1)接近0。
至少,导数总是0

因此我们得到:

θ1:=θ1−α∗0

7 线性回归的梯度下降

回顾下之前所学

  • 梯度下降算法
  • 线性回归模型

    • 线性假设
    • 平方差代价函数

我们要做的就是将梯度下降算法应用于线性回归模型的平方差代价函数
其中关键的是这个导数项

当具体应用于线性回归的情况时,可以导出梯度下降方程的新形式
我们可以替换我们的实际成本函数和我们的实际假设函数,并将等式修改为:

repeat until convergence: {θ0:=θ1:=}θ0−α1m∑i=1m(hθ(xi)−yi)θ1−α1m∑i=1m((hθ(xi)−yi)xi)

derivation of ∂∂θjJ(θ) for a single example :
其中m是训练集的大小
θ0是一个常数,它将与给定训练集(数据)的θ1和xi,yi 的值同步变化
注意,我们已经将θj的两种情况分离为θ0和θ1的两种情况的偏导数方程

而对于θ1,由于导数,我们在末尾乘以xi
以下是一个单个例子的∂∂θjJ(θ)的推导:

所有这一切的要点是,如果我们从某个猜想开始,然后重复应用这些梯度下降方程,我们的假设将变得越来越准确
因此,这只是原始成本函数J的梯度下降
该方法在每个步骤中查看整个训练集中的每个示例,并称为批量梯度下降

需要注意的是,虽然梯度下降一般对局部最小值敏感,但我们在线性回归中提出的优化问题只有一个全局,而没有其他局部最优; 因此,梯度下降总是收敛(假设学习率α不是太大)于全局最小值
实际上,J是凸二次函数。 下面是梯度下降的示例,因为它是为了最小化一个二次函数而运行的

上面显示的椭圆是二次函数的轮廓
还示出了梯度下降所采用的轨迹,其在(48,30)处初始化
图中的x(由直线连接)标记了渐变下降经历的θ的连续值,当它收敛到其最小值时

吴恩达机器学习 Coursera 笔记(二) - 单变量线性回归...相关推荐

  1. 吴恩达机器学习 Coursera 笔记(二) - 单变量线性回归

    Model and Cost Function 1 模型概述 - Model Representation To establish notation for future use, we'll us ...

  2. 吴恩达机器学习课后作业1——单变量线性回归(Linear regression with one variable)

    1. 问题和数据 假设你是一家连锁餐车店的老板,但是你又和别的土老板不一样,你又刚好是个懂线性回归,还懂编程的老板,正在考虑在不同的城市开一家新店.该连锁店已经在各个城市开设了餐车,你可以获得这些城市 ...

  3. 吴恩达机器学习(一)单变量线性回归(假设函数、代价函数、梯度下降)

    目录 0. 前言 1. 假设函数(Hypothesis) 2. 代价函数(Cost Function) 3. 梯度下降(Gradient Descent) 学习完吴恩达老师机器学习课程的单变量线性回归 ...

  4. 吴恩达机器学习总结五:单变量线性回归实战

    线性回归实战总结: 单变量线性回归: 1.加载和查看数据(准备工作) data = load('ex1data1.txt'); x=data(:,1); y=data(:,2); plot(x,y,' ...

  5. 吴恩达机器学习课程笔记章节二单变量线性回归

    1.模型描述 Univariate(One variable)Linear Regression m=训练样本的数目,x's=输入的变量/特征,y's=输出变量/目标变量 2.代价函数 基本定义: 3 ...

  6. 吴恩达机器学习 Coursera 笔记(三) - 线性回归回顾

    1 矩阵和向量 矩阵 向量 2 加法和标量乘号 加法 标乘 转载于:https://juejin.im/post/5c1953b2e51d4545020b46ce

  7. 吴恩达“机器学习”——学习笔记二

    定义一些名词 欠拟合(underfitting):数据中的某些成分未被捕获到,比如拟合结果是二次函数,结果才只拟合出了一次函数. 过拟合(overfitting):使用过量的特征集合,使模型过于复杂. ...

  8. 吴恩达机器学习课程笔记(英文授课) Lv.1 新手村(回归)

    目录 1-1机器学习的相关名词 1-2 什么是机器学习? 1.definition 定义 2.主要的机器学习算法的分类 1-3有监督学习及常用算法 1.定义 2.两种数据类型补充:categorica ...

  9. 吴恩达《机器学习》学习笔记二——单变量线性回归

    吴恩达<机器学习>学习笔记二--单变量线性回归 一. 模型描述 二. 代价函数 1.代价函数和目标函数的引出 2.代价函数的理解(单变量) 3.代价函数的理解(两个参数) 三. 梯度下降- ...

最新文章

  1. Python--日志模块
  2. 汇编语言(十五)之找出两个数组中的相同元素
  3. PHP拦截器的使用(转)
  4. 数据分析 | 基于智能标签,精准管理数据
  5. IPV4与IPV6的区别(史上最详细)
  6. Nginx取消泛解析
  7. 计算机数据网络说课稿,2017年教师考试备考:中学计算机说课稿《工作表中的数据管理》...
  8. 【笔记】解析MP3文件信息
  9. php打印文本中随机行内容
  10. KeyPass密码管理软件使用说明
  11. 数理统计——随机过程
  12. oracle用exp定时备份数据库,oracle exp备份数据库
  13. win7下MyEclipse装Nutch1.7
  14. “去哪儿”创始人兼总裁庄辰超专访实录
  15. 记录第一次面试的体会(字节跳动实习生招聘)
  16. 铂电阻测温电路c语言程序,pt100测温电路(经典测温范围)
  17. 『杭电1726』God’s cutter
  18. luoguP1357 花园
  19. linux watch 查看文件,linux watch肿么退出
  20. 信用卡收单业务--银行业务(七)

热门文章

  1. 网站留言板防重复留言_2020微信公众号怎么开通原创、赞赏、留言功能?【5月更新】...
  2. 攻击 | 破解windows7密码(利用PE系统破解XP密码)
  3. mysql create database to_mysql之CREATE DATABASE Syntax(创建数据库)
  4. 陌屿云PHP代码在线加密系统6.0源码 可添加小马
  5. 微信微擎口红机带闯三关送礼品完整源码+精美UI支持海报推广
  6. iOS7应用开发1、菜鸟那点儿事儿
  7. 在shell中如何判断一个变量是否为空
  8. pythonの鉴黄之路(二)——图片转base64码
  9. 动态规划——搬寝室(hdu1421)
  10. PHP+nginx安装配置注意事项