神经网络
2022/4/23 23:17:27
本文主要是介绍神经网络,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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
这篇关于神经网络的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-03万字长文聊聊Web3的组成架构
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?