2014斯坦福大学吴恩达机器学习课程笔记-2 Linear Regression with One Variable

文章目录

  • 2 单变量线性回归(Linear Regression with One Variable)
    • 2-1 模型表达(Model Representation)
    • 2-2 代价函数(Cost Function)
    • 2-3&2-4 Cost Function intuition I&II
    • 2-5 梯度下降(Gradient Descent)
    • 2-6 Gradient Descent intuition
    • 2-7 Gradient Descent for Linear Regression
    • 2-8 What's next


2 单变量线性回归(Linear Regression with One Variable)

2-1 模型表达(Model Representation)

符号定义:

  • m m m:训练样本数
  • x x x:输入变量 / 特征
  • y y y:输出变量 / 目标变量
  • ( x , y ) (x, y) (x,y):一个训练样本
  • ( x ( i ) , y ( i ) ) (x^{(i)}, y^{(i)}) (x(i),y(i)):第 i i i 个训练样本
  • h h h:机器学习算法的输出,一个假设函数,输入 x x x,输出 y y y 的估计值
    • 形式(单变量线性回归): h θ ( x ) = θ 0 + θ 1 x h_θ(x)=θ_0+θ_1x hθ(x)=θ0+θ1x
      • 简写为: h ( x ) h(x) h(x)

单变量线性回归,也叫univariate regression

2-2 代价函数(Cost Function)

符号定义:

  • θ i θ_i θi:(模型)参数
    • 线性回归:确定参数的值

选取 θ 0 θ_0 θ0 θ 1 θ_1 θ1,使得对于训练样本 ( x , y ) (x, y) (x,y),有 h θ ( x ) h_θ(x) hθ(x)接近 y y y

平方误差代价函数(square error cost function)【垂直距离之和】:
J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta_0,\theta_1)=\frac{1}{2m}\displaystyle\sum_{i=1}^m(h_{\theta}(x^{(i)})-y^{(i)})^2 J(θ0,θ1)=2m1i=1m(hθ(x(i))y(i))2
线性回归目标
min ⁡ θ 0 , θ 1 J ( θ 0 , θ 1 ) \min_{\theta_0, \theta_1}J(\theta_0,\theta_1) θ0,θ1minJ(θ0,θ1)

平方误差代价函数是线性回归的常用代价函数


*损失函数≠代价函数

  • 损失函数(Loss Function )是定义在单个样本上的,算的是一个样本的误差。
  • 代价函数(Cost Function )是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。
  • 目标函数(Object Function)定义为:最终需要优化的函数。等于经验风险+结构风险(也就是Cost Function + 正则化项)。

来源:【机器学习】代价函数,损失函数,目标函数区别


2-3&2-4 Cost Function intuition I&II

线性回归的代价函数是碗状(bow-shaped)曲面(凸函数,convex function
为便于分析,使用等高线图(Contour Plots)展示

2-5 梯度下降(Gradient Descent)

用于最小化代价函数J
适用于线性回归和机器学习等问题

outline

  • 初始化 θ 0 \theta_0 θ0 θ 1 \theta_1 θ1(一般初始值都为0)
  • 一直改变 θ 0 \theta_0 θ0 θ 1 \theta_1 θ1的值,使 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)变小,直到找到其最小值

梯度下降的特点:初始值的差异可能导致收敛至不同的局部最小值

梯度下降算法
repeat until convergence {
θ j : = θ j − α ∂ ∂ θ j J ( θ 0 , θ 1 ) \theta_j:=\theta_j-\alpha\frac{\partial}{\partial\theta_j}J(\theta_0,\theta_1) θj:=θjαθjJ(θ0,θ1) (for j j j = 0 and j j j = 1)
}
上式中, α \alpha α为学习速率(learning rate)

梯度下降的正确计算方法:同时更新(Simultaneous Update)
先计算参数的更新值(即上式赋值符号右边的部分),所有参数的更新值计算完成后,再更新参数【避免先更新参数后计算梯度值导致错误】

2-6 Gradient Descent intuition

学习率低:收敛速度慢
学习率高:可能错过最低点,或导致无法收敛,甚至发散

即使学习率不变,在接近最低点的过程中,随着偏导数的值的不断变小(即曲线越来越平缓),每一步的参数更新的幅度会越来越小

2-7 Gradient Descent for Linear Regression

线性回归的梯度下降参数更新公式
θ 0 : = θ 0 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) \theta_0:=\theta_0-\alpha\frac{1}{m}\displaystyle\sum_{i=1}^m(h_{\theta}(x^{(i)})-y^{(i)}) θ0:=θ0αm1i=1m(hθ(x(i))y(i))
θ 1 : = θ 1 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ⋅ x ( i ) \theta_1:=\theta_1-\alpha\frac{1}{m}\displaystyle\sum_{i=1}^m(h_{\theta}(x^{(i)})-y^{(i)})\cdot x^{(i)} θ1:=θ1αm1i=1m(hθ(x(i))y(i))x(i)

这里用到的梯度下降是批梯度下降(Batch Gradient Descent):每步更新需要遍历所有训练集
*其他的梯度下降有些只需要使用训练集的子集

求解代价函数J的最小值时,存在其他不需要梯度下降的解法,如正规方程组(normal equations),但正规方程组在面对更大的数据量时不如梯度下降的扩展性好

2-8 What’s next

两个扩展:

  • 无需迭代(梯度下降)的min J求解方式
  • 更多的特征
    • 使用矩阵可以向量可以更方便地表示多维特征及对应的目标变量

你可能感兴趣的:(机器学习,机器学习,吴恩达)