神经网络实验——MLP

目录

1 目的

2 方法

3 源代码

4 结果


1 目的

①熟悉 Python 的输入输出流;
②学会使用 matplotlib进行图像可视化;
③掌握神经网络的基本原理,学会使用 sklearn 库中的 MLPClassifier 函数构建基础的多层感知机神经网络分类器;
④学会使用网格查找进行超参数优化。

2 方法

①读取并解压 mnist.gz文件,并区分好训练集与测试集;
②查看数据结构,对手写字符进行可视化展示;
③构建多层感知机神经网络模型,并使用网格查找出最优参数;
④输出模型的最优参数以及模型的预测精度。

3 源代码

①启动 Spyder,新建.py 文件,加载试验所需模块

# 导入相关模块
from sklearn.neural_network import MLPClassifier
from sklearn.model_selection import GridSearchCV
import numpy as np
import pickle
import gzip
import matplotlib. pyplot as plt

②加载数据,数据文件保存在 mnist.gz 安装包中,因此需要对文件进行解压后对文件进行读取,且区分训练集、测试集与验证集

#解压数据并进行读取
with gzip.open(r"D:\大二下\数据挖掘\神经网络\mnist.gz") as fp:training_data, valid_data, test_data= pickle.load(fp,encoding='bytes') 
#区分训练集与测试集
X_training_data,y_training_data= training_data
X_valid_data,y_valid_data= valid_data
X_test_data, y_test_data= test_data

③查看数据的结构,为后续建模做准备:

#定义函数show_data_struct 用于展示数据的结构
def show_data_struct():print(X_training_data.shape,y_training_data.shape)print(X_valid_data.shape,y_valid_data.shape)print(X_test_data.shape,y_test_data.shape)print(X_training_data[0])print(y_training_data[0])
#使用show_data_struct 函数进行数据展示
show_data_struct()

④为了更好地了解数据的形态,对手写字符进行可视化展示

#定义函数用于可视化字符的原有图像
def show_image():plt.figure(1)for i in range(10):image=X_training_data[i]pixels=image.reshape((28,28))plt.subplot(5,2,i+1)plt.imshow(pixels,cmap='gray')plt.title(y_training_data[i])plt.axis('off')plt.subplots_adjust(top=0.92,bottom=0.08,left=0.10,right=0.95, hspace=0.45,wspace=0.85)plt.show()
#使用show_image函数进行图像展示
show_image()

⑤构建参数字典,用于后续使用网格查找进行超参数优化

#字典中用于存放的 MLPClassifier 函数的参数列表
mlp_clf__tuned_parameters= {"hidden_layer_sizes":[(100,),(100,30)],"solver":[' adam', 'sgd', 'bfgs'],"max_iter":[20],"verbose":[True]}

⑥使用MLPClassifier 丽数构建多层感知机神经网络,并使用GridSearchCV 网格查找进行超参数优化,找出最合适的参数

#构建多层感知机分类器
mlp=MLPClassifier()
#通过网格查找出最优参数
estimator= GridSearchCV(mlp,mlp_clf__tuned_parameters,n_jobs=6)
#拟合模型
estimator.fit(X_training_data, y_training_data)
#输出最优参数
print(estimator.best_params_)
#输出模型的预测精度
print(estimator.score(X_test_data, y_test_data))

4 结果

(50000, 784) (50000,)

(10000, 784) (10000,)

(10000, 784) (10000,)

[0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.01171875 0.0703125  0.0703125  0.0703125

 0.4921875  0.53125    0.68359375 0.1015625  0.6484375  0.99609375

 0.96484375 0.49609375 0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.1171875  0.140625   0.3671875  0.6015625

 0.6640625  0.98828125 0.98828125 0.98828125 0.98828125 0.98828125

 0.87890625 0.671875   0.98828125 0.9453125  0.76171875 0.25

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.19140625

 0.9296875  0.98828125 0.98828125 0.98828125 0.98828125 0.98828125

 0.98828125 0.98828125 0.98828125 0.98046875 0.36328125 0.3203125

 0.3203125  0.21875    0.15234375 0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.0703125  0.85546875 0.98828125

 0.98828125 0.98828125 0.98828125 0.98828125 0.7734375  0.7109375

 0.96484375 0.94140625 0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.3125     0.609375   0.41796875 0.98828125

 0.98828125 0.80078125 0.04296875 0.         0.16796875 0.6015625

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.0546875  0.00390625 0.6015625  0.98828125 0.3515625

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.54296875 0.98828125 0.7421875  0.0078125  0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.04296875

 0.7421875  0.98828125 0.2734375  0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.13671875 0.94140625

 0.87890625 0.625      0.421875   0.00390625 0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.31640625 0.9375     0.98828125

 0.98828125 0.46484375 0.09765625 0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.17578125 0.7265625  0.98828125 0.98828125

 0.5859375  0.10546875 0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.0625     0.36328125 0.984375   0.98828125 0.73046875

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.97265625 0.98828125 0.97265625 0.25       0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.1796875  0.5078125  0.71484375 0.98828125

 0.98828125 0.80859375 0.0078125  0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.15234375 0.578125

 0.89453125 0.98828125 0.98828125 0.98828125 0.9765625  0.7109375

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.09375    0.4453125  0.86328125 0.98828125 0.98828125 0.98828125

 0.98828125 0.78515625 0.3046875  0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.08984375 0.2578125  0.83203125 0.98828125

 0.98828125 0.98828125 0.98828125 0.7734375  0.31640625 0.0078125

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.0703125  0.66796875

 0.85546875 0.98828125 0.98828125 0.98828125 0.98828125 0.76171875

 0.3125     0.03515625 0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.21484375 0.671875   0.8828125  0.98828125 0.98828125 0.98828125

 0.98828125 0.953125   0.51953125 0.04296875 0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.53125    0.98828125

 0.98828125 0.98828125 0.828125   0.52734375 0.515625   0.0625

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.         0.         0.

 0.         0.         0.         0.        ]

