DA Study/Data Analytics

[머신러닝] 선형 회귀(Linear Regression), 경사하강법, RMSE

harrym8n 2025. 2. 8. 21:03

선형 회귀(Linear Regression)

용어

  • 머신러닝

    • 지도 학습 -선형 회귀가 속함
      1) 분류 - 몇가지 정답 중에 고르는 것
      2) 회귀 - 연속적인 값을 예측하는 것

    • 비지도 학습

    • 강화 학습

  • 선형 회귀

    • 데이터에 가장 잘 맞는 가설 함수를 찾아야함.

    • 목표 변수 : 맞추려고 하는 값(target variable / output variable)

    • 입력 변수 : 맞추는데 사용하는 값(input variable / feature)

    • 학습 데이터 : 프로그램을 학습 시키기 위해 사용하는 데이터

      • 개수 : m

      • 입력변수 : x (위에 작은 괄호에 숫자(n)넣어서 n번째 데이터의 x값 표현)

      • 목표변수 : y (위에 작은 괄호에 숫자(n)넣어서 n번째 데이터의 y값 표현)

  • 선형회귀로 최적선을 찾아내서 미래를 예측한다.

  • 가설 함수 : 머신러닝에서 모델이 데이터를 학습하여 출력값을 예측하거나 설명하기 위해 사용하는 함수

    • 역할

      • 최적선을 찾기위해 시도하는 함수
      • 학습된 매개변수(파라미터)를 사용하여 입력값 x 를 출력값 y 로 매핑
    • 구성

      1. 입력 변수 (x): 예측하고자 하는 데이터의 특징(features).
      2. 모델 파라미터 (θ): 학습을 통해 조정되는 값들. theta_1, theta_2, ..., theta_n 는 각 독립 변수에 대한 가중치(weight 또는 coefficient)
        • (참고)값이 작으면, 해당 독립 변수 x_i의 변화가 종속 변수 y에 미치는 변화가 작다는 것을 나타냅니다. 즉, x_i가 변해도 h_theta(x)의 값에 큰 변화를 주지 않으므로, 모델 입장에서 이 변수는 중요도가 낮은 것으로 간주됩니다.
      3. 출력 ( y ): 가설함수가 예측한 값.
  • 선형회귀는 가장 적절한 θ값들을 찾아낸다. (= 변수별로 가장 적절한 파라미터값을 찾아내서 최적선을 찾는다.)

가설 함수 평가법

  • 평균 제곱 오차(MSE, mean squared error)

    • SUM((가설함수값 - 실제값)^2) / 데이터 수
    • MSE가 가장 작은 가설함수가 데이터와 가장 잘 맞는 함수임
  • 손실 함수(Loss functioin)

    • 손실 함수가 작으면 가설함수가 데이터에 잘 맞다.
    • 손실이 적으면 좋은 가설함수다.
    • input 이 세타이다. > 세타값들을 어떻게 설정하느냐에 따라서 값이 달라진다.
    • 세타값을 바꿔서 손실함수 값을 최소로 만든다!

경사 하강법

  • 손실 함수값을 최소화하기 위해 사용

    • 극소점을 찾아야함
  • 임의의 세타값에서 기울기를 구해서 극소점을 찾아나가는 과정

  • 음(-)의 기울기 벡터값으로 가면 가장 가파르게 내려갈 수 있다.

방법

  1. 현재지점에서 기울기 벡터값 구하기

  2. 구한 벡터값의 세타값 조정(벡터값은 각 세타로 편미분해준 값이기 때문)

  3. 요소별 새로운 세타값 구하기(세타값 업데이트)

    • 새로운 세타 = (현재 위치)-(학습률)X(기울기 벡터값)
    • 학습률은 사람이 정하는 파라미터! 이런 걸 하이퍼 파라미터라고 한다!
  • 각 세타값 업데이트 할떄는 업데이트 하기 전 세타값으로 계산해야함!

    • 세타0 업데이트 후 결과 반영하고 세타1 업데이트 하면 안됨
  • 세타0 업데이트 공식


  • 세타1 업데이트 공식

모델 평가하기

  • 학습과 평가를 위한 데이터를 나눈다
    • 학습 데이터(Training Set)
    • 평가 데이터(Test Set)

RMSE(Root Mean Square Error)

  • 평균 제곱근 오차