안녕하세요. 우리 빨간선을 어떻게 구하는지에 대해 알아보기로 합시다. 단순한 코드 안에 있는 복잡한 로직에 대한 공부 시작입니다.
강의보고오기
https://www.youtube.com/watch?v=vJ-DaRgfsZk
벡터식 표현
우선 두개의 벡터를 정의하겠습니다. 가중치를 뜻하는 w 벡터와 선형회귀 독립변수인 $ x $ 벡터를 정의하겠습니다. 종속변수 $ y $ 도 있습니다. .
$$ w = \begin{bmatrix}
w_{0} \\
w_{1}
\end{bmatrix}, \qquad x = \begin{bmatrix}
1 \\
x_{1}
\end{bmatrix}$$
두 벡터를 사용하여 아래와 같이 나타낼 수 있습니다.
$$ \hat{y} = w^{T} x $$
$$ \hat{y} = \begin{bmatrix}
w_{0} & w_{1}
\end{bmatrix}\begin{bmatrix}
1 \\
x_{1}
\end{bmatrix}$$
집값의 예시를 보겠습니다. 독립변수는 여러개가 될 수 있지만, 집의 면적 하나만 있다고 가정했습니다. 그리고 $y$ 는 집값입니다. 그럼 집의 면적에 대응하는 $ y $ 값(집값)이 있을겁니다. 우리는 이 데이터를 학습하여 예측값 $y$ 즉, $\hat{y}$에 대응하는 빨간선을 그리는게 목표입니다. .
강의에서는 우선 독립변수가 하나인 예제를 설명하고, 독립변수를 늘려가며 설명합니다. 면적, 방의수, 주차공간... 계속해서 독립변수를 늘릴 수 있습니다.
중요한 점은 독립변수가 아무리 늘어나도 선형회기라는 것입니다. 모든 인풋변수(독립변수)가 집값과 선형관계이기 때문입니다.
Shallow Learning에서는 대부분 선형관계만 한다고 말씀드렸습니다. 그렇다고 진짜 선형만 하는 건 아닙니다. 선형같은 비선형도 합니다. 선형회귀 끝나면 바로 Logistic Regression을 할 예정인데, 얘는 비선형입니다.
왜 선형같은 비선형이냐고요? 거의 선형 모델인데 결과를 비선형적으로 분류하기 때문입니다. 선형회귀 끝내고 자세히 설명하겠습니다.(엄격히 말하면 비선형인데, 딥러닝은 아닙니다. 딥러닝에서만 비선형 문제를 풀 수 있는 건 아니니까요. 하지만 딥러닝은 훨씬 더 복잡한 비선형도 잘 풉니다.)
선을 구하기 위해 사용하는 방법: MSE, SSE
SSE(Sum Squared Error) 또는 MSE(Mean Squared Error) 를 사용하고 이를 Loss Function, Cost Function으로 부릅니다. Opimization 관점으로 목적함수라고 하고요. 같은 식에 이름이 여러 개여서 참 혼란스럽스니다.
(Loss Function과 Cost Function은 작은 차이가 있습니다. $ \sum $이 없는게 Loss Function, $ \sum $이 있으면 Cost Function이라는데 이는 책마다 차이가 있는 거 같습니다. 굳이 구분한다면 이와 같이 구분하시고 그냥 아무거나 써도 무방할 듯 합니다.)
1. SSE: $$ L(w) = \sum_{i=1}^N (w^Tx_i - y_i)^2 $$
2. MSE: $$ L(w) = \frac{1}{N}\sum_{i=1}^N (w^Tx_{i} - y_{i})^{2} $$
수학식으로 보면 복잡해 보이지만, 사실 별 거 아닙니다.
'Machine Learning' 카테고리의 다른 글
10강 벡터미분(Feat. Jacobian & Hessian) (1) | 2024.07.22 |
---|---|
9강 선형회귀 - Gradient Descent를 쓰는 이유 (Direct Solution) (3) | 2024.07.20 |
7강 벡터 (0) | 2024.07.20 |
6강 선형회귀 (0) | 2024.07.18 |
5강 머신러닝의 개요 subNote - for 기술사 (0) | 2024.07.17 |