一 介绍
线性回归算法是使用线性方程对数据集进行拟合的算法,是一个非常常见的回归算法。线性回归分为为两种:单变量线性回归和多变量线性回归。多变量是单变量的一种推广。
1 单变量回归算法:
单变量不言而喻是只有一个变量的回归算法。预测函数会根据输入特征来计算输出值。输入与输出的关系为。这个方程表达的是一条直线,我们的目标是构造一个函数,来映射数据集中的输入特征x和输出值y,使得预测函数预测值与真实值y的整体误差最小。构造这个函数的最关键是找到合适的。他们被称为模型参数。
2 多变量回归算法:
其实就是输入特征X的量级的变化。回归算法的预测函数为:+…… 假设x0=1时,得到
。
二 目标函数推导与求解
1 推导
通过数据集得到的预测函数,真实值与预测之间会存在误差,可得到下面的公式:
。我们假设误差是独立并且具有相同的分布,通常认为服从均值为0,对于找为对于找到的水塔,对于所有的,的高斯分布。
根据误差服从高斯分布可得:
备注:此部分里面的xi代表的是第i个样本;yi代表的是第i个样本的真实值。
2 求解
备注:此部分里面的xi代表的是第i个样本;yi代表的是第i个样本的真实值。
方法一:根据矩阵求导的方式求解
缺点:得到的值需要对矩阵求逆,但是当矩阵为非满秩矩阵时,无法求逆。此时可以采用岭回归(岭回归就是在矩阵XTX上加上了一个λI从而使得矩阵非奇异,进而能对XTX+λI求逆)。
方法二 :使用梯度下降算法
在机器学习中,在求最小值的时候,可以通过梯度下降法来一步步求解。
这样我们得到了采用梯度下降算法的参数迭代公式。
下面就是采用梯度下降算法的基本步骤:
(1)确定学习率:α太大可能会使成本函数无法收敛,太小则计算太多。
(2)确定参数起始点:可以让所有的参数都为1作为起点。也可根据实际情况灵活选择,以提高算法的性能。
(3)计算参数的下一组值:根据梯度下降参数迭代公式,分别同时算出(点击看详解)新的θj的值。然后用新的θ值,得到新的预测函数hθ(x),再根据新的预测函数,带入目标函数J(θ)就可以计算出新的目标值。
(4)确认目标函数是否收敛:拿新的目标值与旧的目标值进行比较,看目标值是否变得越来越小。如果两个目标值之间的差异小于误差范围,就可以近似的认为找到了最小的目标函数值。如果再误差范围之外,重复第三步,直到找到最优解。
总结:
1 线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。
2 如何让自己的学习有质感,一步步去推导。很多数学公式没有想象的那么难。
3 1+1+1 一定远远大于3.
注:推荐学习资料唐宇迪视频