Yet Never Lose Faith

- Good to Great , Jim Collins

How To Preprocess Image Data 자세히보기

다층퍼셉트론 4

다층신경망 경사하강법으로 가중치 업데이트하기

이번 포스팅에서는 다층신경망에서 경사하강법으로 가중치를 업데이트하는 원리를 다룬다. 단일신경망 이전 포스팅까지 다뤘던 예측 모델은 입력층과 출력층으로만 구성된 단일신경망이었다. 다층신경망 위 그림은 K개의 뉴런을 가진 다층신경망이다. 보통 입력층의 개수는 층의 개수에 포함시키지 않는다. 그래서 위와 같은 다층신경망을 2개의 층(은닉층, 출력층)을 가진 다층신경망이라고 한다. 위 그림에서 출력층의 뉴런은 1개인데, 내가 다룰 모델은 이진분류모델이기 때문에 은닉층의 각 뉴런에서 출력된 값을 하나의 뉴런으로 다시 모아야하기 때문이다. 다중분류모델이라면 출력층에 여러개의 뉴런이 존재할 수 있다. 경사하강법 적용하기 다층신경망을 단순화해서 그렸다. 경사하강법을 적용하기 위해서는 W2와 b2 그리고 W1,b1에 대..

카테고리 없음 2020.10.09

딥러닝 모델 평가 & 모델 저장하기

*저는 머신러닝/딥러닝에 관해 공부하고 있는 사람입니다. 잘못된 내용이나 참고할 만한 내용이 있다면 댓글로 남겨주시면 정말 감사드리겠습니다! 이번 포스팅에서는 지난 포스팅에서 생성한 모델의 정확도를 평가하고, 모델을 저장하는 법에 대해서 다룬다. 1. 모델 평가 evaluate 함수를 사용하면 모델의 최종적인 정답률과 loss 값을 알 수 있다. loss는 예측값과 실제값이 차이나는 정도를 나타내는 지표이다. 작을 수록 좋다. score = model.evaluate(X_test, y_test, verbose=1) print('정답률 = ', score[1],'loss=', score[0]) 정답률이 0.4796으로 생각보다 낮게 나왔다. 이는 2번 판정하면 1번 이상을 잘못 판정한다는 이야기이다. 이런..

딥러닝 모델 생성, 컴파일 그리고 학습시키기

* 저는 머신러닝/딥러닝에 관해 공부하고 있는 사람입니다. 잘못된 내용이나 참고할 만한 내용이 있다면 댓글로 남겨주시면 정말 감사드리겠습니다! 이번 포스팅에서는 예측을 수행하는 딥러닝 모델을 만들고 학습을 시켜보겠다. 크게 3단계로 나눌 수 있다. STEP 1. 모델 생성 STEP 2. 컴파일 STEP 3. 학습 수행 단계별로 살펴보겠다. Step 1. 모델 생성 모델 생성 단계는 예측을 하기 위한 모델의 껍데기/틀을 만드는 단계이다. x = 1 , -2 , 5 , 7 ... y = 2 , 5 , 3 , 7 ... 위와 같이 x,y값이 주어졌을 때 x에 대한 y의 식을 대략적으로 가늠해보는 단계이다. "음.. 대충 y = a*x + b 라고 할 수 있겠는 걸..?" 라는 식이다. 이 단계에서는 a,b 값..

이미지 데이터 전처리하기

* 저는 머신러닝/딥러닝에 관해 공부하고 있는 사람입니다. 잘못된 내용이나 참고할 만한 내용이 있다면 댓글로 남겨주시면 정말 감사드리겠습니다! 머신러닝/딥러닝 모델을 만들기 위해서는 학습 데이터를 '적절한 형태'로 가공해야한다. 여기서 '적절한 형태'란, 사용하는 모델에 따라 다르다. 내가 사용할 모델은 다층 퍼셉트론(MLP)이다. MLP의 학습데이터는 다음과 같은 조건을 만족해야한다. "정규화한 1차원배열" 그래서 이번 포스팅에서는 이미지데이터(X data)와 카테고리데이터(y data)를 정규화한 1차원배열로 만드는 방법에 대해서 다룬다. 저번 포스팅에서 X_train, X_test, Y_train, Y_test 데이터를 다운로드 받았다. 하나씩 살펴보겠다. 1. X 데이터 (이미지 데이터) X_tr..