神经网路-SGD-1

SGD神经网络以及python中实现

1、SGD(stochastic gradient descend):<1>数据抽取;<2>计算梯度;<3>参数更新;<4>循环

2、三层SGD网络组件:隐藏层(1),隐藏层(2),输出层,损失函数

2.1隐藏层:

  <1>激活函数/激励函数:sigmoid函数和RELU函数

  def sigmoid():

    return 1/(1+np.exp(-x))

  def relu(x):

    return np.maximum(0,x)

  <2>隐藏层矩阵运算a1=np.dot(x,w1)+b1/

            a2=np.dot(x,w2)+b2

2.2输出层:softmax函数和恒等函数

  def softmax(a2):

    #x.ndim=1

    c=np.max(a2)

    exp_a=np.exp(a-c)

    sum_exp=np.sum(exp_a)

    y=exp_a/sum_exp

    return y

  def feuqal(a2):

    return a2

2.3损失函数:交叉熵误差/均方误差

  def corss_entropy_error(y,t):

    return -np.sum(t*np.log(y))#实际运算中应添加delta=1e-i

  def mean_squared_error(y,t):

    return 0.5*np.sum((y-t)**2)

 

posted @ 2019-04-17 08:07  竹心_兰君  阅读(339)  评论(0编辑  收藏  举报