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)