1. Predict def predict( model, dataset, batch_size = 64, device = 'cuda' ): model.eval() loader = DataLoader( dataset, batch_size=batch_size, shuffle=False, num_workers=NUM_WORKERS ) preds = [] with torch.no_grad(): for data in loader: pred = model(data['input'].to(device)).squeeze(-1) preds.append(pred.detach().cpu().numpy()) preds = np.concatenate(preds, 0) ● Torch.no_grad() - gradient 계산을 안하게..
정리/Machine Learning

# pytorch에서는 keras와는 달리 compile, fit으로 쉽게 사용하는 부분을 전부 직접 코딩해야 한다고 한다. # 이것도 모르고 인터넷에서 찾은 자료만 보고 compile을 못 찾고 있었다. # compile, fit을 직접 만들어야 하기 때문에 실제 모델이 돌아가면서 해야할 일을 직접 코딩해 내 입맛에 맞출 수 있나보다. # 신경망의 구조를 모르면 구현하기 힘들 것 같다. # 아 그냥 keras로 할걸, 그래도 좋은 경험 했다 생각하자. 1. compile & fit & evaluate - 이 notebook에는 compiling과 fit, model evaluate이 한 function에 있다. 그래서 처음 딥러닝을 접하거나, 어색한 사람은 보다가 너무 길어 살짝 멘붕이 올 수도 있겠다..

1. data preprocess - dataset - sample과 target을 저장하는 구조. - DataLoader - sample에 쉽게 접근할 수 있도록 dataset을 순회 가능한(iterable) 객체로 감싼다. import torch from torch.utils.data import Dataset # dataset은 sample과 정답을 저장 # DataLoader는 sample에 쉽게 접근할 수 있도록 dataset을 순회 가능한 객체로 감싼다. class VentilatorDataset(Dataset): def __init__(self, df): if 'pressure' not in df.columns: # pressure가 없는 test / validation df인 경우, 0으로..

# overview, data, submission을 꼭 챙겨보자 1. 참고자료 - EDA + lightGBM : https://www.kaggle.com/artgor/ventilator-pressure-prediction-eda-fe-and-models - LSTM : https://www.kaggle.com/theoviel/deep-learning-starter-simple-lstm 2. 내 colab note https://colab.research.google.com/drive/1LTb1wiyeiH6wLEXui2uUR1ny9t-JMCmv?usp=sharing https://colab.research.google.com/drive/1ZxbT9v3ZY7IdSu_RHYHY3PQUFSLwK2hj?usp=..
이번에 kaggle의 google brain - ventilator Pressure prediction 을 진행하면서, 딥러닝의 전체 순서가 너무 헷갈렸다. 머신러닝 할 때와 순서가 거의 비슷하긴 하지만, 나는 한 눈에 보이는 걸 좋아하기 때문에, 개념 정리할 겸, 딥러닝의 주요 스텝을 정리해보고자 한다. 순서를 정리해보면 1. Load data 2. pre process data - 데이터 전처리 3. define architecture - 대충 읽어보니, 예를 들어 CNN으로 할건지, RNN, LSTM으로 할건지 고르는듯 4. compiling model - loss, optimizer, metrics 등을 정의 5. fit the model - model 학습 및 validation predict ..
원본 노트 딥러닝의 구성요소 Train Test 딥러닝 - McClulloch 교수 and Pitts 교수 퍼셉트론 구조 - Rosenblatt ADALINE - Adaptive Linear element ㄴ 직선에서 얼마나 멀리 떨어져 있느냐에 따라 뭐가 달라짐 XOR 문제? ㄴ 다층 퍼셉트론으로 해결 오류 역전파 알고리즘 ( Backropagation Algorithm; BP) - MLP 와 BP 알고리즘으로 해결한 MNIST 문제 기울기 소실 문제 ( 두 번째 AI winter)… - 계층이 깊어질 수록 학습이 어려움 심층 믿음 신경망의 등장(Deep Belief Network. By Hinton) ImageNet Large Scale Visual Recognition Challenges 딥러닝 프..

목적 - 한 번에 하나씩의 설명변수(X)를 사용하여 정확한 예측이 가능한 규칙들의 집합 생성 - 최종 결과물은 나무를 뒤집어 놓은 형태인 규칙들의 집합 용어 노드.node : 입력 데이터 공간의 특정 영역 부모 노드.parent node : 분기 전 노드 자식 노드. child node : 부모 노드로부터 분기 후 파생된 노드 분기 기준. split criterion: 한 부모 노드를 두 개 이상의 자식 노드들로 분기하는데 사용되는 변수 및 기준 값 시작/뿌리 노드. root node: 전체 데이터를 포함하는 노드 말단/잎새 노드 leaf node: 더 이상 분기가 수행되지 않는 노드 장점 ( 출처: 위키 백과 ) 결과를 해석하고 이해하기 쉽다. 간략한 설명만으로 결정 트리를 이해하는 것이 가능하다. 자..

'ML Model Evaluation'이 의미하는 바를 알아보자. 데이터 준비와 모델 학습은 누구나 머신러닝 작업 파이프라인에서 핵심적인 단계로 생각하지만, 학습된 모델의 퍼포먼스를 측정하는 것 또한 중요한 단계에 해당된다. 우리 모델은 배우지 않지만, 기억하고 있다. ML모델은 처음 만나는 데이터를 스스로 일반화 하여 받아들일 수 없ㄷ. 이를 시작하기 위해, 3개의 중요한 기준을 세우도록 한다. Learnng: ML 모델 학습은 학습/이용 가능한 데이터에 대한 정확한 예측이 아닌, 미래 데이터에 대한 정확한 예측을 고려하여 진행되어야 한다. Memorization: 제약된 데이터(training data)에 대한 퍼포먼스를 의미한다. 즉, training dataset에 대해서 overfitting하는..