본문 바로가기

AI/딥러닝기초

[딥러닝개론] 선형회귀

선형회귀

 

머신러닝

  • 데이터를 통해 학습시킨 모델을 가지고, 새로운 데이터를 예측하는 하나의 문제 해결 방법.

 

선형회귀(linear regression)

  • 머신러닝이 등장하기 훨씬 전부터 통계학에서 데이터를 활용해 모델을 만들고, 모델을 활용해 새로운 데이터를 예측하는 방법으로 사용된 대표적인 방법.
선형회귀(선을 그어 예측하는 것)의 과정

1. 데이터를 일반화하는 선을 찾는다.
2. 그 선을 이용해 데이터를 예측한다.

 


 

집의 가격을 예측하는 모델 만들기

  1. '집의 넓이', '건축연도', '집의 위치', '집의 가격' 이렇게 네 가지의 값을 각각 가지고 있는 1만 개의 집 데이터를 수집.
  2. 예측하고자 하는 변수(타겟)을 제외한 나머지 세 변수(타겟을 예측하는 데 사용되는 특징 변수: 특성, feature)를 통해 집의 가격을 잘 표현하는 모델을 만든다.
  3. 각 특성별로 집의 가격에 영향을 미치는 정도가 다를 것이기 때문에, 서로 다른 가중치를 갖는 특성들이 더해지는 가중합(weighted sum)의 관계로 나타낼 수 있다.
  4. 값이 너무 크다면, 전체적으로 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)가 된다.

 

선형회귀는 평균제곱오차를 가장 작게 하는, 모든 데이터를 적절히 아우르는 예측 직선을 찾는 것.

 

 

[비전공자를 위한 딥러닝] 2.1 선형회귀 (1)

선형 회귀, 데이터 특성, 가중치, 편향, 신경망

www.philgineer.com