Lensa ML

Cara Kerja Eigenvalue

Langkah 1 dari 6: Transformasi Linear

Matriks merentangkan, menggeser, dan memutar ruang

a (diagonal)2.00
b (off-diagonal)0.50
d (diagonal)1.00
-4-3-2-11234-2-112A = [[2.0, 0.5], [0.5, 1.0]]
det(A)
1.75
Trace
3.00

Determinannya lebih besar dari 1, jadi matriks ini memperluas area. Kisi titiknya menutupi lebih banyak bidang.

Geser a, b, dan d, lalu lihat kisi titiknya bergerak. Matriks di sini adalah [[a, b], [b, d]], yang simetris karena b yang sama mengisi kedua posisi di luar diagonal. Pada nilai bawaan, det = 2·1 − 0.5² = 1.75 dan trace-nya 3. Dua fakta menghubungkan kartu ini dengan langkah berikutnya: trace sama dengan λ₁ + λ₂, dan determinan sama dengan λ₁·λ₂. Jadi determinan negatif selalu berarti kedua eigenvalue berbeda tanda.

Langkah 2 dari 6: Arah Khusus

Eigenvector hanya berubah skala, tidak pernah berputar

a (diagonal)2.00
b (off-diagonal)0.50
d (diagonal)1.00
-4-3-2-11234-2-112v₁v₂
λ₁
2.207
λ₂
0.793

Eigenvector adalah arah khusus yang hanya berubah skala oleh matriks, tanpa berputar. Panah merah muda (v₁) dan ungu (v₂) tetap berada di garis yang sama setelah transformasi. Vector lain (abu-abu) berubah arah. Ubah a, b, atau d, dan eigenvector-nya ikut bergeser.

Ubah matriksnya dan perhatikan panah mana yang tetap di garisnya sendiri. Matriks simetris selalu punya eigenvalue real dan eigenvector yang saling tegak lurus; inilah teorema spektral. Matriks tidak simetris belum tentu begitu: matriks rotasi 90° menggerakkan setiap arah, jadi sama sekali tidak punya eigenvector real. Mengalikan vector awal apa pun dengan A berulang kali akan memutarnya ke arah eigenvector dengan |λ| terbesar. Metode ini, power iteration, adalah cara PageRank memeringkat halaman web.

Langkah 3 dari 6: Eigenvalue sebagai Faktor Skala

Seberapa jauh tiap eigenvector merentang atau terbalik

a (diagonal)2.00
b (off-diagonal)0.50
d (diagonal)1.00
-4-3-2-11234-2-112dikali λ₁=2.21dikali λ₂=0.79
λ₁
2.207
λ₂
0.793
|λ₁|
2.207
|λ₂|
0.793

Kedua eigenvalue positif, jadi matriks merentangkan atau memampatkan di sepanjang kedua arah eigenvector tanpa membalik salah satunya.

Ubah a, b, dan d, lalu bandingkan λ₁ dan λ₂ dengan nilai mutlaknya. Pada nilai bawaan, keduanya sekitar 2,21 dan 0,79. Menerapkan A sebanyak k kali mengalikan tiap komponen eigenvector dengan λᵏ, jadi arah dengan |λ| > 1 membesar dan arah dengan |λ| < 1 mengecil. |λ| terbesar disebut spectral radius. Recurrent network mengalikan hidden state-nya dengan matriks weight yang sama di setiap time step, jadi spectral radius yang jauh dari 1 membuat sinyal meledak atau menghilang.

Langkah 4 dari 6: Persamaan Karakteristik

Mencari eigenvalue dengan menyelesaikan det(A - λI) = 0

a (diagonal)2.00
b (off-diagonal)0.50
d (diagonal)1.00
λλ1=2.21λ2=0.79det(A - λI) = λ² - 3.0λ + 1.75 = 0
Trace (a+d)
3.00
det (ad-b²)
1.75
λ₁
2.207
λ₂
0.793

Diskriminan sedang: ada dua eigenvalue real yang berbeda, di dua titik tempat parabola memotong nol.

Geser slider dan perhatikan akar parabola, yang tidak lain adalah eigenvalue. Untuk matriks 2×2, det(A − λI) = λ² − (trace)·λ + det. Diskriminannya di sini adalah (a − d)² + 4b², yang tidak mungkin negatif, jadi matriks simetris tidak pernah punya eigenvalue kompleks. Untuk matriks n×n, polinomialnya berderajat n, dan polinomial berderajat 5 ke atas tidak punya rumus akar umum. Karena itu, perangkat lunak memakai metode iteratif seperti algoritma QR.

Langkah 5 dari 6: Eigendecomposition

A = PDP⁻¹: rotasi, skala, rotasi balik

a (diagonal)2.00
b (off-diagonal)0.50
d (diagonal)1.00
Fase dekomposisi0.00
-4-3-2-11234-2-112A = PDP⁻¹
Fase
P⁻¹ (rotasi)
λ₁
2.207
λ₂
0.793

Fase 1: P⁻¹ memutar bidang supaya eigenvector sejajar dengan sumbu, yaitu sistem koordinat milik matriks itu sendiri.

