딥러닝
1. ANN
- Artificial Neural Network
- 은닉 계층을 포함하는 인공신경망 기술
1-2. Sequential API
# 모델 선언, 레이어 블록을 쌓을 발판 생성
model = keras.models.Sequential()
# 모델 블록 조립
model.add( keras.layers.Input(shape=(1,)) ) # input layer
model.add( keras.layers.Dense(1) ) #output layer
1-3. Functional API
#레이어들을 사슬로 연결하 듯이 연결!
input_layer = keras.layers.Input(shape=(1,))
output_layer = keras.layers.Dense(1)(input_layer)
#모델의 시작과 끝을 지정
model = keras.models.Model(inputs=input_layer, outputs=output_layer)
2. 딥러닝 선형회귀 & 로지스틱 회귀 & 멀티클래스 분류
| 선형회귀 | 로지스티 회귀 | 멀티클래스 분류 |
---|
ol activation | x or linear | sigmoid | softmax |
compile loss | mse | binary_crossentropy | categorical_crossentropy |
3. hidden layer
- activation : relu
- node : 이전 레이어에서 부터 추출된 새로운 feature
- hidden layer 수? : 내가 추출하고자 하는 feauture의 수준
-> 단 최적의 레이어와 최적의 노드수를 찾아야한다
- 노드 추가로 모델 성능 개선? -> 필요해서!
- 노드 제거시 모델 성능 유지? -> 불필요해서!
4. 활성화 함수
- sigmoid : 미세한 변화에 대한 값도 반영하기 위해 사용
- relu : 입력이 0을 넘으면 입력 그대로 출력, 0 이하일 땐 0을 출력
- softmax : 입력받은 값을 0~1 사이의 값으로 정규화하며 총합이 항상 1이 되는 특성을 가진 함수
5. Feature Representation
- 연결된 것으로부터 기존에 없던 새로운 특징을 만들어내는 과정
6. 전처리
- x : reshape, scaling, flatten
- y : encoding
7. Earlystopping
from tensorflow.keras.callbacks import EarlyStopping
es=EarlyStopping(monitor='val_loss',verbose=1,min_delta=0,restore_best_weights=True,patience=5)