吴恩达机器学习笔记 2

今天开始写吴恩达机器学习的学习笔记。课程的第一部分是类似于引言的东西,故笔记略过。
第二部分内容算是机器学习的正式入门,老师讲解了一个算法实例:梯度下降线性回归。通过其讲解数学原理,总览了机器学习的工作流程和核心思想。
本笔记将不按照课程顺序编排,而是将这一部分功能按模块划。
//个人水平有限,我的所有笔记内容仅供参考,具体内容还请以课程为准。另外如有错误,还望大佬指出,我立刻更正。

文章目录

  • #课程中一些符号的意义
  • 2 梯度下降线性回归:Batch梯度下降
    • 2-1使用的模型
    • 2-2评价拟合的好坏:代价函数
    • 2-3优化 h θ ( x ) h_\theta(x) hθ(x)的方法:梯度下降算法
      • 算法思想
      • 数学原理: θ i : = θ i − α ∂ ∂ θ i J ( θ 1 , θ 2 ) ( i = 1 , 2 ) \theta_i:=\theta_i-\alpha\frac{\partial}{\partial\theta_i}J(\theta_1,\theta_2) (i=1,2) θi:=θiαθiJ(θ1,θ2)(i=1,2)
        • 解释
          • := 表示赋值
          • α \alpha α
          • ∂ ∂ θ i J ( θ 1 , θ 2 ) \frac{\partial}{\partial\theta_i}J(\theta_1,\theta_2) θiJ(θ1,θ2)
    • 2-4 最终整合整合:将梯度下降算法应用于优化 h θ ( x ) h_\theta(x) hθ(x),使代价函数最小


#课程中一些符号的意义

  • m:样本总数
  • x:输入数据
  • y:输出变量
  • (x(i),y(i)):表示第i个样本

2 梯度下降线性回归:Batch梯度下降

2-1使用的模型

  • 线性模型(称为假设函数)

h θ ( x ) = θ 1 + θ 2 x h_{\theta}(x)=\theta_1 +\theta_2 x hθ(x)=θ1+θ2x

2-2评价拟合的好坏:代价函数

J ( θ 1 , θ 2 ) = 1 2 m ∑ i = 2 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta_1,\theta_2)=\frac{1}{2m} \sum_{i=2}^m(h_{\theta}(x^{(i)})-y^{(i)})^2 J(θ1,θ2)=2m1i=2m(hθ(x(i))y(i))2
吴恩达机器学习笔记 2_第1张图片

  • (称其为平方代价函数)

  • 代价函数用于评价模型与数据拟合的优劣程度

  • 机器学习的目标:使代价函数 J ( θ 1 , θ 2 ) J(\theta_1,\theta_2) J(θ1,θ2)尽量小

2-3优化 h θ ( x ) h_\theta(x) hθ(x)的方法:梯度下降算法

算法思想

  • 目标:最小化代价函数J(在今后会广泛运用这种方法)
  • 工作流程:
    设置 θ 1 、 θ 2 \theta_1、\theta_2 θ1θ2的值(常设置成0、0)
    不断改变 θ 1 、 θ 2 \theta_1、\theta_2 θ1θ2使代价函数减小,直到一个较为理想的值

数学原理: θ i : = θ i − α ∂ ∂ θ i J ( θ 1 , θ 2 ) ( i = 1 , 2 ) \theta_i:=\theta_i-\alpha\frac{\partial}{\partial\theta_i}J(\theta_1,\theta_2) (i=1,2) θi:=θiαθiJ(θ1,θ2)(i=1,2)

解释

:= 表示赋值
α \alpha α
  • 学习率,控制每次参数更新的幅度(一定为正)
  • 如果该值太小,则更新的速率过慢。如果该值太大,则有可能会跳过最小值点,不能得到较好的结果,甚至不收敛。
  • 随着靠近最小值点,导数值会越来越接近于0,参数更新的幅度自然变下,所以可以不用更新 α \alpha α的值。
∂ ∂ θ i J ( θ 1 , θ 2 ) \frac{\partial}{\partial\theta_i}J(\theta_1,\theta_2) θiJ(θ1,θ2)
  • 代价函数的导数。

  • 作用: 判读参数更新的方向(增大还是减小)
    如:在某点导数小于0,根据公式 θ \theta θ应该增大,从而使代价函数减小。

  • 当达到局部最小位置时,该值为0,参数会停止更新

2-4 最终整合整合:将梯度下降算法应用于优化 h θ ( x ) h_\theta(x) hθ(x),使代价函数最小

  1. 选择 θ 1 、 θ 2 \theta_1、\theta_2 θ1θ2的初始值(可以随便选择)
  2. 使用梯度下降算法(课程中使用的是 θ 0 、 θ 1 \theta_0、\theta_1 θ0θ1
    吴恩达机器学习笔记 2_第2张图片
    吴恩达机器学习笔记 2_第3张图片
  • 这个例子中的代价函数没有局部最优解,只有一个全局最优解,故总是会收敛到此处
  • 注意: 当更新参数时,要求使用旧的一组参数,将所有参数全部更新。而不是更新完 θ 1 \theta_1 θ1后使用新的 θ 1 \theta_1 θ1更新 θ 2 \theta_2 θ2

你可能感兴趣的:(笔记,机器学习)