根据网络中神经元的互连方式,可以分为3种神经网络
1、前馈神经网络:在训练的过程中会有反馈信号,而在分类的过程中只能向前传递数据,直到到达输出层,层间没有向后反馈信号
2、反馈神经网络:从输入到输出具有反馈连接的神经元
3、自组织网络:通过自动寻找样本中的内在规律和本质属性,自组织、自适应地改变网络参数与结构。
多层感知器即MLP算法,也被称为前馈神经网络或者被泛称为神经网络。
神经网络的结构:输入层、输出层外加隐藏层。
隐藏层非线性化的方法:identity(不做处理)、logistic(f(x)=1/[1+exp(-x)])、tanh(值压缩进-1和1的区间内)、relu(小于0的x值全部去掉用0代替)。
MLP算法python代码实现:
mlp_tanh=MLPClassifier(solver='lbfgs', hidden_layer_sizes=[10,10],
activation='tanh')
mlp_tanh.fit(X_train, y_train)
Z2 = mlp_tanh.predict(np.c_[xx.ravel(), yy.ravel()])
Z2 = Z2.reshape(xx.shape)
plt.figure()
plt.pcolormesh(xx, yy, Z2, cmap=cmap_light)
plt.scatter(X[:, 0], X[:, 1], c=y, edgecolor='k', s=60)
plt.xlim(xx.min(), xx.max())
plt.ylim(yy.min(), yy.max())
plt.title("MLPClassifier:2layers with tanh")
plt.show()
分析:
4种方法调节模型:
(1)调整神经网络每一个隐藏层上的节点数
(2)调节神经网络隐藏层的层数
(3)调节activation
(4)调整alpha值来改变模型正则化的程度
MLP分类器
想要完整代码的朋友,可toutiao搜索“编程研究坊”关注后s信我,回复“算法笔记21“获取