眉山手机网站建设/网站优化是做什么的
MLP分类器-Python
sklearn.neural_network.MLPClassifier
前提警告:
MLP实现不适用于大规模应用程序。特别是,scikit-learn不提供GPU支持。关于更快的,基于gpu的实现,以及提供更多灵活性来构建深度学习架构的框架,请参阅相关项目。官方网站:1.17. Neural network models (supervised)
Multi-layer Perceptron (MLP)多层感知机
多层感知机是一种机器学习算法,通过在数据集上进行训练后,学习得到一个函数f(⋅):Rm→Rof(·):R^{m}\rightarrow R^{o}f(⋅):Rm→Ro。MMM是输入数据的维度,ooo是输出数据的维度。给定一组特征值X=x1,x2,⋯xmX=x_{1},x_{2},\cdots x_{m}X=x1,x2,⋯xm和一个目标值yyy,MLP可以为每个分类和回归学习到一个非线性函数的估计值。与逻辑回归(Logistic Regression)不同,在MLP中,输入层与输出层之间可以有一层或多个非线性层,我们称之为隐藏层。图1显示了一个带有标量输出的隐藏层MLP。
最左边的是输入层。隐藏层中的每个神经元都用加权线性求和的方式将前一层的值进行转换,然后使用非线性激活函数,如双曲tan函数。输出层从最后一个隐藏层接受值,将它们转换为输出值。
该模型包括两个公共属性coefs_ 和 intercepts_。coefs_是权矩阵的列表,在权矩阵中下标为iii的元素代表第iii层和第i+1i+1i+1层的权重; intercepts_是偏置向量的列表,下标为iii的元素代表加在第i+1i+1i+1层上的偏置值。
MLP优点:
- 能够学习非线性模型;
- 能够使用partial_fit实时学习模型(在线学习)。
MLP缺点:
- 具有隐层的MLP具有非凸损失函数,存在多个局部极小值。因此,不同的随机权值初始化可以导致不同的验证精度。
- MLP需要调整许多超参数,如隐藏神经元的数量、层数和迭代数。
- MLP对特征缩放很敏感。
Please see Tips on Practical Use section that addresses some of these disadvantages.
分类
MLPClassifier类实现了一个使用Backpropagation进行训练的多层感知器(MLP)算法。
MLP在两个数组上进行训练:数组X的大小为(n_samples, n_features),该数组保存用浮点特征向量表示的训练样本;
数组y的大小为(n_samples,),它保存训练样本的目标值(类标签):
代码部分很简单,详细见:
代码见官方网址!https://scikit-learn.org/stable/modules/neural_networks_supervised.html