Coursera机器学习 第五周Neural Networks: Learning 测验题目和答案

本文探讨了神经网络中使用反向传播算法计算代价函数梯度的方法,并讨论了参数更新的正确向量化实现方式。同时,文章还介绍了如何通过数值方法验证梯度计算的正确性,并给出了几种常见参数初始化策略的有效性和建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



1
point
1。

You are training a three layer neural network and would like to use backpropagation to compute the gradient of the cost function. In the backpropagation algorithm, one of the steps is to update

Δ(2)ij:=Δ(2)ij+δ(3)i(a(2))j

for every i,j. Which of the following is a correct vectorization of this step?

Δ(2):=Δ(2)+(a(3))Tδ(2)

Δ(2):=Δ(2)+(a(2))Tδ(3)

Δ(2):=Δ(2)+δ(3)(a(2))T

Δ(2):=Δ(2)+δ(3)(a(3))T

1
point
2。

Suppose Theta1 is a 5x3 matrix, and Theta2 is a 4x6 matrix. You set thetaVec=[Theta1(:);Theta2(:)]. Which of the following correctly recovers Theta2?

reshape(thetaVec(16:39),4,6)

reshape(thetaVec(15:38),4,6)

reshape(thetaVec(16:24),4,6)

reshape(thetaVec(15:39),4,6)

reshape(thetaVec(16:39),6,4)

1
point
3。

Let J(θ)=2θ3+2. Let θ=1, and ϵ=0.01. Use the formula J(θ+ϵ)J(θϵ)2ϵ to numerically compute an approximation to the derivative at θ=1. What value do you get? (When θ=1, the true/exact derivati ve is dJ(θ)dθ=6.)

5.9998

6

6.0002

8

1
point
4。

Which of the following statements are true? Check all that apply.

Gradient checking is useful if we are using one of the advanced optimization methods (such as in fminunc) as our optimization algorithm. However, it serves little purpose if we are using gradient descent.

Using gradient checking can help verify if one's implementation of backpropagation is bug-free.

For computational efficiency, after we have performed gradient checking to

verify that our backpropagation code is correct, we usually disable gradient checking before using backpropagation to train the network.

Computing the gradient of the cost function in a neural network has the same efficiency when we use backpropagation or when we numerically compute it using the method of gradient checking.

1
point
5。

Which of the following statements are true? Check all that apply.

If we initialize all the parameters of a neural network to ones instead of zeros, this will suffice for the purpose of "symmetry breaking" because the parameters are no longer symmetrically equal to zero.

If we are training a neural network using gradient descent, one reasonable "debugging" step to make sure it is working is to plot J(Θ) as a function of the number of iterations, and make sure it is decreasing (or at least non-increasing) after each iteration.

Suppose you have a three layer network with parameters Θ(1) (controlling the function mapping from the inputs to the hidden units) and Θ(2) (controlling the mapping from the hidden units to the outputs). If we set all the elements of Θ(1) to be 0, and all the elements of Θ(2) to be 1, then this suffices for symmetry breaking, since the neurons are no longer all computing the same function of the input.

Suppose you are training a neural network using gradient descent. Depending on your random initialization, your algorithm may converge to different local optima (i.e., if you run the algorithm twice with different random initializations, gradient descent may converge to two different solutions).

答案:1.C 2.A 3.C 4.BC 5.BD







1
point
1。

You are training a three layer neural network and would like to use backpropagation to compute the gradient of the cost function. In the backpropagation algorithm, one of the steps is to update

Δ(2)ij:=Δ(2)ij+δ(3)i(a(2))j

for every i,j. Which of the following is a correct vectorization of this step?

Δ(2):=Δ(2)+(a(3))Tδ(2)

Δ(2):=Δ(2)+(a(2))Tδ(3)

Δ(2):=Δ(2)+δ(3)(a(2))T

Δ(2):=Δ(2)+δ(3)(a(3))T

1
point
2。

Suppose Theta1 is a 5x3 matrix, and Theta2 is a 4x6 matrix. You set thetaVec=[Theta1(:);Theta2(:)]. Which of the following correctly recovers Theta2?

reshape(thetaVec(16:39),4,6)

reshape(thetaVec(15:38),4,6)

reshape(thetaVec(16:24),4,6)

reshape(thetaVec(15:39),4,6)

reshape(thetaVec(16:39),6,4)

1
point
3。

Let J(θ)=2θ3+2. Let θ=1, and ϵ=0.01. Use the formula J(θ+ϵ)J(θϵ)2ϵ to numerically compute an approximation to the derivative at θ=1. What value do you get? (When θ=1, the true/exact derivati ve is dJ(θ)dθ=6.)

5.9998

6

6.0002

8

1
point
4。

Which of the following statements are true? Check all that apply.

Gradient checking is useful if we are using one of the advanced optimization methods (such as in fminunc) as our optimization algorithm. However, it serves little purpose if we are using gradient descent.

Using gradient checking can help verify if one's implementation of backpropagation is bug-free.

For computational efficiency, after we have performed gradient checking to

verify that our backpropagation code is correct, we usually disable gradient checking before using backpropagation to train the network.

Computing the gradient of the cost function in a neural network has the same efficiency when we use backpropagation or when we numerically compute it using the method of gradient checking.

1
point
5。

Which of the following statements are true? Check all that apply.

If we initialize all the parameters of a neural network to ones instead of zeros, this will suffice for the purpose of "symmetry breaking" because the parameters are no longer symmetrically equal to zero.

If we are training a neural network using gradient descent, one reasonable "debugging" step to make sure it is working is to plot J(Θ) as a function of the number of iterations, and make sure it is decreasing (or at least non-increasing) after each iteration.

Suppose you have a three layer network with parameters Θ(1) (controlling the function mapping from the inputs to the hidden units) and Θ(2) (controlling the mapping from the hidden units to the outputs). If we set all the elements of Θ(1) to be 0, and all the elements of Θ(2) to be 1, then this suffices for symmetry breaking, since the neurons are no longer all computing the same function of the input.

Suppose you are training a neural network using gradient descent. Depending on your random initialization, your algorithm may converge to different local optima (i.e., if you run the algorithm twice with different random initializations, gradient descent may converge to two different solutions).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值