【学习笔记】吴恩达机器学习 | 第二章 | 单变量线性回归

在这里插入图片描述

简要声明


  1. 课程学习相关网址
    1. Bilibili
    2. 网易云课堂
    3. 学习讲义
  2. 由于课程学习内容为英文,文本会采用英文进行内容记录,采用中文进行简要解释。
  3. 本学习笔记单纯是为了能对学到的内容有更深入的理解,如果有错误的地方,恳请包容和指正。
  4. 非常感谢Andrew Ng吴恩达教授的无私奉献!!!

专有名词


hypothesis假设函数Linear regression线性回归
Parameter模型参数cost function代价函数
Gradient descent梯度下降convex function凸函数

Model representation


Training set of housing prices

在这里插入图片描述

  1. Nocation
    • m = Number of training examples →训练样本的数量
    • x’s = “input” variable / features →输入变量 / 特征
    • y’s = “output” variable / “target” variable →输出变量 / 目标变量
    • (x, y) = single training example →一个训练样本
    • (x(i), y(i)) = ith training example →第i个训练样本

Supervised learning algorithm work

在这里插入图片描述

  1. training set → learning algorithm→hypothesis假设函数
  2. h是一个映射x到y的函数

How do we represent h ?

h θ ( x ) = θ 0 + θ 1 x h_\theta(x)=\theta_0+\theta_1x hθ(x)=θ0+θ1x

  1. Linear regression with one variable. = Univariate linear regression →单变量线性回归
  2. θi’s: Parameters →模型参数

Cost function


How to choose θi’s ?

在这里插入图片描述

  1. 选择能使h(x)也就是输入x时预测的值最接近该样本对应的y值的参数θ_0, θ_1

h θ ( x ) = θ 0 + θ 1 x h_\theta(x)=\theta_0+\theta_1x hθ(x)=θ0+θ1x

m i n i m i z e θ 0   θ 1   1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 \mathop {minimize }\limits_{\theta_0 \ \theta_1} \ \frac{1}{2m} \sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2 θ0 θ1minimize 2m1i=1m(hθ(x(i))y(i))2

  • 找到参数θ0, θ1使得所有训练样本的h(x)预测值和y实际值之间的差的平方和最小化
  • m为训练样本的个数
  • 1/2m为了减少平均误差(只是为了使数学更加直白一点)
  1. cost function代价函数J(θ_0, θ_1)也叫做squared error function平方误差函数

J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta_0,\theta_1)=\frac{1}{2m} \sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2 J(θ0,θ1)=2m1i=1m(hθ(x(i))y(i))2

m i n i m i z e θ 0   θ 1   J ( θ 0 , θ 1 ) \mathop {minimize }\limits_{\theta_0 \ \theta_1} \ J(\theta_0,\theta_1) θ0 θ1minimize J(θ0,θ1)

Formulation

  • Hypotheis:

h θ ( x ) = θ 0 + θ 1 x h_\theta(x)=\theta_0+\theta_1x hθ(x)=θ0+θ1x

  • Parameters:

θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1

  • 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} \sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2 J(θ0,θ1)=2m1i=1m(hθ(x(i))y(i))2

  • Goal:

m i n i m i z e θ 0   θ 1   J ( θ 0 , θ 1 ) \mathop {minimize }\limits_{\theta_0 \ \theta_1} \ J(\theta_0,\theta_1) θ0 θ1minimize J(θ0,θ1)

Simplified cost function

h θ ( x ) = θ 1 x ( θ 0 = 0 ) h_\theta(x)=\theta_1x\quad(\theta_0=0) hθ(x)=θ1x(θ0=0)

J ( θ 1 ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta_1)=\frac{1}{2m} \sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2 J(θ1)=2m1i=1m(hθ(x(i))y(i))2

m i n i m i z e θ 1   J ( θ 1 ) \mathop {minimize }\limits_{\theta_1} \ J(\theta_1) θ1minimize J(θ1)

  1. 如果θ_0=0相当于选择了经过原点的假设函数(过点(0,0)的函数)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  1. 分别计算θ_1对应的J(θ_1)可以绘制出J(θ_1)的曲线
  2. 学习算法的优化目标是通过选择θ_1的值获得最小的J(θ_1)

Two parameters cost function

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  1. 随着θ_0和θ_1的不断接近代价函数的中心,假设函数对数据的拟合越来越好

Gradient descent


Outline

  1. Start with some θ_0, θ_1 →随机从θ_0和θ_1的某个值出发
  2. Keep changing θ_0, θ_1 to reduce J(θ_0, θ_1) until we hopefully end up at a minimum → 一步一步下山知道收敛至局部最低点
  3. 梯度下降算法的特点:不同的起始点出发会到达不同的局部最优解

在这里插入图片描述

在这里插入图片描述

Gradient descent algorithm

repeat until convergence {

θ j : = θ j − α ∂ ∂ θ j J ( θ 0 , θ 1 ) ( f o r   j = 0   a n d   j = 1 ) \theta_j:=\theta_j-\alpha\frac{\partial}{\partial\theta_j}J(\theta_0,\theta_1)\quad (for\ j=0\ and\ j=1) θj:=θjαθjJ(θ0,θ1)(for j=0 and j=1)

}

  1. “:=”是赋值运算符,将右边的值赋值给左边
  2. α称为学习速率,控制梯度下降的步子,其越大梯度下降越迅速
  3. 导数项表示对J求偏导

