文章目录
- 线性回归:
- 预测函数:
- 损失函数:
- 优化算法:
- 最小二乘法:
- 梯度下降法:
- 总结:
- 机器学习:
- 回归问题:
- 分类问题:
线性回归:
预测函数:
我们以上图为例: 在一维空间中,线性回归是通过学习一条直线(下图),使得这条直线尽可能的拟合所有的已知点y, 并且希望新的样本点也尽可能的落在直线上(泛化能力)。
其中: y是实际值(已知点),hθ(x)是预测值。
损失函数:
假如我们现在已经有了一条直线,那怎么评价这个直线拟合的好坏呢??所以我们提出对**预测函数hθ(x)**进行评估,评估函数就是一般的损失函数。
最直观的定义就是预测值和实际值尽可能的接近,即就是看预测值和实际值之间的均方误差是否最小,,如下图:
所以定义线性回归的损失函数为:
损失函数有了后,当预测函数hθ(x)的值和实际值y越接近时,损失函数就会越小!这条直线就拟合的越好,
上述损失函数中:参数只有预测函数hθ(x)中的θ,y是已知的点,所以:现在的优化问题就是要找到令损失函数J(θ)最小的θ。
优化算法:
最小二乘法:
基于均方误差最小化进行模型求解的方法称为“最小二乘法”:
最小二乘法是一种完全的数学描述的方法,用矩阵表示:
为了简化参数,我们先假设上面的预测函数为:
则损失函数变为:
展开并对其求偏导,令偏导为零
即可以求得θ的值:
存在的问题:
- 在实际任务中,特征数量大于样本的数量,XTX不满秩,这时θ有多个解;
- 当数据量很大时,矩阵的求逆非常的耗时,并且对于不能求逆的矩阵,这种方法不能用。
综上用最小二乘法在优化损失函数不好使!!
梯度下降法:
梯度下降法的流程:
- 对θ赋值,这个值可以是随机的
- 不断的改变θ的值,使得 损失函数J(θ) 减少,直到我们希望的一个值,如何改变呢??
- θ按照梯度(导数) 的方向进行 减少
公式如下:其中α是学习率,控制梯度下降幅度
分析一下上面的式子:我们开始给θ一个初始值,求出损失函数的导数(斜率),然后通过上面的迭代式,改变θ,这时再求出一个导数(斜率),重复这样的步骤,就如下图一样,当到达最低点(导数为0),θ不再变化,梯度不用再更新了,这时的预测值和实际值将会很接近!!!
利用梯度下降法,逐步最小化损失函数,找准梯度下方向,即偏导数的反方向,每次前进一小步,直到收敛,如上图所示:当梯度(导数)为零时,θ就不再变化,这时到达最优点(或者局部最优点)。
总结:
机器学习:
通俗来讲就是让机器学会决策,即学习一个函数f(x),这个函数可以很好的实现输入到输出的映射。而常见的实际问题中,分类和回归是机器学习的主要问题;
回归问题:
输入变量和输出变量可能具有不同的类型,当输入变量和输出变量均为连续变量的预测问题
分类问题:
输入变量和输出变量可能具有不同的类型,当输出变量为离散变量的预测问题
而这里的线性回归模型就是解决回归问题的:其可以用在一些预测值是连续变量的问题中。如房价预估。
模型的讲解从其预测函数讲起,为了评价预测函数的好坏,提出了损失函数,为了最小化这个损失函数,我们提出了优化算法来找到最优的参数,进而确定预测函数。
部分内容参考了知乎上的答案,忘了是那篇了,如有知者,我再加上