일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- MachineLearning
- 구조
- 미니프로젝트
- deeplearning
- 데이터프레임
- 넘파이
- 정보화
- 아키텍처
- 머신러닝
- 데이터분석
- 인프라
- 데이터다듬기
- It
- 데이터분석가
- 판다스
- 파이썬
- 데이터
- KT에이블스쿨5기
- 파이썬기초
- IT인프라
- 데이터분석기초
- 데이터다루기
- 딥러닝
- 교육
- 프로젝트
- DX컨설턴트
- 오답노트
- 짧은생각
- KT에이블스쿨
- 자기개발
- Today
- Total
꾸준히 성장하기
[D+55] 교육 | 딥러닝: 이진 분류 모델 본문
안녕하세요, 여러분! 오늘은 딥러닝에서 자주 사용되는 기법 중 하나인 '이진분류'에 대해 알아보겠습니다.
이진분류는 말 그대로 데이터를 두 가지 범주, 즉 0과 1로 분류하는 모델을 만드는 방법입니다.
이 과정에서는 특정 활성화 함수와 손실 함수를 사용하는데, 왜 그런지 함께 살펴볼게요.
1. 활성화 함수: Sigmoid
이진분류 모델의 아웃풋 레이어에서는 주로 'sigmoid' 활성화 함수를 사용합니다.
이 함수는 모델의 출력값을 0과 1 사이의 확률로 변환해줍니다.
즉, 어떤 데이터가 특정 범주에 속할 확률을 계산하는 역할을 하죠.
2. 손실 함수: Binary Crossentropy
회귀 모델에서는 'MSE(Mean Squared Error)'를 손실 함수로 사용하지만,
이진분류에서는 'Binary Crossentropy'를 사용합니다.
이 함수는 실제 값(y)과 예측 값(𝑦̂) 사이의 오차를 계산하여, 모델이 얼마나 잘 예측하고 있는지를 평가합니다.
예측 값과 실제 값 사이의 차이가 클수록 손실이 커지므로, 모델 학습은 이 손실을 최소화하는 방향으로 진행됩니다.
3. 데이터 스케일링
모델을 선언하기 전에 데이터를 스케일링(정규화 또는 표준화)하는 것이 권장됩니다.
스케일링은 모든 입력 변수의 범위를 비슷하게 조정해줌으로써 학습 과정에서의 안정성과 속도를 개선할 수 있습니다.
4. 코드와 요약
# 메모리 정리
clear_session()
# Sequential 모델 선언
model = Sequential([ Dense(8, input_shape=(nfeatures,), activation='relu'),
Dense(4, activation='relu'),
Dense(1, activation='sigmoid')])
# 모델 요약
model.summary()
# 컴파일
model.compile(optimizer=Adam(0.01), loss='binary_crossentropy')
구분 | Hidden Layer | Output Layer | Compile | ||
Activation | Activation | Node 수 | Optimizer | Loss | |
이진 분류 모델 | relu | sigmoid | 1 | adam | binary_crossentropy |
이진분류에 대한 이해가 더욱 깊어지셨기를 바랍니다. 다음 시간에는 다른 종류의 분류 기법들을 더 자세히 다루어 보겠습니다.
오늘도 여러분의 학습에 응원을 보내며, 다음 포스트에서 만나요!
'KT 에이블스쿨 5기 > 교육' 카테고리의 다른 글
[D+57] 교육 | 딥러닝: MNIST 데이터셋을 활용한 손글씨 숫자 분류 (0) | 2024.04.17 |
---|---|
[D+56] 교육 | 딥러닝: 다중 분류 모델 (0) | 2024.04.16 |
[D+54] 교육 | 딥러닝의 히든 레이어와 회귀 모델의 이해 (0) | 2024.04.14 |
[D+52] 교육 | 딥러닝 기초 개념 (0) | 2024.04.12 |
[D+51] 교육 | 머신러닝과 딥러닝 비교(with 지도학습, 비지도학습) (0) | 2024.04.11 |