본문 바로가기

머신러닝, 딥러닝/파이토치12

[파이토치 스터디] 과적합 방지를 통한 모델 성능 개선 📚 Overfitting 방지를 통한 모델 성능 개선 ✔ 분류/예측 모델의 과적합을 최소화하고 성능을 향상하는 방법에는 여러 가지가 존재한다. 대표적인 성능 개선 방법들은 다음과 같다. ① 데이터 증식 (data augmentation) 학습에 필요한 추가 데이터 수집이 어려운 경우, 기존 데이터를 증식할 수 있다. 구체적인 방법으로는 통계적 기법, 단순 변형, 생성 모델 사용 등이 있다. torchvision.transforms를 사용하면 ② 조기 종료 (Early Stopping) 학습 데이터셋에 과적합이 되지 않도록 일정한 기준을 정하여 모델 학습을 종료하는 방식 ③ L2 정규화 optimizer = optim.Adam(model.parameters(), lr=1e-3, weight_decay=1e.. 2022. 2. 23.
[파이토치 스터디] 오토인코더 📚 Stacked Autoencoder (기본 오토인코더) ✅오토인코더로 MNIST 손글씨 이미지 생성하기 오토인코더는 인코더와 디코더로 구성되어 있으며 정답 라벨 없이 입력된 데이터와 유사한 형태를 출력한다. 기본적인 스택 오코인코더로 MNIST 손글씨 데이터를 생성한다. 📌라이브러리, 데이터 불러오기 import torch import torchvision from torchvision import transforms import torch.nn.functional as F import torch.nn as nn import torch.optim as optim import numpy as np import matplotlib.pyplot as plt device = torch.device('cuda.. 2022. 2. 16.
[파이토치 스터디] RNN, LSTM 📚 RNN을 이용한 KOSPI 주가 예측 코스피 주가 데이터를 이용해서 주가 예측을 실시한다. 📌 데이터/라이브러리 불러오기 import numpy as np import pandas as pd from sklearn.preprocessing import MinMaxScaler import torch import torch.nn as nn import torch.optim as optim import matplotlib.pyplot as plt from google.colab import drive drive.mount('/content/drive') cd drive/My\ Drive/파이토치 스터디 df = pd.read_csv('kospi.csv') df.head() 총 413일의 시가, 종가, 최고.. 2022. 2. 9.
[파이토치 스터디] AlexNet - CIFAR 10 이미지 분석 ◈ AlexNet 사용해서 이미지 분류하기 AlexNet은 2012 이미지넷 경진대회에서 우승한 사전학습 CNN 모델이다. 파이토치를 이용해서 AlexNet을 이용한 이미지 분류를 실시한다. 데이터는 CIFAR 10 데이터를 사용한다. import torch import torchvision import torchvision.transforms as transforms from torch.utils.data import DataLoader import torch.nn as nn import torch.nn.functional as F import torch.optim as optim import matplotlib.pyplot as plt 필요한 라이브러리를 불러온다. ✔ 기본 전처리 transform .. 2022. 1. 31.
[파이토치 스터디] 신경망으로 회귀분석 + Cross Validation ◈ 모델 구조 확인 파이토치에서 기본적인 모델 구조와 파라미터를 확인하는 방법 import torch from torch import nn import torch.nn.functional as F from torchsummary import summary class Regressor(nn.Module): def __init__(self): super().__init__() self.fc1 = nn.Linear(13, 50, bias=True) #첫 번째 레이어 self.fc2 = nn.Linear(50, 30, bias=True) #두 번째 레이어 self.fc3 = nn.Linear(30, 1, bias=True) #출력 레이어 self.dropout = nn.Dropout(0.5) #연산 마다 50%.. 2022. 1. 29.
[파이토치 스터디] 기본 개념 📚 파이토치란? 파이토치는 파이썬 기반 머신러닝 라이브러리다. 텐서플로우, 케라스보다 확장성이 더 좋아서 최근에는 사용자가 점차 증가하고 있다. 파이토치의 장점은 다음과 같다. • GPU 연산을 통해서 멀티 태스킹이나 고차원 문제를 빠르게 해결할 수 있다. • 다양한 모델과 데이터셋을 제공해서 유연한 모델 구축이 가능하다. 즉, 텐서플로우나 케라스보다 확장성과 유연성이 높아서 최근에 많이 사용되고 있다. • numpy와 사용법과 구조가 유사하기 때문에 사용하기가 쉽다. • 최근에는 사용자가 증가하면서 정보 공유도 쉬워지고 있다. https://tutorials.pytorch.kr/ 📚 기본 문법 import torch import torchvision import torchvision.transforms.. 2022. 1. 29.