본문 바로가기

Study/AI

[모두의 딥러닝](Pytorch) #2-3. 선형 회귀(Linear regression) 코딩으로 구현하기

반응형

세종대학교 최유경 교수님의 인공지능 강의(2021) + alpha 로 공부한 후 작성한 포스트이며, 작성한 코드는 모두 강의 코드의 사본입니다.

 

Pytorch란?

Torch라는 딥러닝과 머신러닝 용 라이브러리가 있는데, 이것을 Python 언어로 사용할 수 있게끔 한 언어입니다.

Pytorch를 사용하면 Torch라는 언어를 사용해서 프로그래밍 할 것을 Python 언어를 사용해서 프로그래밍 할 수 있습니다.

 

# Lab 1: optimizer 사용해서 SGD 구현

GD는 Gradient Descent(경사하강법)의 약어입니다. SGD는 조금 더 개선된 GD로 확률적 경사하강법입니다.

 

https://colab.research.google.com/drive/1vhUu2pHtQnNwnPuQ3ttYRAAG-gPdYsKk#scrollTo=XW77yG1Vx2OK

 

Google Colaboratory Notebook

Run, share, and edit Python notebooks

colab.research.google.com

# Lab 2: optimizer 사용하지 않고 직접 GD 구현

 

https://colab.research.google.com/drive/1QfjbIFm9Jo7q1O66Q0OsfQuOskYOKX3Q#scrollTo=KldN1rG37U48

 

Google Colaboratory Notebook

Run, share, and edit Python notebooks

colab.research.google.com

 

# Lab 3: optimizer 사용하여 Multivariate Linear Regression(다중 선형 회귀) 구현

Matrix를 사용하지 않고 구현해보고(Naive Data Representation), Matrix를 사용하여 구현(Matrix data Representation)해보았습니다.

* Tip

이 코드의 경우, iteration을 100000까지 늘려도 cost가 0으로 수렴하지 않습니다. 그럴 때 learning rate를 키워서 다시 시도해볼 수 있는데, 이 함수는 너무 예민해서 lr = 1e-04로 변경 시 nan으로 발산해버립니다. 이런 경우에는 어쩔 수 없이 epoch를 키워서 시도해볼 수 밖에 없습니다.

 

https://colab.research.google.com/drive/1qYeeITime55N4ywpr76c4PB9R6r08tXH#scrollTo=xnvBU3BC0a7D

 

Google Colaboratory Notebook

Run, share, and edit Python notebooks

colab.research.google.com

 

반응형