Coursera机器学习 第五周Neural Networks: Learning 测验题目和答案
2017-08-24 16:59
751 查看
Δ(2):=Δ(2)+(a(3))T∗δ(2)
4000
Δ(2):=Δ(2)+(a(2))T∗δ(3)
Δ(2):=Δ(2)+δ(3)∗(a(2))T
Δ(2):=Δ(2)+δ(3)∗(a(3))T
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)
5.9998
6
6.0002
8
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.
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
Δ(2):=Δ(2)+(a(3))T∗δ(2)
Δ(2):=Δ(2)+(a(2))T∗δ(3)
Δ(2):=Δ(2)+δ(3)∗(a(2))T
Δ(2):=Δ(2)+δ(3)∗(a(3))T
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)
5.9998
6
6.0002
8
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.
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).
4000
Δ(2):=Δ(2)+(a(2))T∗δ(3)
Δ(2):=Δ(2)+δ(3)∗(a(2))T
Δ(2):=Δ(2)+δ(3)∗(a(3))T
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)
5.9998
6
6.0002
8
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.
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
Δ(2):=Δ(2)+(a(3))T∗δ(2)
Δ(2):=Δ(2)+(a(2))T∗δ(3)
Δ(2):=Δ(2)+δ(3)∗(a(2))T
Δ(2):=Δ(2)+δ(3)∗(a(3))T
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)
5.9998
6
6.0002
8
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.
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).
相关文章推荐
- coursera Machine Learning 第五周 测验quiz答案解析 Neural Networks: Learning
- coursera Machine Learning 第四周 测验quiz答案解析 Neural Networks: Representation
- Coursera公开课笔记: 斯坦福大学机器学习第九课“神经网络的学习(Neural Networks: Learning)”
- coursera Machine Learning 第九周 测验quiz2答案解析 Recommender Systems
- coursera Machine Learning 第十周 测验quiz答案解析Large Scale Machine Learning
- coursera Machine Learning 第六周 测验quiz2答案解析 Machine Learning System Design
- coursera Machine Learning 第八周 测验quiz1答案解析 Unsupervised Learning
- Coursera Machine Learning 第五周 quiz Neural Networks: Learning
- Coursera公开课笔记: 斯坦福大学机器学习第九课“神经网络的学习(Neural Networks: Learning)”
- coursera Machine Learning 第九周 测验quiz1答案解析 Anomaly Detection
- Coursera Machine Learning 第五周 quiz Neural Networks: Learning
- coursera Machine Learning 第六周 测验quiz1答案解析 Advice for Applying Machine Learning
- Coursera公开课笔记: 斯坦福大学机器学习第十一课“机器学习系统设计(Machine learning system design)”
- Coursera公开课笔记: 斯坦福大学机器学习第八课“神经网络的表示(Neural Networks: Representation)”
- 斯坦福大学机器学习第九课“神经网络的学习(Neural Networks: Learning)”
- Coursera Machine Learning quiz 参考答案(不一定对)
- Coursera Machine Learning 第九周week9ex8AnomalyDetectionRecommedMachines编程全套满分题目+注释
- Coursera-Deep Learning Specialization 课程之(一):Neural Networks and Deep Learning-weak2
- [置顶] Coursera-Deep Learning Specialization 课程之(一):Neural Networks and Deep Learning-weak3编程作业
- Stanford 机器学习-Neural Networks learning