MachineLearning ---- lesson 2 Linear Regression with One Variable
Linear Regression with One Variable
model Representation
以上篇博文中的房价预测为例,从图中依次来看,m表示训练集的大小,此处即房价样本数量;x表示输入变量或feature(特征),此处即房子面积;y是输出变量或目标变量,此处即房子价格。(x,y)是训练集中的一个样本,如图中加上右上角(i)表示训练集中第i个样本。
上图是机器学习的一个简单流程,我们通过对Training Set(训练集)使用Learning Algorithm 来训练出一个hypothesis函数(hypothesis是机器学习一直沿用下来的一个用语,不用纠结其具体含义),这样使用该函数就可以预估房价了。
hypothesis有很多种形式,上图是线性回归的一张二维坐标系图示,为了简单,途中只有一个输入变量x,纵轴y是输出变量,图中红色的叉是训练集中的点,黑色的直线就是我们的hypothesis函数,可以看到,该直线并没有经过所有的点,所以预估出来的值h(x)就会跟y只存在误差,这就涉及到下面要讲的cost函数。
cost function
cost function实际上就是求方差,预测值与实际值之间的。主要是用来寻找合适的参数。
如上图所示,为了简单起见,这里的theta只设置两个,并用一条直线来拟合。右上角的公式的意思就是寻找使cost function最小的theta值。注意,按照方差的定义来解释,公式中应该是1/m,这里除以2纯粹是为了计算导数方便,之所以可以这样改,是因为虽然方差值变化了,但是据此公式求出的theta值没有影响,比如从含一百个不同的整数的数组挑出最小的那个数的坐标,和把这一百个数除以2后再求得到的结果是一样的。
上图左侧直线是预测函数,右侧cost function。图中的 是实际值。右侧说明,当theta为1时,cost最低,此时的拟合就可认为是最好的拟合,当然上图中的点恰好的在直线上,实际场景中这种现象是不可能的。
现在给一个具体的预测函数,如上图左侧所示,此时我们重新使用两个theta值。右侧是只有一个theta1的cost function,下图是两个theta的cost function,是一个三维图像。
由于多维图像表示麻烦,之后的教程都已轮廓图来表示,以上图为例,用多个平行底面的平面切割图像,会得到很多闭合的线,将这些线投射到底面形成的图像将在之后使用。
稍作分析可知,左侧图形同一条线上的cost值是相同的,最小值则出现在中心那个圈上。
Gradient Descent
问题描述:
将两个theta初始化为0,然后不断改变二者的值来降低cost大小,直到达到我们满意的精度为止。
形象的来看,可以将上图看做一座山,将梯度下降看成一个下山的过程,由于存在局部最优解,上图下山的路径是由好几条的。图中只显示了一条路径。
上图是梯度下降过程,正如图中所说,我们通过不断修改theta的值,直到收敛。“:=”是赋值,“=”相当于c语言中的“==”,是比较。Learning rate是学习速率,在下山那个例子中讲,就是下山的步子大小。需要注意的是,theta的值需要同时更新,像左侧那样。
上图解释了更新theta的原理,求cost function最小值就是求其导数为零的时候。
上图是学习速率的解释,该值太小,收敛就很慢,即第一个图那样,太大则无法收敛,即第二个图那样。
Gradient Descent For Linear Regression
将之前的总结下,应用在一起。关键是上述导数项。
例子中有两个theta,要对其求偏导数,即上图的公式。
这里提到一个batch gradient Descent(批量梯度算法)就是指每步都将所有训练集加入运算。
MachineLearning ---- lesson 2 Linear Regression with One Variable的更多相关文章
- 【cs229-Lecture2】Linear Regression with One Variable (Week 1)(含测试数据和源码)
从Ⅱ到Ⅳ都在讲的是线性回归,其中第Ⅱ章讲得是简单线性回归(simple linear regression, SLR)(单变量),第Ⅲ章讲的是线代基础,第Ⅳ章讲的是多元回归(大于一个自变量). 本文的 ...
- Stanford机器学习---第二讲. 多变量线性回归 Linear Regression with multiple variable
原文:http://blog.csdn.net/abcjennifer/article/details/7700772 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...
- Stanford机器学习---第一讲. Linear Regression with one variable
原文:http://blog.csdn.net/abcjennifer/article/details/7691571 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...
- 机器学习笔记1——Linear Regression with One Variable
Linear Regression with One Variable Model Representation Recall that in *regression problems*, we ar ...
- Machine Learning 学习笔记2 - linear regression with one variable(单变量线性回归)
一.Model representation(模型表示) 1.1 训练集 由训练样例(training example)组成的集合就是训练集(training set), 如下图所示, 其中(x,y) ...
- Ng第二课:单变量线性回归(Linear Regression with One Variable)
二.单变量线性回归(Linear Regression with One Variable) 2.1 模型表示 2.2 代价函数 2.3 代价函数的直观理解 2.4 梯度下降 2.5 梯度下 ...
- 斯坦福第二课:单变量线性回归(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的个人笔 ...
- Lecture0 -- Introduction&&Linear Regression with One Variable
Introduction What is machine learning? Tom Mitchell provides a more modern definition: "A compu ...
随机推荐
- 20155233 2016-2017-2 《Java程序设计》第1周学习总结
20155233 2016-2017-2 <Java程序设计>第1周学习总结 教材学习内容总结 本周主要学习教材的第一章.第二章,了解了Java的发展历程,最基本的Java环境的搭建,以及 ...
- Discover Feature Engineering, How to Engineer Features and How to Get Good at It
Feature engineering is an informal topic, but one that is absolutely known and agreed to be key to s ...
- .net core 使用windows版redis
在项目中为了减少程序占用内存(将结果保存在全局变量里面,会占用内存),要求使用redis.开始了爬坑的过程.o(╥﹏╥)o c#操作redis 基本就这3中情况: ServiceStack.Redis ...
- Mac下 Windows 7 虚拟机成功搭建SVN服务器后如何与Xcode建立联系,并上传原始工程的详细步骤
内容中包含 base64string 图片造成字符过多,拒绝显示
- cogs2554 [福利]可持久化线段树
cogs2554 [福利]可持久化线段树 原题链接 每次修改复制一遍就行了... 1A!!! // It is made by XZZ #include<cstdio> #include& ...
- ADO.NET操作MySQL数据库
前言 ADO.NET包括5大对象,分别是Connection.Command.DataReader.DataSet.DataAdapter,使用ADO.NET访问数据库有两个步骤:建立数据库连接.读取 ...
- 视觉SLAM中的深度估计问题
一.研究背景 视觉SLAM需要获取世界坐标系中点的深度. 世界坐标系到像素坐标系的转换为(深度即Z): 深度的获取一共分两种方式: a)主动式 RGB-D相机按照原理又分为结构光测距.ToF相机 To ...
- loadrunner-录制脚本,设置代理,参数化,校验点,关联
详细记录一个脚本制作过程相关知识点 制作脚本 因为要做网页所以选择web协议,根据实际需要选择 选择浏览器地址,打开的网页网址,脚本存储地址以及初始化脚本,初始化脚本的目的是执行用例后不再执行此脚本中 ...
- mybatis按datetime条件查询,参数为时间戳时
mybatis按datetime条件查询,参数为时间戳时,如果数据库为2018-1-1 20:22:10, 你的时间戳也为2018-1-1 20:22:10,但却没找到数据.可能是时差导致的.百度修正 ...
- 【视频编解码·学习笔记】4. H.264的码流封装格式 & 提取NAL有效数据
一.码流封装格式简单介绍: H.264的语法元素进行编码后,生成的输出数据都封装为NAL Unit进行传递,多个NAL Unit的数据组合在一起形成总的输出码流.对于不同的应用场景,NAL规定了一种通 ...