특이값 분해는 다음과 같이 어떤
이 식을 풀어 쓰면 다음과 같다.
여기서
특이값 분해(svd)는 선형 대수학에서는 매우 중요한 개념이며 응용 범위가 상당히 넓다.
그런데 특이값 분해(svd)로 어떻게 이미지를 압축시킬 수 있다는 걸까. 힌트는 식 (2)에 있다.
식 (2)의 오른쪽 항은
그렇다면 행렬
그렇다면 랭크가 5인 행렬로 근사하고 싶다면? 다음과 같이 특이값 5개를 사용하면 될 것이다.
행렬로 표현할 수 있는 데이터 중에서 가장 대표적인 것이 디지털 이미지다. 디지털 이미지는 픽셀의 강도(intensity)를 성분 값으로 하는 행렬이다. 다음 이미지를 보자. 유명한 레나의 흑백 사진이다.

레나 이미지는

즉, 레나 이미지를 표현하기 위해서는
등

너무 복잡하므로 앞에서 20개 정도만 그려보면 다음과 같다.

첫번째 특이값만 크고 그 다음부터는 고만고만 한 것 같다. 그렇다면 레나 이미지 행렬을 랭크 1인 행렬로 근사화해 보자. 이미지 질만 확보된다면 엄청난 이미지 압축률을 보일 것이다. 왜냐하면

뭐가 뭔지 모르게 나왔다. 조금 더 써보자. 이번에는 레나 이미지 행렬을 랭크 20인 행렬로 근사화해 보자. 이 정도 해도

이제 누구인지 구별은 할 수 있으나 이미지 질이 좋지 않다. 다시 레나 이미지 행렬을 랭크 100인 행렬로 근사화해 보자. 그러면

원본과 비교해보면 차이를 못 느낄 정도가 됐다. 이 이미지는 원본 데이터 수의 39.06 % 만 가지고 표시한 것이다.
특이값 분해(svd)를 이용하면 이미지 뿐만 아니라 행렬로 표현할 수 있는 많은 종류의 데이터를 압축할 수 있다.
'AI 수학 > 선형대수' 카테고리의 다른 글
내적 (Inner Product) (0) | 2020.10.21 |
---|---|
유사 역행렬 (Pseudo Inverse Matrix) (0) | 2020.10.19 |
특이값 분해(SVD)의 증명 (0) | 2020.07.23 |
특이값 분해(singular value decomposition) (0) | 2020.07.23 |
정정(positive-definite) 행렬의 고유값 (0) | 2020.07.21 |
댓글