吴恩达 Neural Networks and Deep Learning 第三周作业笔记

练习一:X Y的维度
numpy.ndarray.shape使用方法

>>> x = np.array([1, 2, 3, 4])
>>> x.shape
(4,)
>>> y = np.zeros((2, 3, 4))
>>> y.shape
(2, 3, 4)
>>> y.shape = (3, 8)
>>> y
array([[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]])
>>> y.shape = (3, 6)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: total size of new array must be unchanged
>>> np.zeros((4,2))[::2].shape = (-1,)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: incompatible shape for a non-contiguous array

练习二:定义神经网络结构

4.1 - Defining the neural network structure

使用.shape方法取出x、y的维度

4.2 - Initialize the model’s parameters

initialize_parameters(n_x, n_h, n_y)

返回:
parameters = {“W1”: W1,
“b1”: b1,
“W2”: W2,
“b2”: b2}

根据提示使用 np.random.randn(a,b) * 0.01 to randomly initialize a matrix of shape (a,b).

Use: np.zeros((a,b)) to initialize a matrix of shape (a,b) with zeros.

4.3 - The Loop

  • forward_propagation(X, parameters) #前向传播
    使用parameters[“W1”]来获取W1的数据

    返回:A2, cache
    cache = {“Z1”: Z1,
    “A1”: A1,
    “Z2”: Z2,
    “A2”: A2}

  • compute_cost(A2, Y, parameters)# 计算损失

    返回:
    cost

  • backward_propagation(parameters, cache, X, Y) #反向传播

    返回:
    grads = {“dW1”: dW1,
    “db1”: db1,
    “dW2”: dW2,
    “db2”: db2}

  • update_parameters(parameters, grads, learning_rate = 1.2)# 更新所有参数

4.4 - Integrate parts 4.1, 4.2 and 4.3 in nn_model()

综合前面定义的函数到一起:
nn_model(X, Y, n_h, num_iterations = 10000, print_cost=False)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值