반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- tableau
- OKR
- 데이콘
- 데이터분석
- 파인튜닝
- 언어지능딥러닝
- 자연어처리
- 컴퓨터비전
- 딥러닝
- omtm
- dl
- product
- productmarketfit
- 인공지능
- nlp
- 데이터모델링
- 모델링
- Computer Vision
- 태블로
- fit
- 머신러닝
- DACON
- Market
- 그로스해킹
- 시각화
- ERD
- 데이터시각화
- pmf
Archives
- Today
- Total
블로그
[딥러닝] #1 회귀 모델링 본문
반응형
[복습]
- 모델의 성능은 오차(error)를 통해 계산됨
- 평가지표
- 선형 회귀 모델 : y햇 = w0 + w1x1 + w2x2 + ... + wnxn
- 모델링 코드 순서
1. 딥러닝 개념 이해
- 학습 절차
- 가중치에 (초기)값을 할당 (초기값은 랜덤으로 할당)
- (예측)결과 뽑기
- 오차 계산
- 오차를 줄이는 방향으로 가중치를 조정
- 다시 1단계로 올라가 반복
- (max iteration에 도달(오차의 변동이 (거의) 없으면 끝))
- forward propagation, back propagation : 순전파, 역전파 : 오차 줄이는 방향
2. Regression
- 딥러닝은 스케일링 필수
- Normalization(정규화) : 모든 값의 범위를 0에서 1사이로 변환
- Standardization(표준화) : 평균 0, 표준편차 1로 변환. 이상치 심할 때 사용
- 보통 딥러닝에서는 정규화 사용함
- Process
- Input -> Task -> ... -> Task -> Output
- 각 task는 이전 단계의 Output을 Input으로 받아 처리하고 다음 단계로 전달함
# 메모리 정리
clear_session()
# Sequential 타입
model = Sequential([Dense(OUTPUT, input_shape = (INPUT, ))])
# 히든 레이어 포함
model2 = Sequential([Dense(OUTPUT, input_shape=(INPUT,), activation='ACTIVATION'),
Dense(OUTPUT)])
# 모델 요약
model.summary()
- 딥러닝 구조
- Layer : 가중치를 가지고 연산이 이뤄지는 지점
- Input은 Layer가 아님
- 제일 마지막 Layer는 Output Layer
- Hidden Layer
- Layer를 리스트로 입력해줘야 함
- input_shape는 첫 번째 Layer에만 지정
- activation 지정해줘야 함
- Hidden Layer의 노드 수는 보통 점차 줄여나가지만, 늘렸다가 줄여도 됨
- Layer : 가중치를 가지고 연산이 이뤄지는 지점
- 딥러닝 코드
- Dense
- input_shape : 분석 단위에 대한 shape
- output : 예측 결과 개수
- Compile
- 컴파일(Compile) : 선언된 모델에 몇 가지 설정을 하고 컴퓨터가 이해할 수 있는 형태로 변환하는 작업
- loss function(오차함수) : 오차 계산을 어떻게 할지 결정, 회귀모델은 보통 mse로 오차 계산
- optimizer : 오차 최소화를 위해 가중치 조절, 보통 adam 사용
- Learning rate
- 학습률, 가중치 조정 정도
- 기본값은 0.001
- 너무 작으면 loss 최솟값에 도달할 때까지 너무 많은 시간이 걸리며 아예 도달하지 못할수도 있음
- 너무 크면 가중치가 너무 크게 조정되어 loss에 도달하지 못할수도 있음
- 학습
- epochs : 가중치 조정 반복 횟수, 전체 데이터를 몇 번 학습할 지 횟수 지정
- validation_split : train 데이터에서 지정한 만큼을 검증셋으로 분리
- 학습곡선
- history : 가중치를 업데이트 할 때마다의 성능을 측정하고 계산된 오차를 기록
- 바람직한 형태 : Epoch가 증가하면서 Loss가 큰 폭으로 축소하고 감소폭이 줄어들며 완만해지는 형태
- Loss가 줄어들지만 들쑥날쑥 -> Learning rate 줄이기
- Loss가 감소하다가 다시 증가 -> 과적합이므로 Epoch와 Learning rate 조정해야 함
- Dense
- 활성화 함수 (Activation Function)
-
- 현재 레이어(각 노드)의 결과값을 다음 레이어로 어떻게 전달할지 결정/변환해주는 함수
- 만약 활성화 함수 지정을 안하면 아무리 히든 레이어를 추가해도 그냥 선형모델임
- 만약 3층 네트워크에 선형함수 h(x)=cx를 활성화 함수 사용하면 y(x) = f(f(f(x)))가 됨
- 이는 그냥 y(x) = f(x) = ax와 같은 식이므로 a=c3고 은닉층이 없는 네트워크로 표현 가능함
- Hidden Layer에서는 선형 함수를 비선형 함수로 변환
- Output Layer에서는 결과값을 다른 값으로 변환해주는 역할
- 주로 분류모델에서 필요로 함
[참고]
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=handuelly&logNo=221824080339
딥러닝 - 활성화 함수(Activation) 종류 및 비교
# 활성화 함수 딥러닝 네트워크에서 노드에 입력된 값들을 비선형 함수에 통과시킨 후 다음 레이어로 전달...
blog.naver.com
728x90
반응형
'공부 > DL' 카테고리의 다른 글
[CV] 시각지능 딥러닝 #1 CNN (Convolutional Neural Networks) (0) | 2024.04.02 |
---|---|
[딥러닝] #4 딥러닝 기반 시계열 모델링 (2) | 2024.03.28 |
[딥러닝] #3 성능 관리 (0) | 2024.03.25 |
[딥러닝] #2 분류 모델링 (0) | 2024.03.22 |
[학습] 시계열 예측 모듈 prophet (0) | 2023.10.09 |