선형회귀
머신러닝
- 데이터를 통해 학습시킨 모델을 가지고, 새로운 데이터를 예측하는 하나의 문제 해결 방법.
선형회귀(linear regression)
- 머신러닝이 등장하기 훨씬 전부터 통계학에서 데이터를 활용해 모델을 만들고, 모델을 활용해 새로운 데이터를 예측하는 방법으로 사용된 대표적인 방법.
선형회귀(선을 그어 예측하는 것)의 과정
1. 데이터를 일반화하는 선을 찾는다.
2. 그 선을 이용해 데이터를 예측한다.
집의 가격을 예측하는 모델 만들기
- '집의 넓이', '건축연도', '집의 위치', '집의 가격' 이렇게 네 가지의 값을 각각 가지고 있는 1만 개의 집 데이터를 수집.
- 예측하고자 하는 변수(타겟)을 제외한 나머지 세 변수(타겟을 예측하는 데 사용되는 특징 변수: 특성, feature)를 통해 집의 가격을 잘 표현하는 모델을 만든다.
- 각 특성별로 집의 가격에 영향을 미치는 정도가 다를 것이기 때문에, 서로 다른 가중치를 갖는 특성들이 더해지는 가중합(weighted sum)의 관계로 나타낼 수 있다.
- 값이 너무 크다면, 전체적으로 scaling 진행.
(집의 넓이 * w1) + (건축연도 * w2) + (집의 위치 * w3) = 집의 가격
선형회귀의 목적
- 데이터의 분포를 잘 표현하는 하나의 직선을 찾는 것.
- x축이 특성 1, y축은 집의 가격일 때, 직선의 기울기는 특성 1에 대한 가중치 w1에 해당.
- w1의 절댓값이 클수록, 타겟에 미치는 영향이 큰 것이라고 볼 수 있음.
편향(bias)
- y = ax인 직선은 항상 (0,0)을 지난다.
- 편향을 수식에 포함해 원점에서 벗어날 수 있게 되면, 훨씬 예측력 높은 모델이 된다.
(특성 1 * w1) + (특성 2 * w2) + (특성 3 * w3) + bias = 타겟
- 세 특성이 각각의 가중치와 함께 곱해지고, 거기에 편향이 더해지면 타겟의 값이 예측되는 것.
- 이렇게 계산된 값(타겟)이 위치하는 노드는 '새로운 특성'으로 해석할 수도 있다.
오차
- 데이터와 회귀직선 사이의 거리를 의미.
- 예측한 값이 실제 값과 얼마나 차이가 있는지 그 정도를 의미.
H(x) = Wx + b
error = 예측 값 - 실제 y값(정답) = H(x) - y
비용함수(cost-function)
- 실제값과 예측값의 차이를 제곱한 뒤 모두 더해주는 과정: 오차제곱합.
- 오차제곱합을 전체 데이터 수로 나눠서 데이터 1개 당 평균 오차제곱합을 나타내면 평균제곱오차(MSE, Mean Square Error)가 된다.
선형회귀는 평균제곱오차를 가장 작게 하는, 모든 데이터를 적절히 아우르는 예측 직선을 찾는 것.
'AI > 딥러닝기초' 카테고리의 다른 글
[딥러닝개론] 순전파와 역전파 (1) | 2023.12.12 |
---|---|
[딥러닝개론] 신경망 학습 - 경사하강법(gradient descent) (2) | 2023.12.05 |
[딥러닝개론] 신경망 기초 (2) | 2023.12.05 |
[딥러닝 개론] 기본 개념 (2) | 2023.12.04 |