IT/tensorflow

[tensorflow] 선형회귀 예측(Linear Regression)

generator 2025. 1. 22. 14:31

선형 회귀 (Linear Regression)는 가장 기본적인 회귀 분석 방법으로, 입력 변수(독립 변수)와 출력 변수(종속 변수) 간의 선형 관계를 모델링합니다. 주로 연속적인 값을 예측하는 데 사용되며, 예측하려는 변수와 입력 변수들 사이에 직선적인 관계가 있을 때 잘 작동합니다

1. 선형 회귀의 기본 개념

주어진 데이터를 통해 직선 방정식을 찾아내고, 이 직선이 주어진 데이터를 잘 설명할 수 있도록 회귀 계수를 학습하는 방법입니다.

2. 선형 회귀의 장점과 단점

장점:

  • 단순하고 이해하기 쉬움: 선형 회귀는 가장 기본적인 회귀 모델로, 그 구조와 동작이 직관적입니다.
  • 계산 효율성: 계산이 빠르고, 다루기 쉽습니다.
  • 해석 가능성: 모델이 단순하여 각 입력 변수의 영향을 쉽게 해석할 수 있습니다.

단점:

  • 선형 관계에만 적합: 입력 변수와 출력 변수 간에 선형 관계가 있을 때만 잘 작동합니다. 비선형 관계를 모델링하려면 다른 방법이 필요합니다.
  • 특성 간 상관성: 특성들 간의 다중공선성(multicollinearity)이 있으면 정확한 예측이 어려울 수 있습니다.
  • 이상치에 민감: 이상치가 있을 경우 모델의 성능이 크게 저하될 수 있습니다.

3. 예제

import tensorflow as tf

키 = 170
신발 = 270

#0.1, 0.2는 임의 값
a = tf.Variable(1.0)
b = tf.Variable(1.0)

def 손실함수():
    예측값 = 키 * a +b
    return tf.square(신발 - 예측값)

#경사하강법 중 제일 문안한 adam을 사용, learning_rate 임의의 값 필수는 아님
opt = tf.optimizers.Adam()
# 1000번을 실행하며 최적은 솔실값을 찾아냄
for i in range(5000):
    opt.minimize(손실함수, var_list=[a,b])
    print(a.numpy() , b.numpy())

4.참고

애플코딩 ㄹㅇ쉬운 딥러닝 7강

https://www.youtube.com/watch?v=PwYnZ2RwyJw