### 12.2 Singular Value Decomposition

Sebelum masuk ke _autoencoder_ secara matematis, penulis akan memberikan
sedikit _overview_ tentang dekomposisi matriks. Seperti yang sudah dijelaskan
pada bab-bab sebelumnya, dataset dimana setiap _input_ direpresentasikan oleh
_feature vector_ dapat disusun menjadi matriksXberukuranN×F, dimanaN
adalah banyaknya sampel^4 danFadalah dimensi fitur. Pada _machine learning_,
dekomposisi atau reduksi dimensi sangat penting dilakukan terutama
ketika dataset berupa _sparse matrix_. Dekomposisi berkaitan erat denganprincipal
component analysis (PCA) yang sudah kamu pelajari. Teknik PCA
(melalui _eigendecomposition_ ) mendekomposisi sebuah matriksXmenjadi tiga
buah matriks, seperti diilustrasikan pada persamaan 12.1. MatriksAadalah
kumpulan eigenvector danλadalah sebuah diagonal matriks yang berisi nilai
eigenvalue, dimanaUberukuranN×N,VberukuranN×F, danWT
berukuranF×F.
X=AλA−^1 (12.1)

PCA membutuhkan matriks yang kamu ingin dekomposisi berbentu simetris.
Sedangkan, teknik _singular value decomposition_ (SVD) tidak. Dengan konsep
yang mirip dengna PCA, matriksXdapat difaktorisasi menjadi tiga buah matriks
menggunakan teknik SVD, dimana operasi ini berkaitan dengan mencari
eigenvectors, diilustrasikan pada persamaan 12.2.

```
X=U V WT (12.2)
```
(^4) Banyaknya training data.


166 12 Auto _encoder_

Perlu diperhatikan, matriksVadalah sebuah diagonal matriks (elemennya
adalah nilai _singular value_ dariX).Udisebut _left-singular vectors_ yang
tersusun atas eigenvector dariXXT. Sementara,Wdisebutright-singular
vectorsyang tersusun atas eigenvector dariXTX.
Misalkan kita mempunyai sebuah matriks lainVˆberukuranK×K, yaitu
modifikasi matriksVdengan mengganti sejumlah elemen diagonalnya menjadi
0 (analogi seperti menghapus beberapa baris dan kolom yang dianggap kurang
penting). Sebagai contoh, perhatikan ilustrasi berikut!

#### V=

#### 

#### 

#### 

#### 

```
α 1 0 0 0 0
0 α 2 0 0 0
0 0 α 3 0 0
0 0 0 α 40
```
#### 

#### 

#### 

#### 

#### Vˆ=

#### 

#### 

```
α 1 0 0
0 α 2 0
0 0α 3
```
#### 

#### 

Kita juga dapat me-nol-kan sejumlah baris dan kolom pada matriksUdan
WmenjadiUˆ(N×K) danWˆT(K×F). Apabila kita mengalikan semuanya,
kita akan mendapat matriksXˆyang merupakan _approximation_ untuk matriks
asliX, seperti diilustrasikan pada persamaan 12.3.

Xˆ=UˆVˆWˆT (12.3)
Suatu baris dari matriksE=Uˆ Vˆ dianggap sebagai aproksimasi baris
matriksXberdimensi tinggi [1]. Artinya, menghitung _dot-product_ Ei·Ej=
Xˆi·Xˆj. Artinya, operasi pada matriksEkurang lebih melambangkan operasi
pada matriks asli. Konsep ini menjadi fundamental _autoencoder_ yang akan
dibahas pada subbab berikutnya. Operasi data pada level _coding_ dianggap
merepresentasikan operasi pada bentuk aslinya. Matriks aproksimasi ini memanfaatkan
sejumlahKarah paling berpengaruh pada data. Dengan analogi
tersebut, sama seperti mentransformasi data ke bentuk lain dimana data hasil
transformasi memiliki varians yang tinggi.

