【深度学习】第三周课程作业实践

本文是关于深度学习的第三周课程作业,主要内容包括数据集加载、神经网络模型的搭建与参数初始化。详细阐述了前向传播、损失计算的过程,以及后向传播中参数的推导和维度确认,最后讲解了如何更新参数、建立模型并进行预测与生成。
摘要由CSDN通过智能技术生成

【数据集的处理】

import numpy as np
import matplotlib.pyplot as plt
m = 400 # number of examples
N = int(m / 2)  # number of points per class
D = 2 # dimensionality
X = np.zeros((m,D)) # data matrix where each row is a single example 400*2
Y = np.zeros((m,1), dtype='uint8') # labels vector (0 for red, 1 for blue) uint8 无符号整数 400*1
a = 4  # maximum ray of the flower
for j in range(2):
    ix = range(N * j, N * (j + 1))

    t = np.linspace(j * 3.12, (j + 1) * 3.12, N) + np.random.randn(N) * 0.2  # theta
    #numpy.linspace 函数用于创建一个一维数组,数组是一个等差数列构成的
    r = a * np.sin(4 * t) + np.random.randn(N) * 0.2  # radius
    X[ix] = np.c_[r * np.sin(t), r * np.cos(t)] #rsint  rcost  对应坐标
    Y[ix] = j

X = X.T # x 2*400
Y = Y.T # 一半red 一半blue 1*400
plt.scatter(X[0, :], X[1, :], c=Y, s=40, cmap=plt.cm.Spectral) #绘制散点图
# c=Y  Y存放标签
# s=40  点的大小
# cmap = plt.cm.Spectral实现的功能是给label为1的点一种颜色,给label为0的点另一种颜色。
plt.show()

【加载数据】

X, Y = load_planar_dataset()
costs = [] # 用于绘制成本函数

【神经网络】
搭建模型在这里插入图片描述

引用:搭建神经网络模型

【定义结构】

# 定义神经网络的结构
def layer_sizes(X, Y):
    """
    参数:
     X - 输入数据集,维度为(输入的数量,训练/测试的数量) 2*400
     Y - 标签,维度为(输出的数量,训练/测试数量) 1*400

    返回:
     n_x - 输入层的数量
     n_h - 隐藏层的数量
     n_y - 输出层的数量
    """
    n_x = X.shape[0]  # 输入层
    n_h = 4  # ,隐藏层,硬编码为4
    n_y = Y.shape
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值