선형 회귀(Linear Regression)
용어
머신러닝
지도 학습 -
선형 회귀
가 속함
1) 분류 - 몇가지 정답 중에 고르는 것
2) 회귀 - 연속적인 값을 예측하는 것비지도 학습
강화 학습
선형 회귀
데이터에 가장 잘 맞는 가설 함수를 찾아야함.
목표 변수 : 맞추려고 하는 값(target variable / output variable)
입력 변수 : 맞추는데 사용하는 값(input variable / feature)
학습 데이터 : 프로그램을 학습 시키기 위해 사용하는 데이터
개수 : m
입력변수 : x (위에 작은 괄호에 숫자(n)넣어서 n번째 데이터의 x값 표현)
목표변수 : y (위에 작은 괄호에 숫자(n)넣어서 n번째 데이터의 y값 표현)
선형회귀로 최적선을 찾아내서 미래를 예측한다.
가설 함수 : 머신러닝에서 모델이 데이터를 학습하여
출력값을 예측하거나 설명하기 위해 사용
하는 함수역할
- 최적선을 찾기위해 시도하는 함수
- 학습된 매개변수(파라미터)를 사용하여 입력값 x 를 출력값 y 로 매핑
구성
- 입력 변수 (x): 예측하고자 하는 데이터의 특징(features).
- 모델 파라미터 (θ): 학습을 통해 조정되는 값들. theta_1, theta_2, ..., theta_n 는 각 독립 변수에 대한 가중치(weight 또는 coefficient)
- (참고)값이 작으면, 해당 독립 변수 x_i의 변화가 종속 변수 y에 미치는 변화가 작다는 것을 나타냅니다. 즉, x_i가 변해도 h_theta(x)의 값에 큰 변화를 주지 않으므로, 모델 입장에서 이 변수는 중요도가 낮은 것으로 간주됩니다.
- 출력 ( y ): 가설함수가 예측한 값.
- 선형회귀는 가장 적절한 θ값들을 찾아낸다. (= 변수별로 가장 적절한 파라미터값을 찾아내서 최적선을 찾는다.)
가설 함수 평가법
평균 제곱 오차(MSE, mean squared error)
- SUM((가설함수값 - 실제값)^2) / 데이터 수
- MSE가 가장 작은 가설함수가 데이터와 가장 잘 맞는 함수임
손실 함수(Loss functioin)
- 손실 함수가 작으면 가설함수가 데이터에 잘 맞다.
- 손실이 적으면 좋은 가설함수다.
- input 이 세타이다. > 세타값들을 어떻게 설정하느냐에 따라서 값이 달라진다.
- 세타값을 바꿔서 손실함수 값을 최소로 만든다!
경사 하강법
손실 함수값을 최소화하기 위해 사용
- 극소점을 찾아야함
임의의 세타값에서 기울기를 구해서 극소점을 찾아나가는 과정
음(-)의 기울기 벡터값으로 가면 가장 가파르게 내려갈 수 있다.
방법
현재지점에서 기울기 벡터값 구하기
구한 벡터값의 세타값 조정(벡터값은 각 세타로 편미분해준 값이기 때문)
요소별 새로운 세타값 구하기(세타값 업데이트)
- 새로운 세타 = (현재 위치)-(학습률)X(기울기 벡터값)
- 학습률은 사람이 정하는 파라미터! 이런 걸 하이퍼 파라미터라고 한다!
각 세타값 업데이트 할떄는 업데이트 하기 전 세타값으로 계산해야함!
- 세타0 업데이트 후 결과 반영하고 세타1 업데이트 하면 안됨
세타0 업데이트 공식
세타1 업데이트 공식
모델 평가하기
- 학습과 평가를 위한 데이터를 나눈다
- 학습 데이터(Training Set)
- 평가 데이터(Test Set)
RMSE(Root Mean Square Error)
- 평균 제곱근 오차
'DA Study > Data Analytics' 카테고리의 다른 글
[머신러닝] 머신러닝 정의, 유형, 기본 개념, 수학적 기초 (3) | 2025.02.07 |
---|---|
[Python] 데이터 프레임 Boolean 인덱싱 VS query() 메서드 (0) | 2025.01.22 |
[통계] 통계적 가설 검정 (0) | 2025.01.03 |
[통계] 통계 리터러시를 위한 기본 개념(정규분포, 오차, 표준오차, 신뢰구간) (1) | 2025.01.02 |
[통계] 모집단, 표준편차, 분산, 평균, 확률, 확률분포, 이산확률변수, 연속확률변수, 확률밀도함수 (1) | 2024.12.30 |