Geser slider Fase dekomposisi dari 0 ke 3 untuk melihat lingkaran satuan menjadi elips dalam tiga gerakan. Karena matriks ini simetris, P ortogonal dan P⁻¹ = Pᵀ, jadi gerakan pertama dan terakhir murni rotasi atau pencerminan. Dekomposisi ini memudahkan perpangkatan: Aᵏ = P·Dᵏ·P⁻¹, dan Dᵏ cukup memangkatkan tiap eigenvalue dengan k. Matriks tidak simetris bisa saja kekurangan eigenvector untuk membentuk P; SVD selalu bisa dipakai sebagai gantinya.

Langkah 6 dari 6: Kenapa Eigenvector Berguna

Principal Component Analysis mencari arah dengan variance terbesar

Rasio sebaran2.00
Sudut rotasi (°)30
-4-3-2-11234-2-112PC1PC2
Variance PC1
1.22
Variance PC2
0.17
Total var
1.39
% terjelaskan
88%

Satu arah mendominasi, dan PC1 membawa sebagian besar variance. Memproyeksikan data ke PC1 saja sudah mempertahankan sebagian besar informasi.

Naikkan Rasio sebaran, lalu ubah Sudut rotasi. Memutar sebaran titik menggeser panah principal component, tetapi variance-nya tidak berubah, karena eigenvalue menggambarkan bentuk data, bukan orientasinya. Ke-30 titik menghasilkan matriks covariance 2×2, dan eigenvalue-nya adalah variance di sepanjang tiap komponen. Analis sering menyimpan komponen secukupnya untuk menjelaskan 90 sampai 95 persen total variance, yaitu jumlah semua eigenvalue.

Apa itu eigenvalue dan eigenvector?

Eigenvector dari matriks persegi A adalah vector bukan nol yang arahnya tidak berubah ketika A diterapkan: Av = λv. Angka λ adalah eigenvalue-nya, yaitu faktor yang merentangkan, mengecilkan, atau membalik vector itu. Keduanya menjelaskan apa yang dilakukan matriks di sepanjang sumbu alaminya.

Di machine learning, eigenvector dari matriks covariance adalah principal component yang dipakai di PCA. Eigenvalue dari Hessian menggambarkan kelengkungan permukaan loss dan membatasi learning rate yang bisa dipakai gradient descent. Eigenvalue juga menentukan apakah perkalian matriks berulang akan meledak atau meredup, dan ini berpengaruh pada recurrent network. Eigenvalue dari Laplacian sebuah graf menjadi dasar spectral clustering.

Ide utama

  • Eigenvector mempertahankan arahnya saat dikenai matriks: Av = λv.
  • Eigenvalue λ adalah faktor skala di sepanjang eigenvector itu, dan λ negatif membaliknya.
  • Trace adalah jumlah semua eigenvalue, dan determinan adalah hasil kalinya.
  • Eigenvalue adalah akar persamaan karakteristik det(A − λI) = 0.
  • Matriks simetris punya eigenvalue real dan eigenvector yang saling tegak lurus.
  • Di PCA, eigenvector dari matriks covariance adalah principal component.

Pertanyaan umum

Apa arti eigenvalue dari Hessian untuk training?

Tiap eigenvalue adalah kelengkungan loss di sepanjang eigenvector-nya. Di titik kritis, semua positif berarti local minimum, dan tanda campuran berarti saddle point. Untuk gradient descent pada fungsi kuadrat, learning rate harus tetap di bawah 2/λ_max agar tidak divergen, jadi arah yang paling tajam menentukan batas kecepatannya.

Apakah eigenvalue bisa berupa bilangan kompleks?

Bisa, untuk matriks real yang tidak simetris. Rotasi sebesar θ pada bidang punya eigenvalue cos θ ± i·sin θ, yang menandakan perputaran, bukan perentangan. Pada matriks real, eigenvalue kompleks selalu muncul sebagai pasangan konjugat, dan besarnya tetap menentukan apakah nilainya tumbuh atau meluruh.

Apa itu matriks positive definite?

Matriks simetris yang semua eigenvalue-nya positif, atau setara dengan xᵀAx > 0 untuk setiap x bukan nol. Matriks covariance bersifat positive semidefinite, dengan eigenvalue nol atau lebih. Hessian yang positive definite di titik kritis berarti titik itu adalah local minimum yang ketat.

Sebaiknya pakai numpy.linalg.eig atau eigh?

Pakai eigh untuk matriks simetris atau Hermitian seperti matriks covariance. Fungsi ini lebih cepat, mengembalikan eigenvalue real dalam urutan naik, dan menjamin eigenvector yang ortonormal. eig menangani matriks persegi umum, tetapi bisa mengembalikan nilai kompleks, bahkan akibat round-off pada matriks yang seharusnya simetris.

Penjelasan terkait

Referensi

  1. Strang, MIT 18.06 Linear Algebra, lecture 21 Eigenvalues and Eigenvectors
  2. Deisenroth, Faisal & Ong, "Mathematics for Machine Learning", ch. 4 Matrix Decompositions
  3. Pearson (1901), "On lines and planes of closest fit to systems of points in space"

Terakhir diperbarui