mnist

MNIST | 基于k-means和KNN的0-9数字手写体识别

匆匆过客 提交于 2019-12-05 09:03:48
MNIST | 基于k-means和KNN的0-9数字手写体识别 1 背景说明 2 算法原理 3 代码实现 3.1 文件目录 3.2 核心代码 4 实验与结果分析 5 后记 概要: 本实验是在实验“ kaggle|基于k-means和KNN的语音性别识别 ”、实验“ MNIST|基于朴素贝叶斯分类器的0-9数字手写体识别 ”以及实验“ 算法|k-means聚类 ”的基础上进行的,把k-means聚类和CNN识别应用到数字手写体识别问题中去。有关MINIST数据集和kmeans+KNN的内容可以先看我的上面三篇博文,本实验的代码依然是MATLAB。 关键字: 数字手写体识别; k-means; KNN; MATLAB; 机器学习 1 背景说明    我在我的 上上篇博文 中提到会把kmeans聚类算法用到诸如语音性别识别和0-9数字手写体识别等具体问题中去, 语音性别识别的实验 已经在11月2号完成,现在来填0-9数字手写体识别的坑。由于本篇博客承接了我之前若干篇博客,而MNIST数据集、kmeans以及KNN算法的原理和用法等内容均已在之前提到过,所以这里不再专门说明。 2 算法原理    可以将本次实验思路概括如下:    S1:训练时,将训练集中0-9对应的数据各聚成k类,共计10k个聚类中心;    S2:验证时

MNIST手写体识别任务

回眸只為那壹抹淺笑 提交于 2019-12-05 09:02:00
下面我们介绍一个神经网络中的经典示例,MNIST手写体识别。这个任务相当于是机器学习中的HelloWorld程序。 MNIST数据集介绍 MNIST是一个简单的图片数据集,包含了大量的数字手写体图片。下面是一些示例图片: MNIST数据集是含标注信息的,以上图片分别代表5, 0, 4和1。 由于MNIST数据集是TensorFlow的示例数据,所以我们不必下载。只需要下面两行代码,即可实现数据集的读取工作: from tensorflow .examples .tutorials .mnist import input_data mnist = input_data. read_data_sets ( "MNIST_data/" , one_hot=True) MNIST数据集一共包含三个部分:训练数据集(55,000份,mnist.train)、测试数据集(10,000份,mnist.test)和验证数据集(5,000份,mnist.validation)。一般来说,训练数据集是用来训练模型,验证数据集可以检验所训练出来的模型的正确性和是否过拟合,测试集是不可见的(相当于一个黑盒),但我们最终的目的是使得所训练出来的模型在测试集上的效果(这里是准确性)达到最佳。 MNIST中的一个数据样本包含两块:手写体图片和对于的label。这里我们用 xs 和 ys

DCGAN数据集:mnist、CelebA、lsun

断了今生、忘了曾经 提交于 2019-12-05 08:57:02
carpedm20/DCGAN-tensorflow : https://github.com/carpedm20/DCGAN-tensorflow mnist数据集: http://yann.lecun.com/exdb/mnist/ CelebA数据集: https://blog.csdn.net/Cloudox_/article/details/78432517?locationNum=4&fps=1 :博客 http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html :香港中文大学 lsun数据集: http://lsun.cs.princeton.edu/2017/ :lsun官网 http://www.yf.io/ https://github.com/fyu/lsun/blob/master/download.py :下载数据集 来源: CSDN 作者: tiankong_hut 链接: https://blog.csdn.net/qq_34638161/article/details/81135377

caffe获取mnist数据集出错:gzip: train-images-idx3-ubyte.gz: not in gzip format

