본문 바로가기

분류 전체보기7

MNIST 데이터 학습 모델 구현 이번 포스팅에서는 MNIST손글씨 데이터셋 학습모델을 Pytorch로 구현해보겠습니다. 총 에포크 수를 5번으로 제한하고 정확도를 최대한 높이는 식으로 진행해 보았습니다. - 소스코드 import torch import torch.nn as nn import torch.optim as optim import torchvision.datasets as dset import torchvision.transforms as transforms import matplotlib.pyplot as plt from torch.utils.data import DataLoader from torch.optim import lr_scheduler from torchsummary import summary train_tran.. 2023. 7. 13.
Convolutional neural network, CNN, 합성곱 신경망 CNN이란 인간의 시신경 구조를 모방한 기술로 이미지를 인식하기 위한 패턴을 찾는데 매우 효과적이다. CNN은 input layer, output layer 그리고 그 사이의 여러 hidden layer로 구성되어있습니다. 이러한 layer는 해당 데이터의 고유한 feature를 학습하기 위함으로 데이터를 변형시키는 연산을 수행합니다. 가장 일반적인 3가지 계층으로는 Convolution layer, ReLU(Activate) layer, Pooling layer가 있습니다. Convolution layer: 컴퓨터는 이미지의 객체를 인식할 때, 다른 배경에서의 동일한 객체를 다른 객체로 인식한다. 이러한 오류를 해결하기 위해 사용하는 것이 Convolution layer이다. 이미지보다 작은 사이즈의 .. 2023. 7. 13.
Multinomial Classification(다중분류) 이번 포스팅에서는 Multinomial clssification에 대해 다루어 보겠습니다. 지난 글에서 Logistic regression에 대해 다루어보았는데요, Logistic regression은 binary classification으로도 불린다고 하였습니다. 데이터를 0과 1 두가지로 나눌 때 사용되며 패논패 성적을 예측하는 코드를 작성해보았습니다. 이번에 다룰 내용인 Multinomial clssification(다중분류)란 여러개(셋 이상)의 클래스가 있을때 그것을 예측하는 모델입니다. (binary classification의 확장) Multinomial clssification을 사용하는 예시로는 성적이 A, B, C 로 나오는 시험 또는 강의의 성적을 예측하는 것입니다. 클래스를 여러개.. 2023. 7. 12.
Logistic Regression(Binary Classification) 로지스틱 회귀란? 로지스틱 회귀(Logistic Regression)는 회귀를 사용하여 데이터가 어떠한 범주에 속할 확률을 0에서 1 사이의 값으로 예측하고 그 확률에 따라 가능성이 더 높은 범주에 속하는 것으로 분류해주는 지도 학습 알고리즘입니다. 어떠한 범주에 속할 확률을 0에서 1 사이의 값으로 예측하기 때문에 주로 이항형 문제(즉, 유효한 범주의 개수가 두개인 경우)를 지칭할 때 사용됩니다. Ex) 스팸 메일 분류 메일을 받았을 때 그것이 스팸일 확률이 0.5 이상이면 spam으로 분류하고, 확률이 0.5보다 작은 경우 ham으로 분류하는 것 위의 상황처럼 데이터가 2개의 범주 중 하나에 속하도록 결정하는 것을 2진 분류(binary classification)라고 합니다. Pass or Fail.. 2023. 7. 11.