본문 바로가기

regression4

[인공지능개론] Regression④ 앞서 Linear Regression을 PyTorch로 구현했던 것처럼, Logistic Regression과 Softmax Regression도 PyTorch로 구현해보자. 이것도 직접 작성할 수도 있고 torch.nn 모듈을 활용하여 쉽게 구현할 수도 있다.Logistic Regression직접 작성한 코드를 먼저 확인해보자.import torchimport torch.nn as nnimport torch.nn.functional as Fimport torch.optim as optimx_data = [[1,2], [2,3], [3,1], [4,3], [5,3], [6,2]] //input dimension = 2y_.. 2024. 5. 7.
[인공지능개론] Regression③ Logistic RegressionLinear Regression는 복잡한 문제를 푸는 데에 적합하지 않다. 특히, 일반적인 데이터의 경향에서 벗어난 Outlier가 있을 때에는 Linear Hypothesis로 나타내는 데에 한계가 있다. 이를 해결하기 위해 등장한 것이 Logistic Hypothesis이다. $$H(X) = \frac{1}{1+e^{-W^TX}}$$sigmoid function 혹은 logistic function으로 표현하면 나타나는 특징은 1. 미분가능하고 2. 0과 1 에 bound되며 3. 0과 1 사이에 존재하므로 이를 확률(pdf)로 볼 수 있다. 또한, 4. 구간적인 linear가 존재하여 가운데($W^TX$)에서의 gradient가 최대이고 양쪽 가장자리에서의 grad.. 2024. 5. 6.
[인공지능개론] Regression② 앞서 공부한 Regression을 구현해보자.그전에 머신러닝을 구현하기 위한 프레임워크들의 특징을 비교해보자.먼저, 가장 쉽고 기본적인 연산에 활용되는 Numpy는 backpropagation을 해야하는 머신러닝에서 활용하기에 어려움이 존재한다. 모든 미분 식을 직접 계산하고 코드로 작성해야 하고 GPU를 사용하고 싶을 때에는 GPU로 값을 보내 연산하고 값을 다시 받을 수 없기 때문에 적합하지 않다.그에 반해, PyTorch는 backpropagation 구현을 위해 backward()라는 함수를 한 번 호출하면 자동으로 계산해주며, 내부적으로 CUDA, cuDNN이라는 API를 통해 GPU를 사용할 수 있다는 장점이 있다. 여기서 CUDA는 NVIDIA에서 GPU를 통한 연산을 가능하게 만든 API모.. 2024. 5. 6.
[인공지능개론] Regression① 더보기   A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E. - Tom Mitchell -   머신러닝이 수행하는 Task는 크게 Regression과 Classification로 나눌 수 있다. 그 중 Regression에 대해 알아보자.Regression은 하나의 종속변수(dependent variable)와 다른 독립변수들과의 관계를 나타내는 task이다. Linear RegressionHypothesis(가설모델)을 선형.. 2024. 5. 6.