분류 전체보기(58)
-
하이퍼파라미터 튜닝이란?(3)
네트워크를 구성할 때 사람이 조정해야 하는 파라미터가 존재한다. 이를 하이퍼파라미터라고 한다. 하이퍼파라미터 : - 은닉층 수, 은닉층의 채널 수 → 예 : model.add(Dense(128)) - drop out 비율 - 활성화 함수(activation) - 학습률(learning rate) - batch_size - epoch 수 - 오차 함수(loss) - 최적화 함수(optimizer) 장점 / 단점 Optimizer(최적화 함수) Gradient descent로 W를 업데이트 하는 알고리즘 GD(Gradient descent) 최적의 값을 찾기 위해 한 칸 전진할 때마다 전체를 고려해서 한 번씩 가중치를 수정하는 것은 시간이 너무 오래 걸린다. SGD(Stochastic Gradient Des..
2021.05.23 -
하이퍼파라미터 튜닝이란?(2)
네트워크를 구성할 때 사람이 조정해야 하는 파라미터가 존재한다. 이를 하이퍼파라미터라고 한다. 하이퍼파라미터 : - 은닉층 수, 은닉층의 채널 수 → 예 : model.add(Dense(128)) - drop out 비율 - 활성화 함수(activation) - 학습률(learning rate) - batch_size - epoch 수 - 오차 함수(loss) - 최적화 함수(optimizer) learning rate(학습률) 각 층의 가중치를 한 번에 어느 정도 변경할지 결정하는 하이퍼파라미터다. 1번 : 학습률이 너무 낮아서 거의 갱신되지 않는다. 2번 : 적절한 학습률이므로 적은 횟수로 값이 수렴하고 있다. 3번 : 수렴하지만 값이 크므로 갱신 방법에 낭비가 있다. 4번 : 학습률이 너무 커서 퍼..
2021.05.23 -
하이퍼파라미터 튜닝이란?(1)
네트워크를 구성할 때 사람이 조정해야 하는 파라미터가 존재한다. 이를 하이퍼파라미터라고 한다. 하이퍼파라미터 : - 은닉층 수, 은닉층의 채널 수 → 예 : model.add(Dense(128)) - drop out 비율 - 활성화 함수(activation) - 학습률(learning rate) - 최적화 함수(optimizer) - 오차 함수(loss) - batch_size - epoch 수 은닉층 수, 은닉층의 채널 수 네트워크 구조(은닉층 수, 은닉층의 유닛 수)는 자유롭게 설정할 수 있다. 수를 많게 하면 다양한 함수를 표현할 수 있지만 입력층에 가까운 가중치를 적절하게 갱신하기 어렵고 학습이 좀처럼 진행되지 않는다. 또, 중요성이 낮은 특징량을 추출해버려 과학습하기 쉬워질 수 있다. 그래서 적..
2021.05.23 -
Optuna
설치 방법 : pip install optuna ( Python 3.6 이상 지원된다.) import optuna def objective(trial): x = trial.suggest_uniform('x', -10, 10) return (x - 2) ** 2 study = optuna.create_study() study.optimize(objective, n_trials=100) study.best_params # E.g. {'x': 2.002108042} ''' [I 2021-05-22 21:50:25,855] Trial 0 finished with value: 4.901344506787557 and parameters: {'x': -0.21389803441521593}. Best is trial ..
2021.05.22 -
SVM(Support Vector Machine)
SVM은 선형이나 비선형 분류, 회귀, 이상치 탐색에도 사용할 수 있는 다목적 머신러닝 모델이다. SVM은 특히 복잡한 분류 문제에 잘 들어맞으며 작거나 중간 크기의 데이터셋에 적합하다. SVM의 장점 : 범주나 수치 예측 문제에 사용 가능하다. 오류 데이터에 대한 영향이 적다. 과적합 되는 경우가 적다. 신경망보다 사용하기 쉽다. SVM의 단점 : 여러 개의 조합 테스트가 필요하다. 쵲거의 모델을 찾기 위해 커널과 모델에서 다양한 테스트를 해야한다. 학습 속도가 느리다 해석이 어렵고 복잡한 블랙박스 형태로 되어있다. SVM 분류기를 클래스 사이에 가장 폭이 넓은 도로를 찾는 것으로 생각할 수 있다. 위의 그림에서 실선이 결정 경계이며 점선까지의 거리를 '마진(margin)'이라고 한다. 도로 경계에 위..
2021.05.22 -
EfficientNet
EfiicientNet은 모델 사이즈 별로 B0~B7버전이 있으며 B0이 제일 가벼운 모델이다. B4부터는 파라미터가 커져도 크게 성능 향상이 없어서 B7이 안될 때는 B4모델을 선택하는 것이 좋을 것 같다. EfficientNet에서 activation은 swish를 사용하는데 swish는 깊은 신경망에서 relu보다 좋은 성능을 나타낸다. EfficeintNet B0의 기본 구조
2021.05.22