| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 在digit recognizer中使用CNN -> 正文阅读 |
|
[人工智能]在digit recognizer中使用CNN |
CNN for this Questionhttp://t.csdn.cn/krfpj CNN for this Question: 1.介绍 5层Sequential网络(Functional、Model Subclassing),使用tensorflow.keras构建。 2.数据预处理 1)查看数据可知训练数据和测试数据的数据模式; train.csv:[label, pixelx[x 0:783]], x = i * 28 + j,说明pixelx是第i行第j列的像素,整个图像为28*28像素大小。 test.csv: [pixelx[x 0:783]], 同上,只是缺少了label列。 2)数据异常值检查处理和标准化 空值、异常值检测处理。 data.isnull().any().describe() 本实例中,若有空值或者异常值,可填充为0,但是实验提供的数据没有空数据。 标准化:将数据从0255标准化至0.01.0,可以减少色彩差别引起的影响,同时加快卷积网络的拟合 3)数据塑性 目前的像素数据为7841的一维数据,可reshape为28281的二维数据,大小为2828,通道数为1(MNIST因为是灰度图像,只有一个通道,若为RGB则每个像素信息需要3通道)。 将label信息转换为独热编码(eg:1→[0,1,0,0,0,0,0,0,0,0]; 2→[0,0,1,0,0,0,0,0,0,0])to_categorical() 将训练数据随机分为十份,其中一份作为验证集,其余九份作为训练集。train_test_split() 3.构建CNN 1)使用卷积神经网络,网络结构为Input→[[Conv2D →relu]*2 →MaxPool2D →Dropout]*2 →Flatten →Dense →Dropout →Out. 【为什么这样设计网络结构】 2)优化器 可选用传统梯度优化:BGD、SGD、MBGD 动量momentum AdaGrad算法 RMSprop算法 Adam算法 各个算法的介绍: 优化器(Optimizer)(SGD、Momentum、AdaGrad、RMSProp、Adam)_CityD的博客-CSDN博客_优化器 3)回调函数 本实例中我使用ReduceLROnPlateau(自适应调整学习率) ReduceLROnPlateau是基于验证集误差测量实现动态学习率缩减,当发现loss不再降低或者acc不再提高之后,降低学习率。
更多keras的回调函数: 机器学习笔记 - Keras中的回调函数Callback使用教程_坐望云起的博客-CSDN博客_keras 回调函数 4)数据增强 为了避免过度拟合问题,我们需要人工扩展手写数字数据集。我们可以使您现有的数据集更大。这个想法是通过小的转换来改变训练数据,以再现当有人在写数字时发生的变化。 使用 5)训练模型(fit) 训练过程中可以看出优化器会影响最终的结果精度,epoch的大小会影响学习的速度和快慢 4.评估模型 数据曲线: 1》CNN, RMSprop, epoch=30 2》CNN, SGD, epoch=30 5.预测结果 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:36:58- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |