보호되어 있는 글입니다.
보호되어 있는 글입니다.
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/R40ub/btsGe6mg8Fp/xeVOonOxrCWZL55ujogtA0/img.png)
CNN 복습 DNN은 이미지 데이터의 공간/위치 정보를 훼손한다. 컬러 이미지나 현실세계의 문제에서는 취약하다. 그렇기 때문에 CNN은 각 공간의 특징을 보존하고자 필터를 이용하여 특징들을 추출하고, 그것으로 이용한다. feature map의 개수를 늘린다. 그 과정에서 필터의 개수, 필터 사이즈, 스트라이드, 패딩, 활성화 함수를 지정해주었다. 하드웨어 제약 때문에 풀링(subsampling)이 대두되었다. 풀링은 절반으로 만드는 (2,2) 정도가 거의 모든 상황에서 선택된다. max_pooling, avg_pooling > 이것은 필터 사이즈와 스트라이드만 지정해주었다. 대립관계 = 풀링이 없어도 된다. 현재 트랜드 => 스트라이드만 이용해서 줄여나간다. DNN, Dense, Input, Flatte..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/o7VQv/btsGe9DlX5r/ZXdK8Zj7WKQwd9G4WiBpW0/img.png)
데이터를 불러오고, stratify를 통해 분리한다. from sklearn.model_selection import train_test_split # 훈련 데이터, 검증 데이터 분리 train, valid = train_test_split(train, test_size=0.1, stratify=train[['healthy', 'multiple_diseases', 'rust', 'scab']], random_state=42) from PIL import Image from torch.utils.data import Dataset import numpy as np import os class CustomImageDataset(Dataset): def __init__(self, dataframe, image..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bgsStX/btsGhGtnhh5/vNfj6kbx49fGriReulw9s1/img.png)
https://www.kaggle.com/c/plant-pathology-2020-fgvc7 잎사귀가 각 타깃값일 확률을 예측 다중분류 문제. healty : 건강한 잎사귀 multiple_diseses : 질병 잎사귀 rust : 녹슨 잎사귀 scab : 붉은 곰팡이병 잎사귀 사진을 보고 각 잎사귀일 확률을 예측한다. train.csv : 훈련 이미지 데이터와 타깃값 test.csv 테스트 이미지 데이터 images : 훈련/ 테스트 이미지 데이터 포함 sample_submission.csv 샘플 EDA 진행 train.shape, test.shape ((1821, 5), (1821, 1)) 훈련, 테스트 데이터 둘 다 1821개 RangeIndex: 1821 entries, 0 to 1820 Data..
딥러닝 복습 ML은 주어진 데이터를 바탕으로 의사결정 규칙을 만든다. 수제작이기 때문에 피처에 대한 설명이 용이하다. 그러나 error를 줄이는 데 도움이 될 지는 모델링을 해 봐야 안다. 충분한 개수의 특징을 제작했는지 모른다. 좋은 피처는 error를 줄여주고, 설명이 용이하며, 모델링하기에 충분히 많아야 한다. 그러나 복잡한 모델일 수록 설명 하는데 있어서 어려워진다. 딥러닝은 피처를 추출하고, 러닝을 하는 과정을 둘 다 한다. 피처 러닝 + 모델 트레이닝 => 예측 딥러닝의 깊이는 feature learning의 '수준'을 결정한다. 딥러닝의 너비는 feature의 '양'을 결정한다. 공간만 만들어주면, 예측에 도움이 되는 특징을 만들어준다. Tabular Data(정형 데이터)는 정제되어 있는 ..