二、单变量线性回归(Linear Regression with One Variable)

2.1  模型表示

2.2  代价函数

2.3  代价函数的直观理解

2.4  梯度下降

2.5  梯度下降的直观理解

2.6  梯度下降的线性回归

2.7  接下来的内容


2.1  模型表示

之前的房屋交易问题为例,假使我们回归问题的训练集(Training Set)如下表所示:

我们将要用来描述这个回归问题的标记如下:

m                代表训练集中实例的数量

x                 代表特征/输入变量

y                 代表目标变量/输出变量

(x,y)           代表训练集中的实例

(x(i),y(i))     代表第 i 个观察实例

h                代表学习算法的解决方案或函数也称为假设(hypothesis)

因而,要解决房价预测问题,我们实际上是要将训练集“喂”给我们的学习算法,进而学习得到一个假设 h,然后把我们要预测的房屋的尺寸作为输入变量输入给 h,预测出该房屋的交易价格作为输出变量输出为结果。对于这个房价预测问题,一种可能的表达方式为:

,因为只含有一个特征/输入变量,因此这样的问题叫作单变量线性回归问题。


2.2  代价函数

我们现在要做的便是为我们的模型选择合适的参数(parameters)θ0 和 θ1,在房价问题这个例子中便是直线的斜率和在 y 轴上的截距。

我们选择的参数决定了我们得到的直线相对于我们的训练集的准确程度,模型所预测的值与训练集中实际值之间的差距(下图中蓝线所指部分)就是建模误差(modeling error)。

我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数。 即使得代价函数  

我们绘制一个等高线图,三个坐标分别为 θ0 和 θ1 和 J(θ0,θ1):

则可以看出在三维空间中存在一个使得 J(θ0,θ1)最小的点。


2.3  代价函数的直观理解 

图1是不考虑θ0、θ1时J(0)为常数,图2是当只考虑θ1时代价函数J(θ1)的情况,图3是θ0、θ1都考虑时J(θ0,θ1)的情况。

代价函数的样子:

图1是固定的θ0、θ1,图2是参数的θ0、θ1


2.4 梯度下降的直观理解

梯度下降算法如下:

梯度下降的原理描述:首先对随机赋初值,减后值改变再带进去,使得按梯度下降最快的方向进行,一直迭代下去最终会得到局部最小值,即上式

表示最陡的那个方向,α 是学习率(learning rate)(步长)也就是说每次向下降最快的方向走多远。α过大时,有可能越过最小值,当α过小时,容易造成迭代次数较多收敛速度较慢。


2.5  梯度下降的线性回归

梯度下降算法和线性回归算法比较如图:

对之前的线性回归问题运用梯度下降法,关键在于求出代价函数的导数,即:

j=0  时:

j=1 时: 

则算法改写成:


2.6  接下来的内容

在接下来的一组视频中,我会对将用到的线性代数进行一个快速的复习回顾。

通过它们,你可以实现和使用更强大的线性回归模型。事实上,线性代数不仅仅在线性回归中应用广泛,它其中的矩阵和向量将有助于帮助我们实现之后更多的机器学习模型,并在计算上更有效率。正是因为这些矩阵和向量提供了一种有效的方式来组织大量的数据,特别是当我们处理巨大的训练集时。

事实上,为了实现机器学习算法,我们只需要一些非常非常基础的线性代数知识。具体来说,为了帮助你判断是否有需要学习接 下来的一组视频,我会讨论什么是矩阵和向量,谈谈如何加 、减 、乘矩阵和向量,讨论逆 矩阵和转置矩阵的概念。

