본문 바로가기

파이토치5

[파이토치 스터디] 클래스 불균형 다루기 (가중 무작위 샘플링, 가중 손실 함수) 📚 가중 무작위 샘플링 (Weighted Random Sampling) 일반적으로 분류 문제에서 클래스가 불균형할 경우 과적합을 야기할 가능성이 높다. 딥러닝 모델 학습시에는 전체 데이터가 불균형 하더라도, 미니 배치를 뽑을 때 각 클래스를 균형 있게 뽑아서 학습시킬 수 있다. 이 방식을 가중 무작위 샘플링(weighted random sampling) 이라고 한다. 📌 가중치 함수 설정 : torchvision.datasets.ImageFolder 사용 def make_weights(labels, nclasses): labels = np.array(labels) # where, unique 함수를 사용하기 위해 numpy로 변환한다. weight_list = [] # 가중치를 저장하는 배열을 생성한다... 2022. 2. 23.
[파이토치 스터디] 과적합 방지를 통한 모델 성능 개선 📚 Overfitting 방지를 통한 모델 성능 개선 ✔ 분류/예측 모델의 과적합을 최소화하고 성능을 향상하는 방법에는 여러 가지가 존재한다. 대표적인 성능 개선 방법들은 다음과 같다. ① 데이터 증식 (data augmentation) 학습에 필요한 추가 데이터 수집이 어려운 경우, 기존 데이터를 증식할 수 있다. 구체적인 방법으로는 통계적 기법, 단순 변형, 생성 모델 사용 등이 있다. torchvision.transforms를 사용하면 ② 조기 종료 (Early Stopping) 학습 데이터셋에 과적합이 되지 않도록 일정한 기준을 정하여 모델 학습을 종료하는 방식 ③ L2 정규화 optimizer = optim.Adam(model.parameters(), lr=1e-3, weight_decay=1e.. 2022. 2. 23.
[파이토치 스터디] 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.
[파이토치 스터디] 신경망으로 회귀분석 + 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.