일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- bioinformatics
- CNN
- 파이썬
- 시그모이드
- 행렬
- BLaST
- 인공지능
- Java
- 자바
- COVID
- 알파폴드
- 오류역전파
- 바이오파이썬
- 생명정보학
- SVM
- 바이오인포매틱스
- ncbi
- AP Computer Science A
- 인공지능 수학
- AP
- 서열정렬
- 생물정보학
- 캐글
- Kaggle
- MERS
- 이항분포
- 블록체인
- 인공신경망
- 딥러닝
- 결정트리
- Today
- Total
데이터 과학
Fashion MNIST 본문
딥러닝을 공부할 때 가장 먼저 만나게 되는 예제가 MNIST 입니다.
MNIST는 뉴욕대의 Recunn 교수가 필기체 인식을 위한 알고리즘 개선을 위해 연구하는 분야로 Modified National Institute of Standards and Technology database의 약자입니다.
nist의 데이터셋을 혼합해서 만들어진 데이터로 현재 가장 많이 연구되는 샘플 데이터입니다.
https://www.nist.gov/system/files/documents/srd/nistsd19.pdf
https://ko.wikipedia.org/wiki/MNIST_%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4
MNIST 데이터베이스 - 위키백과, 우리 모두의 백과사전
MNIST 데이터베이스 (Modified National Institute of Standards and Technology database)는 손으로 쓴 숫자들로 이루어진 대형 데이터베이스이며, 다양한 화상 처리 시스템을 트레이닝하기 위해 일반적으로 사용된
ko.wikipedia.org
이를 좀 더 다른방향으로 적용한 부분이 Fashion MNIST 입니다. 학습데이터를 이용하여 실습하는 방법은 MNIST와 같습니다.
기존 손글씨로만 사용하는 MNIST 보다는 재미있고 흥미 있게 사용할 수 있는 데이터입니다. 사용방법은 손글씨 MNIST와 같은 28*28 (784 픽셀) 구조로 되어 있으며 학습데이터 60,000장, 테스트 데이터 10,000장으로 되어 있습니다. 픽셀 값은 0에서 255로 되어 있으며 숫자가 높을 수록 어두워집니다.
Each training and test example is assigned to one of the following labels:
0 T-shirt/top
1 Trouser
2 Pullover
3 Dress
4 Coat
5 Sandal
6 Shirt
7 Sneaker
8 Bag
9 Ankle boot
캐글 zalando 사이트에서 원본 데이터를 다운 받을 수 있으며, 깃허브에서도 원본 데이터 다운로드가 가능합니다.
https://www.kaggle.com/zalando-research/fashionmnist
Fashion MNIST
An MNIST-like dataset of 70,000 28x28 labeled fashion images
www.kaggle.com
Original dataset was downloaded from https://github.com/zalandoresearch/fashion-mnist
Dataset was converted to CSV with this script: https://pjreddie.com/projects/mnist-in-csv/
License
The MIT License (MIT) Copyright © [2017] Zalando SE, https://tech.zalando.com
GitHub - zalandoresearch/fashion-mnist: A MNIST-like fashion product database. Benchmark
A MNIST-like fashion product database. Benchmark :point_down: - GitHub - zalandoresearch/fashion-mnist: A MNIST-like fashion product database. Benchmark
github.com
프로그램 작성을 위해서는 텐서플로우(케라스)를 설치해서 사용해야 하는데 이에 대한 설치 방법은 아래 링크를 참고로 설치하면 됩니다.
케라스 설치 방법
딥러닝 프로그래밍 이전에 설치해야 할 텐서플로우, 케라스 설치 방법입니다. 먼저 해야 할일은 Anaconda를 다운로드 이후 설치하는 방법입니다. 아나콘다 설치를 위해서는 다음 사이트에 가서 운
tsyoon.tistory.com
설치가 잘 되어 있고, 문제없이 작동이 된다면 바로 실습을 할 수 있습니다.
실습은 쥬피터 노트북으로 진행하는 것을 권하는데 Colab은 너무 느리기도 하고 랜선 환경이 구축이 안되어 있으면 실습에 제약이 있습니다.
최근에 패션 MNIST에 대한 실습이 많이 이뤄지고 있어서 관련된 소스가 많이 있습니다.
딥러닝 교재에서도 MNIST에 대한 실습과 설명을 들어 딥러닝의 기초에 대한 이해를 설명하고 있습니다.
텐서플로우 웹사이트에서도 MNIST에 대한 예제를 들어 설명을 기초과정에 넣어 놨으니 텐서플로우 홈페이지에 접속하여서 관련 내용을 살펴봐도 됩니다.
https://www.tensorflow.org/tutorials/keras/classification
기본 분류: 의류 이미지 분류 | TensorFlow Core
ML 커뮤니티 데이는 11월 9일입니다! TensorFlow, JAX에서 업데이트를 우리와 함께, 더 자세히 알아보기 기본 분류: 의류 이미지 분류 이 튜토리얼에서는 운동화나 셔츠 같은 옷 이미지를 분류하는 신
www.tensorflow.org
내용중에 optimizer라는 최적화 옵션이 있는데 이에 대한 구성은 adam 이외에 SGD (Stochastic gradient descent), Momentum, NAG, AdaGrad, RMSProp, AdaDelta등이 있습니다. adam은 Nadam, Radam, AdamW등으로 성능 변화가 나타납니다.
딥러닝에서는 adam을 기본 옵션으로 설정하는데 상황에 따라 옵션 메뉴를 변경할 수 있습니다.
model.compile(optimizer='adam', loss = 'categorical_crossentropy', metrics=['accuracy'])
[딥러닝] 딥러닝 최적화 알고리즘 알고 쓰자. 딥러닝 옵티마이저(optimizer) 총정리
재야의 숨은 고수가 되고 싶은 초심자
hiddenbeginner.github.io
데이터 분석 할 때 accuracy (정확도) 이외에 Precision (정밀도)과 Recall (재현율)을 많이 사용하는데 그 의미는 다음과 같습니다.
Precision (정밀도)은 참으로 분류한것중, 실제 참인 값에 대한 비율을 의미하는 바이며 다음과 같이 표현이 가능합니다.
Recall(재현울)은 실제 값이 참인 모델에서 참으로 분류한것에 대한 비율입니다.
Precision과 Recall은 분자의 경우 True Positive로 나타나기에 실제 참인 경과를 나타내는 비율을 보이지만 Precision은 참으로 선택한것중에서의 실제 참인 결과를 Recall은 참인 실제 값에서의 선택을 참으로 한 결과를 나타낸다는 점입니다.
TP: 실제 정답을 정답으로 예측
FP: 실제 오답을 정답으로 예측 - error
FN: 실제 정답을 오답으로 예측 - error
TN: 실제 오답을 오답으로 예측
이 내용으로 통계학의 가설검증을 기반으로 정보이론에서 데이터 검색을 위한 판단 방법으로 사용됩니다.
아래 가설 검증표를 한번 보면 어떤 의미에서의 데이터를 평가하는지를 확인 할 수 있습니다.
정확도(Accuracy)는 (TP+TN) / (TP+ FN+FN+TN) 으로 표현하고 있으며,
F1 score는 Precision과 Recall의 조화평균입니다. 2* ((Precision x Recall) / (Precision + Recall)) 으로 F1 score를 표현합니다.
https://velog.io/@sset2323/03-03.-%EC%A0%95%EB%B0%80%EB%8F%84%EC%99%80-%EC%9E%AC%ED%98%84%EC%9C%A8
03-03. 정밀도와 재현율
위키북스의 파이썬 머신러닝 완벽 가이드 책을 토대로 공부한 내용입니다.
velog.io
다시 MNIST 프로그램 소스로 돌아와서 내용을 보면 다음과 같은 명령어가 있습니다.
print(classification_report(testy2,predy))
classification_report라는 함수를 이용하면 정밀도와 재현율을 나타낼 수 있습니다. 일반적인 성능 지표 기준으로 많이 사용합니다.
correct_classifications = np.diag(conf_matrix) np.fill_diagonal(conf_matrix,0) misclassifications = conf_matrix.sum(axis = 1) df = pd.DataFrame({'class_name': range(0,10), 'misclassifications': misclassifications}) df
클래스로 구분되어 misclass된 결과를 나타냅니다. 0~9까지의 Fashion 값인데 설정은 Fashion MNIST 설정에 있습니다.
print(classification_report(testY, preds))
학습 이후에 테스트 결과를 화면에 나타내는 명령어를 입력하면 accuracy와 precision recall 값을 출력해 줍니다.
관련된 소스는 아래 링크를 참고하면 됩니다.
https://www.kaggle.com/athirakaladharan/fashion-mnist-dataset-simple-neural-network
Fashion MNIST Dataset: Simple Neural Network
Explore and run machine learning code with Kaggle Notebooks | Using data from Fashion MNIST
www.kaggle.com
'인공지능 > 파이썬 인공지능 - 딥러닝' 카테고리의 다른 글
numpy (0) | 2022.03.30 |
---|---|
Colab에서의 파이썬 (0) | 2022.03.29 |
딥러닝 오차함수(loss function, 손실함수)와 옵티마이저 (0) | 2021.11.10 |
케라스 CNN을 이용한 개와 고양이 분류 (0) | 2021.09.26 |
케라스 설치 방법 (2) | 2021.09.06 |