Ng第二课:单变量线性回归(Linear Regression with One Variable)
二、单变量线性回归(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)的更多相关文章
- 斯坦福第二课:单变量线性回归(Linear Regression with One Variable)
二.单变量线性回归(Linear Regression with One Variable) 2.1 模型表示 2.2 代价函数 2.3 代价函数的直观理解 I 2.4 代价函数的直观理解 I ...
- 机器学习 (一) 单变量线性回归 Linear Regression with One Variable
文章内容均来自斯坦福大学的Andrew Ng教授讲解的Machine Learning课程,本文是针对该课程的个人学习笔记,如有疏漏,请以原课程所讲述内容为准.感谢博主Rachel Zhang的个人笔 ...
- [Machine Learning] 单变量线性回归(Linear Regression with One Variable) - 线性回归-代价函数-梯度下降法-学习率
单变量线性回归(Linear Regression with One Variable) 什么是线性回归?线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方 ...
- Coursera《machine learning》--(2)单变量线性回归(Linear Regression with One Variable)
本笔记为Coursera在线课程<Machine Learning>中的单变量线性回归章节的笔记. 2.1 模型表示 参考视频: 2 - 1 - Model Representation ...
- 机器学习(二)--------单变量线性回归(Linear Regression with One Variable)
面积与房价 训练集 (Training Set) Size Price 2104 460 852 178 ...... m代表训练集中实例的数量x代表输入变量 ...
- 吴恩达机器学习(二) 单变量线性回归(Linear Regression with one variable)
一.模型表示 1.一些术语 如下图,房价预测.训练集给出了房屋面积和价格,下面介绍一些术语: x:输入变量或输入特征(input variable/features). y:输出变量或目标变量(out ...
- 单变量线性回归(Linear Regression with One Variable)与代价函数
所谓的单变量线性回归问题就是监督学习的一部分. 通过构建数学模型给出一个相对准确的数值,也就是预测模型,通过将数据通过数学模型,衍生至回归问题 通过以下的几个例子,我们来研究单变量线性回归. 1.王阿 ...
- 机器学习第2课:单变量线性回归(Linear Regression with One Variable)
2.1 模型表示 之前的房屋交易问题为例,假使我们回归问题的训练集(Training Set)如下表所示: 我们将要用来描述这个回归问题的标记如下: m 代表训练集中实 ...
- 机器学习-线性回归算法(单变量)Linear Regression with One Variable
1 线性回归算法 http://www.cnblogs.com/wangxin37/p/8297988.html 回归一词指的是,我们根据之前的数据预测出一个准确的输出值,对于这个例子就是价格,回归= ...
随机推荐
- vs2017连接mysql以及问题汇总
https://www.cnblogs.com/eye-like/p/8494355.html https://blog.csdn.net/u012658972/article/details/791 ...
- vue的通讯与传递props emit (简单的弹框组件)
props父把信息传递给子组件 1父组件 <template> <div class="hello"> <div id="app-3&quo ...
- 5D - Rectangles
Given two rectangles and the coordinates of two points on the diagonals of each rectangle,you have t ...
- PAT 1050 螺旋矩阵(25)(代码)
1050 螺旋矩阵(25)(25 分) 本题要求将给定的N个正整数按非递增的顺序,填入"螺旋矩阵".所谓"螺旋矩阵",是指从左上角第1个格子开始,按顺时针螺旋方 ...
- TCP Nagle算法&&延迟确认机制
TCP Nagle算法&&延迟确认机制 收藏 秋风醉了 发表于 3年前 阅读 1367 收藏 0 点赞 0 评论 0 [腾讯云]买域名送云解析+SSL证书+建站!>>> ...
- grep如何进行正则表达式查找
字符类 字符类的搜索:如果我想要搜寻 test 或 taste 这两个单字时,可以发现到,其实她们有共通的 't?st' 存在-这个时候,我可以这样来搜寻: [root@www ~]# grep -n ...
- TP 真阳性 TN FP FN
TP.True Positive 真阳性:预测为正,实际也为正 FP.False Positive 假阳性:预测为正,实际为负 FN.False Negative 假阴性:预测与负.实际为正 T ...
- 关于nodejs 假设httpserver,会发现一次网页打开,服务端会响应两次的问题;
转自:http://cnodejs.org/topic/518772806d38277306804020 每个页面默认都会再发一个de style="line-height: 21px; p ...
- zabbix监控系统_监控收集脚本使用分享
性能测试总是要监控服务器,做了zabbix监控之后,重要收集监控数据,这里分享下我是怎么做的. 准备文件 python2.7 pypa-setuptools.tar.gz -p -path /h ...
- 查看CPU核数和内存
查看CPU核数 top 然后按数字键1 通过虚拟文件系统proc,直接获取CPU总数量 cat /proc/cpuinfo | grep processor 查看内存 free命令主要用于显示内存数量 ...