神经网络基础

1.二分类问题符号定义

先从一个识别猫图片的例子开始:
在这里插入图片描述
假设这张图片的大小是64×64像素,为了保存这张图片,需要保存三个64×64的矩阵,分别对应红、绿、蓝三种颜色通道。
在这里插入图片描述
从图片中提取的特征向量x总维度就是64643=12,288个。
在这里插入图片描述
二分类问题的目标就是习得一个分类器,以图片的特征向量作为输入,然后预测输出结果y。
note:(符号定义)
在这里插入图片描述
在这里插入图片描述
下面来看一下X矩阵长什么样子:
在这里插入图片描述

X.shape #(nx,m)
Y.shape #(1,m)

2.逻辑回归模型建立

本节主要介绍逻辑回归的Hypothesis Function。
在这里插入图片描述
需要注意的是sigmoid函数将逻辑回归的值映射到0,1之间,来表示y值等于1的概率。下面来看下sigmod函数的图像:
在这里插入图片描述
参数:
在这里插入图片描述
将其变成齐次:(过原点)
在这里插入图片描述

3.逻辑回归的代价函数

为什么需要代价函数?
为了训练(调整)逻辑回归模型的参数,使其预测更接近真实值。
损失函数的定义
通常用预测值和实际值的平方差作为损失函数,但是对于逻辑回归来说,平方差函数不是凸函数,容易陷入到局部最优,因此不采用平方差损失函数。
交叉熵函数:(单个样本)
在这里插入图片描述
内在机制:
在这里插入图片描述
损失函数:(所有样本)
在这里插入图片描述
训练过程中就是找到合适的w和b,使J降到最低。
综上:逻辑回归=一个非常小的神经网络

4.梯度下降法

本小节力求搞明白梯度下降法的核心。
梯度下降法——通过最小化代价函数J(w,b)来训练参数w和b。
先回忆一下我们逻辑回归的代价函数:
在这里插入图片描述
在这里插入图片描述
很显然,我们的逻辑回归的成本函数是凸函数,具有全局最大值。
(重点)GD算法:

  1. 随机初始化
  2. 迭代更新参数在这里插入图片描述
  3. 直至逼近最小值点。
    note:我们的导数就是斜率,对于单变量来说,一个点的导数就是与这个点相切的小三角形高÷宽
    在这里插入图片描述

5.导数

这一节没什么好说的,老吴举了个hin简单的例子来说明导数,需要更深入的了解导数和微积分的,请移步
在这里插入图片描述

6.更多导数例子

这节课只是讲了几个更复杂的导数例子,复习这部分还是移步B站。
在这里插入图片描述
note:

  1. 导数就是斜率,函数的斜率,在不同的点是不同的。
  2. 函数的导数可以去网上查。

7.计算图

这个比较重要,需要理解,因为Pytorch、Tensorflow等框架自动求导就是用的计算图。学习这一部分可以帮助很好理解autograd等机制。
在这里插入图片描述

8.使用计算图求导数

计算图就是:链式求导法则公式。偏导就是变量的变化对函数的影响程度。
反向传播的计算图:
在这里插入图片描述

9.逻辑回归中的梯度下降

两张图就够了,第一张主要看逻辑回归的公式,包括,z,a和loss:
在这里插入图片描述
在这里插入图片描述

10.m个样本的梯度下降

这个和1个样本的区别就是损失函数是m个样本的损失值相加,相应的在反向传播更新梯度的时候要讲所有样本相加,最后再取平均。
在这里插入图片描述
图片里的算法流程很重要。但由此产生一个问题,for循环算法比较低效,如果你的特征维度比较大的话,计算开销往往难以忍受。这就需要用到下一讲的技术了,向量化。

11.向量化

两个字:艺术
向量化和for循环对比:
在这里插入图片描述
Python代码中的对比:(300倍,实际有10倍以上)
在这里插入图片描述

12.向量化的更多例子

首先举几个for循环的例子,来说明向量化的好处。
在这里插入图片描述
numpy的很多内置函数都可以替代for循环操作:
在这里插入图片描述
消除内部for循环:
dw1、dw2 -> dW =np.zeros(n(x),1)

13.向量化的逻辑回归

本节的主要目标就是对逻辑回归中的公式全部进行向量化,去除所有的for循环。主要是将输入x向量化。
在这里插入图片描述

14.向量化logistic回归的梯度输出

这里需要重点理解一下,因为之前一直对反向传播的向量维度计算的变换不是很明了。
同时需要重点理解一下。
1/m是因为m个样本,需要求平均。
改进后的五个公式:
在这里插入图片描述

15.Python中的广播

深度学习中应用的广播还是比较简单和容易理解的,下面举两个例子进行讲解:
numpy中向量与常数进行运算,常数自动广播为一个和同维度的向量。
同列数,广播
在这里插入图片描述
同行数,广播
在这里插入图片描述
总结:
在这里插入图片描述
老吴对numpy广播机制的理解:
后缘维度相同或者其中一个维度为1的向量可以广播。广播会在缺失维度和轴长度为1的维度上进行。PS:后缘维度的轴长度:A.shape[-1]。

16.关于python_numpy向量的说明

本节主要讲了构造向量时容易出现的bug。

不建议使用这种方式:
在这里插入图片描述
而应该使用这种方式:
在这里插入图片描述
在这里插入图片描述

17.Jupyter/iPython Notebooks快速入门

这个入门没啥可说的,百度去搜,自己去用,去尝试就好了。

18.logistic损失函数的解释

这块其实有点似懂非懂,尤其是多个样本的损失函数,谁和谁独立同分布?
首先要说的是,损失函数其实就是最大化p(y|x)这个条件概率,对于单样本来说:
在这里插入图片描述
利用log函数的单增性,将指数降下来,方便计算。
对于m个训练样本的训练集,损失函数如何表示呢?假设所有的样本独立同分布。
在这里插入图片描述
利用最大似然估计参数,使得给定样本观测值概率最大,令这个概率最大化等价于其对数最大化。【需要着重理解】

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值