深度学习吴恩达作业

深度学习吴恩达作业

for i in range(num_parameters):
        
        # Compute J_plus[i]. Inputs: "parameters_values, epsilon". Output = "J_plus[i]".
        # "_" is used because the function you have to outputs two parameters but we only care about the first one
        ### START CODE HERE ### (approx. 3 lines)
            # Step 1
        thetaplus = np.copy(parameters_values) 
            # Step 2
        thetaplus[i][0] = thetaplus[i][0] + epsilon
        J_plus[i], cache = forward_propagation_n(X,Y,vector_to_dictionary(thetaplus))
        ### END CODE HERE ###
        
        # Compute J_minus[i]. Inputs: "parameters_values, epsilon". Output = "J_minus[i]".
        ### START CODE HERE ### (approx. 3 lines)
            # Step 1
        thetaminus = np.copy(parameters_values)
            # Step 2        
        thetaminus[i][0] = thetaminus[i][0] - epsilon
        J_minus[i], cache = forward_propagation_n(X,Y,vector_to_dictionary(thetaminus))
        ### END CODE HERE ###
        
        # Compute gradapprox[i]
        ### START CODE HERE ### (approx. 1 line)
        gradapprox[i] = (J_plus[i] - J_minus[i]) / (2 * epsilon)
        ### END CODE HERE ###
    
    # Compare gradapprox to backward propagation gradients by computing difference.
    ### START CODE HERE ### (approx. 1 line)
        numerator = np.linalg.norm(grad - gradapprox)                                     # Step 1'
        denominator = np.linalg.norm(grad) + np.linalg.norm(gradapprox)                   # Step 2'
        difference = numerator / denominator
        
    ### END CODE HERE ###

    if difference > 1e-7:
        print ("\033[93m" + "There is a mistake in the backward propagation! difference = " + str(difference) + "\033[0m")
    else:
        print ("\033[92m" + "Your backward propagation works perfectly fine! difference = " + str(difference) + "\033[0m")
    
    return difference

请问thetaminus[i][0] = thetaminus[i][0] - epsilon这个中的[i][0]什么意思

跪求

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
深度学习中,正则化是一种应对过拟合问题的技术。过拟合指的是模型在训练集上表现很好,但是在测试集上表现较差的情况。为了解决这个问题,我们可以使用正则化技术。 吴恩达深度学习中提出了两种常见的正则化技术:L2正则化和dropout正则化。L2正则化通过在损失函数中加入正则化项来约束模型的参数,使得模型的复杂度减小。这样可以减少模型对训练数据的过拟合程度,提高模型的泛化能力。具体来说,L2正则化会将模型的权重与其平方的和相乘,并添加到损失函数中。 而dropout正则化则是在训练的过程中随机地将一些神经元的输出置为0,这样可以减少神经元之间的依赖关系,降低模型过拟合的风险。在测试阶段,所有神经元的输出都会被保留,并乘以一个保留概率。 通过使用这两种正则化技术,我们可以有效地减少模型的过拟合问题,提高模型在测试集上的准确率。吴恩达在他的课程中提供了相应的代码示例和数据集,可以帮助学习者理解和实践正则化技术。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [吴恩达深度神经网络调优笔记—正则化](https://blog.csdn.net/m0_51447279/article/details/127112009)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [吴恩达深度学习第二门课第一周作业](https://download.csdn.net/download/weixin_42149550/11666926)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值