吴恩达机器学习—第一单元习题中关于第一个机器学习算法一元线性回归算法的理解和认识
1、 一元线性回归拟合数据时出现问题及如何解决
1、 一元线性回归算法运用到自己的数据时拟合直线不理想
上周学习了吴恩达老师的关于第一个机器学习算法—一元线性回归算法,并完成了老师的单元作业,利用文件里的模型可以准确的对所给的一元线性问题进行了拟合。为了验证自己是否真的掌握这个算法,自己收集了一组数据进行重新的拟合,结果发现拟合的效果很差,出来的图像发现预测的直线很少落在数据点上。
2、我的解决方法
在寻找问题的时候,发现改变梯度下降算法的参数可以使拟合的直线发生改变,如改变iterations的值,以及改变学习率α也会使拟合直线发生变化。调试了很久,还是不能达到理想的结果。我有种猜测第一还需要耐心的继续调试,最终一定可以调出最优结果,第二种猜测为数据太少会导致拟合效果错误,第三种猜测是这种算法适合y随x成递增关系的变量。尝试后,发现第一种猜测是正确的,即拟合线不理想的原因在于学习率α 以及迭代次数iterations的选取有关。
% Some gradient descent settings
num_iters = 1500;
alpha = 0.01;
改变这些值的变化后,会导致拟合直线变化,但关于这些数值选择的技巧还不是很清楚。`
看了其他博主写的关于梯度下降法步长的选取,大致总结的经验为:学习率alpha(步长)=0.00001、0.00003、0.0001、0.0003、0.001、0.003、0.01、0.03、0.1 、0.3,以三倍速进行选择,选取后并在该范围进行小幅度微调,最终选取