组件名称

  BP神经网络 [版本号:1] [更新时间:2018-05-08]

简介

  神经网络组件是数据超市分类组件中的一个组件算法,主要应用于非线性可分的分类场景中。

1.1 神经网络

神经网络是将许多个单一“神经元”联结在一起,这样,一个“神经元”的输出就可以是另一个“神经元”的输入。一个神经元会根据与它相连的神经元的输入(x)做出反应,决定自身的激活程度(一般用sigmoid函数衡量激活程度),并将激活后的数值(y)输出到其他神经元。所以神经网络可以看成“线性组合-非线性激活函数-线性组合-非线性激活函数…”这样的较为复杂网络结构,它的决策面是复杂的,于是能够适应样本非线性可分的情况。因此神经网络既能够应付样本非线性可分的情况,又同时能够自动构造非线性的特征。 上图可以看出一般神经网络有三层网络:输入层、隐含层和输出层。输入层是样本输入的特征维度的变量,每个神经元可以理解为某个样本的一个特征属性值。最中间神经元构成的层次我们成为隐层,隐层的神经元对原始特征进行了组合,并提取出来了新的特征,而这个过程是模型在训练过程中自动“学习”出来的。输出层相当于在神经元的输出结果后加一个逻辑回归分类器,输出类别的概率。若为多分类则有多个神经元节点并且在神经元节点后加一个Softmax回归模型。

1.2求解参数优化方法

针对神经网络模型,一般采用随机梯度下降法、批量梯度下降法或l-bfgs去优化解决。

1.4 正则化

见“线性回归组件”介绍

输入和输出

  输入端口个数:1

  输出端口个数:1

参数配置

参数名称 参数说明 参数默认值 是否必填
神经网络层及每层节点数 输入层到输出层每层神经元的节点个数,例如数组[780, 100, 10]代表输入层780个节点,中间只有一层隐含层是100个节点,输出层有10个神经元节点。输入格式:[780, 100, 10]可选 必填
模型优化算法 支持算法有: l-bfgs与gd.l-bfgs是BFGS算法在受限内存时的一种近似算法,也即一种受限内存的拟牛顿优化方法,gd也即gradientdescent,梯度下降法可选 l-bfgs 必填
批量数据大小 矩阵中堆叠输入数据的块大小也即每次模型优化的分区批量数据大小,如果块的大小超过分区中的剩余数据量,则自动调整为整个数据量的大小。推荐大小在10到1000之间。默认是128.可选 128 必填
步长 每次优化迭代的步长大小 (>= 0)。可选 0.03 必填
种子数 设置随机种子数值,大于0的整数. 默认是空 可选 必填
最小收敛误差 1e-06 必填
模型初始化参数 支持选项是Random和None,默认是None,可选 Random 必填

字段配置

字段名称 字段说明 字段默认值 是否必配
特征列 输入模型的样本特征列 必选 支持Double/Int类型字段 必填
标签列 输入模型的样本类别标签列 必选 支持Double/Int类型字段 必填

输出节点的字段配置说明

  运行后不生成新字段。后续节点可以直接选择字段。

results matching ""

    No results matching ""