Apa itu SVD#

Singular Value Decomposition (SVD) adalah suatu teknik dalam aljabar linier yang memfaktorkan sebuah matriks \(A\) berukuran \(m \times n\) menjadi tiga buah matriks:

\[ A = U \Sigma V^T \]

\(U \in \mathbb{R}^{m \times m}\) adalah matriks ortogonal, berisi vektor-vektor eigen dari \(A A^T\).

\(\Sigma \in \mathbb{R}^{m \times n}\) adalah matriks diagonal, dengan elemen-elemen diagonalnya disebut sebagai \textbf{nilai singular}

\(V \in \mathbb{R}^{n \times n}\) adalah matriks ortogonal, berisi vektor-vektor eigen dari \(A^T A\).

Kegunaan SVD#

Contoh Soal 1#

Matriks Awal#

\[\begin{split} A = \begin{bmatrix} 3 & 1 \\ 1 & 3 \end{bmatrix} \end{split}\]

Mencari Transpose A#

Transpose = baris jadi kolom:

\[\begin{split} A^T = \begin{bmatrix} 3 & 1 \\ 1 & 3 \end{bmatrix} \end{split}\]

Karena \(A\) simetris, maka \(A^T = A\).

Hitung \(A^T A\)#

\[\begin{split}A^T A = A A = \begin{bmatrix} 3 & 1 \\ 1 & 3 \end{bmatrix} \begin{bmatrix} 3 & 1 \\ 1 & 3 \end{bmatrix} =\begin{bmatrix} 10 & 6 \\ 6 & 10 \end{bmatrix}\end{split}\]

Cari Nilai Eigen \(A^T A\)#

\[ \det(A^T A - \lambda I) = 0 \]
\[\begin{split} \det \begin{bmatrix} 10 - \lambda & 6 \\ 6 & 10 - \lambda \end{bmatrix} = 0 \end{split}\]
\[ (10 - \lambda)^2 - 36 = 0 \]
\[ (10 - \lambda)^2 = 36 \]
\[ 10 - \lambda = \pm 6 \]
\[ \lambda = 10 \mp 6 \]
\[ \Rightarrow \lambda_1 = 16, \quad \lambda_2 = 4 \]

Singular Value#

\[ \sigma_1 = \sqrt{16} = 4, \quad \sigma_2 = \sqrt{4} = 2 \]

Cari Vektor Eigen untuk \(V\)#

Untuk \(\lambda = 16\):

\[\begin{split} \begin{bmatrix} -6 & 6 \\ 6 & -6 \end{bmatrix} \Rightarrow v_1 = v_2 \end{split}\]

Normalisasi:

\[ v_1 = \frac{1}{\sqrt{2}}, \quad v_2 = \frac{1}{\sqrt{2}} \]

Untuk \(\lambda = 4\):

\[\begin{split} \begin{bmatrix} 6 & 6 \\ 6 & 6 \end{bmatrix} \Rightarrow v_1 = -v_2 \end{split}\]

Normalisasi:

\[ v_1 = \frac{1}{\sqrt{2}}, \quad v_2 = -\frac{1}{\sqrt{2}} \]

Matriks V#

\[\begin{split} V = \begin{bmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \end{bmatrix} \end{split}\]

Cari U#

\[ U = A V \Sigma^{-1} \]
\[\begin{split} A V = \begin{bmatrix} 2 \sqrt{2} & \sqrt{2} \\ 2 \sqrt{2} & -\sqrt{2} \end{bmatrix} \end{split}\]

Normalisasi:

\[\begin{split} U = \begin{bmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \end{bmatrix} \end{split}\]

Hasil Akhir SVD#

\[ A = U \Sigma V^T \]

dengan:

\[\begin{split} U = \begin{bmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \end{bmatrix}, \quad \Sigma = \begin{bmatrix} 4 & 0 \\ 0 & 2 \end{bmatrix}, \quad V = \begin{bmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \end{bmatrix} \end{split}\]

Pembuktian \(A\)#

\(A = \begin{bmatrix} 3 & 1 \\ 1 & 3 \end{bmatrix}\)

\(U = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}\)

\(\Sigma = \begin{bmatrix} 4 & 0 \\ 0 & 2 \end{bmatrix}\)

\(V = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}\)


Karena \(V\) ortogonal, \(V^T = V\)#

Jadi:

\[ V^T = V \]

Hitung \(\Sigma V^T)\)#

\[\begin{split} \Sigma V^T = \Sigma V = \begin{bmatrix} 4 & 0 \\ 0 & 2 \end{bmatrix} \frac{1}{\sqrt{2}} \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix} \end{split}\]

Hasil:

\[\begin{split} = \frac{1}{\sqrt{2}} \begin{bmatrix} 4 \cdot 1 + 0 \cdot 1 & 4 \cdot 1 + 0 \cdot (-1) \\ 0 \cdot 1 + 2 \cdot 1 & 0 \cdot 1 + 2 \cdot (-1) \end{bmatrix} = \frac{1}{\sqrt{2}} \begin{bmatrix} 4 & 4 \\ 2 & -2 \end{bmatrix} \end{split}\]

Hitung \(U \Sigma V^T\)#

