【机器学习】线性回归模型分析

具体原理不讲了,线性回归模型,代价损失函数 COST是均方误差,梯度下降方法。

  1. 属性取值。模型的属性取值设置需要根据每一个参数的取值范围来确定,将所有的属性的取值统一正则化normalization,统一规定在0~1的范围,或者-1~1的范围内,这样在进行线性回归时不会造成额外的回归开销。另外,正则化的方法有很多,常见的方法就是线性正则化,这是在不知道属性对预测值的影响的前提下才这么做的。之所以进行这种正则化,使我们默认了属性对数据的影响力是均等的。但是实际中很多时候,我们取得的很多属性根本没有意义,或者对预测值的影响并非线性,那么这时就出现了较大的问题,需要根据具体情况来更改。
  2. 模型的解。线性回归模型在保证属性空间内满秩的情况下,可以不用进行训练和迭代,直接有现成的公式可用,即通过矩阵运算得到预测值,模型也就确定下来了。但是很多时候,属性空间维度非常高,而数据空间则数量比较少,必然做不到满秩,当然,其中有个求逆矩阵的运算也是可以做的, 采用pseudo inverse即可。不满秩也就无法通过一次矩阵运算得到最优解,得到的是很多个解。因为用代价函数对模型参数求导取值为0的解有很多个,所以就需要在解空间中寻找最优解。
  3. 代价函数。之所以选择均方误差为代价函数,优点是:对其求导可以得到一次的导函数,运算简便;本身是多项式函数,求导性质比较好,而且是最简单的凸函数,方便找到最小值;相比绝对值函数,它考察了偏离真实值越远,代价成倍增大,符合实际情况,另外绝对值函数是个分段函数,求导不便。
  4. 对非线性的拟合。方法就是采用属性的扩展,比如,由于我们不知道属性对预测值的影响是不是线性,可以对属性进行函数扩展,多项式函数,指数函数,对数函数等等,创造出各种属性,这些属性进行线性综合,同时考虑正则化,归一化,这样进行训练得到的拟合效果更好。这是因为,真实的属性对预测值的影响的函数可能非常复杂,很难用一种简单的函数进行拟合,因此将各种复杂的函数线性组合形成一个复杂的函数,可以拟合各种函数。泰勒展式告诉我们,多项式函数可以和三角函数相互兑换,也可以和指数函数,对数函数相互兑换。因此,多项式函数、三角函数、指数、对数函数他们相互之间都是一种线性变换,因此都可以拟合任何维度的复杂函数。因此一般就对属性进行次幂扩展,扩充属性。需要注意的是,这种方法仅限于对数据量很大,属性不算特别多才成立,否则效果很差。
  5. 对噪声敏感。由于这种代价函数的选取是根据均方误差来的,距离真实值越远,代价就会成差值倍数增加,所以它是对噪声敏感的,如果数据中一旦有一个数据偏离规范较远,所谓偏离规范较远指的是它是真实可靠数据,但是显得很异常。这样一来就会导致线性模型的参数发生很大的变化,因为要减少这种数据的误差。所以,在使用线性回归模型之前需要进行去除噪声。

猜你喜欢

转载自blog.csdn.net/dongrixinyu/article/details/78972414