ML vs DL 코드 구조 비교
가중치(weight)
*파라미터(parameter)라기도 함.
ex) 1,2,3월의 판매량으로 4월의 판매량 예측
1월 판매량 | 2월 판매량 | 3월 판매량 | 4월 판매량 |
110 | 120 | 125 | ? |
평균 ->
가중치 조정
조금씩 weight를 조정해서 오차가 줄어드는지 확인!-> 반복
지정한 횟수만큼 or 더이상 오차가 줄지 않을 때까지
DL 학습 절차
1. 가중치 초기값 할당 (초기모델만듦)
2. (초기)모델로 예측
3. 오차를 계산 (loss function)
4. 가중치 조절 : 오차를 줄이기 (optimizer)
- learning rate(lr): 얼만큼 조절할 지 결정하는 하이퍼파라미터
5. 다시 처음부터 반복
- batch_size : 전체 데이터를 적절히 나눠서 (mini batch) 반복
- epoch: 전체 데이터를 몇번 반복 학습할 지 결정
* feed forward (순전파) :
back propagation (역전파) : parameter update
DL 학습 절차 예시
ex) lstat(하위계층 비율)로 medv(집값) 예측
model.fit(x_train,y_train) 하면
단계1 : 가중치에 (초기)값을 할당 *초기값은 랜덤 지정
단계2 : (예측) 결과를 뽑음
단계3 : 오차 계산 ( 실제 값 - 예측 값)
단계4 : 오차를 줄이기 위해 가중치 조정
*Optimizer: GD, Adam ... (조정 비율: learning rate)
단계5 : 다시 단계 1부터 반복
*max iteration에 도달, 오차 변동이 (거의)없으면 끝
ep와 lr 의미
epochs 조절 : 몇번 반복할지 결정
- ep =5, lr = 0.01
ep:1 -> ep:2 .... 5번 반복함
초기 값은 랜덤으로 할당됨 -> 실행할때마다 결과가 조금씩 달라짐
lr 조절 : 가중치 적절하게 조절 , 가중치를 업데이트할 때 영향을 주는 비율
lr를 작게 했더니 엄청 찔금 바뀜
lr 을 크게 했더니 듬성듬석 값이 확 바뀜
조정해가는 보폭이 적절함.
'Dev > 딥러닝' 카테고리의 다른 글
[딥러닝]Tensorflow : Neural Network Playground (1) | 2024.10.14 |
---|---|
[딥러닝] 딥러닝 모델링 : Regression (1) | 2024.10.11 |
[딥러닝] 개요 및 Colab 사용법 (3) | 2024.10.10 |