1. 寻找数据的拟合直线,即线性回归。
要找到,最佳的拟合直线 : (以只有一个特征的数据为例)
利用最小二乘估计 寻找最佳的参数,
(为什么使用最小二乘估计,即差的平方和,而不用绝对值或者四次方作为成本函数,见最小二乘法的概率解释)
(事实上,其实最小二乘估计是在广义线性模型是对高斯分布建模的结果)
定义成本函数:
矩阵形式
容易理解:
当成本函数值达到最小时,为拟合直线的回归系数的最佳估计参数。之所以称估计值是因为数据仅仅停留在训练集上。
求解成本函数极值方法:
(1).微分学求导方式(这里是矩阵求导) (本文所用方法)
(2).最优化算法,梯度下降算法
来理解方法1,成本函数中对自变量进行求导,由于是个矩阵,所以要进行对矩阵求导。
令导函数为0,得到结果式为:(过程详见)
即得:
最终得到回归系数矩阵 从而得到拟合直线(可扩展为平面乃至更高维度)
2. 接下来,进行实战利用python进行最佳拟合直线(代码)。
拟合结果图:
从结果上来看,线性回归的一个问题时有可能出现欠拟合现象,因为它是具有最小均方误差的无偏估计。所以有些方法允许在估计中引入一些偏差,来进一步降低均方误差。其中一种方法就是局部加权线性回归。
3. 考虑一个问题,当数据特征比训练集样本点还多时,也就是说不可逆。因为 。
此时就要用缩减样本来“理解”数据,求得回归系数矩阵。
附:
实战:可利用线性回归来预测鲍鱼的年龄