1. 简单非线性关系数据集测试(XOR):

X—>y
00–>0
01–>1
10–>1
11–>0

调用上节课的神经网络程序,实现异或预测

from NeuralNetwork import NeuralNetwork
import numpy as npnn = NeuralNetwork([2,2,1],'tanh')
X = np.array([[0,0],[0,1],[1,0],[1,1]])
y = np.array([0,1,1,0])
nn.fit(X,y)
for i in [[0,0],[0,1],[1,0],[1,1]]:print(i,nn.predict(i))

预测结果

[0, 0] [-0.00189884]
[0, 1] [ 0.99843157]
[1, 0] [ 0.99831886]
[1, 1] [ 0.01177705]

2. 手写数字识别:

import numpy as np
from sklearn.datasets import load_digits
from sklearn.metrics import confusion_matrix,classification_report
from sklearn.preprocessing import LabelBinarizer
from sklearn.cross_validation import train_test_split
from NeuralNetwork import NeuralNetworkdigits = load_digits()
X = digits.data
y = digits.target
X -= X.min()
X /= X.max()nn = NeuralNetwork([64,100,10],'logistic')
X_train,X_test,y_train,y_test = train_test_split(X,y)
labels_train = LabelBinarizer().fit_transform(y_train)
labels_test = LabelBinarizer().fit_transform(y_test)
print("start fitting")
nn.fit(X_train,labels_train,epochs=3000)
predictions = []
for i in range(X_test.shape[0]):o = nn.predict(X_test[i])predictions.append(np.argmax(o))
print(confusion_matrix(y_test,predictions))
print(classification_report(y_test,predictions))

预测结果

start fitting
[[42  0  0  0  0  0  0  0  0  0][ 0 36  0  0  0  0  1  0  4  3][ 0  0 41  0  0  0  0  1  1  0][ 0  0  1 45  0  1  0  1  1  3][ 1  3  0  0 40  0  0  0  0  1][ 0  0  0  0  1 43  0  0  0  1][ 0  0  0  0  0  0 45  0  1  0][ 0  0  0  0  0  0  0 46  1  0][ 0  2  0  0  0  0  0  0 40  1][ 0  1  0  0  0  0  0  1  0 41]]precision    recall  f1-score   support0       0.98      1.00      0.99        421       0.86      0.82      0.84        442       0.98      0.95      0.96        433       1.00      0.87      0.93        524       0.98      0.89      0.93        455       0.98      0.96      0.97        456       0.98      0.98      0.98        467       0.94      0.98      0.96        478       0.83      0.93      0.88        439       0.82      0.95      0.88        43avg / total       0.94      0.93      0.93       450

第15节--神经网络应用--异或判断、手写数字识别相关推荐

  1. 深度学习-Pytorch:项目标准流程【构建、保存、加载神经网络模型;数据集构建器Dataset、数据加载器DataLoader(线性回归案例、手写数字识别案例)】

    1.拿到文本,分词,清晰数据(去掉停用词语): 2.建立word2index.index2word表 3.准备好预训练好的word embedding 4.做好DataSet / Dataloader ...

  2. 模式识别和机器学习实战-K近邻算法(KNN)- Python实现 - 约会网站配对效果判断和手写数字识别

    文章目录 前言 一. k-近邻算法(KNN) 1.算法介绍 2.举个例子--电影分类 3.步骤描述 4.来了--代码实现 二.实战之约会网站配对效果判断 1.导入数据 2.分析数据 3.数据归一化 4 ...

  3. 学习笔记CB009:人工神经网络模型、手写数字识别、多层卷积网络、词向量、word2vec...

    人工神经网络,借鉴生物神经网络工作原理数学模型. 由n个输入特征得出与输入特征几乎相同的n个结果,训练隐藏层得到意想不到信息.信息检索领域,模型训练合理排序模型,输入特征,文档质量.文档点击历史.文档 ...

  4. Neural Networks and Deep Learning读书笔记--神经网络应用:手写数字识别

    神经网络应用于MNIST数据手写数字识别 加载MNIST数据,用下面所描述的一小段辅助程序mnist_loader.py来完成.用于存储MNIST数据的数据结构在文档字符串中进行了描述-它是简单的内容 ...

  5. Tensorflow实现简单的手写数字神经网络模型

    1.全连接层直接实现手写数字神经网络 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_dat ...

  6. 全站最详细的Python numpy 搭建全连接神经网络模型教程(理论计算+代码实现)(不止能预测手写数字数据,准确率93.21%)

    1.引言 本文构建的全连接神经网络模型结构图如上.其中中间隐藏层的数量以及各层(输入层.隐藏层.输出层)的神经单元数量均可 自由设置,本文构造的神经网络并不是专门为识别手写数字而写死的,而是可以根据 ...

  7. python正则表达式判断数字_Python机器学习之手写数字辨识及正则表达式

    学习与预测 在前面,我们已经将digits数据集中的图像读取出来,并且使用matplotlib库绘制出了一张数据图片.并且我们已经定义好了一个SVC估计器,估计器的学习步骤可以就此开始啦.我们有说过, ...

  8. Tensorflow学习教程------模型参数和网络结构保存且载入,输入一张手写数字图片判断是几...

    首先是模型参数和网络结构的保存 #coding:utf-8 import tensorflow as tf from tensorflow.examples.tutorials.mnist impor ...

  9. 用神经集认识手写数字

    人类的视觉系统是世界奇迹之一. 考虑下面的手写数字序列: [img]http://dl2.iteye.com/upload/attachment/0130/0307/278367c2-72b9-338 ...

最新文章

  1. Python 初体验
  2. 一篇文章搞懂JavaScript运行机制
  3. STM32固件库文件树及构成详解
  4. Java 守护线程概述
  5. Linux学习之系统编程篇:exec 函数族
  6. mysql的pager命令,mysql pager用法命令行命令
  7. 深入理解Kafka(3)-Consumer
  8. 解决: pip install 由于目标计算机积极拒绝,无法连接
  9. JSON-RPC、XML-RPC、SOAP三者的关系
  10. 存储设备分区,格式化,挂载
  11. art-template入门(九)之API
  12. java泛型面试_Java泛型面试问题
  13. css随堂笔记(一)
  14. 协议详解_I2C协议详解
  15. oracle fnd file.log,OracleEBSWIP模块DebugLog收集方法
  16. 【AI视野·今日NLP 自然语言处理论文速览 第一期】Fri, 4 Jun 2021
  17. 排序算法之 Slow Sort
  18. 278.第一个错误版本(力扣leetcode) 博主可答疑该问题
  19. 数据结构之什么是数组?
  20. 手写简易版spring MVC框架

热门文章

  1. 万能乘法速算法大全_小学生两位数乘法容易出错?只因没掌握这个“万能”速算法...
  2. opencv打卡51: 形态学梯度cv2.morphologyEx(img, cv2.MORPH_GRADIENT, kernel)
  3. 局域网攻击之DHCP Starvation(DHCP饿死)
  4. 纪念博客访问破百万!
  5. fcpx如何用光流法_熟悉这些fcpx剪辑技巧 快速提高你的剪辑效率
  6. ctf实战第一节:kali环境的熟悉:最新ZSH,初始化root密码,环境配置
  7. html5学习笔记--leon
  8. Cocos游戏带你告别光棍节:欢迎对号入座、修成正果!
  9. 一位资深数据人对数据挖掘的深度解读
  10. 交换机 POE 学习