两盒软妹~` 提交于 2019-12-05 08:56:22
‘train-images-idx3-ubyte.gz’ saved [591/591] gzip: train-images-idx3-ubyte.gz: not in gzip format 参考链接: http://lib.csdn.net/article/aiframework/53940 https://blog.csdn.net/u012885320/article/details/80953160 注:我执行 此命令的时候报告说not in gzformat,后来发现是联网下载的mnist数据有问题,然后我就去网上了下载了mnist数据集,后在ubuntu上手动解压的,再执行后面的命令。 1、mnist数据手动下载地址 (极客学院): http://wiki.jikexueyuan.com/project/tensorflow-zh/tutorials/mnist_download.html 或者(THE MNIST DATABASE of handwritten digits): http://yann.lecun.com/exdb/mnist/ 如下图所示数据: 2、下载后文件: 3、文件解压到caffe根目录下的 /data/mnist/ 目录下 解压命令: linux(Ubuntu)环境gz解压指令: gunzip –c train-labels-idx1

Keras 浅尝之MNIST手写数字识别

点点圈 提交于 2019-12-05 08:55:37
最近关注了一阵Keras,感觉这个东西挺方便的,今天尝试了一下发现确实还挺方便。不但提供了常用的Layers、Normalization、Regularation、Activation等算法,甚至还包括了几个常用的数据库例如cifar-10和mnist等等。 下面的代码算是Keras的Helloworld吧!利用MLP实现的MNIST手写数字识别: from keras . models import Sequential from keras . layers . core import Dense , Dropout , Activation from keras . optimizers import SGD from keras . datasets import mnist import numpy model = Sequential () model . add ( Dense ( 784 , 500 , init = 'glorot_uniform' )) # 输入层,28*28=784 model . add ( Activation ( 'tanh' )) # 激活函数是tanh model . add ( Dropout ( 0.5 )) # 采用50%的dropout model . add ( Dense ( 500 , 500 , init =

使用keras训练mnist数据集

眉间皱痕 提交于 2019-12-05 08:55:16
文章组织结构 本文使用不同的网络结构来训练mnist,从中了解一些问题 使用keras 序贯模型实现简单的mnist识别,正确率约为90% 更换loss函数,更换优化器来获得更好效果,正确率约为 97% 使用卷积层来替换Dense层,正确率达到99% 使用VGG16网络,正确率达到了97.4% 经验教训 原始代码 (转载自 https://www.cnblogs.com/LHWorldBlog/p/8677131.html) #=================== Test 1 Hello Keras for mnist============================================================================== # 这是一个简单的全连接神经网络的例子。 from keras . models import Sequential # 采用贯序模型 from keras . layers import Input , Dense , Dropout , Activation from keras . models import Model from keras . optimizers import SGD from keras . datasets import mnist import numpy as np

keras的mnist跑起来

我是研究僧i 提交于 2019-12-05 08:55:04
异或问题是神经网络解决的最基本的问题,代码为 from keras.models import Sequential import keras.layers as KL #import numpy as np import pdb INPUTS = np.array([[0, 0], [0, 1], [1, 0], [1, 1]]) #输入为np.array()类型 OUTPUTS = np.array([[0], [1], [1], [0]]) model = Sequential() #pdb.set_trace() model.add(KL.Dense(units=64, activation='relu',input_shape=(2,)))#2为输入个数 model.add(KL.Dense(units=64, activation='relu')) model.add(KL.Dense(units=1, activation='sigmoid'))#1为输出个数 model.compile(loss='binary_crossentropy', #采用binary_crosssentropy训练 optimizer='sgd', metrics=['accuracy']) model.fit(INPUTS, OUTPUTS, epochs=1000, batch

keras识别mnist

对着背影说爱祢 提交于 2019-12-05 08:52:20
import numpy as np np.random.seed( 1337 ) #重复性 from keras.datasets import mnist from keras.utils import np_utils from keras.models import Sequential from keras.layers import Dense from keras.layers import Activation from keras.optimizers import RMSprop #数据的预处理 from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets( "/Users/wutao/PycharmProjects/手写数字识别/MNIST_data" , one_hot = True ) X_train , Y_train = mnist.train.images , mnist.train.labels X_test , Y_test = mnist.test.images , mnist.test.labels X_train = X_train.reshape(X_train.shape[ 0 ] , - 1 )/ 255 X

【Keras-MLP】MNIST

China☆狼群 提交于 2019-12-05 08:51:47
文章目录 1 下载MNIST数据集 1.1 导入Keras及相关模块 1.2 读取 MNIST 数据集 1.3 查看MNIST数据 2 显示data 2.1 显示单个training images and label 2.2 显示多项training images and label 3 Image pre-processing 3.1 把图片变成向量并转化为Float 3.2 把图片的数字标准化(normalize) 4 Label pre-processing 5 Multilayer Perceptron 256 5.1 Build Model 5.2 查看模型摘要 5.3 Training process 5.4 可视化训练过程 5.5 评估准确率 5.6 进行预测 5.7 Confusion Matrix 5.8 建立真实值与预测值的 Data Frame 6 Multilayer Perceptron 1000 6.1 Data processing and Build Model 6.2 查看模型 6.3 Training 6.4 可视化训练过程 6.5 评估模型 7 Multilayer Perceptron 加 DropOut 7.1 Build Model 7.2 Training process 7.3 评估模型 8 Multilayer Perceptron

keras数据增强用于mnist

隐身守侯 提交于 2019-12-05 08:51:03
keras的数据增强,有篇博客写的不错 博客地址 keras关于数据增强的介绍 keras数据增强 from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img datagen = ImageDataGenerator(featurewise_center=True,featurewise_std_normalization=True,rotation_range=20,width_shift_range=0.2,height_shift_range=0.2,horizontal_flip=True) img = load_img('cat.jpeg') # 这是一个PIL图像 x = img_to_array(img) # 把PIL图像转换成一个numpy数组,形状为(3, 150, 150) x = x.reshape((1,) + x.shape) # 这是一个numpy数组,形状为 (1, 3, 150, 150) #计算依赖于数据的变换所需要的统计信息(均值方差等),只有使用featurewise_center,featurewise_std_normalization或zca_whitening时需要此函数。 #datagen.fit(x) #