5

通过观察数据结构可知,数据由 10000个样本组成,其中每一个样本是由784(28*28)个像素组成的图像,像素黑白用 0/1 进行表示,对应的label目标变量的每个字符图像的真实标签。

由图可知,MNIST数据由手写字符图像和标签组成。

通过对 MLP分类器的学习可见,模型经过 20次迭代,loss 不断减少0.2320587后达到拟合状态。

由输出结果可见,通过 GridSearchCV 网格查到的最优参数为:隐藏层数为(100,30),最大池化层为 20,激活函数为sgd;且此时多层感知机神经网络MNIST手写字符识别的准确率达到了 0.9347。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/20271.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cursor 无限续杯

最近DeepSeek官网无法访问,导致DeepSeekCLine绑定的API Key也无法使用了。那么,除了DeepSeek,还有没有其他好用的AI编程工具呢?答案当然是Cursor!不过,由于各种原因一直没有用上Cursor,也不知道…

Windows本地部署DeepSeek

文章目录 一、准备工作1、准备服务器2、准备APP 二、部署deepseek-r11、脚本部署2、脚本部署 三、ChatBox集成 一、准备工作 1、准备服务器 本案例使用Windows电脑 2、准备APP Download Ollama Download Chatbox 二、部署deepseek-r1 1、脚本部署 双击安装完Ollama,默认…

QML 自定义矩形框Rectangle,实现四个边框自定义大小

一、自定义矩形 效果图 边框大小为:左2 上2 右5 下10 简单来说,就是定义两个矩形,一个在外边一个在内部; 再通过设置他们的边距,即可设置相应的边框宽度; 1.编码 新建空的qml文件 MyRectangle.qml im…

筛选相同项

# import os # import pandas as pd# # 文件路径,根据实际情况修改 # file_path_1 rC:\Users\Administrator\Desktop\python\文件1.xlsx # file_path_2 rC:\Users\Administrator\Desktop\python\文件2.xlsximport os import pandas as pd# 获取当前脚本所在的目录…

MVTEC数据集笔记

前言 网上的博客只有从论文里摘出的介绍,没有数据集文件详细的样子,下载数据集之后,对数据集具体的构成做一个补充的笔记。 下载链接:https://ai-studio-online.bj.bcebos.com/v1/7d4a3cf558254bbaaf4778ea336cb14ed8bbb96a7f2a…

Bom详解和Dom详解

Javascript的数据类型 1.BOM(浏览器对象模型)1.1window对象(1)全局作用域:(2)窗口属性:(3)弹窗和对话框:(4)定时器:(5)导航和历史:(6)打开和关闭窗口: 1.2navigator对象(1)浏览器信息属性:(2)浏…

Android 虚拟机与ClassLoader类加载笔记

1 Android虚拟机 在介绍Android的虚拟机之前,我们先来看一下JVM虚拟机之下,我们的class文件的字节码指令的Demo: public class Demo {public static void test() {int a 1;int b 2;int c a b;} } 将Demo.class文件使用命令&#xff1a…

STM32 HAL库USART串口DMA IDLE中断编程:避坑指南

HAL_UART_Receive接收最容易丢数据了,STM32 HAL库UART查询方式实例 可以考虑用中断来实现,但是HAL_UART_Receive_IT还不能直接用,容易数据丢失,实际工作中不会这样用,STM32 HAL库USART串口中断编程:演示数据丢失, 需要在此基础优化一下. STM32F103 HAL库USART串口…

NBT群落物种级丰度鉴定新方法sylph

