2-Linear Regression with One Variable

来源:互联网 发布:linux 目录授权 编辑:程序博客网 时间:2024/06/06 13:24

一、Model Representation 模型简述

  • 样本集:横坐标为房子面积(单位feet2),纵坐标为房价(单位1000$)

  • 只含一个参数的回归模型

  • hypothesis function(假设函数):回归函数,对样本的模拟 。
    函数表达式 :  , 其中  为参数

二、 Cost Function

1.代价函数概述

  • 关键点:选择合适的  ,使得  最接近所有的样本值
  • 代价函数 ,用于计算Hypothesis函数的误差。
  • 现在的问题变为:选择合适的  使代价函数 J 最小。

2.简化的代价函数

  • 简化代价函数为: 
  • 均方误差: 
  • 问题变为选择合适的 θ1 使得 J 最小

可以绘制出 J 随 θ1变化的函数图像,大概是一个二次抛物线:
新建位图图像.bmp
可以看到,当选择 θ1 = 1时,误差函数 J 值最小,因此拟合函数选择 θ1=1时能最好的符合样本 。

3.实际情况(θ0!=0)

  • Hypothesis : 
  • Parameters : 
  • Cost Function : 
  • Goal : 

此时Cost Function是一个二元函数,对于Part1中的样本,其图像如下:

投影到平面上,用等高线图表示误差大小(右图红点时的参数值对应左图的hypothesis直线):

另一组数据:

三、 Gradient Descent (最速下降法/梯度下降法)

1.算法思想:

  • 从某个  开始
  • 逐步改变  的值,使  最快的减小到(全局/局部)最小值
    例如:
    1.PNG 2.PNG

2.算法描述:

3.PNG
对于 α 的分析:

  • 如果 α 太小,那么收敛速度会很慢
  • 如果 α 太大,那么可能会在收敛过程中越过最小值点,导致收敛失败。

注意:
梯度下降法会收敛至局部极小点(即使 α 是定值)。在收敛过程中,收敛速度会逐渐放慢,因此不必要去减小 α 的值。

四、Gradient Descent For Linear Regression

1.梯度下降模型

现在梯度下降算法线性回归模型如下:
4.PNG
按照梯度下降法,在给定了初始  后,需要对其进行不断调整,按照代价函数的梯度方向调整  的值,使得 J 趋于最小值。
以梯度方向调整参数值,可以使代价函数最快收敛,因此梯度下降法又称最速下降法

2.线性回归中的梯度下降法

代入 J 的偏导到梯度下降公式中可得:

gredient.PNG
此时,只需给定的 α, 不断更新  的值,直到 两次 J 函数的值相差达到阈值(如0.0001)即可,此时便得出了最佳的回归函数

3.“Batch” Gradient Descent

“Batch”: 每步的梯度下降都是用了所有的训练数据。因此我们将这种梯度下降又称为“Batch” Gradient Descent。

0 0