theano 模块 MLP示例

这篇博客介绍了如何利用Theano库构建一个多层感知器(MLP)。通过定义`Layer`类表示神经网络层,包含权重、偏置和激活函数,以及`MLP`类整合所有层并实现输出和误差平方计算。文章还涵盖了梯度下降法的动量更新,以优化网络训练过程。
摘要由CSDN通过智能技术生成
theano 教程
Example: MLP:

约定数组为列向量,

层级:
将多层传感器定义为一连串的层级,每个层级定义为一个类。类属性包括:权重、偏差矢量、以及计算这一层输出的函数。
如果不使用Theano,我们可能希望输出函数会接收一个向量并返回图层的激活来响应输入。然而在Theano中输出函数反而是为了创造能够接收向量并返回图层激活的函数而创建的。因此我们要创建一个在类外部计算图层的激活。
Layer类:neural network 的一层用于计算非线性误差s = Wx+b 。其中x就是输入的向量。
class Layer(object):
    def __init__(self,W_init,b_init,activation):
        '''
        W_init 是需要初始化的权重矩阵的值 (n_output,n_input)
        b_init 是需要初始化的偏差向量的值 (n_output,)
        activation 是图层激活函数
        '''
        #基于W的初始化来获得输入和输出的维度
        n_output,n_input = W_init.shape
        #确定b是output的大小
        assert b_init.shape == (n_output,)
        #所有参数都应该是共享变量,在类里用于计算图层的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值