机器学习笔记(二) 单变量线性回归
来源:互联网 发布:阿里云备案咨询电话 编辑:程序博客网 时间:2024/06/05 17:08
1.训练集
有训练样例(training example)组成的集合就是训练集。
如上图所示,右边两列数据就是训练集。一个(x,y)就是一个训练样例。我们用一些特定的字母表示术语:
2.假设函数(Hypothesis Function)
假设函数由训练集和学习算法可以得到,标记是h。如上图所示,通过训练集和学习算法,我们的假设函数可以用房屋面积去计算得到房屋的大致估价。
那么该怎么表示假设函数h?
在房屋的这个例子中,只有一个变量就是房屋的面积,我们的假设函数可以表达为:h(x)=θ0+θ1 X 。这个就叫做单变量的线性回归。
3.代价函数
在这个假设函数中,有两个参数θ0和θ1。如果两个参数θ0和θ1的取值不相同,我们的假设函数会有不同的效果。
这两个参数在选择的过程中,要使得每个样例的估计值与真实值之间的差的平方的均值最小,在上例中,就是选择θ0和θ1,对训练样例(x,y),h(x)最接近y。这是代价函数的公式。
我们在分析的过程中,可以令θ0为0,简化代价函数。此时假设函数为h(x)=θ1 X。
再令θ1=1,h(x)=x,假设函数如下图左,三个红叉代表训练样例,计算得到J(θ)=0,在右图中表示出来就是(1,0)。
重复上面的步骤,令θ1=0.5,计算h(θ),J(θ)。
对不同的θ1,可以得到不同的假设函数h(θ),于是便有不同的J(θ)的值,我们把得到的结果连起来。当θ1等于1的时候,J(θ)的值最小,目标达成。
以上的结果是在令θ0=0的情况下得到的,但是θ0不等于0呢?比如说,取θ0等于0.5,这时就有两个变量,自然地,J(θ0,θ1)是一个曲面。
我们可以用等高线代替对3维图像的分析,往里走代表J(θ0,θ1)的值小。编写程序,不断利用程序去调整,找到最佳的h(θ),最佳的θ0和θ1,使得J(θ0,θ1)的值最小。
3.梯度下降算法(Gradient Descent)
想要找到合适的θ0,θ1,可以先以某一个具体的θ0和θ1开始,不断改变值的大小,使J得值不断减小,直到找到一个最小值。如下图所示,从某一点开始,每次沿着一定的梯度下降直到达到一个极小值为止。梯度下降和下山一样,坡度不一样,下降的速度就不一样,而且有可能走向不同的最低点。下降梯度算法可以帮助我们改变θ0,θ1的值。(α称为学习率,后面的偏导是梯度)
这里要特别注意的是,θ0,θ1的值是同时改变的,如果想右边所示改变就出现错误。
令θ0=0,假设θ1在最低点的右侧,此时梯度是正数,根据梯度下降算法更新θ1,它的值会不断减小,靠近最低点。
同理假设θ1在最低点的左侧,此时梯度是一个负数,根据算法更新θ1,值会增大,靠近最低点。
如果一开始θ1在最合适的位置,根据算法更新时,值不会有改动。
学习率α会影响梯度的下降。α太小,θ的变化会很小,梯度下降会很慢。相反,α太大,θ的变化会很大,可能越过最低点,可能永远没法达到最低点。
但是如果越来越接近最低点,那么斜率会逐渐减小,每次下降程度会越来越小,所以不需要改变α的值来减小下降程度。
我们把梯度下降算法应用到线性回归模型中去,其中关键的一个步骤就是计算其中的偏导数项。
可以得到如下结果(梯度下降算法):
简要看下梯度下降算法的迭代过程:
最终得到最优解,我们可以用最优解对应的假设函数对房价进行预测。比如说,1250平方英尺的房子大约能卖到270k美元,如下图:
- 机器学习笔记(二) 单变量线性回归
- 斯坦福机器学习笔记 第1周 二、单变量线性回归(二)
- 斯坦福机器学习笔记 第1周 二、单变量线性回归(一)
- Andrew Ng机器学习之二 单变量线性回归
- 【斯坦福大学-机器学习】2.单变量线性回归(二)
- [机器学习笔记] Note2--单变量线性回归
- COURSERA机器学习笔记——单变量线性回归
- 机器学习笔记-第一章 单变量线性回归
- Andrew NG 机器学习 笔记-week1-单变量线性回归
- 吴恩达Coursera机器学习课程笔记-单变量线性回归
- 机器学习(2)——单变量线性回归
- 机器学习入门笔记(二)----线性回归
- 单变量线性回归(二)
- 第一周-Coursera/Stanford机器学习课程学习笔记-单变量线性回归
- 斯坦福机器学习公开课笔记(一)--单变量线性回归
- Stanford机器学习课程笔记——单变量线性回归和梯度下降法
- 机器学习实战:单变量线性回归的实现
- 机器学习-1 概念和单变量线性回归
- 通达OA重新创建缓存的办法
- c++ 调用python传输图片
- SmartTabLayout顶部切换
- redis面试总结
- CentOS 7 tomcat8安装说明
- 机器学习笔记(二) 单变量线性回归
- Python自然语言处理 3 处理原始文本
- Face ID与传统的人脸识别到底有什区别?
- Mysql报错[Err] 1054
- 将列表导出为excel表格
- vuforia 中摄像机的开启与关闭
- Matlab 进行FFT,结果出现NAN的一种可能原因
- 团队天梯赛L1-040. 最佳情侣身高差
- centos7设置SSH免密码登录教程