[KNN 03-1] k-최근접 이웃 알고리즘 (데이터 전처리)
·
AI/혼공파 머신러닝+딥러닝
도미와 빙어를 구분하는 KNN모델을 만들려고 한다. 그런데 데이터의 형태에 따라 성능이 다르게 나오는 것을 다음의 과정들을 통해 알고 어떻게 성능을 높여 왔는지에 대해 작성할 것이다. fish_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 31.5, 32.0, 32.0, 32.0, 33.0, 33.0, 33.5, 33.5, 34.0, 34.0, 34.5, 35.0, 35.0, 35.0, 35.0, 36.0, 36.0, 37.0, 38.5, 38.5, 39.5, 41.0, 41.0, 9.8, 10.5, 10.6, 11.0, 11.2, 11.3, 11.8, 11.8, 12.0, 12.2, 12.4, 13.0,..
[ML] nn.Module로 구현하는 선형 회귀
·
AI/ML
이번에는 파이토치에서 이미 구현되어져 제공되고 있는 함수들을 불러오는 것으로 더 쉽게 선형 회귀 모델을 구현해보겠습니다. 예를 들어 파이토치에서는 선형 회귀 모델이 nn.Linear()라는 함수로, 또 평균 제곱오차가 nn.functional.mse_loss()라는 함수로 구현되어져 있습니다. 아래는 이번 실습에서 사용할 두 함수의 사용 예제를 간단히 보여줍니다. import torch.nn as nn model = nn.Linear(input_dim, output_dim) import torch.nn.functional as F cost = F.mse_loss(prediction, y_train) 1. 단순 선형 회귀 구현하기 우선 필요한 도구들을 임포트하고 데이터를 선언합니다. import torch..
[ML] 다중 선형 회귀(Multivariable Linear regression)
·
AI/ML
앞서 배운 x가 1개인 선형 회귀를 단순 선형 회귀(Simple Linear Regression)이라고 합니다. 이번 챕터에서는 다수의 x로부터 y를 예측하는 다중 선형 회귀(Multivariable Linear Regression)에 대해서 이해합니다. 1. 데이터에 대한 이해(Data Definition) 2. 파이토치로 구현하기 우선 필요한 도구들을 임포트하고 랜덤 시드를 고정합니다. import torch import torch.nn as nn import torch.nn.functional as F import torch.optim as optim torch.manual_seed(1) 이제 훈련 데이터를 선언해보겠습니다. # 훈련 데이터 x1_train = torch.FloatTensor([[7..
[ML] 자동 미분(Autograd)
·
AI/ML
경사 하강법 코드를 보면 requires_grad=True, backward() 등이 나옵니다. 이는 파이토치에서 제공하고 있는 자동 미분(Autograd) 기능을 수행하고 있는 것입니다. 파이토치의 학습 과정을 보다 더 잘 이해하기 위해서 자동 미분에 대해서 이해해봅시다. 1. 자동 미분(Autograd) 실습하기 자동 미분에 대해서 실습을 통해 이해해봅시다. 임의로 라는 식을 세워보고, w에 대해 미분해보겠습니다. import torch 값이 2인 임의의 스칼라 텐서 w를 선언합니다. 이때 required_grad를 True로 설정합니다. 이는 이 텐서에 대한 기울기를 저장하겠다는 의미입니다. 뒤에서 보겠지만, 이렇게 하면 w.grad에 w에 대한 미분값이 저장됩니다. w = torch.tensor(..
[ML] 선형회귀(Linear Regression)
·
AI/ML
1. 데이터에 대한 이해(Data Definition) 이번 챕터에서 선형 회귀를 위해 사용할 예제는 공부한 시간과 점수에 대한 상관관계입니다. 1. 훈련 데이터셋과 테스트 데이터셋 어떤 학생이 1시간 공부를 했더니 2점, 다른 학생이 2시간 공부를 했더니 4점, 또 다른 학생이 3시간을 공부했더니 6점을 맞았습니다. 그렇다면, 내가 4시간을 공부한다면 몇 점을 맞을 수 있을까요? 이 질문에 대답하기 위해서 1시간, 2시간, 3시간을 공부했을 때 각각 2점, 4점, 6점이 나왔다는 앞서 나온 정보를 이용해야 합니다. 이때 예측을 위해 사용하는 데이터를 훈련 데이터셋(training dataset)이라고 합니다. 학습이 끝난 후, 이 모델이 얼마나 잘 작동하는지 판별하는 데이터셋을 테스트 데이터셋(test..
doocong22
'ML' 태그의 글 목록 (2 Page)