
2장에서 작성했던 코드이다.
Sequentail()은 딥러닝 모델을 생성하는 부분이다.
생성한 딥러닝 모델에 model.add를 통해 층을 쉽게 추가할 수 있다.
Dense는 층의 구조를 결정하는 함수이다.
model.add(Dense(30, input_dim=16, activation='relu')) 에서 30은 노드의 개수이다.
input_dim은 입력 데이터의 개수이고, activation은 activation funnction을 의미한다.
keras에서는 입력층이 따로 있는 것이 아니라서 첫번째 Dense가 은닉층이자 입력층이기 때문에 input_dim을 지정해줘야 한다.
그리고 마지막 은닉층이 출력층이 된다.
위의 코드에서는 출력층의 출력값 개수는 1개이고, sigmoid 함수로 결정된다.
model.compile 부분에서는 loss, optimizer, metrics를 결정해줬다.
우선 loss는 어떤 오차 함수를 사용할지 지정해준다.
binary_crossentropy 외에도 mean_squarred_error 등 다양한 오차 함수가 있다.
optimizer는 최적화 방법이다.
앞서 배운 경사 하강법은 gradient_descent인데, 일반적으로는 그냥 adam을 사용한다.
마지막으로 metrics는 모델이 컴파일될 때 수행 결과를 나타나게 하는 부분이다.
model.fit가 실행을 시키는 부분이다.
epoch는 학습이 모든 샘플에 대해 몇번 실행되는지를 가리킨다.
batch_size는 한번에 몇개의 샘플을 처리할지를 결정한다.
batch_size가 10이고 전체 데이터가 470개이면 10개씩 47번을 넣게 된다.
batch_size가 너무 크면 학습 속도가 느려지고 너무 작으면 실행 값의 편차가 생길 수 있다.
'인공지능' 카테고리의 다른 글
모두의 딥러닝 - 12장(다중 분류 문제 해결하기) (0) | 2025.03.18 |
---|---|
모두의 딥러닝 - 11장(데이터 다루기) (0) | 2025.03.18 |
모두의 딥러닝 - 6장 ~ 9장(신경망) (0) | 2025.03.17 |
모두의 딥러닝 - 5장(로지스틱 회귀) (0) | 2025.03.05 |
모두의 딥러닝 - 4장(경사 하강법) (0) | 2025.03.04 |