본문 바로가기

data science/deep learning4

바이너리 분류 모델에 있어서 평가 항목 Confusion Matrix 샘플 결과 TP 1 FN 29 FP 0 TN 970 Accuracy (정확도) 전체 결과에 대한 True 의 비율 Accuracy = (TP + TN) / (TP + FN + FP + TN) = 971 / 1000 = 0.971 Precision (정밀도) (모델의 관점) True(=1) 이라고 예측한 것 중에 실제 True의 비율 Precision = TP / (TP + FP) = 1.0 Recall (재현율) (True 입력 데이터의 관점) True 입력데이터중에 True라고 예측한 비율 Recall = TP / (TP + FN) = 1 / 30 = 0.033 F1 Score Precision과 Recall의 밸랜스도를 나타낸다. 어느 한쪽이 극단적으로 낮으면 F1 도 .. 2024. 1. 16.
일반 데이터 학습용/테스트용 분리 지난번에는 이미지 데이터가 대상인 Data Augmentation의 ImageDataGenerator 를 이용하여 학습데이터를 분리하였다. 이번에는 단순히 pandas 로 읽어들인 숫자 문자등의 데이터를 분리해 보겠다. 1. numpy 를 이용하는 방법 import numpy as np def shuffle_and_split_data(data, test_ratio): np.random.seed(42) # np.random.permutation(length) : 랜덤으로 일련번호의 순서를 바꿈 shuffled_indices = np.random.permutation(len(data)) # 테스트 사이즈를 계산 test_set_size = int(len(data) * test_ratio) # 초반 test_.. 2024. 1. 14.
학습 데이터 준비 샘플데이터는 Food-11 을 사용하겠다. 구조는 아래와 같고 training은 학습용, validation은 학습중 배치별 학습평가용, evaluation은 최종 모델의 평가용이다. Data Data Augmentation 인위적으로 학습 데이터를 이용하여 변형된 데이터셋을 만드는 기술을 Data Augmentation 이라 한다. 목적은 아래와 같다. 모델이 overfitting되는 걸 방지 초기 학습데이터가 적을시 모델의 정확도를 향상 새롭게 데이터를 늘리는 라벨링과 클리닝의 오퍼레이션 코스트를 삭감 ImageDataGenerator 학습(training)용과 밸리데이션용을 따로 정의. from keras.preprocessing.image import ImageDataGenerator train_.. 2024. 1. 2.
(VGG16) Fine tunning VGG16 Max-pooling, Flatten, Normalization 레이어들을 제외한 16개의 레이어들로 구성되어 있다. 1000 종류의 이미지로 구성되어 있는 ImageNet 이미지 데이터셋을 가지고 학습을 하였기 때문에 마지막 레이어인 SoftMax에 의해 분류되는 클래스는 1000 개가 된다. 모델의 하위 레이어들은 특징 추출(feature extraction)에 집중을 하고 상위 레이들은 분류(classification)에 사용된다. 그러므로 Fine tunning은 아래 레이어들의 파라미터는 고정을 시켜 놓고 상위 레이어들을 목적에 알맞게 갈아치워서 새롭게 변한 상위 레이어들의 파라미터만 학습하는 원리가 된다. 위 하단의 이미지로 보면 상단의 레이어들이 하위 레이어에 해당되고 하단의 레이.. 2024. 1. 1.