머신러닝 | 딥러닝
Deep learning[딥러닝] 신경망계층 추가
멈머이
2024. 1. 3. 23:13
728x90
데이터 수집, 정규화, 2차원데이터로 변환, 훈련 및 검증 데이터 분류는 저번 글과 동일하다.
https://coding-heading.tistory.com/94
Deep learning[딥러닝] 인공신경망 훈련모델 (데이터 전처리, 모델 생성)
딥 러닝이란 무엇입니까? 딥 러닝은 인간의 두뇌에서 영감을 얻은 방식으로 데이터를 처리하도록 컴퓨터를 가르치는 인공 지능(AI) 방식입니다. 딥 러닝 모델은 그림, 텍스트, 사운드 및 기타 데
coding-heading.tistory.com
* 신경모델에 계층(layer) 추가하는 방법 3가지
1. 층을 먼저 만들고, 신경망 모델 생성 시 추가하기
"""입력계층(Input Layer) 생성하기"""
dense1 = keras.layers.Dense(100, activation="sigmoid",
input_shape=(784, ))
dense1
"""출력계층(Output Layer) 생성하기"""
dense2 = keras.layers.Dense(10, activation="softmax")
dense2
"""신경망 모델 생성하기"""
model = keras.Sequential([dense1, dense2])
model
"""모델 계층 확인하기"""
model.summary()
2. 신경망모델 생성 시 계층 (layer)을 함께 추가하기
"""모델 생성 및 계층 추가하기"""
model = keras.Sequential([
keras.layers.Dense(100, activation="sigmoid",
input_shape=(784, ), name="Input-Layer"),
keras.layers.Dense(10, activation="softmax", name="Output-Layer")
], name="Model-2")
model
model.summary()
3. 신경망 모델을 먼저 생성 후, 계층 추가하기
"""신경망 모델 생성하기"""
model = keras.Sequential()
model
"""계층 생성 및 모델에 추가하기"""
model.add(
keras.layers.Dense(100, activation="sigmoid",
input_shape=(784, ), name="Input-Layer")
)
model.add(
keras.layers.Dense(10, activation="softmax", name="Output-Layer")
)
model.summary()
=> 일반적으로 사용되는 방식
=> 위의 1, 2 방벙으로 수행 후, 계층을 추가할
필요성이 있을 경우에도 사용됨
=> 출력계층이 끝난후에 추가하지 않는다.
* 모델 설정하기(compile)
model.compile(loss="sparse_categorical_crossentropy",
metrics="accuracy")
- 손실함수는 다중분류 사용
*모델 훈련하기(fit)
model.fit(train_scaled, train_target, epochs=10)
* 성능 평가하기
"""성능평가하기(검증)"""
score = model.evaluate(val_scaled, val_target)
"""손실률 / 정확도 출력하기"""
print(f"손실률 : {score[0]}, 정확도 : {score[1]}")
결과 :
375/375 [==============================] - 1s 2ms/step - loss: 0.4333 - accuracy: 0.8450
손실률 : 0.43333470821380615, 정확도 : 0.8450000286102295
728x90