神经网络和深度学习第二周 神经网络基础

2.1 二分分类

在这里插入图片描述

2.2 logistic 回归
我们这门课不用红色笔写的表示方法,而是把w,b看成两个独立的参数训练他们
在这里插入图片描述

2.3 logistic回归损失函数
在这里插入图片描述

2.4 梯度下降法
写代码时,用dw或db表示导数。
如果函数变量超过两个,就用花体倒e表示偏导;如果函数只有一个变量,就用d表示导数。
在这里插入图片描述

2.5 导数
导数的定义,表示斜率

2.6 更多导数的例子
导数讲解

2.7 流程图
流程图是从左到右的计算
在这里插入图片描述

2.8 流程图的导数计算
链式法则求导

2.9 logistic回归中的梯度下降法
在这里插入图片描述
在这里插入图片描述

2.10 m个样本的梯度下降
这里的J,dw1,dw2,db是作为累加器出现的,所以没有(i)。这一页PPT是一次梯度下降的内容。这里面有两个循环,一个是外面的for从1到m的循环,一个是对每个特征求导数的从1到nx的循环(这里只有两个特征就没有写循环),可以通过向量化的方法摆脱显式的循环。
在这里插入图片描述

2.11 向量化
在这里插入图片描述
jupyper notebook: shift+enter执行
在这里插入图片描述
在这里插入图片描述
可以看到用向量化的方法之后耗时少了很多

2.12向量化的更多例子
神经网络编程指导:for循环能不用就不用。
在这里插入图片描述
在这里插入图片描述

2.13向量化logistic回归
向量X是每个训练集x(i)横向堆叠得到的,Z也是z(i)的横向堆叠。
b是实数,但是在python中它和1m的向量相加时,会自动成为1m个向量,这叫python的广播。
在这里插入图片描述

2.14 向量化logistic回归的梯度输出
通过向量化来去掉另一个循环,完成梯度下降的一次迭代(遍历所有训练集):
在这里插入图片描述
在这里插入图片描述

2.15 python中的广播
在这里插入图片描述
求出每种事物的碳水化合物,蛋白质,脂肪占这种事物100g的总卡路里的百分比。
第一行python代码:求得每列的和,得到四个数字;第二行代码让四列每一列都除以对应的和,就得到了答案。
axis=0代表横向求和,axis=1代表竖向。
通过第一行代码cal已经是一个14的矩阵了,不需要调用.shape(1,4)命令,但是这个命令is very cheap to call,所以可以通过它来确保矩阵的形状size是你想要的。
所以第二行代码是让一个3
4的矩阵除以一个1*4的矩阵。
在这里插入图片描述
在这里插入图片描述
更一般的形式:
在这里插入图片描述

2.16 关于python/numpy向量的说明
python可以让我们写出简洁的代码,同时也容易写出不报错的难易发现的bug。
以下是老师总结的一个减少奇奇怪怪的bug的tip:
不要用这种shape为(5,)(秩为1的数组)的数据结构,不然一些运算结果是很奇怪的
在这里插入图片描述
正确做法:使用矩阵,行向量或列向量
在这里插入图片描述
在这里插入图片描述确保这是一个矩阵(列向量),这个函数代价很低,要常常使用。也不要害怕调用reshape函数,确保你的矩阵或向量是你需要的维度。

2.17 jupyter/Ipython notebook的快速指南
介绍作业

2.18(选修)logistic 损失函数的解释
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
对这个概率求最大值也就是对其log求最大值:
最大似然估计:求出一组参数,使这个式子取最大值:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值