\[\begin{split} U \Sigma V^T = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix} \frac{1}{\sqrt{2}} \begin{bmatrix} 4 & 4 \\ 2 & -2 \end{bmatrix} \end{split}\]

Karena $\( \frac{1}{\sqrt{2}} \times \frac{1}{\sqrt{2}} = \frac{1}{2} = \frac{1}{2} \begin{bmatrix} 1 \cdot 4 + 1 \cdot 2 & 1 \cdot 4 + 1 \cdot (-2) \\ 1 \cdot 4 + (-1) \cdot 2 & 1 \cdot 4 + (-1) \cdot (-2) \end{bmatrix} = \frac{1}{2} \begin{bmatrix} 6 & 2 \\ 2 & 6 \end{bmatrix} = \begin{bmatrix} 3 & 1 \\ 1 & 3 \end{bmatrix} = A\)$


Kesimpulan#

terbukti bahwa :

\[ A = U \Sigma V^T \]

dengan hasil sesuai matriks aslinya.

Contoh Soal 2#

Perhitungan Singular Value Decomposition (SVD)#

Diketahui Matriks

\[\begin{split} A = \begin{bmatrix} 3 & 7 \\ 2 & 5 \\ 4 & 3 \\ 1 & 1 \end{bmatrix} \end{split}\]

Langkah 1: Hitung (A^T A)#

\[\begin{split}A^T =\begin{bmatrix} 3 & 2 & 4 & 1 \\ 7 & 5 & 3 & 1 \end{bmatrix}\end{split}\]
\[\begin{split}A^T A =\begin{bmatrix} 3 & 2 & 4 & 1 \\ 7 & 5 & 3 & 1\end{bmatrix} \begin{bmatrix} 3 & 7 \\ 2 & 5 \\ 4 & 3 \\ 1 & 1 \end{bmatrix}= \begin{bmatrix} 30 & 44 \\ 44 & 84 \end{bmatrix}\end{split}\]

Langkah 2: Hitung Eigenvalue dari (A^T A)#

Misal \(\lambda \text{ adalah eigenvalue dari } A^T A\)

\[\begin{split} \left| \begin{array}{cc} 30 - \lambda & 44 \\ 44 & 84 - \lambda \end{array} \right| = 0 \Rightarrow (30 - \lambda)(84 - \lambda) - 44^2 = 0 \end{split}\]
\[ \lambda^2 - 114 \lambda + 2520 - 1936 = 0 \Rightarrow \lambda^2 - 114 \lambda + 584 = 0 \]
\[ \lambda = \frac{114 \pm \sqrt{114^2 - 4 \cdot 584}}{2} = \frac{114 \pm \sqrt{10660}}{2} \Rightarrow \lambda_1 \approx 108.62, \quad \lambda_2 \approx 5.38 \]

Langkah 3: Hitung Singular Value#

\[ \sigma_1 = \sqrt{108.62} \approx 10.42, \quad \sigma_2 = \sqrt{5.38} \approx 2.32 \]
\[\begin{split} \Sigma = \begin{bmatrix} 10.42 & 0 \\ 0 & 2.32 \\ 0 & 0 \\ 0 & 0 \end{bmatrix} \end{split}\]

Langkah 4: Cari Eigenvector dari (A^T A)#

Hasil eigenvector ter-normalisasi (dari komputasi numerik):

\[\begin{split} v_1 = \begin{bmatrix} 0.4884 \\ 0.8726 \end{bmatrix}, \quad v_2 = \begin{bmatrix} -0.8726 \\ 0.4884 \end{bmatrix} \end{split}\]
\[\begin{split} V = \begin{bmatrix} 0.4884 & -0.8726 \\ 0.8726 & 0.4884 \end{bmatrix} \end{split}\]

Langkah 5: Hitung Matriks (U)#

\[ u_1 = \frac{1}{10.42} A v_1, \quad u_2 = \frac{1}{2.32} A v_2 \]
\[\begin{split} u_1 \approx \begin{bmatrix} 0.6817 \\ 0.4992 \\ 0.4725 \\ 0.1668 \end{bmatrix}, \quad u_2 \approx \begin{bmatrix} 0.3241 \\ 0.3882 \\ -0.3541 \\ -0.7987 \end{bmatrix} \end{split}\]

Lengkapi (U) menjadi matriks ortogonal (4 \times 4) (dengan Gram-Schmidt atau QR decomposition):

\[ U = \begin{bmatrix} \vec{u}_1 & \vec{u}_2 & \vec{u}_3 & \vec{u}_4 \end{bmatrix} \]

Langkah 6: Bentuk SVD#

\[ A = U \Sigma V^T \]

Dengan:

\[\begin{split} \Sigma = \begin{bmatrix} 10.42 & 0 \\ 0 & 2.32 \\ 0 & 0 \\ 0 & 0 \end{bmatrix}, \quad V^T = \begin{bmatrix} 0.4884 & 0.8726 \\ -0.8726 & 0.4884 \end{bmatrix} \end{split}\]

Pembuktian#

\[ U \Sigma V^T = A \]

Perkalian kembali ketiga matriks akan menghasilkan matriks semula (atau sangat mendekati secara numerik karena pembulatan).