m0_61795988 2021-09-12 03:02 采纳率: 66.7%
浏览 84
已结题

深度学习的问题想请教各位

img


正在学习深度学习 完全看不懂 请指教

  • 写回答

1条回答 默认 最新

  • joel_1993 2021-09-12 07:57
    关注

    同学你好,这就是一个做了矩阵乘法又做激活的,然后重复一遍,最后得到的数值跟y=1做平方损失,得到的损失函数做两次梯度下降就行啊
    仅供参考

    import numpy as np
    def net(X, W): #求神经网络传递输入输出
        Y1 = X.dot([[W[0],W[1],W[2]],[W[3],W[4],W[5]]])
        S = 1/(1+np.exp(-Y1))
        Y2 = S.dot([W[6],W[7],W[8]])
        return 1/(1+np.exp(-Y2))
    def loss(Y,Ylabel):
        return 0.5*np.sum((Y-Ylabel)*(Y-Ylabel))#求损失函数(平方损失)
    def gradient(W, X, Ylabel, h): #求梯度
        G = np.zeros(len(W));
        W0 = np.zeros(len(W));
        for i in range(len(W)):
            for j in range(len(W)):
                W0[j] = W[j]
            W0[i] = W0[i] + h
            Y0 = net(X,W0)
            Y = net(X,W)
            G[i] = (loss(Y0,Ylabel) - loss(Y, Ylabel))/h #求得梯度
        return G
    X0 = np.array([1,-0.5])
    W0 = np.array([1.2,2.1,1.5,-0.3,-0.7,0.3,-0.2,0.5,1.3])
    Ylabel = 1
    Y = net(X0, W0)
    h = 1e-5#求梯度的步长值
    learningRate = 1 #学习率
    print('初始Theta2:') #打印初始Theta2
    print(np.array([W[6],W[7],W[8]]))
    for i in range(2): #循环两次
        G = gradient(W0, X0, Ylabel, h) #第一次梯度值
        W = W0 - learningRate*G
        Theta2_i = np.array([W[6],W[7],W[8]])
        print('第{}次Theta_2 : '.format(i+1)) #打印第i次Theta2
        print(Theta2_i)
        W0 = W
    Theta1_2 = np.array([[W[0],W[1],W[2]],[W[3],W[4],W[5]]])# 第二次的theta1
    Theta2_2 = np.array([W[6],W[7],W[8]])# 第二次的theta2
    print('\n第二次Theta2 :')
    print(Theta2_2)
    

    输出情况:

    初始Theta2:
    [-0.14804429  0.56023926  1.35200909]
    第1次Theta_2 : 
    [-0.17266922  0.53168204  1.32733078]
    第2次Theta_2 : 
    [-0.14804429  0.56023926  1.35200909]
    
    第二次Theta2 :
    [-0.14804429  0.56023926  1.35200909]
    

    这个最后两行输出就是第二次的Theta2的数值

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月20日
  • 已采纳回答 9月12日
  • 创建了问题 9月12日

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题