首页 > 编程知识 正文

卡尔曼滤波与组合导航原理,扩展卡尔曼滤波器

时间:2023-05-03 11:46:57 阅读:11076 作者:3349

多层感知机(multilayer perceptron,MLP )文章目录多层感知机(multilayer perceptron,MLP ) 1、激活函数选择2、多层感知机从零开始实现2.1手写多层感知机2.2基于pytorch

线性回归、softmax回归:单层神经网络

多层探测器中的隐层和输出层都是全连接层

多层探测器主要包括输入层、隐藏层、输出层

1、激活函数% matplotlibinlineimporttorchimportnumpyasnpimportmatplotlib.pyplotaspltimportsys.path.append (导入D2 lzh 1981 relu激活函数defxyplot ) y_vals,y_vals,name ) :#D2L.set 2.5 ) PLT.plot(x_vals.#.detach ).numpy, y_vals.detach ) ).numpy ) ).detach )是去除数字后面小数部分的0的x_vals.detach(.numpy ) (PLT.xlabel ) )横轴PLT.ylabel relu ) #小于0的部分放置0print('y ',y ) xyplot (x,y,' relu ) (#图y.sum ).backward ) ) )

关于激活函数的选择ReLu函数是一般的激活函数,目前很多情况下都在使用。 但是,ReLU函数只能用于隐藏层。

用于分类器时,sigmoid函数及其组合通常更有效。 由于梯度消失问题,可能避免使用sigmoid和tanh函数。

对于神经网络层数较多,优选使用ReLu函数。 ReLu函数比较简单,计算量少,sigmoid和tanh函数计算量相当大。

在选择激活函数的时候可以先选用ReLu函数如果效果不理想可以尝试其他激活函数。

2、多层感知机从零开始实现2.1手写多层感知机importtorchimportnumpyasnpimportsys.path.append (/home/ke sci/input ) ) import D2 lzh 1981 as D2 lppppp 读取数据batch_size=256train_iter,test _ ITER=d2l.load _ data _ fashion _ Mn ist (batch _ size,root='/hot ) 256#设置权重和偏移w1=torch.tensor (NP.random.normal (0,0.01,) num_inputs,num_hiddenensor )的类型=torch dtype=torch.float ) W2=torch.tensor ) NP.random.normat dype=torch.float (B2=torch.zeros (num _ ou outputs,) Float] B2 ) forparaminparams 3360 param.requires _ grad _ (requires _ grad=true ) #激活函数defrelu(x ) :返回跟踪定义网络def net(X ) x ) :x=x.view ) (-1,num_inputs ) h=relu ) torch.matmul ) x W2 ) B2 loss=torch.nn . 请充分理解train _ ITER:params=none,lr=None,optimizer=None ) : forepochinrange (num _ epochs ) : train _ l train _ ACC _ yin train _ ITER : y_hat=net (x ) l=loss ) y _ hat, y ).sum(#零坡度ifoptimizerisnotnone : optimizer.zero _ grad ) ) elifparamsisnotnoneandparams [0] . gradisnotnone : forparaminparams : param.grad.data.zero _ (l.backward ) #请求引导的ifoptimizerisnone 3360 D2 l.SG waro 在“简单实现softmax回归”一节中,train_l_sum =l.item ) train_ACC_sum=) y n=y.shape [0] test _ ACC=evaluate _ ate train_l_sum/n,train_acc_sum/n,test_acc ) (D2L.train_ch3(net,train_iter,test_iter, loss lr ) 2.2基于py torch # importtorchfromtorchimportnfromtorch.nnimportinitimportnumpyasnpimportsyssys.path.append () hooth import D2 lzh 1981 as D2 l print (torch._ _ version _ _ ) #初始化模型num_inputs,num_outputs,num _ hiddens=784, 用Squential将256###网络层和激活函数合并net=nn.sequential (d2l.flatten layer ),#数据转换28*28-784nn.linear ) num _ inpu inputer ) for params in net.parameters ) ) :init.normal_ ) params,mean=0 std=0.01 ) #参数初始化batch_size=256 #小批量采样root='/home/ke sci/input/fashionm NIST 2065 ' (loss=torch.nn.crossentropyloss (#交叉熵损失optimizer=torch.)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。