吴恩达《神经网络和深度学习》学习笔记——(一)神经网络的编程基础

第二周:神经网络的编程基础(Basics of Neural Network programming)

文章目录

  • 第二周:神经网络的编程基础(Basics of Neural Network programming)
  • 前言
  • 正文
    • 2.1 二分类(Binary Classification)
    • 2.2 逻辑回归 (Logistic Regression)
    • 2.3 逻辑回归的代价函数( Logistic Regression Cost Function)
      • Why need 代价函数
      • 损失函数
      • 代价函数
    • 2.4 梯度下降法( Gradient Descent)
    • 2.5 导数( Derivatives)
    • 2.6 更多的导数例子( More Derivative Examples)
    • 2.7 计算图( Computation Graph)
    • 2.8 使用计算图求导数 (Derivatives with a Computation Graph)
    • 2.9 逻辑回归中的梯度下降( Logistic Regression Gradient Descent)
    • 2.10 m 个样本的梯度下降 (Gradient Descent on m Examples)
    • 2.11 向量化 (Vectorization)
    • 2.12 向量化的更多例子( More Examples of Vectorization)
    • 2.13 向量化逻辑回归 (Vectorizing Logistic Regression)
    • 2.14 向量化 logistic 回归的梯度输出( Vectorizing Logistic Regression's Gradient)
    • 2.15 Python 中的广播( Broadcasting in Python)
    • 2.16 关于 python _ numpy 向量的说明( A note on python or numpy vectors)参考视频
    • 2.17 Jupyter/iPython Notebooks快速入门( Quick tour of Jupyter/iPython Notebooks)
    • 2.18 (选修 logistic 损失函数的解释( Explanation of logistic regression cost function)
    • *HomeWork
  • 总结


前言

主要内容:吴恩达《Deep Learning》系列的第一门课《神经网络和深度学习》的第二周部分:神经网络的编程基础

简介:本文是笔者在学习该课程的过程中随意记录的一些要点,希望能帮助到大家,欢迎大家留言or私信讨论
参考资料:吴恩达先生的课程材料&黄海广先生整理的深度学习课程笔记(V5.7)


正文

以下是本篇文章正文内容

2.1 二分类(Binary Classification)

eg.一张 64 ∗ 64 64*64 6464的图维度 n x = 64 ∗ 64 ∗ 3 = 12288 n_x=64*64*3=12288 nx=64643=12288,特征向量为[ n x n_x nx,1]维度列向量
吴恩达《神经网络和深度学习》学习笔记——(一)神经网络的编程基础_第1张图片

2.2 逻辑回归 (Logistic Regression)

该算法适用于二分类问题

y ^ = σ ( w T x + b ) \widehat{y}=\sigma (w^Tx+b) y =σ(wTx+b)

其中

y ^ \widehat{y} y 为y等于1的可能性或者机会

w为特征权重

b为偏差

σ \sigma σ图像如下所示, z = w T x + b z=w^Tx+b z=wTx+b σ ( z ) = 1 1 + e − z \sigma (z)=\frac{1}{1+e^{-z}} σ(z)=1+ez1,其中z为实数

吴恩达《神经网络和深度学习》学习笔记——(一)神经网络的编程基础_第2张图片

2.3 逻辑回归的代价函数( Logistic Regression Cost Function)

Why need 代价函数

吴恩达《神经网络和深度学习》学习笔记——(一)神经网络的编程基础_第3张图片

​ 对于每个训练样本,我们使用这些带有圆括号的上标来区分索引和样本,训练样本 所对应的预测值是 ( ) ^{()} y(i),是用训练样本的 T ( ) + ^T^{()}+ wTx(i)+b然后通过 sigmoid函数来得到。

​ 上标 ()来指明数据表示 或者 或者 或者其他数据的第 个训练样本。

损失函数

​ Loss function: L ( y ^ , y ) L(\widehat{y},y) L(y ,y)

​ 我们通过这个称为的损失函数,来衡量预测输出值和实际值有多接近。

​ 我们在逻辑回归中用到的损失函数是: L ( y ^ , y ) = − y l o g ( y ^ ) − ( 1 − y ) l o g ( 1 − y ^ ) L(\widehat{y},y)=-ylog(\widehat{y})-(1-y)log(1-\widehat{y}) L(y ,y)=ylog(y )(1y)log(1y )

代价函数

J ( w , b ) = 1 m ∑ i = 1 m L ( y ^ ( i ) , y ( i ) ) J(w,b)=\frac{1}{m}\sum_{i=1}^mL(\widehat{y}^{(i)},y^{(i)}) J(w,b)=m1i=1mL(y (i),y(i))

​ 损失函数只适用于像这样的单个训练样本,而代价函数是参数的总代价,所以在训练逻辑回归模型时候,我们需要找到合适的 和 ,来让代价函数 的总代价降到最低。

逻辑回归可以看做是一个非常小的神经网络

2.4 梯度下降法( Gradient Descent)

吴恩达《神经网络和深度学习》学习笔记——(一)神经网络的编程基础_第4张图片

​ 梯度下降法的形象化说明

吴恩达《神经网络和深度学习》学习笔记——(一)神经网络的编程基础_第5张图片

image-20210708161516900

2.5 导数( Derivatives)

2.6 更多的导数例子( More Derivative Examples)

2.7 计算图( Computation Graph)

吴恩达《神经网络和深度学习》学习笔记——(一)神经网络的编程基础_第6张图片

​ 计算图组织计算的形式是用蓝色箭头从左到右的计算,反向红色箭头 (也就是从右到左 )的导数计算

2.8 使用计算图求导数 (Derivatives with a Computation Graph)

吴恩达《神经网络和深度学习》学习笔记——(一)神经网络的编程基础_第7张图片

2.9 逻辑回归中的梯度下降( Logistic Regression Gradient Descent)

吴恩达《神经网络和深度学习》学习笔记——(一)神经网络的编程基础_第8张图片

image-20210708164922750

吴恩达《神经网络和深度学习》学习笔记——(一)神经网络的编程基础_第9张图片

2.10 m 个样本的梯度下降 (Gradient Descent on m Examples)

吴恩达《神经网络和深度学习》学习笔记——(一)神经网络的编程基础_第10张图片

2.11 向量化 (Vectorization)

吴恩达《神经网络和深度学习》学习笔记——(一)神经网络的编程基础_第11张图片

2.12 向量化的更多例子( More Examples of Vectorization)

吴恩达《神经网络和深度学习》学习笔记——(一)神经网络的编程基础_第12张图片

2.13 向量化逻辑回归 (Vectorizing Logistic Regression)

Z = [ z ( 1 ) , z ( 2 ) , . . . , z ( n ) ] Z=[z^{(1)},z^{(2)},...,z^{(n)}] Z=[z(1),z(2),...,z(n)]其中 z = w T x + b z=w^Tx+b z=wTx+b

吴恩达《神经网络和深度学习》学习笔记——(一)神经网络的编程基础_第13张图片

2.14 向量化 logistic 回归的梯度输出( Vectorizing Logistic Regression’s Gradient)

吴恩达《神经网络和深度学习》学习笔记——(一)神经网络的编程基础_第14张图片

2.15 Python 中的广播( Broadcasting in Python)

吴恩达《神经网络和深度学习》学习笔记——(一)神经网络的编程基础_第15张图片

2.16 关于 python _ numpy 向量的说明( A note on python or numpy vectors)参考视频

image-20210708195607718

注意要养成加断言的好习惯

2.17 Jupyter/iPython Notebooks快速入门( Quick tour of Jupyter/iPython Notebooks)

2.18 (选修 logistic 损失函数的解释( Explanation of logistic regression cost function)

*HomeWork

吴恩达《神经网络和深度学习》学习笔记——(一)神经网络的编程基础_第16张图片

image-20210709110732818


总结

以上就是神经网络的编程基础(第二周)的部分学习笔记,本文仅仅简单记录了在学习过程中个人认为比较重要的要点。

你可能感兴趣的:(神经网络和深度学习,神经网络,机器学习,深度学习,人工智能,逻辑回归)