原创博客,转载请注明出处!
问题:假如有一些房子大小对应房价的数据,要求比较准确的预测房价
即我们给房价提供训练集数据,要求得到一个假设函数h(x),把房子大小作为输入变量,房价为输出变量来预测
记住几个概念
这堆已给出的正确的数据,称为训练集
m表示训练集的样本数
x是输入特征,y是输出变量
分别表示第i个训练样本的特征和输出变量
感觉可以用一条直线来拟合这些数据,就是线性回归
接下来目标:确定Θ0 和Θ1的值
为了更好的拟合数据,引入了代价函数J(Θ)的概念,而目标就是使得代价函数J(Θ)最小
代价函数的等高线图
代价函数最小的时候拟合的直线最符合
代价函数最小化的方法有两种:
一是梯度下降法
二是正规方程法
先介绍梯度下降法:
把这图想象成一座山,你站在图中标注的位置,想尽可能快的下山,旋转360°,看看我们周围并问自己:如果我要在某个方向上走一小步,应该朝哪个方向迈步?
走完刚刚那一步之后,你站在了新的起点,重复刚刚的步骤,直至最快下山,这就是梯度下降法
但是,起点不一样,所走的路及最终到达的终点可能不一样
数学定义:
反复做直到收敛
注意同时更新所有的Θ,因为如果不同时更新,那么Θ1算的值temp1值就是利用了新的Θ0的值,这就不合理
其中学习率α永远是个正数
如图,当在曲线右侧时,斜率是正数,此时减去一个正数,正是往最小值方向移动,在曲线左侧时,斜率是负数,减去负数就是加上一个正数,此时Θ1变大,正是往最低点移动
如图,学习率很重要,太小的时候会移动太慢,造成需要很多次重复才能收敛,太大的时候可能无法收敛,越来越偏离最低点,学习率合适的话,会自动收敛,正常来说收敛速度是越来越慢的
另外,到达局部最优点Θ就不再改变
应用到线性回归上,Θ的更新具体公式如上,需要牢记公式