hyeonzzz's Tech Blog

[인공지능을 위한 선형대수] 3. Least Square - Least Squares Problem 소개 본문

Mathematics/Linear Algebra

[인공지능을 위한 선형대수] 3. Least Square - Least Squares Problem 소개

hyeonzzz 2024. 3. 26. 11:18

Least Squares Problem 소개

방정식의 갯수 > 미지수의 갯수 (데이터를 많이 수집한 경우) : over-determined system 

-> 보통 solution이 없다

벡터 3개가 큰 전체 공간(큰 dimension)에서 일부만 차지하기 때문에 벡터 b가 주어진 공간에 들어올 확률이 작다 

 

근사적으로나마 solution을 구해보자!

 

내적 : 벡터들마다 element-wise 하게 곱해서 더해준다 

행렬의 곱 형태로 나타내면 왼쪽 벡터 transpose 시켜 오른쪽 벡터와 matrix 곱한다. 

 

교환법칙, 분배법칙, 먼저 내적하고 상수배, 먼저 내적하고 나중에 선형결합, 자기자신과의 내적은 0보다 크거나 같다, 내적이 0이려면 한 벡터가 0벡터여야 한다 

 

Norm : 벡터의 길이

자기자신과의 내적에 루트 

 

[3,4] -> [6,8] 이 2배이므로 6^2 + 8^2을 할 필요 없이 5에 2배를 하면 된다. 

 

Normalization : 벡터의 길이를 항상 1로 만든다

unit vector : 길이가 1인 벡터 

 

벡터의 거리

두 벡터의 차이 벡터에 norm을 사용해 정의할 수 있다. 

 

원점에서 출발하도록 바꿔 길이를 구한다.

 

두 벡터의 내적으로 각도 구하기

 

중요!!

orthogonal vector : 두 벡터가 수직이다

두 벡터를 내적했을 때 0이면 수직

 

미지수 3개 방정식 4개인 경우

3개 방정식만으로 만들어지는 solution을 가지고 대입해보면 에러가 생긴다.

각 등식마다 주어진 solution이 얼마나 틀렸는지 정량화 할 수 있다. 

 

solution을 하나 더 만들어 보았다

66이어야 하는데 71.3이 예측되어 오차가 -5.3이다. 

 

둘중에 에러가 더 작은 solution은 무엇인가?

정량적인 방법을 사용한다. 보통 사용하는 방법은 sum of squared errors 이다. 

 

우리가 이루고자 하는 목적 함수를 정확하게 정의하는 방법

A : 알려진 feature들의 집합

x : 구해야하는 값

b : 실제 관측된 값

 

에러를 최소화 시키고 싶은것 

최소로 하는 벡터 x를 뽑는 것