본문 바로가기
728x90

Artificial Intelligence/Machine Learning5

nn.Module로 구현하는 선형 회귀 이전 게시글은 직접적으로 가설을 제시해, 비용 함수를 직접 정의해서 선형 회귀 모델을 구현했다. 이번에는 파이토치에서 이미 구현되어 제공되고 있는 함수들을 불러오는 것으로 선형 회귀 모델을 구현해 보자. 단순 선형 회귀 구현하기 import torch import torch.nn as nn #torch.nn은 딥러닝 모델을 구성하는 레이어 및 모듈을 제공 import torch.nn.functional as F import torch.optim as optim torch.manual_seed(1) 필요한 도구들을 임포트 하고, 이제 데이터를 선언한다. 아래 데이터는 y= 2x를 가정된 상태에서 만들어진 데이터로 우리는 이미 정답이 W=2, b=0 임을 알고 있는 사태다. 모델이 이 두 W와 b의 값을 제.. 2024. 3. 4.
다중 선형 회귀(Multivariable Linear regression) 앞서 배운 x가 1개인 선형 회귀를 단순 선형 회귀라고 한다. 이번 챕터에서는 다수의 x로부터 y를 예측하는 다중 선형 회귀에 대해서 이해한다. 1. 데이터에 대한 이해(Data Definition) 다음과 같은 훈연 데이터가 있습니다. 앞서 배운 단순 선형 회귀와 다른 점은 독립 변수 x의 개수가 이제 1개가 아닌 3개라는 점입니다. 3개의 퀴즈 점수로부터 최종 점수를 예측하는 모델을 만들어보자 독립 변수 x의 개수가 3개이므로 이를 수식으로 표현하면 아래와 같다. H(x) = w1x2 + w2x2 + w3x3 + b 2. 파이토치로 구현하기 우선 필요한 도구들을 임포트 하고 랜덤 시드를 고정한다. import torch import torch.nn as nn import torch.nn.functio.. 2024. 2. 2.
자동 미분(Autograd) 경사 하강법 코드는 requires_grad=True, backward()등이 나온다. 이는 파이토치에서 제공하는 있는 자동 미분(Autograd) 기능을 수행하고 있는 것이다. 파이토치의 학습 과정을 보다 더 잘 이해하기 위해서 자동 미분에 대해서 이해해 보자. 자동 미분(Autograd) 실습하기 자동 미분에 대해서 실습을 해보자. 임의로 2w^2 + 5라는 식을 세워보고, w에 대해 미분해 보겠습니다. import torch 값이 2인 임의의 스칼라 텐서를 w를 선언합니다. 이때 required_grad를 Ture로 설정합니다. 이는 이 텐서에 대한 기울기를 저장하겠다는 의미 한다. w = torch.tensor(2.0, requires_grad = True) 이제 수식을 정의한다. y=w**2 z.. 2024. 1. 26.
Linear Regression(선형 회귀) 1. 데이터에 대한 이해(Data Definition) 선형 회귀를 위해 사용할 예제는 공부한 시간과 점수에 대한 상관관계이다. 1시간 : 2점 2시간 : 4점 3시간 : 6점 4시간:? ex) 위에 표를 보고 어떤 학생이 1시간 공부를 했더니 2점을 맞았다. 그렇다면, 내가 4시간을 공부한다면 몇 점을 맞을 수 있을까? 이 질문에 대답하기 위해서 앞서 나온 정보를 이용해야 한다. 이때 예측을 위해 사용하는 데이터를 훈련 데이터셋(training dataset)이라고 한다. 학습이 끝난 후, 이 모델이 얼마나 잘 작동하는지 판별하는 데이터셋을 테스트 데이터셋(test dataset)이라고 한다. 1-2. 훈련 데이터셋의 구성 앞서 텐서에 대해서 배웠는데, 모델을 학습시키기 위한 데이터는 파이토치의 텐서의.. 2024. 1. 24.
머신 러닝 워크 플로우 1. 수집(Acquisition) 머신 러닝을 하기 위해서는 기계어 학습 시켜야 할 데이터가 필요하다. 자연어 데이터를 코퍼스(corpus)라고 하는데, 코퍼스란 조사나 연구 목적에 의해서 특정 도메인으로부터 수집된 텍스트 집합을 말한다.(txt파일, csv파일, xm파일) 2. 점검 및 탐색(Inspection and exploration) 데이터가 수집되었다면, 여기서는 점검하고 탐색하는 단계 거친다. 데이터의 구조, 노이드 데이터, 머신 러닝 적용을 위해서 데이터를 어떻게 정제해야 하는지 등을 파악한다. 이 단계에서는 탐색적 데이터 분석 단계(Exploratory Data Analysis, EDA)단계라고도 하는데 이는 독립 변수, 종속 변수, 변수 유형, 변수의 데이터 타입 등을 점검하며 데이터의.. 2023. 12. 22.
728x90