2. 선형회귀
- 선형 회귀는 종속 변수 y와 한 개 이상의 독립 변수 x와의 선형 상관 관계를 모델링하는 회귀분석 기법이다.
한 개의 설명 변수에 기반한 경우는 단순 선형 회귀, 둘 이상의 설명 변수에 기반한 경우에는 다중 선형 회귀
라고 한다 (위키피디아)
- 선형회귀는 지도학습의 대표적인 유형 중 하나
- 학습을 통해 입력 데이터 x와 출력 데이터 y의 관계를 가장 잘 표현하는 변수 𝑾, 𝒃 를 찾아야 한다.
- 여기서 W는 가중치(Weight), b는 편향(Bias)를 나타낸다.
가중치(W)는 독립변수 x가 y에 얼마나 영향을 주는지를 나타내는 척도
편향(b)은 절편 (절편이 없다면 (0, 0)을 지나는 직선만 그릴 수 있기 때문에 회귀식 표현이 제한적일 것)
𝒚 = 𝑾𝒙 + 𝒃 𝒚 = 𝑾 𝟏 𝒙 𝟏 + 𝑾 𝟐 𝒙 𝟐 + … 𝑾 𝒏 𝒙 𝒏 + 𝒃
3. 단순선형회귀
- 하나의 독립 변수 x와 종속 변수 y의 관계식을 찾아라!
(예) 아파트 평수(x)와 가격(y)의 상관관계
상품 가격(x)에 따른 판매량(y)의 변화 등
* 관계식 : 𝒚′ = 𝑾𝒙 + 𝒃
<배운 것을 적용해보자!>
- 선형회귀는 지도학습!
- 그래프처럼 실제 (x, y) 데이터가 주어지면,
관계를 가장 잘 표현하는 하나의 직선을
찾아야 한다.
- 관계식에서 우리가 찾아야 하는 것은
가중치 W와 편향 b이다.
- 관계식을 통해 계산해 낸 예측값 y’와
실제값 y의 차이를 최소화 하도록
학습을 진행한다.
- 오차를 계산하는 두 가지 방법 중
선형회귀에서는 MSE를 사용한다.
- 경사하강법을 사용해서 W와 b 값을
업데이트한다.
4. 다중선형회귀
- 하나의 변수만으로 설명할 수 있는 데이터가 과연 몇이나 될까?
(예) 아파트 평수(x1), 방 개수(x2), 층 수(x3) …와 가격(y)의 상관관계
상품 가격(x1), 광고 노출 횟수(x2), … 에 따른 판매량(y)의 변화 등
* 관계식 : 𝒚 = 𝑾 𝟏 𝒙 𝟏 + 𝑾 𝟐 𝒙 𝟐 + … 𝑾 𝒏 𝒙 𝒏 + 𝒃
- 기존에 (x, y)와 같이 표현되던 데이터쌍을 이제는 ((x1, x2, x3, …, xn), y)와 같이 표현해야 한다.
데이터가 m쌍만큼 있다면, 어떻게 표현하지?
𝒙 𝟏
𝟏
⋯ 𝒙 𝟏
𝒎
⋮ ⋱ ⋮
𝒙 𝒏
𝟏 ⋯ 𝒙 𝒏
𝒎
= (𝒏 × 𝒎) 행렬
변수(feature) n개의
데이터 1개
M개 데이터 쌍
5. 행렬곱
- 다중선형회귀부터는 행렬곱을 사용하는 것이 연산 수행 속도에 훨씬 유리하다. 행렬을 사용하지 않으면
모든 과정을 for-loop으로 구현해야 한다.
- 다중선형회귀에서도 마찬가지로 우리가 찾아야 하는 것은 가중치 W와 오차항 b이다. 단순선형회귀와의 차
이는 가중치 W가 숫자 하나가 아니라 (W1, W2, …, Wn)이라는 것이다. X를 행렬로 나타낸 것처럼 W도 1행
크기의 행렬(벡터)로 표현하면 연산이 훨씬 간단해진다.
𝒚 𝟏
𝒚 𝟐
… 𝒚 𝒎 = 𝑾 𝟏 𝑾 𝟐 ⋯ 𝑾 𝒏 ×
𝒙 𝟏
𝟏
⋯ 𝒙 𝟏
𝒎
⋮ ⋱ ⋮
𝒙 𝒏
𝟏 ⋯ 𝒙 𝒏
𝒎
+ 𝒃
윗첨자는 제곱이 아닌
m번째 데이터를 나타낸다
행렬곱의 방향
오차항은 하나의 실수로 나타내며,
행렬의 모든 항에 더해진다.