参考文章:
https://www.cnblogs.com/ncuhwxiong/p/9836648.html
祝大家国庆快乐,学个习为祖国庆生!
<--------挖坑5处,欢迎评论区答疑和指正 !------->
2021.09.30
LeeML-Notes:P15,P16,P17
1 库导入部分
import keras #导入Keras
from keras.models import Sequential # 导入序贯模型
from keras.layers.core import Dense,Dropout,Activation # 导入全连接层,激活函数
# from keras.layers import Conv2D,MaxPooling2D,Flatten
from keras.optimizers import SGD,Adam # 导入优化函数SGD和Adam
from keras.utils import np_utils
from keras.datasets import mnist #导入手写集
import numpy as np
-
Dropout
Dropout的主要目的是使网络中过度拟合的影响最小化。
Dropout技术是通过随机减少神经网络中相互连接的神经元的数量来实现的。
摘自:https://baijiahao.baidu.com/s?id=1667213407197650339&wfr=spider&for=pc
-
mnist
MNIST是一组经过预处理的手写数字图片数据集,它为机器学习的初学者提供了一个练手的机会,可以在真实的数据上用学到的算法来解决问题。由于很多的机器学习教程都以MNIST作为入门项目,因此它也被称作是机器学习领域的“hello world”。
MNIST中每个样本都是一张长28、宽28的灰度图片,其中包含一个0-9的数字。
2. 载入数据并进行预处理
def load_data():
(x_train,y_train),(x_test,y_test) = mnist.load_data() # 下载mnist数据集
#切数据 定训练数据量
number = 10000 #x_train.shape为(60000,28,28)说明一共有6万张图片,每张是28*28。y_train是6万维的列向量(60000,)。test有1万张
x_train = x_train[0:number] #取前1万张作为训练集
y_train = y_train[0:number]
#数据格式变化
x_train = x_train.reshape(number,28*28) #x_train原来是(10000,28,28)现在转化为(1000,28*28)
x_test = x_test.reshape(x_test.shape[0],28*28) #x_test原来是(10000,28,28)现在转化为(10000,28*28)
#astype转换数据类型
x_train = x_train