본문 바로가기
반응형

Machine Learning5

[머신러닝] 학습의 Reproducibility를 위한 설정 학습을 할 때 어떨 때는 Accuracy가 잘 나오고 어떨 때는 안 나올 때 가 있다. 이번 포스트에서는 학습의 결과를 킵하고 다음번에도 이대로 나오게 하고 싶을 때 쓰는 방법들을 알아보려고 한다. 아래 링크에서 reproducibility 관련 pytorch documentation을 볼 수 있다. https://pytorch.org/docs/stable/notes/randomness.html 사실 위 링크에 있는 것을 한글로 정리한 느낌으로 작성했다. 난수 고정 난수를 항상 다르게 뽑기 위해 random을 사용하지만 seed를 고정하여 항상 같은 수를 뽑게 할 수 있다. pytorch나 numpy 라이브러리에서 사용되는 seed도 함께 고정해주어야 한다. 아래는 python, numpy, pytorc.. 2022. 8. 9.
[머신러닝] Overfitting & Regularization (with Polynomial function) 이전 포스트까지는 linear regression으로 데이터에 가장 잘 맞는 직선을 찾았다. 하지만 직선이 데이터를 설명할 수 없다면 곡선을 찾아야 할 것이다. 이때 Polynomial regression을 사용한다. Overfitting 이해 먼저 4차 polynomial function을 정의하고 그래프로 표현해보겠다. from matplotlib import pyplot from autograd import grad from autograd import numpy numpy.random.seed(0) # fix seed for reproducibility x = numpy.linspace(-3, 3, 20) y = x**4 + x**3 - 4*x**2 + 8*numpy.random.normal(si.. 2022. 7. 12.
[머신러닝] Logistic Regression 이전의 두 포스트에서는 데이터와 잘 맞는 직선을 찾는 linear regression을 했는데 예측 값이 떨어져 있다면 이 모델로는 예측이 어려울 것이다. 가장 대표적인 것이 binary classification인데 예측값이 0 또는 1이다. 이때 이 예측값을 확률로 표현한 다음 특정 값 이상이면 1 아니면 0으로 분류한다. 이러한 문제에 적용하는 방법이 Logistic Regression이다. 이론 logistic regression을 진행하기 위해서는 출력 값을 0과 1로 맞춰주어야 한다. 이를 위해 다음과 같은 logistic function을 사용한다. $$\sigma(z) = \frac{1}{1 + e^{-z}}$$ 입력 데이터를 x, 실제 class 값을 y, 예측된 출력 값을 y_hat이라.. 2022. 7. 7.
[머신러닝] 파이썬 Numpy 연산 - Numpy dot, matmul, transpose 2022.06.23 - [Studying/Machine Learning] - [머신러닝] 파이썬 Numpy - Numpy의 유용한 기능들 [머신러닝] 파이썬 Numpy - Numpy의 유용한 기능들 2022.06.21 - [Studying/Machine Learning] - [머신러닝] 파이썬 Numpy - Numpy indexing과 slicing [머신러닝] 파이썬 Numpy - Numpy indexing과 slicing 2022.06.20 - [Studying/Machine Learning] - [머신러닝].. gm-note.tistory.com 저번 포스팅까지는 사실 numpy연산을 하기 위한 전처리라고 생각해도 무방하다고 생각한다. 이번 포스팅에서는 실제로 머신러닝의 모델쪽에 사용되는 행렬연산을.. 2022. 6. 25.
반응형