上个博文里面学习了监督学习和非监督学习的概念及区别,关于其知识就不做过多的介绍。线性回归就是用于监督学习的主要模型。在监督学习中,所给的数据集,有对应的‘’正确答案‘’,我们怎么根据数据集建立一个预测模型,使得我们预测结果更正确呢?下面是我学习单变量线性回归的一些笔记:学习单变量线性回归主要包括三部分内容:假设函数、代价函数、梯度下降
1、假设函数
以房价预测的为例,所给的数据集,有对应的‘’正确答案‘’,即这些数据样本中,每个房子大小x都有一个出售的价格y。我们建立一个假设函数h(x),这个函数能尽可能的反映x与y的关系,这个函数称为假设函数。
2、代价函数:用于评估模型的效果
我们得到假设函数,如何确定参数和,才能是计算出来的h(xi)最接近yi,当然最好的结果是h(xi)=yi。所以这里构建了一个代价函数,,也是我们假设函数预测的结果与“正确答案”的平均方差的二分一。min()就是我们的目标函数。
以单参数的代价函数为例,参数不同的取值,min()不同,可以得到与的对应关系如下图,我们希望我们预测出来的h(xi)-yi最小,即最小值相对应的就是我们需要的。
我们的房价预测的例题中,代价函数有两个参数和。
我们的与的关系图,如下。我们求的目标函数的最优点就在凹点。
3、梯度下降:用于自动寻找代价函数的局部最优解(线性回归模型的代价函数是一个凹函数,只有一个局部最优解,也是全局最优解。)梯度下降的主要特点是:参数同步更新。
如何求解这个代价函数的最小值,我们也不能每次都画出参数组与J的关系的关系图,再用肉眼去寻找这个最低点,尤其当参数数量较大时,我们怎么能快速得到代价函数J 所对应的参数组的取值?吴老师的课堂上提出了利用梯度下降去快递找到代价函数的局部最优解。(求解代价函数最小值的方法:①梯度下降(大数据,多参数);②正规化方程组)
①梯度下降介绍
梯度下降的公式如下图,表示代价函数中的某个参数,为参数移动步长,该项为代价函数对偏导数。
取值太小,或过大都不容易找到局部代价函数的J最小值,具体过程如下
为代价函数对偏导数,即J_关系图相对于该点的切线,如下图
②了解梯度下降觉得的原理之后,我们这里要解决的问题是,如何将梯度下降应用到代价函数中去,求解min(J)?
这是我们线性规划公式及求解所需要的公式:
将代入梯度下降进行计算,并同步更新和,如图
迭代计算,找到代价函数最小的参数组的值,将计算出来的代回,得到的h(x)即为,我们较好预测房价的线性回归模型。