文章目录 简介为什么选择Sylph?Sylph的工作原理 Install使用解析成gtdb格式sylph 能做什么?sylph 不能做什么?ANI定义如何使用 sylph-utils 生成包含分类信息的配置文件耗时:66个样本耗时1h 转成easymicroplot可用数据 简介 Sylp…

VLM 系列——Qwen2.5 VL——论文解读——前瞻(源码解读)

引言 20250212苹果突然被爆将与阿里巴巴合作为中国 iPhone 用户开发人工智能功能。苹果从 2023 年就已经开始测试各类中国头部 AI 大厂开发的 AI 模型。去年,原本选定百度作为主要合作伙伴,但双方的合作并不顺利,百度为“Apple Intelligence”…

DeepSeek R1原理

文章目录 DeepSeek R1原理强化学习介绍Policy ModelCritic ModelReward Model三者关系智能体包含的内容环境包含的内容 知识蒸馏简介数据蒸馏Logits 蒸馏特征蒸馏 训练流程DeepSeek-R1-Zero 训练策略与价值设计奖励方式训练模板**实验观察到模型自我进化**缺点 DeepSeek-R1 训练…

如何使用DeepSeek + PlantUML/Mermaid 生成专业图表

目录 一、工具简介 1.1 DeepSeek简介 1.2 PlantUML简介 1.3 Mermaid在线工具简介 二、在DeepSeek中生成Mermaid语法 2.1 编写提示词 2.2 示例输出 2.3 访问Mermaid在线编辑器 三、在DeepSeek中生成PlantUML语法 3.1 编写提示词 3.2 示例输出 3.3 访问PlantUML在线编…

开源多商户商城源码最新版_适配微信小程序+H5+APP+PC多端

在数字化时代,电子商务已经成为各行业不可或缺的一部分,开源多商户商城源码为中小企业和个人开发者提供了快速搭建和定制电商平台的利器。分享一款最新版的开源多商户商城源码,它能够适配微信小程序、H5、APP和PC等多个端口,满足商…

PHP基础部分

但凡是和输入、写入相关的一定要预防别人植入恶意代码! HTML部分 语句格式 <br> <hr> 分割符 <p>插入一行 按住shift 输入! 然后按回车可快速输入html代码(VsCode需要先安装live server插件) html:<h1>标题 数字越大越往后</h1> <p…

短视频矩阵碰一碰发视频源码技术开发,支持OEM

在短视频矩阵碰一碰发视频的技术开发中&#xff0c;前端设计是直接面向用户的关键部分&#xff0c;它不仅决定了用户体验的好坏&#xff0c;还对整个系统的可用性和吸引力起着重要作用。本文将深入探讨在这一技术开发中前端设计的要点、流程与关键技术。 一、前端设计的整体架构…

大模型 + cursor应用案例

cursor 介绍 cursor是一个集成了GPT4、Claude 3.5等先进LLM的类vscode的编译器&#xff0c;可以理解为在vscode中集成了AI辅助编程助手&#xff0c;从下图中的页面可以看出cursor的布局和vscode基本一致&#xff0c;并且cursor的使用操作也和vscode一致&#xff0c;包括extens…

深入浅出CSS复合选择器:掌控元素关系与层级选择

目录 前言 一、子代选择器&#xff08;Descendant Selector&#xff09; 1. 什么是子代选择器&#xff1f; 2. 基本语法 3. 示例 4. 注意事项 二、直接子元素选择器&#xff08;Child Selector&#xff09; 1. 什么是直接子元素选择器&#xff1f; 2. 基本语法 3. 示例…

CSRF 漏洞原理演示 基本绕过(同源 异源) 配合XSSToken值校验复用删除

前言 CSRF的基本原理 就是 举例 我们伪造一个支付宝的转账请求&#xff08;抓包获取的&#xff09;&#xff0c;受害者 &#xff1a; 正好登录着支付宝&#xff08;后台&#xff09;的 同时点击了我们伪造的&#xff08;包含恶意请求&#xff09;网址 从而导致先我们进行转…

外包干了3天,技术退步太明显了。。。

先说一下自己的情况&#xff0c;本科生生&#xff0c;21年通过校招进入武汉某软件公司&#xff0c;干了差不多3年的功能测试&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了3年的功能测试&#xff0c;已经让…

HomeAssistant 发现MQTT设备(温度,湿度,开关)

要通过 MQTT 将温度、湿度数据以及一个灯的开关状态传输到 Home Assistant 并实现设备自动发现&#xff0c;可以按照以下步骤操作&#xff1a; 1.前期准备工作 安装MQTT服务器(EMQX)配置好(可以在HA加载项中安装,也可以在NAS上Docker安装) HA的集成中安装MQTT,并且连接上(EM…