当前位置:   article > 正文

python手写汉字识别_用python实现手写数字识别

python多少个像素点代表一个汉字

前言

在之前的学习中,已经对神经网络的算法具体进行了学习和了解。现在,我们可以用python通过两种方法来实现手写数字的识别。这两种方法分别是多元逻辑回归和神经网络方法。

用多元逻辑回归手写数字识别

训练样本简介

首先,可以用逻辑回归实现手写数字识别的多元分类,在ex3data.mat文件中保存着一个包含5000个培训考试训练数据集的手写数字,.mat格式表示这些训练数据集以矩阵格式保存,而不是文本格式。训练集中有5000个训练样本,每个训练样本是一个20X20像素的灰度图像,每一个像素用一个float型数据表示当前位置的灰度强度。20X20像素形成一个400维向量,每一个训练样本形成一个单行矩阵

math?formula=X,5000个训练样本构成一个5000X400的矩阵,每一个行向量代表手写数字图像的训练样本。矩阵

math?formula=X可以如下表示:

b1ca1cd3070b

数据集第二部分包含一个5000维的矩阵

math?formula=y, 代表输出值的标签,即0,1,2,3,4,5,6,7,8,9.

如下代码所示,首先导入算法实现所需要的python库

import matplotlib.pyplot as plt

import numpy as np

import scipy.io as scio

初始化一些参数

input_layer_size = 400 # 20x20 像素矩阵

num_labels = 10 # 手写数字 0,1,2,3,4,5,6,7,8,9

数据可视化

随机选取

math?formula=X矩阵中的100行向量,并将这些函数传递到displayData函数中,通过调用此函数,我们可以显示出这些向量的灰度图像,具体实现如下所示:

载入数据

data = scio.loadmat('ex3data1.mat')

X = data['X']

y = data['y'].flatten()

m = y.size

绘图函数实现

绘图函数的实现如下所示,具体实现思路就是确定显示图

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/679033
推荐阅读
相关标签
  

闽ICP备14008679号