线性回归模型

题目:

最终要求是计算出theta的值,并选择最优的tehta 值构成算法公式

误差是独立同分布的,服从均值为0,方差为某定值高斯分布,原因:中心极限定理。实际问题中,很多随机现象可以看做众多因素的独立影响的综合反应,往往服从正态分布

  • 似然函数



  • 对数似然


目标函数


  • 过拟合正则项


同时使用L1正则和L2正则的线性回归模型就称为Elasitc Net算法(弹性网络算法)


实际应用中,数据的维度中是存在噪音和冗余的,稀疏的解可以找到有用的维度并且减少冗余,提高回归预测的准确性和鲁棒性(减少了overfitting),L2-norm中,由于对于各个维度的参数缩放是在一个圆内缩放的,不可能导致有维度参数变为0的情况,那么也就不会产生稀疏解;而L1-norm可以达到最终解的稀疏性的要求。Ridge模型具有较高的准确性、鲁棒性以及稳定性;LASSO模型具有较高的求解速度。如果既要考虑稳定性也考虑求解的速度,就使用Elasitc Net

  • 最小二乘法的参数theta最优解

最小二乘法的使用要求矩阵 可逆的;为了防止不可逆或者过拟合的问题存在,可以增加额外数据影响,导致最终的矩阵是可逆的:,最小二乘法直接求解的难点是:矩阵逆的求解是一个难处

  • 梯度下降求解

批量梯度下降BGD

随机梯度下降SGD

小批量梯度下降MBGD

BGD、SGD、MBGD的区别: 当样本量为m的时候,每次迭代(遍历m个样本)

BGD算法中对于参数值更新一次,SGD算法 中对于参数值更新m次,MBGD算法中对于参数值更新m/n次,相对来讲 SGD算法的更新速度最快;

SGD算法中对于每个样本都需要更新参数值,当样本值不太正常的时候,就 有可能会导致本次的参数更新会产生相反的影响,也就是说SGD算法的结果 并不是完全收敛的,而是在收敛结果处波动的;

SGD算法是每个样本都更新一次参数值,所以SGD算法特别适合样本数据量 大的情况以及在线机器学习(Online ML)。

猜你喜欢

转载自blog.csdn.net/qq_15111861/article/details/80663534
今日推荐