[关闭]
@Pigmon 2018-08-31T12:09:49.000000Z 字数 768 阅读 957

Day3-1

作业


Q1. 问题:在使用梯度下降时,需要进行调优。哪些地方需要调优呢?

回答:
我能想到的参数调节首先是学习率的调整,如果学习率过大可能错过局部最小值,过小可能导致在限定的迭代次数中无法求出jiao较优的解。所以在深度学习中,还会增加学习率衰减系数这样的超参数,在误差较大时用大步长,在误差稳定在较小的范围后减少步长。

其次是迭代次数的调整,如果过小可能还没达到一个满意的结果就退出了,过多也会浪费资源。有的训练会加入迭代次数上限和其对应的 Early Stop 条件。即迭代最大次数,但在迭代次结束前,如果 Early Stop 条件满足(如连续多个迭代误差稳定在一个阈值内等)即结束本次训练。

另外因为梯度下降初始的参数 是随机的,可能训练会终止在局部最小值,所以多次训练找到最优解也是必要的。

其他的还没想到。

Q11 问题:计算交叉熵 CE

已知门后有礼物的概率为p1=0.2,p2=0.5,p3=0.25,p4=0.05
且假设 Yi=1,i=1,2,3,4 为有礼物,则计算以下情况的交叉熵(Y1,Y2,Y3,Y4分别为 0,0,0,0)请写出Python代码

Python代码:

  1. # -*- coding: utf-8 -*-
  2. import numpy as np
  3. def cross_entropy(Y, P):
  4. Y = np.float_(Y)
  5. P = np.float_(P)
  6. ret = 0
  7. for i in range(len(Y)):
  8. sum_i = Y[i] * np.log(P[i]) + (1 - Y[i]) * np.log(1 - P[i])
  9. ret += sum_i
  10. return -1. * ret
  11. if __name__ == '__main__':
  12. P = [0.2, 0.5, 0.25, 0.05]
  13. Y = [0, 0, 0, 0]
  14. print (cross_entropy(Y, P))
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注