线性回归算法
特点线性回归算法的特点:
- 其解决的是回归问题
- 其思想简单,实现容易
- 有许多强大的非线性模型的基础
- 结果具有很好的可解释性
- 蕴含机器学习中的很多的重要的思想
什么是线性回归算法呢
设立一个有横纵坐标的二维坐标系,在各个样本之间,我们寻找一条直线,最大程度的“拟合”样本特征和样本输出标记之间的关系,说白了就是找到最能体现出这几个样本上升或是下降趋势的一天直线
这个坐标系和分类问题的坐标系还不一样
分类问题的坐标系是横轴和纵轴都是样本的特征,也就是说,一个样本有两个特征,但是回归问题中,是只有一个特征的,这是因为在回归问题中,我们真正要预测的是一个数值,这个具体的数值是在一个连续的空间里面的,所以这个数值要需要占一个坐标轴位置,而不是像分类问题一样可以直接简单的进行分类,如果要看有两个特征值的回归问题的话,只能在三维上观察了
当样本特征只有一个的时候,我们称为简单线性回归
当样本特征有多个的时候,我们称为多元线性回归
简单回归问题
在以x为横坐标,y为纵坐标的一个二维坐标轴上,我们知道,一条直线的方程可以写作为
其中a为斜率,b为截距
相应的,每个点来说,其对应的样本特征为xi,其表示为多个数据点中的第i个样本所对应的数据点,相应的,其对应的输出标记就是yi,在我们得到a和b以后,可以使用方程来得到相应的y
这个方程意味着什么呢,其意味着我们使用简单线性回归来进行对xi的计算进而得到yi,即得到我们预测的相应的预测值,相应的,预测值和真值之间可能会有差距
假设我们找到了最佳的拟合的直线方程
则对于每一个样本点xi来说,可以根据我们的直线方程来对预测值进行推导,预测值为
对于每一个xi来说,又都含有一个真值yi,在这种情况下,我们想要寻找最佳拟合的直线方程,我们就需要使预测值和真值的差距尽量的小
表达这两个值的差距:可以使用绝对值的思路
即真值减去预测值的差的绝对值
但是这是不好的,因为绝对值并不是处处可导的,因为我们可以将其差值进行平方,将正负号给抵消掉
考虑所有的样本,就可以使用求和的形式
那么现在的目标就是使所有样本的差距尽可能的小,将上述的式子和预测出的直线相结合,就可以得到
这样,简单线性回归法的目的就很明显了:
找到a和b,使上面的式子得出的结果尽可能的小,因为是监督学习,必须给出一组数据,所以这个式子中就只有a和b两个未知数
而这个也就是一类机器学习算法的基本思路,就是找到一个模型,使其可以最大程度上拟合我们的数据,在回归算法中,这个模型就是一个直线方程,所谓的最大程度的拟合数据,其实就是找到一个合适的函数,我们可以称这个函数为损失函数(没有拟合出的部分)或者是效用函数(拟合出的部分)
无论是哪种函数,机器算法都是通过分析问题,确定问题的损失函数或者效用函数,有时可以统称为目标函数,通过最优化损失函数或者效用函数,从而获得机器学习的模型
可以说近乎所有的参数学习算法都是这样的套路,都是在学习相应的参数来优化自己的目标函数,正是因为很多思路都是这样,最优化原理是非常重要的,无论是传统计算机还是其他都是如此
简单线性回归问题是个典型的最小二乘法的问题,即最小化误差的平方,我们可以得到两个式子,一般不用背这个式子,可以自己查