brunch

You can make anything
by writing

C.S.Lewis

by hansung dev Jan 16. 2021

데이콘, Fashion MNIST:의류 클래스 예측

파이썬 딥러닝 머신러닝 입문 - 4장 딥러닝 응용

Study With Me는 매일 학습한 내용을 정리하여 공유하는 매거진입니다.


파이썬 딥러닝 머신러닝 입문  4장 이미지 분류 MNIST 의류 클래스 판별 코드를 필사한 내용을 정리했습니다. 데이콘의 코드공유, 캐글의 노트북을 필사하면서 다른 사람의 문제 접근 및 해결 방법을 배울 수 있습니다. 시작하시는 분들은 입문 대회의 베이스라인을 필사하면서 파이썬 및 판다스, 딥러닝 코드를 쉽게 배울 수 있는 장점이 있습니다.


딥러닝 응용은 이미지 분류를 위해 MLP 및 합성곱 신경망(CNN), 오토인코더, 전이학습, 자연어 처리(NLP), 시계열 분석 등의 다양한 주제를 딥러닝으로 설명하고 있습니다. 이미지 분류를 MLP 및 CNN으로 살펴보도록 하겠습니다.

출처 - 파이썬 딥러닝 머신러닝 입문

타이타닉 생존자 예측 문제가 "지도학습/분류/표 데이터"의 입문 대회라면 MNIST는 "지도학습/분류/이미지 데이터(흑백)"의 입문 대회입니다. 그 외 컬러 이미지 입문으로는 cifar10 데이터를 많이 사용합니다.


데이콘의 "[이미지] Fashion MNIST : 의류 클래스 예측" 대회 코드를 MLP 및 CNN으로 모델을 개선하는 코드를 살펴보겠습니다. 파이썬 딥러닝 머신러닝 입문 4장의 내용을 필사한 내용입니다.


라이브러리 및 데이터 불러오기

대회 참여 후 데이터를 다운로드 후 라이브러리 설정 및 데이터를 불러옵니다. 그리고 랜덤 시드를 고정하는 것을 잊지 않습니다. 이후 대회 제출 시 랜덤 시드를 고정하지 않으면 제출 결과를 재현할 수 없어 곤란할 수 있습니다.


데이터 전처리

이미지 데이터 형태에 맞게 28*28 이미지 형태로 변환 및 피처 스케일, 교차검증을 위해 데이터셋을 Train과 Vaildation으로 분할합니다.


MLP 모델 학습

MLP 모델 생성 및 컴파일 후 손실 함수 그래프를 그려 모델이 과대 적합(overfitting), 과소 적합(underfitting)되었는지 살펴봅니다.


합성곱 신경망 (CNN)


과대 적합 방지 (Dropout)

위 모델의 과대접학된 부분을 Dropout을 추가하여 성능을 개선합니다. 대회 결과 파일을 제출하여 성능 개선을 확인해보세요.


사용자 정의 콜백 함수, ModelCheckpoint


매일 규칙적으로 공부하는 습관 만들어봐요.
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari