sknn层定义——sknn.mlp.Layer

来源:互联网 发布:算法第四版 完整 pdf 编辑:程序博客网 时间:2024/06/15 07:58

sknn多层感知器(Multi-Layer Perceptrons)中有两种层定义:

  • sknn.mlp.Layer :标准的前馈层
  • sknn.mlp.Convolution :卷积层,用于图像

sknn.mlp.Layer

class sknn.mlp.Layer(type, warning=None, name=None, units=None, weight_decay=None, dropout=None, normalize=None, frozen=False)
参数:

  • type: str
    激活函数,非线性层可用Rectifier Sigmoid Tanh ExpLin ,输出层可用Linear Softmax

  • name: str, optional
    层名称

  • units: int
    神经元个数

  • weight_decay: float, optional
    权值衰减,权值向量的L1或L2范数正则化的系数
    关于权值衰减:
    在误差函数中添加一个惩罚项,常用的惩罚项是所有权重的平方乘以一个衰减常量之和。其用来惩罚大的权值。在损失函数中,weight_decay是放在正则项(regularization)前面的一个系数。有了这个权重衰减项以后,代价函数就变成了严格的凸函数,这样就可以保证得到唯一的解,同时避免了训练过拟合。

  • dropout: float, optional
    dropout的比例
    关于dropout:
    将每一个训练样本的输入中的一部分排除。即随机让该层的一部分节点的权重不工作。可以避免过拟合,提高泛化能力。

  • normalize: str, optional
    允许该层的归一化,可以使用batch 来采用batch normalization或者weights 来采用weight normalization,默认不使用
    关于:batch normalization(BN):
    即在每次SGD时,通过mini-batch来对相应的activation做规范化操作,使得结果(输出信号各个维度)的均值为0,方差为1。知乎-魏秀参,csdn-hjimce

  • frozen: bool, optional
    是否冻结该层的参数,如果冻结,这些参数不会在训练过程中被调整

  • warning: None

0 0