import numpy as np from sklearn.datasets import load_digits from sklearn.metrics import confusion_matrix, classification_report from sklearn.preprocessing import LabelBinarizer from NeuralNetwork import NeuralNetwork from sklearn.cross_validation imp…
写在开头:这个实验和matlab手写神经网络实现识别手写数字一样. 实验说明 一直想自己写一个神经网络来实现手写数字的识别,而不是套用别人的框架.恰巧前几天,有幸从同学那拿到5000张已经贴好标签的手写数字图片,于是我就尝试用matlab写一个网络. 实验数据:5000张手写数字图片(.jpg),图片命名为1.jpg,2.jpg-5000.jpg.还有一个放着标签的excel文件. 数据处理:前4000张作为训练样本,后1000张作为测试样本. 图片处理:用matlab的imread()函数读取…
前几天用CNN识别手写数字集,后来看到kaggle上有一个比赛是识别手写数字集的,已经进行了一年多了,目前有1179个有效提交,最高的是100%,我做了一下,用keras做的,一开始用最简单的MLP,准确率只有98.19%,然后不断改进,现在是99.78%,然而我看到排名第一是100%,心碎 = =,于是又改进了一版,现在把最好的结果记录一下,如果提升了再来更新. 手写数字集相信大家应该很熟悉了,这个程序相当于学一门新语言的“Hello World”,或者mapreduce的“WordCount…
实现我们分类数字的网络 好,让我们使用随机梯度下降和 MNIST训练数据来写一个程序来学习怎样识别手写数字. 我们用Python (2.7) 来实现.只有 74 行代码!我们需要的第一个东西是 MNIST数据.如果有 github 账号,你可以将这些代码库克隆下来, git clone https://github.com/mnielsen/neural-networks-and-deep-learning.git 或者你可以到这里 下载. 顺便说一下, 当我先前说到 MNIST 数据集时,我说…
实验说明 一直想自己写一个神经网络来实现手写数字的识别,而不是套用别人的框架.恰巧前几天,有幸从同学那拿到5000张已经贴好标签的手写数字图片,于是我就尝试用matlab写一个网络. 实验数据:5000张手写数字图片(.jpg),图片命名为1.jpg,2.jpg-5000.jpg.还有一个放着标签的excel文件. 数据处理:前4000张作为训练样本,后1000张作为测试样本. 图片处理:用matlab的imread()函数读取图片的灰度值矩阵(28,28),然后把每张图片的灰度值矩阵resha…
最近忙里偷闲学习了一点机器学习的知识,看到神经网络算法时我和阿Kun便想到要将它用Python代码实现.我们用了两种不同的方法来编写它.这里只放出我的代码. MNIST数据集基于美国国家标准与技术研究院的两个数据集构建而成.训练集中包含250个人的手写数字,其中50%是高中生,50%来自人口调查局.每个训练集的数字图片像素为28x28.MNIST数据集可通过 下载链接 下载,它包含以下内容: 训练集图像:train-images-idx3-ubyte.gz,包含60000个样本 训练集类标:tr…
更新记录: 2018年2月5日 初始文章版本 近几天需要进行英语手写体识别,查阅了很多资料,但是大多数资料都是针对MNIST数据集的,并且主要识别手写数字.为了满足实际的英文手写识别需求,需要从训练集构造到神经网络搭建各个方面对现有代码进行修改. 神经网络的结构: 1.输入28*28=784维行向量 2.卷积层:卷积核大小5*5,共32个,激活函数ReLu 3.池化层:最大值池化,2*2窗口 4.卷积层:卷积核大小5*5,共64个,激活函数ReLu 5.池化层:最大值池化,2*2窗口 6.全连接…
记得第一次接触手写数字识别数据集还在学习TensorFlow,各种sess.run(),头都绕晕了.自从接触pytorch以来,一直想写点什么.曾经在2017年5月,Andrej Karpathy发表的一篇Twitter,调侃道:l've been using PyTorch a few months now, l've never felt better, l've more energy.My skin is clearer. My eye sight has improved.确实,使用p…
本作业使用神经网络(neural networks)识别手写的阿拉伯数字(0-9) 关于使用逻辑回归实现多分类问题:识别手写的阿拉伯数字(0-9),请参考:http://www.cnblogs.com/hapjin/p/6085278.html 由于逻辑回归是线性分类(它的假设函数是一个线性函数,就是划一条直线,把数据分成了两类.可参考这篇文章中的:②使用逻辑回归来实现多分类问题(one-vs-all) 部分 的图片) 对于一些复杂的类别,逻辑回归就解决不了了.比如下面这个图片中的分类.(无法通…
手写数字识别实现 设计技术参数:通过由数字构成的图像,自动实现几个不同数字的识别,设计识别方法,有较高的识别率 关键字:二值化  投影  矩阵  目标定位  Matlab 手写数字图像识别简介: 手写阿拉伯数字识别是图像内容识别中较为简单的一个应用领域,原因有被识别的模式数较少(只有0到9,10个阿拉伯数字).阿拉伯数字笔画少并且简单等.手写阿拉伯数字的识别采用的方法相对于人脸识别.汉字识别等应用领域来说可以采用更为灵活的方法,例如基于规则的方法.基于有限状态自动机的方法.基于统计的方法和基于神…