第二周---神经网络基础
目录
损失函数L(为0-正无穷 所有样本的损失函数L的求和平均值为成本函数J):
2.1 二分分类
问题:不用for循环遍历整个神经网络的数据集
问题:训练过程有一个正向传播步骤和一个反向传播步骤 为什么要分为两个部分?

2.2 logistic回归
当输出 y 等于 0或1 时 这是一个二元分类问题,一直输出的图像是x 需要识别这张图是不是猫 y的值为1/0 需要它告诉我这是一张猫的概率
理解:对于正-负无穷 把概率映射到了 1-0
Q:那么怎么通过神经网络编程实现对 w、b的求解吗
A:

2.3 logistic 回归损失函数

理解:
x为n*x维 (n为一个样本的特征总个数 样本个数) w为n*x维参数 (特征对应的参数因子 样本个数)
损失函数L(为0-正无穷 所有样本的损失函数L的求和平均值为成本函数J):
目的:要找到一些参数使 y^尽可能的接近y 它衡量了单个样本在参数上的表现
如果y等于1 的话 只有 y^接近1才会 使L的值趋近0 否则就是趋近正无穷
如果y等于0的话 只有y^接近0才会使 L的值趋近0 否则就是趋近正无穷
成本函数J:
目的:要让成本函数J尽可能小
它衡量了样本总体在w b参数上的表现
Q:如何寻找参数
2.4 梯度下降法(如何让利用梯度下降法寻找w b)

Q:如何选择学习率?
A:
理解:这里的 J是一个有关变量 w b的一行式子: w1 ->wn ,b
L是一个关于wb的值,J是关于此时的wb的所有L的值和的平均值
2.5 2.6 导数
2.7 2.8 计算图及其导数运算
一个神经网络的输出都是按照前向或者反向的计算过程得到的,首先计算出一个神经网络的输出,紧接这进行一个反向传输操作,后者我们用来计算出对应的梯度或者导数


从右到左计算,就可以用到之前刚计算出的变量 dJdv dvdu等
2.9 logistic回归中的梯度下降法

1.先列出 z y^ L三个变量
2.开始应用计算图计算导数 算出 da
3.计算dz (带入a(z))
4.计算dw1 dw2 db
5.应用变量的梯度下降公式
2.10 m个样本的梯度下降法

Task:编程实现此算法 需要补充一个评价函数 什么时候停止迭代 自己的思路:成本函数J变化不大时
Q:显式循环使用for会使效率低下 特别是是大数据 出现了 向量化
2.11 2.12 向量化及其更多例子

单指令多数据流 GPU还可以比CPU更快 但是 CPU也不慢
numpy有很多运算可以去掉显式for循环 进行 矩阵相乘或者 矩阵向量的 指数运算 最大值 绝对值 对数运算 平方运算等的内置函数
2.13 向量化的logistic回归
传统不用向量化需要进行m次计算得到 m个L的平均值J

2.14 向量化的logistic回归的梯度输出

理解:写一个 具有加减乘的函数 将 xy作为输入输出训练4个参数
q:如何确定参数的个数 wb各自的个数
如果要进行1000次梯度下降还是需要进行for 但是可以采用之前的成本函数的变化值加入到while当中进行循环比起直接指定梯度下降的次数要效果好一点。 成本函数的变化率可能更好?
2.15 Python中的广播
【jupyter】

0表示竖直方向求和 1表示横轴方向求和
如果是3 *4 2*2怎么广播 所以至少有行或者列相等才能广播?更多参阅numpy文档。
2.16 关于python/numpy向量的说明
tip1:当我们需要向量时,尽量不要使用秩为1的数组。

2.17 Jupyter/Ipython笔记本
2.18 logistic损失函数的解释


本教程讲解了神经网络的基础概念,包括二分分类、logistic回归及其实现方式,并介绍了损失函数、梯度下降法等核心内容。此外还讨论了如何在Python中实现这些算法,并利用向量化提高效率。

302

被折叠的 条评论
为什么被折叠?



