왕현성
코딩발자취
왕현성
전체 방문자
오늘
어제
  • 코딩 (277)
    • Python (71)
    • Java (16)
    • MySQL (34)
    • 인공지능 (48)
      • 머신러닝 (16)
      • 딥러닝 (32)
    • 영상처리 (4)
    • Rest API (21)
    • Android Studio (25)
    • streamlit (13)
    • DevOps (22)
      • AWS (9)
      • PuTTY (5)
      • Git (4)
      • Serverless (2)
      • Docker (2)
    • IT 기술 용어 (6)
    • 디버깅 ( 오류 해결 과정 ) (17)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • matplotlib
  • pytorch
  • 의료이미징
  • PYTHON
  • labelme
  • pip install labelme
  • 비지도학습
  • get_long_description
  • UnboundLocalError
  • 영상처리
  • labelme UnocodeDecodeError
  • ckpt_file
  • 기상탐사
  • alibi-detection
  • yolov8
  • 영상처리역사
  • OpenCV
  • unsupervised
  • 영상기술
  • tune()
  • imageprocessing
  • maskimage
  • numpy
  • alibidetect
  • ComputerVision
  • encoding='utf-8'
  • 딥러닝
  • TensorFlow
  • 컴퓨터비전
  • PIL

최근 댓글

최근 글

티스토리

250x250
hELLO · Designed By 정상우.
왕현성

코딩발자취

딥러닝 : epochs의 횟수를 늘렸을 때 학습데이터/밸리데이션 데이터와 OverFitting
인공지능/딥러닝

딥러닝 : epochs의 횟수를 늘렸을 때 학습데이터/밸리데이션 데이터와 OverFitting

2022. 12. 29. 11:16
728x90

https://hyunsungstory.tistory.com/161 

 

딥러닝 : Fashion mnist 10개로 분류된 패션 이미지를 tensorflow를 이용해 분류하기 / Flatten , softmax , 분

1. 이미지와 행렬 모든 이미지 사진은 픽셀당 숫자로 되어있습니다. 0~255까지 되어있고 0이 검정색, 255가 흰색입니다. 그 숫자의 데이터 타입은 Uint8(Unsigned int) 이라고 적습니다. 먼저 검정부터 회

hyunsungstory.tistory.com

위 게시글과 같은 데이터셋으로 진행합니다.

 

epochs 의 횟수를 조정해 보려한다.

 

우선 모델링을 해줍니다.

 

def build_model():
  model = Sequential()
  model.add( Flatten()  )
  model.add( Dense(128, 'relu') )
  model.add( Dense(64, 'relu') )
  model.add( Dense(10, 'softmax'))
  model.compile('adam', 'sparse_categorical_crossentropy', ['accuracy'])
  return model
model = build_model()
epoch_history = model.fit(X_train,y_train,epochs=30,validation_split=0.2) # epohcs는 30 벨리데이션 스플릿은 0.2로 학습을 진행

정확도가 점점 올라가는 것을 확인하여, 진행이 잘 되고 있다고 생각을 할 수도 있지만, 차트로 시각화 과정을 하면

plt.plot(epoch_history.history['loss'])
plt.plot(epoch_history.history['val_loss'])
plt.legend(['Train Loss','Validation Loss'])
plt.show()
plt.plot(epoch_history.history['accuracy'])
plt.plot(epoch_history.history['val_accuracy'])
plt.legend(['Train accuracy','Validation accuracy'])
plt.show()

결과를 보면 Training 데이터는 loss는 0에 가까워지고 정확도는 1에 가까워지지만

 

실제 우리가 중요하게 봐야할 것은 Validation loss와 정확도이다

 

오히려 초반이 트레이닝과 근접하여 좋은 인공지능임을 알 수 있고 진행을 할 수록 Over Fitting이 되는 것을 볼 수 있다.

 

그래서 이 다음 글에서는 Callback class를 이용해서 원하는 조건이 되면 학습을 멈추게 하는 과정을 보여줄 것이다.

'인공지능 > 딥러닝' 카테고리의 다른 글

딥러닝 : Flatten()라이브러리 없이 이미지를 평탄화 하는 방법과 Validation_data= 파라미터 사용법  (0) 2022.12.29
딥러닝 : Tensorflow의 콜백클래스를 이용해서 원하는 조건이 되면 학습을 멈추게 하기  (0) 2022.12.29
딥러닝 : softmax로 나온 결과를 레이블 인코딩으로 바꾸는 방법  (0) 2022.12.29
딥러닝 : Fashion mnist 10개로 분류된 패션 이미지를 tensorflow를 이용해 분류하기 / Flatten , softmax , 분류의 문제 loss 셋팅법  (0) 2022.12.28
딥러닝 : validation data와 Callback(EarlyStopping Library) 사용법  (0) 2022.12.28
    '인공지능/딥러닝' 카테고리의 다른 글
    • 딥러닝 : Flatten()라이브러리 없이 이미지를 평탄화 하는 방법과 Validation_data= 파라미터 사용법
    • 딥러닝 : Tensorflow의 콜백클래스를 이용해서 원하는 조건이 되면 학습을 멈추게 하기
    • 딥러닝 : softmax로 나온 결과를 레이블 인코딩으로 바꾸는 방법
    • 딥러닝 : Fashion mnist 10개로 분류된 패션 이미지를 tensorflow를 이용해 분류하기 / Flatten , softmax , 분류의 문제 loss 셋팅법
    왕현성
    왕현성
    AI 머신비전 학습일지

    티스토리툴바