《吴恩达机器学习》第二章笔记

引入线性模型 linear regression

以房价和房子大小的数据来引入线性模型,并且提出几个概念

  • m:训练集数目

  • (x,y)表示一个训练样本

  • (x,y)表示一个训练样本

  • ( x i , y i ) (x^i,y^i) (xi,yi表示第i个训练样本
    我们的训练思路为
    训练集=> 学习算法=> (x->h->y)
    其中h是一个引导x->y的函数,称为假设函数,hypothesis
    h θ = θ 0 + θ 1 x h_{\theta}=\theta_0 +\theta_1x hθ=θ0+θ1x

  • 注意我们研究线性是学习的基础,并且这里我们研究的属于单个变量,为单变量线性回归~

假设函数和代价函数

我们采用的为平房误差代价函数
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θ(xi)yi)2

作图分析

  • 简化h为 h = θ 1 x h=\theta_1x h=θ1x J J J函数可以直接表达为:
    在这里插入图片描述
  • 如果直接表达的话,三维模型如图
    在这里插入图片描述
    采用等高线图为
    在这里插入图片描述

最小化的梯度下降法

通过最小化的梯度下降法来求解,步骤
1、给定 θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1初始值
2、 θ j = θ j − α d ( J ( θ 0 , θ 1 ) ) d θ j \theta_j=\theta_j-\alpha\frac{d(J(\theta_0,\theta_1))}{d\theta_j} θj=θjαdθjd(J(θ0,θ1))

  • α \alpha α我们称之为学习速率,太大太小都不好,如果太大,则会大致无法收敛甚至是发散的,太小会导致学习速率太小,收敛很慢
  • d ( J θ 0 , θ 1 ) d θ j \frac{d(J_{\theta_0,\theta_1})}{d\theta_j} dθjd(Jθ0,θ1)我们称之为导数项,是求解下降的方向

注意是要同步更新,这才是梯度下降法的自然做法,不是串行

  • 同时有不同的起始点,可能导致最终结果到不同的局部最小值
  • 如果一开始就在局部最小值, θ \theta θ就不再变化,因为导数项为0
  • 即使学习速率不变,梯度下降也是可以收敛到最小值的

梯度下降法+单变量线性回归

导数项为 d ( J ( θ 0 , θ 1 ) ) d θ j \frac{d(J(\theta_0,\theta_1))}{d\theta_j} dθjd(J(θ0,θ1))=>
d 1 2 m ∑ i = 1 m ( θ 0 + θ 1 x i − y i ) 2 d θ j \frac{d\frac{1}{2m}\sum_{i=1}^m(\theta_0+\theta_1x^i-y^i)^2}{d\theta_j} dθjd2m1i=1m(θ0+θ1xiyi)2
=>
θ 0 = 1 m ∑ i = 1 m ( θ 0 + θ 1 x i − y i ) \theta_0=\frac{1}{m} \sum_{i=1}^m(\theta_0+\theta_1x^i-y^i) θ0=m1i=1m(θ0+θ1xiyi)

θ 1 = 1 m ∑ i = 1 m ( θ 0 + θ 1 x i − y i ) x i \theta_1=\frac{1}{m} \sum_{i=1}^m(\theta_0+\theta_1x^i-y^i) x^i θ1=m1i=1m(θ0+θ1xiyi)xi

  • 我们采用的是同步更新,并且每次都是针对所有的数据进行梯度下降,遍历了整个训练集的样本,称之为Batch梯度下降
  • Batch梯度下降,还有不需要遍历全部样本的梯度下降,遍历小子集
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值