二、单变量线性回归(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  接下来的内容

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

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

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

转载于:https://www.cnblogs.com/Real-Ying/p/6748755.html

Ng第二课:单变量线性回归(Linear Regression with One Variable)相关推荐

  1. Coursera公开课笔记: 斯坦福大学机器学习第二课“单变量线性回归(Linear regression with one variable)”

    Coursera公开课笔记: 斯坦福大学机器学习第二课"单变量线性回归(Linear regression with one variable)" 发表于 2012年05月6号 由 ...

  2. 斯坦福大学机器学习第二课 “单变量线性回归”

    斯坦福大学机器学习第二课"单变量线性回归(Linear regression with one variable)" 发表于 2012年05月6号 由 52nlp 斯坦福大学机器学 ...

  3. Stanford机器学习---第二讲. 多变量线性回归 Linear Regression with multiple variable

    本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Octave Tutorial.Logistic Regression.Regularization.神经网络.机器学 ...

  4. 第二章 单变量线性回归-机器学习老师板书-斯坦福吴恩达教授

    第二章 单变量线性回归 2.1 模型描述 2.2 代价函数 2.3 代价函数(一) 2.4 代价函数(二) 2.5 梯度下降 2.6 梯度下降知识点 2.7 线性回归的梯度下降 2.1 模型描述 2. ...

  5. 单变量与多变量线性回归(Linear Regression with One Variable)

    2.1 线性回归算法模型表示 让我们通过一个例子来开始:这个例子是预测住房价格的,我们要使用一个数据集,数据集包含俄勒冈州波特兰市的住房价格.在这里,我要根据不同房屋尺寸所售出的价格,画出我的数据集. ...

  6. 机器学习代码实战——线性回归(单变量)(Linear Regression)

    文章目录 1.实验目的 2.导入必要模块并读取数据 3.画当前数据分布散点图 4.提取数据和标签 5.训练+预测 1.实验目的 使用线性回归模型预测2020年加拿大公民的人均收入. 数据链接 密码:z ...

  7. 斯坦福大学吴恩达机器学习教程中文笔记——week1——引言,单变量线性回归,线性代数回顾

    第1周 文章目录 第1周 @[toc] 引言(Introduction) 1.1 欢迎 1.2 机器学习是什么? 1.3 监督学习 1.4 无监督学习 二.单变量线性回归(Linear Regress ...

  8. CS229学习笔记(1)引言、单变量线性回归

    一.引言 1. 机器学习的定义 Tom Mitchell定义的机器学习是,一个程序被认为能从经验E中学习,解决任务T,达到性能度量值P,当且仅当,有了经验E后,经过P评判,程序在处理T时的性能有所提升 ...

  9. Stanford机器学习---第一讲. Linear Regression with one variable

    本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Octave Tutorial.Logistic Regression.Regularization.神经网络.机器学 ...

最新文章

  1. myeclipse java maven web 项目结构,Myeclipse 10 Maven 构建 Java Web 项目
  2. Silverlight3 Tools Download link
  3. 怎样格式化电脑_电脑硬盘故障恢复软件:坏硬盘数据怎么恢复?
  4. NOIP复习资料——往年习题精选
  5. 浅谈tcpwrapper的基本使用方法
  6. Android Bitmap 开源图片框架分析(精华四)
  7. 扇贝有道180914每日一句
  8. 获得数据库连接池中数据连接资源的两种方式
  9. Python tkinter库之Canvas正方形旋转
  10. [生存志] 第11节 历代大事件概览 春秋
  11. unity 暂停按钮_Unity应用怎么暂停(Pause)
  12. 麻省理工大学公开课笔记:算法导论(一)——引言
  13. mysql用户主机设置密码_MySQL用户账号管理(添加、删除、限制、设置密码、远程访问)...
  14. remote access between two linuxs
  15. 前端input操作,修改光标颜色,去除背景色
  16. 超详细 Servlet工作原理解析
  17. Java中xmp标签的作用_html 中 xmp标记
  18. rj45 千兆接口定义_RJ45接口针脚定义(各种接口针脚定义)
  19. 对话系统的设计艺术(完结)
  20. 遍历算法(先序,中序,后序,广度,深度)

热门文章

  1. 调用cmd方法,用于网盘文件压缩下载
  2. Log4net 日志使用介绍
  3. Java基础知识强化26:Object类之hashCode()方法、getClass()方法
  4. CSS中的Position属性
  5. Dave Python 练习十五 -- 面向对象编程
  6. Ubuntu14.04 桌面 launcher 终端 状态栏 失效解决
  7. 实用技巧:Linux操作系统Vim/Vi编程提速
  8. 【老王来了】之不眠不休教网络协议(RIP、OSPF、DHCP、VRRP、ACL、NAT)
  9. jdbc preparestatement 执行多条语句_第二十一天JDBC编程
  10. kill进程_你还在使用kill -9 杀进程吗?从原理谈避免踩雷!