线性回归的代价函数,梯度下降

1.假设函数、代价函数的概念

  代价函数J:计算真实值和预测值之间的差距,这里所用的Cost为欧氏距离,除以2m的2是为了使后续计算梯度时更方便计算。线性回归的目的是找到最佳的参数θ使得这个函数更拟合已知的数据,通过最小化代价函数来找到这个参数。

  θ0为偏置项,及y=ax+b中的b。

线性回归的代价函数,梯度下降_第1张图片

2.梯度下降法:参数要同时更新,α是学习率

     通过梯度下降不断更新参数θ,学习率一般不是固定值,一般使用自适应学习率来更好的找到使代价函数最小的θ。当梯度即代价函数的导数比较小时意味着代价函数的周围比较平坦,可以用大学习率,代价函数较大时意味着周围比较陡峭,如果学习率太大,很容易“步子太大”一下就越过了最低点,一次用小学习率。Adagrad方法是其中一种自适应学习率方法。

线性回归的代价函数,梯度下降_第2张图片

 特征缩放减少收敛所用时间

1.归一化(除以最大值),(J 代价函数)

用于多特征相差大时,可理解为把不同数量级的特征调到一个数量级上

线性回归的代价函数,梯度下降_第3张图片

2.均值归一化  u1为训练集中特征1的平均值,s1为训练集的范围(最大减去最小)

线性回归的代价函数,梯度下降_第4张图片

3.正规方程法(不需要特征缩放)

直接求得最佳参数Θ(代价函数值最小)

问题:如果X矩阵不可逆?

解决办法:1.去掉多余的特征(eg线性相关的)2.若特征量远大于样本数,就删掉一些特征或者正则化

线性回归的代价函数,梯度下降_第5张图片

例子:

线性回归的代价函数,梯度下降_第6张图片

总结:1.特征量太多(大于一万)时用梯度下降法更快

           2.用向量计算比for循环快

文章图为吴恩达老师课程中的

你可能感兴趣的:(线性回归,机器学习,算法)