728x90
반응형

Machine Learning 80

The Sliding Window

하나의 이미지로부터 특징을 추출하는 3가지 연산에 대해서 배워보았습니다. filter with a convolution layer detect with ReLU activation condense with a maximum pooling layer convolution과 pooling 연산은 같은 특징을 공유합니다. 둘 다 sliding window 위에서 수행하기 때문입니다. convolution에서는 이 window는 커널의 차원인 kernel_size 매개변수에 의해 결정됩니다. pooling에서는 pool_size에 의해 pooling window가 결정됩니다. convolution과 pooling 레이어 모두에게 영향을 주는 두 개의 매개변수가 있습니다. window의 strides 매개변수는 ..

Maximum Pooling - feature extraction

!!여기서 활성화 activation의 의미란, 이미지 행렬 안의 숫자값이 0이 아니고 색깔이나 의미를 가진 0 외의 숫자로 되어있다는 의미. 0이 있는 곳은 검은색으로 표시됨 이번 시간에는 convnet 속 base이 feature extraction을 수행하는 방법에 대해 보려 합니다. 이전까지 feature extraction에는 conv2d layer와 relu activation으로 2가지 과정이 일어난다고 했습니다. 이번에는 세번째 연산 과정을 보려합니다. maximum pooling을 이용한 압축(condense)입니다. 이는 케라스의 MaxPool2D layer에서 일어납니다. Condense with Maximum Pooling from tensorflow import keras from..

Convolution and ReLU

이전 시간에 convolutional classifier에는 convolutional base와 dense layer로 구성된 head가 있다고 배웠습니다. base는 이미지에서 시각적 특징을 추출하며 head는 이를 이용해 이미지를 분류합니다. 이번에는 base에 사용되는 두 종류의 layer를 배워보려 합니다. 하나는 ReLU activation을 적용한 convolutional layer이고, 다른 하나는 maximum pooling layer 입니다. 5번째 수업에서 특징 추출을 수행하는 단계에 사용되는 이러한 레이어들로 구성된 자신만의 convnet을 설계하는 법에 대해서 배울 예정입니다. 이번 시간은 ReLU activation을 적용한 convolutional layer만 보겠습니다. Fea..

Convolutional Classifier

Introduction of Computer Vision Keras로 만든 image classifier에 현대 딥러닝 네트워크를 사용합니다 자신만의 custom convnet을 설계해봅니다. Visual feature extraction 속 아이디어를 배워봅니다. model의 속도를 올리기 위해 transfer learning을 배워봅니다. data augmentation을 적용하여 dataset을 확장시켜 봅니다. 이 수업의 목표는 신경망이 자연 세계의 이미지를 어떻게 이해하는지 그 방법을 배우는 것입니다. 이는 사람이 시각적으로 처리하는 체계뱡식과 유사합니다. Convolutional Neural Networks (CNN or Convnet) 저마다 다른 구조의 convnet으로 된 레이어들을 반환..

효과적인 쿼리문 작성법

한 번만 실행하거나 작은 데이터셋에 적용할 쿼리문은 효율적으로 작성할 필요가 없습니다. 하지만 이와 반대되는 경우, 웹사이트/기업데이터 유저들의 대기 시간을 줄이기 위해 효율적으로 작성해야 합니다. 대부분의 Database System은 Query Optimizer(쿼리 최적화)를 가지고 있습니다. 이는 당신의 쿼리문을 해석하고 실행할 때 가장 효율적은 방법으로 되도록 해줍니다. 몇몇의 전략은 여전히 비용을 많이 절감할 수 있습니다. useful FUNTIONs show_amount_of_data_scanned() : 쿼리문에 사용된 데이터양을 보여줌 show_time_to_run() : 쿼리문 실행에 걸린 시간을 출력 from google.cloud import bigquery from time imp..

Nested and Repeated Data