Simultaneous update

  • Correct:

t e m p 0 : = θ 0 − α ∂ ∂ θ 0 J ( θ 0 , θ 1 ) temp0:=\theta_0-\alpha\frac{\partial}{\partial\theta_0}J(\theta_0,\theta_1) temp0:=θ0αθ0J(θ0,θ1)

t e m p 1 : = θ 1 − α ∂ ∂ θ 1 J ( θ 0 , θ 1 ) temp1:=\theta_1-\alpha\frac{\partial}{\partial\theta_1}J(\theta_0,\theta_1) temp1:=θ1αθ1J(θ0,θ1)

θ 0 : = t e m p 0 \theta_0:=temp0 θ0:=temp0

θ 1 : = t e m p 1 \theta_1:=temp1 θ1:=temp1

  • ❌❌❌Incorrect:

t e m p 0 : = θ 0 − α ∂ ∂ θ 0 J ( θ 0 , θ 1 ) temp0:=\theta_0-\alpha\frac{\partial}{\partial\theta_0}J(\theta_0,\theta_1) temp0:=θ0αθ0J(θ0,θ1)

θ 0 : = t e m p 0 \theta_0:=temp0 θ0:=temp0

t e m p 1 : = θ 1 − α ∂ ∂ θ 1 J ( θ 0 , θ 1 ) temp1:=\theta_1-\alpha\frac{\partial}{\partial\theta_1}J(\theta_0,\theta_1) temp1:=θ1αθ1J(θ0,θ1)

θ 1 : = t e m p 1 \theta_1:=temp1 θ1:=temp1

  1. 更新方程时需要同时更新θ_0和θ_1
  2. 正确方法:先同时计算右边部分,然后同时更新θ_0和θ_1
  3. ❌错误方法:先计算temp0然后更新θ_0,再计算temp1然后更新θ_1

Gradient descent intuition

在这里插入图片描述

  1. 导数表示切线的斜率,α学习速率大于0,当是正导数则参数θ减小,当是负导数则参数θ增加,J(θ)逐渐接近最小值

在这里插入图片描述

  1. 如果α太小,需要很多步才能到达最低点,梯度下降速度变慢
  2. 如果α太大,梯度下降可能会越过最低点,甚至可能无法收敛或者发散
  3. 如果已经在局部最优点,参数θ将不再改变
  4. 梯度下降时斜率会变小,参数θ更新的幅度也会变小
  5. 梯度下降法会自动采用更小的幅度,当接近局部最小点时导数值会自动变得越来越小,没必要另外减小α

Gradient descent for linear regression


∂ ∂ θ j J ( θ 0 , θ 1 ) = ∂ ∂ θ j ⋅ 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 = ∂ ∂ θ j ⋅ 1 2 m ∑ i = 1 m ( θ 0 + θ 1 x ( i ) − y ( i ) ) 2 \frac{\partial}{\partial\theta_j}J(\theta_0,\theta_1)=\frac{\partial}{\partial\theta_j}\cdot \frac{1}{2m} \sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2 \\ =\frac{\partial}{\partial\theta_j}\cdot \frac{1}{2m} \sum_{i=1}^m(\theta_0+\theta_1x^{(i)}-y^{(i)})^2 θjJ(θ0,θ1)=θj2m1i=1m(hθ(x(i))y(i))2=θj2m1i=1m(θ0+θ1x(i)y(i))2

∂ ∂ θ 0 J ( θ 0 , θ 1 ) = 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ( j = 0 ) \frac{\partial}{\partial\theta_0}J(\theta_0,\theta_1)=\frac{1}{m} \sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})\quad (j=0) θ0J(θ0,θ1)=m1i=1m(hθ(x(i))y(i))(j=0)

∂ ∂ θ 1 J ( θ 0 , θ 1 ) = 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ⋅ x ( i ) ( j = 1 ) \frac{\partial}{\partial\theta_1}J(\theta_0,\theta_1)=\frac{1}{m} \sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})\cdot x^{(i)} \quad (j=1) θ1J(θ0,θ1)=m1i=1m(hθ(x(i))y(i))x(i)(j=1)

repeat until convergence {

θ 0 : = θ 0 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) \theta_0:=\theta_0-\alpha\frac{1}{m} \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} \sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})\cdot x^{(i)} θ1:=θ1αm1i=1m(hθ(x(i))y(i))x(i)

} update θ_0 and θ_1 simultaneously

在这里插入图片描述

  1. 线性回归的代价函数总是一个convex function凸函数,bow-shaped function弓状函数
  2. 凸函数没有局部最优解,只有一个全局最优解

在这里插入图片描述

在这里插入图片描述

Batch Gradient Descent

“Batch”: Each step of gradient descent uses all the training examples. →每一步梯度下降都遍历了整个训练集样本→对训练样本进行求和

吴恩达教授语录


  • “Congrats on learning about your first Machine Learning algorithm.”
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chency.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值