week1_3作业笔记

吴恩达深度学习作业week1_3

构建两层神经网络

1.定义神经网络结构
根据X,Y的维度定义(此时的X,Y包括所有数据)输入层/隐藏层/输出层数量

2.初始化模型的参数
采用np.random.randn(a,b) * 0.01随机初始化一个维度为(a,b)的矩阵
将偏向量初始化为0
np.zeros(a,b)

分别初始化个层的w b 即 w1,b1,w2, b2,并用assert语句确保各参数的维度
以字典形式输出w,b

3.进行前向传播

  • 使用字典类型的参数w,b,检索每个参数
  • 实现前向传播,计算Z[1] A[1] Z[2] A[2],训练集里面所有例子的预测向量,并assert确保各值维度正确
  • 反向传播所需的值存储在“cache”中,cache将作为反向传播函数的输入(Z1 A1 Z2 A2 )

4.计算损失

  • 采用交叉熵 此处可能出现由于np.exp函数导致的Warnning 可百度忽略warning
  • 使用np.squeeze函数remove矩阵中维度为1的维

5.后向传播

  • 按照后向传播公式,一一计算,注意各矩阵维度,正确定义计算,并以字典形式输出梯度值组成的举证矩阵。

6.更新参数

  • 按照公式进行更新

7.整合各个函数至模型中

8.预测函数

  • 直接使用训练出来的参数,将测试集和参数一起作为前向传播的变量,得到预测结果后,结合输出层的激活函数进行判定分类(此处是sigmoid函数的结果进行四舍五入分类)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容