Nested data pets table의 ID와 toys table의 Pet_ID를 이용해 각 장난감의 주인이 어느 반려동물의 것인지 연결지으러 합니다. pets_and toys_ table 속 Toy column을 바로, nested column으로 두려 합니다. 이 곳에는 toys table의 'name'(Toy_name)과 'type' column(Toy_Type)이 엮인 정보가 저장 됩니다. 이를 위해 어떤 column을 선택해야할 지 미리 정한 뒤, query에 적어줍니다. Nested column은 STRUCT (or RECORD) type을 가집니다. 아래의 table의 스키마(=해당 table의 구조)에 이 형식이 반영되어 있습니다. Repeated data 한 동물이 여러 개의 장난감을..

How to Define Analytic/window Functions

analytic functions은 aggregate function과는 달리 본래의 table 속 각 row의 값을 돌려줍니다. 그럼, 비교적 간단한 query문으로 복잡한 계산을 수행할 수 있습니다. 예로 여러 대상들에 대해 총 달린 거리와 그 평균을 빠르게 계산할 수 있습니다. Syntax analytic func 정의 방법을 이해하기 위해, 경기에서 훈련한 서로 다른 두 집단의 data를 가진 table로 연습해봅시다. id column은 각 달리기 선수들을 의미하며, date column은 훈련 날짜가 기록되어있고 time column은 분단위로, 선수들이 훈련에 헌신한 시간을 보여줍니다. 각 선수들의 훈련시간의 이동 평균거리를 아래의 query를 이용하여 계산해보려 합니다. 모든 analyti..

JOINs and UNIONs

INNER JOIN Inner JOIN을 하니, 'oweners'의 Veronica Dunn씨와 'pets'의 Maisie가 누락되었습니다. 이럴 때 다른 JOIN을 써야 합니다. LEFT JOIN & (RIGHT JOIN) LEFT JOIN: 왼쪽에 적은 table의 모든 row를 포함하여 join하기 맨 위 사진의 INNER JOIN으로 명시된 부분을 LEFT JOIN으로 바꾸기만 하면 됩니다. RIGHT JOIN: 오른쪽에 적은 table의 모든 row를 포함하여 join하기 FULL JOIN 두 TABLE의 모든 rows를 반환. 일반적으로, 모든 row가 서로 매칭되는 경우는 극히 드물기에 그런 경우에 대해서 'NULL' entry가 생성되어 missing value를 채워줍니다. UNION J..

[Kaggle Course] Binary Classification(이진 분류) - sigmoid, cross-entropy

지금까지 neural network로 'regression problems'를 어떻게 해결할 수 있는 배웠습니다. 이제 머신러닝의 또다른 골칫거리, 바로 'Classification'을 neural network에 적용해봅시다. 가장 큰 차이점은 우리가 사용했던 loss function에서, 그리고 마지막 layer에서 나온 출력값의 종류에서 찾을 수 있습니다. (저게 차이점이 아니야!) Binary Classification 두 그룹(class) 중 하나로 분류하는 것은 일반적인 머신러닝 기법입니다. 고객이 구매할 가능성이 있는지, 신용 카드 거래가 사기였는지, 우주에서 온 신호가 새로운 행성의 증거가 되는지 등, 모두 "Binary Calssification" 문제입니다. raw data에서 이 같은..

[Kaggle Course] Dropout, Batch Normalization

딥러닝의 세계에는 dense layers 외에도 더 있습니다. 12종류가 넘는 layer를 한 모델에 추가할 수도 있죠 전처리 또는 변형을 다른 방식으로 한다거나, 뉴런 간 연결 관계를 새롭게 정의할 수도 있고요 이번 시간에는 특별한 두 종류의 layers에 대해 알아봅니다. 이들은 neurons을 가지고 있지 않지만, model을 개선시켜주는 기능을 추가해주죠. Dropout Layer overfitting을 수정할 때 사용 traindata 속 가짜 패턴을 학습한 neuron으로 인해 생긴 overfitting을 처리해보려 합니다. '가짜 패턴'을 알아채기 위해선 network는 종종 특정한 가중치들의 조합들, 즉 가중치의 'conspiracy'에 의존합니다. 너무 구체적이면, 망가지기 쉬우므로 하나..

728x90
반응형