神经网络
作者:互联网
1、多层感知机
原理:
-
多次重复线性回归的加权求和过程(中间的计算结果称为隐单元,隐单元构成隐层),计算完每个隐单元的加权求和之后,对结果应用一个非线性函数。再将这个函数结果用于加权求和得出y
- 矫正非线性(relu)
- 正切双曲线(tanh)
-
sklearn.neural_network.MLPClassifier
from sklearn.neural_network import MLPClassifier from sklearn.model_selection import train_test_split from sklearn.datasets import load_breast_cancer #数据 cancer = load_breast_cancer() #划分训练集测试集 X_train, X_test, y_train, y_test = train_test_split(cancer.data,cancer.target,random_state = 0) #选择模型 mlp = MLPClassifier(random_state=42).fit(X_train,y_tain)
-输出
print("training set:{:.2f}".format(mlp.score(X_train,y_train)))
print("testing set:{:.2f}".format(mlp.score(X_test,y_test)))
2、神经网络调节参数
1)常用的参数:
-
solver参数:学习模型或用来学习参数的算法,
- 默认选项是‘adam’,大多数情况下好用,但对数据的缩放相当的敏感;
- ‘lbfgs’,其鲁棒性相当好,但在大型模型或大型数据集上的时间会较长;
- 还有更高级的‘sgd’,这个是目前许多深度学习研究人员用的,参数默认值是‘adam’。
-
hidden_layer_sizes参数:表示多少个隐层和每个隐层有多少个隐单元。
- 数据类型为tuple,第i个数字表示第i层的隐单元个数
- 默认单层100
-
alpha参数:L2惩罚参数,
- alpha越大模型越简单,泛化能力越好
- 它的默认值是0.0001很小(弱正则化)
-
activation参数:选择使用的非线性曲线,
- 其默认值是relu
- tanh
标签:cancer,模型,隐层,神经网络,train,参数,test 来源: https://www.cnblogs.com/caolanying/p/16180268.html