Ng第二课:单变量线性回归(Linear Regression with One Variable)的更多相关文章

  1. 斯坦福第二课:单变量线性回归(Linear Regression with One Variable)

    二.单变量线性回归(Linear Regression with One Variable) 2.1  模型表示 2.2  代价函数 2.3  代价函数的直观理解 I 2.4  代价函数的直观理解 I ...

  2. 机器学习 (一) 单变量线性回归 Linear Regression with One Variable

    文章内容均来自斯坦福大学的Andrew Ng教授讲解的Machine Learning课程,本文是针对该课程的个人学习笔记,如有疏漏,请以原课程所讲述内容为准.感谢博主Rachel Zhang的个人笔 ...

  3. [Machine Learning] 单变量线性回归(Linear Regression with One Variable) - 线性回归-代价函数-梯度下降法-学习率

    单变量线性回归(Linear Regression with One Variable) 什么是线性回归?线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方 ...

  4. Coursera《machine learning》--(2)单变量线性回归(Linear Regression with One Variable)

    本笔记为Coursera在线课程<Machine Learning>中的单变量线性回归章节的笔记. 2.1 模型表示 参考视频: 2 - 1 - Model Representation ...

  5. 机器学习(二)--------单变量线性回归(Linear Regression with One Variable)

    面积与房价 训练集 (Training Set) Size       Price 2104       460 852         178 ...... m代表训练集中实例的数量x代表输入变量 ...

  6. 吴恩达机器学习(二) 单变量线性回归(Linear Regression with one variable)

    一.模型表示 1.一些术语 如下图,房价预测.训练集给出了房屋面积和价格,下面介绍一些术语: x:输入变量或输入特征(input variable/features). y:输出变量或目标变量(out ...

  7. 单变量线性回归(Linear Regression with One Variable)与代价函数

    所谓的单变量线性回归问题就是监督学习的一部分. 通过构建数学模型给出一个相对准确的数值,也就是预测模型,通过将数据通过数学模型,衍生至回归问题 通过以下的几个例子,我们来研究单变量线性回归. 1.王阿 ...

  8. 机器学习第2课:单变量线性回归(Linear Regression with One Variable)

    2.1  模型表示 之前的房屋交易问题为例,假使我们回归问题的训练集(Training Set)如下表所示: 我们将要用来描述这个回归问题的标记如下: m                代表训练集中实 ...

  9. 机器学习-线性回归算法(单变量)Linear Regression with One Variable

    1 线性回归算法 http://www.cnblogs.com/wangxin37/p/8297988.html 回归一词指的是,我们根据之前的数据预测出一个准确的输出值,对于这个例子就是价格,回归= ...

随机推荐

  1. POPUP_TO_CONFIRM的使用方法

    CALL FUNCTION 'POPUP_TO_CONFIRM'       EXPORTING         TEXT_QUESTION               = '是否要打印凭证!'    ...

  2. mysql5.7 生成列 generated column

    生成列的值是根据列定义中的表达式计算得出的. mysql5.7支持两种类型的生成列: 1.virtual 生成列:当从表中读取记录时,才计算该列值.不会把数据持久化在硬盘上. 2.stored 生成列 ...

  3. 【WH】MVC数据分页扩展类

    public static class QueryableExtensions { #region 内存分页 /// <summary> /// 返回对象分页列表 /// </sum ...

  4. Linux移植之配置过程分析

    在Linux移植之移植步骤中已经将Linux移植的过程罗列出来了,现在分析一下Linux的配置过程,将分析以下两个配置过程: 1.make s3c2410_defconfig分析 2.make men ...

  5. .net序列化

    在开发过程中,会遇到很多需要使用序列化的场景,比如wcf,webservice或者jquery+.net等.那今天就说说我对序列化的理解. 在.net中有几种序列化的方式,XML.二进制.SOAP.还 ...

  6. Luogu 3424 [POI2005]SUM-Fibonacci Sums

    Solution 没有任何算法, 只要会$for$ 就能AC... 我们观察到, 如果有一个位置 的$F_i$ 的系数$b_i$ 为2, 那么只需要把 $b_{i-2}+1,b_{i+1}+1$即可. ...

  7. 在HashTable上下文中,同步指的是什么?

    同步意味着在一个时间点只能有一个线程可以修改hash表,任何线程在执行HashTable的更新操作前都需要获取对象锁,其他线程需要等带锁的释放.

  8. Laravel Relationship Events

    Laravel Relationship Events is a package by Viacheslav Ostrovskiy that adds extra model relationship ...

  9. nginx 域名(虚拟)部署nodejs项目

    首先说下我的情况,Windows+mongodb开发的简单nodejs 小博客系统, 配置部署到centos7 nginx下,mongodb还是在我Windows机器下, 1.Linux安装node. ...

  10. myeclipse 上安装 Maven3

    myeclipse 上安装 Maven3   环境准备: JDK 1.6 Maven 3.0.4 myeclipse 8.6.1 安装 Maven 之前要求先确定你的 JDK 已经安装配置完成.Mav ...