(*이 시리즈의 내용은 모두 '인공지능 100점을 위한 파이썬 수학' 서적의 내용을 정리한 것입니다. 사진과 같은 자료들 또한 출처가 위 책임을 밝힙니다.)
# MNIST Dataset 구성
from keras.datasets import mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
keras 패키지의 datasets 클래스에서 mnist 데이터를 포함한 모듈(mnist.py)을 가져온다.
(1) x_train의 첫 번째 데이터인 28x28 행렬에 담겨 있는 값을 신경망 프로그램에 통과
(2) 그때 신경망 프로그램의 최종 결괏값, 즉 정답이 y_train의 첫 번째 데이터에 담겨 있고, 그 값은 0~9 사이의 정수이다. 이때 신경망 프로그램에서 판단에 사용되는 일정한 스위치들을 조금씩 조작하고 신경망 프로그램의 최종 결과가 정답에 가깝게 되도록 여려 변수들을 조정한다.
(3) x_train의 두 번째 데이터를 가지고 위의 과정을 반복한다.
(4) x_train의 마지막 데이터, 6만 번째 데이터까지 위 과정을 반복한다.
(5) 위의 과정 반복.
(6) 신경망 프로그램의 여러 변수들이 바뀌면서 학습용 데이터를 넣었을 때 정답이 잘 나오면 훈련을 종료.
(7) 조정된 신경망 프로그램에 검증용 데이터를 입력한다.
(8) x_test 결과값이 y_test 값과 얼마나 같은지 확인.
# MNIST 화면 출력1
print(type(x_train), x_train.shape)
결과는 <class 'numpy.ndarray'>(60000, 28, 28)이다.
첫 번째 데이터인 x_train[0]을 가지고 다시 확인하면,
print(type(x_train[0]), x_train[0].shape)
[실행 결과]
<class 'numpy.ndarray'> (28, 28)
이제 x_train[0]의 28x28 즉, 784개의 데이터를 살펴보면,
colab으로 직접 출력했을 때 짤린다...
이 데이터를 가지고 직접 그림으로 출력해보면,
# MNIST 화면 출력
import matplotlib.pyplot as plt
image = x_train[0]
plt.imshow(image, cmap='Greys')
plt.show()
출력 결과는
숫자 5를 확인할 수 있다.