神经网络算法-12-6.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

用mimi-batch实现,使用梯度法更新参数。使用的是MINIST数据集,且反向传播计算梯度。

#coding:utf-8

importnumpyasnp

importmatplotlib.pyplotasplt

fromsklearn.datasetsimportfetch_openml

fromsklearn.model_selectionimporttrain_test_split

defsigmoid(x):

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

defsigmoid_grad(x):

return(1.0-sigmoid(x))*sigmoid(x)

defsoftmax(x):

ifx.ndim==2:#维数是2即方框中套方框,有2层

x=x.T

x=x-np.max(x,axis=0)#axis=0表示第0维axis=1表示第1维

y=np.exp(x)/np.sum(np.exp(x),axis=0)

returny.T

x=x-np.max(x)#溢出对策一维

returnnp.exp(x)/np.sum(np.exp(x))

defcross_entropy_error(y,t):

ify.ndim==1:

t=t.reshape(1,t.size)

y=y.reshape(1,y.size)

#监督数据是one-hot-vector的情况下,转换为正确解标签的索引

ift.size==y.size:

t=t.argmax(axis=1)

batch_size=y.shape[0]

return-np.sum(np.log(y[np.arange(batch_size),t]+1e-7))/batch_size

defnumerical_gradient(f,x):

h=1e-4#0.0001

grad=np.zeros_like(x)

it=np.nditer(x,flags=[multi_index],op_flags=[readwrite])

whilenotit.finished:

idx=it.multi_index

tmp_val=x[idx]

x[idx]=float(tmp_val)+h

fxh1=f(x)#f(x+h)

x[idx]=tmp_val-h

fxh2=f(x)#f(x-h)

grad[idx]=(fxh1-fxh2)/(2*h)

x[idx]=tmp_val#还原值

it.iternext()

returngrad

classTwoLayerNet:

#hidden_size表示神经网络隐藏层的神经元数量

def__init__(self,input_size,hidden_size,output_size,weight_init_std=0.01):

#初始化权重

self.params={}

self.params[W1]=weight_init_std*np.random.randn(input_size,hidden_size)

self.params[b1]=np.zeros(hidden_size)#于创建一个元素全部为零的一维数组

self.params[W2]=weight_init_std*np.random.randn(hidden_size,output_size)

self.params[b2]=np.zeros(output_size)

#两层神经网络,因为self.params[W1]和self.params[W2]是两个权重矩阵,

#它们分别连接输入层和隐藏层,以及隐藏层和输出层。

defpredict(self,x):

W1,W2=self.para

您可能关注的文档

文档评论(0)

186****4116 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档