Kursus
Eigenvektor dan eigenvalue adalah konsep dasar dalam aljabar linear yang berdampak luas pada data science dan machine learning. Entitas matematika ini memberikan wawasan berharga tentang perilaku transformasi linear, membantu kita memahami struktur dasar data, menyederhanakan himpunan data kompleks dengan jumlah fitur yang besar, dan dengan demikian memudahkan pemrosesannya untuk mencapai tujuan yang diinginkan.
Jika ini terdengar seperti reduksi dimensi bagi Anda, Anda benar. Eigenvektor dan eigenvalue bekerja di balik layar banyak teknik reduksi dimensi, seperti principal component analysis (PCA). Keduanya juga menjadi roda penggerak bagi spectral clustering, yang melibatkan reduksi dimensi sebagai langkah awal.
Untuk memahami konsep dunia eigen, Anda perlu memiliki pemahaman yang cukup tentang konsep dasar dalam aljabar linear, terutama vektor dan skalar, transformasi linear, serta determinan. Jika Anda baru mengenal konsep-konsep ini, Anda bisa mengikuti kursus praktik kami Linear Algebra for Data Science in R, atau jika Anda pengguna Python, Anda bisa mempelajari tutorial SciPy tentang vektor dan array.
Apa itu Eigenvektor dan Eigenvalue?
Mari mulai dari fakta bahwa bagian "eigen" pada eigenvektor dan eigenvalue memang memiliki makna dan bukan nama seseorang yang menemukannya. Eigen adalah kata dalam bahasa Jerman yang dalam konteks ini kurang lebih dapat diterjemahkan sebagai "sifat khas" atau "sifat intrinsik" dari sesuatu.
Sekarang, bayangkan kita memberikan transformasi linear pada sekelompok vektor, seperti penskalaan, shear, atau rotasi. Beberapa vektor berubah arah, dan beberapa vektor tidak. Vektor-vektor yang tidak mengubah arah (atau berputar tepat ke arah sebaliknya) itulah yang kita sebut eigenvektor, karena mereka menjadi vektor "khas" dari transformasi yang terjadi (atau matriks yang mereka jelaskan). Besarnya (magnitudo) skala yang mereka alami adalah eigenvalue. Artinya, eigenvalue adalah faktor skala dari transformasi.
Memahami Eigenvektor dan Eigenvalue
Untuk lebih memahami kedua konsep tersebut, mari kita bahas kasus geometris lalu beralih ke penerapannya dalam data science.
Interpretasi geometris
Bayangkan ruang dua dimensi, di mana kita memiliki tiga vektor: satu vektor biru yang berada di sumbu x, satu vektor merah di sumbu y, dan satu vektor hijau yang berada secara diagonal di antara keduanya. Sekarang, kita terapkan transformasi penskalaan sepanjang sumbu y dengan faktor dua, seperti pada gambar di bawah.

Vektor sebelum diregangkan. Gambar oleh Penulis

Vektor setelah diregangkan. Gambar oleh Penulis
Apa yang terjadi pada arah vektor? Vektor merah dan biru tidak mengubah arahnya akibat penskalaan, sedangkan vektor hijau mengubah arah, bukan? Oleh karena itu, dalam transformasi ini, vektor merah dan biru adalah yang kita sebut eigenvektor, karena mereka menjadi vektor khas dari transformasi.
Perhatikan lagi gambar di atas dan lihat apa yang terjadi pada magnitudo eigenvektor (yang merah dan biru). Eigenvektor biru tidak berubah magnitudonya, sedangkan yang merah menjadi dua kali lipat atau, dengan kata lain, diskalakan dengan faktor dua. Besaran skala yang dialami masing-masing eigenvektor akibat transformasi itulah yang kita sebut eigenvalue. Jadi, eigenvalue untuk eigenvektor biru di sini adalah 1 (anggap ini sebagai perkalian), sedangkan eigenvalue untuk eigenvektor merah adalah 2, karena magnitudonya menjadi dua kali lipat.
Sifat-sifat eigenvalue
Pertimbangkan transformasi seperti pada gambar di bawah, dan pertama-tama pikirkan apa saja eigenvektornya dalam kasus ini. Jika Anda menjawab ketiga vektor—merah, hijau, dan kuning—Anda benar, karena semuanya mengarah tepat ke arah yang berlawanan setelah transformasi. Kita lihat bahwa tanda pada bilangan (eigenvalue) dapat memberi informasi tambahan tentang transformasi yang terjadi. Eigenvalue positif menunjukkan bahwa transformasi tidak melibatkan rotasi, sedangkan eigenvalue negatif menunjukkan bahwa transformasi melibatkan rotasi eigenvektor mengelilingi titik asalnya.

Vektor sebelum rotasi. Gambar oleh Penulis

Vektor setelah rotasi. Gambar oleh Penulis
Sekarang, berapa eigenvalue dari masing-masing eigenvektor ini? Fakta bahwa magnitudonya tetap sama berarti eigenvalue-nya adalah 1, tetapi fakta bahwa mereka juga berotasi berarti tanda dari 1 harus negatif. Jadi, eigenvalue dalam kasus ini adalah -1.
Dalam contoh kita, eigenvalue-nya sederhana (semuanya 1), tetapi eigenvalue bisa berupa bilangan apa pun, baik bilangan bulat seperti 1 dan 2, atau rasional (pecahan) seperti ½ dan 0,75. Mereka bisa berupa bilangan irasional seperti nilai π. Eigenvalue bahkan bisa berupa bilangan kompleks, seperti a + bi, di mana "a" dan "b" masing-masing adalah bilangan real dan "i" adalah satuan imajiner, seperti akar kuadrat dari -1. Eigenvalue kompleks juga dapat menunjukkan jenis transformasi linear yang terjadi, apakah berupa rotasi atau yang lebih kompleks seperti osilasi.
Cara Menghitung Eigenvektor dan Eigenvalue
Meskipun pustaka di base package R, serta pustaka di Python seperti SciPy dan NumPy, dapat dengan mudah menemukan eigenvektor dan eigenvalue, memahami persamaan di baliknya sangatlah berharga. Pada bagian ini, kita akan meninjau apa yang disebut persamaan karakteristik, yang menghitung eigenvektor dan eigenvalue untuk sebuah matriks sederhana selangkah demi selangkah. Lalu, kita akan menyebutkan metode komputasi matematika lain untuk matriks yang lebih besar (mis. himpunan data besar).
Persamaan karakteristik
Kita dapat menemukan eigenvektor dan eigenvalue menggunakan apa yang dikenal sebagai persamaan karakteristik. Dengan persamaan karakteristik, eigenvalue dicari terlebih dahulu sebelum eigenvektor. Setelah eigenvalue diketahui, nilai tersebut digunakan untuk menghitung eigenvektor yang bersesuaian dengan menyelesaikan sistem persamaan linear.
Langkah 1: Mulai dari persamaan transformasi matriks
Untuk sebuah matriks 𝐴 dan sebuah vektor 𝑣, persamaan dasar untuk eigenvektor dan eigenvalue adalah:

Ini berarti ketika matriks 𝐴 bekerja pada vektor 𝑣, hasilnya adalah versi skala dari 𝑣. Di sini:
- 𝐴 adalah matriks (sebuah kisi persegi berisi angka).
- 𝑣 adalah eigenvektor
- λ (lambda) adalah eigenvalue.
Ingat bahwa tujuan kita adalah menemukan keduanya, yaitu λ (eigenvalue) dan 𝑣 (eigenvektor).
Langkah 2: Susun kembali persamaan
Untuk mencapai tujuan, kita perlu menyelesaikan nilai λ. Jadi, kita akan menyusun ulang persamaan agar lebih mudah dikerjakan dengan memindahkan ruas kanan ke ruas kiri dengan tanda kebalikan:

Sekarang kita bisa mengeluarkan faktor 𝑣, tetapi karena 𝐴 adalah matriks dan 𝑣 adalah vektor, kita perlu mengalikan 𝑣 dengan apa yang disebut matriks identitas, dilambangkan sebagai I. Matriks identitas adalah matriks persegi (berukuran n×n) dengan angka 1 pada diagonalnya dan 0 di tempat lain. Karena sifat perkalian matriks, matriks identitas bertindak seperti angka 1 bagi matriks. Ambil contoh, matriks identitas berukuran 3×3 berikut:

Kembali ke persamaan kita, jika kita mengeluarkan faktor 𝑣, dan mengalikannya dengan I, hasilnya adalah sebagai berikut:

Langkah 3: Susun determinan
Untuk menyelesaikan persamaan yang kita peroleh, eigenvektor 𝑣 harus nol, atau jika tidak, eigenvektor akan sama dengan apapun nilai 𝐴 −λ⋅I. Dan ini waktu yang tepat untuk menyebutkan satu hal lagi tentang eigenvektor—nilainya tidak boleh sama dengan nol. Oleh karena itu, 𝐴 −λ⋅I harus sama dengan nol. Namun karena lambda tidak diketahui, kita bisa membuat ruas kiri persamaan sama dengan ruas kanannya jika kita mengambil determinan dari 𝐴 −λ⋅I. Jadi, kita sampai pada persamaan berikut:

Di sini kita sampai pada persamaan karakteristik. Menyelesaikan persamaan karakteristik dapat memberi kita baik eigenvalue λ maupun eigenvektor 𝑣, sebagaimana ditunjukkan pada langkah-langkah berikutnya.
Langkah 4: Selesaikan eigenvalue
Misalkan kita memiliki matriks berikut 𝐴:

Dengan menggantikan 𝐴 dengan matriks aktual dalam persamaan karakteristik, persamaannya menjadi:

Dan oleh karena itu:

Dan sekali lagi:

Dari bentuk persamaan yang jauh lebih sederhana ini, kita dapat menghitung nilai eigenvalue λ dengan hanya mengganti nilai-nilai pada matriks.
Langkah 5: Selesaikan eigenvektor 𝑣
Setelah mendapatkan eigenvalue λ, yang tersisa adalah mendapatkan eigenvektor 𝑣. Kita dapat melakukannya dengan kembali ke bentuk persamaan sebelumnya ini:

Sekarang, jika kita mengganti 𝐴, λ, dan I dengan nilainya, kita dapat dengan mudah menghitung nilai eigenvektor 𝑣.
Metode komputasi numerik
Seperti yang telah kita lihat, kompleksitas menghitung eigenvektor dan eigenvalue sangat bergantung pada ukuran matriks. Dalam contoh kita, kita menggunakan matriks 𝐴 2×2 yang sederhana. Namun secara praktis kita tidak bisa mencari eigenvektor dan eigenvalue dengan cara ini ketika matriks menjadi jauh lebih besar, misalnya memiliki ratusan atau ribuan baris dan kolom. Dalam kasus tersebut, kita menggunakan bahasa pemrograman seperti Python dan R, yang menggunakan metode komputasi numerik alih-alih metode simbolik. Beberapa teknik yang digunakan antara lain:
- Algoritme QR: Ini adalah metode umum untuk mencari eigenvalue. Metode ini melibatkan serangkaian faktorisasi matriks (faktorisasi QR) untuk secara iteratif menuju konvergensi ke eigenvalue.
- Dekomposisi Cholesky atau LU: Untuk jenis matriks tertentu (misalnya matriks simetris atau definit positif), metode khusus seperti dekomposisi Cholesky atau LU dapat digunakan untuk komputasi yang lebih efisien.
- Penyeimbangan dan Penskalaan: Untuk meningkatkan stabilitas numerik, R dan Python sering melakukan penskalaan dan penyeimbangan matriks sebelum perhitungan.
Pertimbangan dalam Data Science dan Machine Learning
Eigenvektor dan eigenvalue sangat penting dalam banyak aplikasi, termasuk yang berikut ini:
- Pemrosesan Citra: Digunakan dalam pengenalan wajah dan klasifikasi gambar.
- Natural Language Processing (NLP): Eigenvektor dan eigenvalue digunakan dalam pemodelan topik dan word embeddings.
- Sistem Rekomendasi: Seperti pada collaborative dan content-based filtering, di mana reduksi dimensi dapat meningkatkan akurasi sistem rekomendasi.
- Spectral Clustering: Eigenvektor dan eigenvalue juga merupakan komponen pendiri spectral clustering, yaitu metode yang mengelompokkan titik data dengan melihat keterhubungannya dalam sebuah graf, menggunakan informasi dari struktur data alih-alih sekadar jarak, yang memiliki berbagai aplikasi praktis seperti dalam pemrosesan citra.
- Principal Component Analysis: PCA adalah teknik reduksi dimensi yang umum dalam machine learning. Dengan PCA, kita mencari eigenvektor dari matriks kovarians yang telah distandardisasi dan mengurutkannya berdasarkan eigenvalue.
Kita sudah mengatakan bahwa eigenvalue bisa berupa bilangan real atau kompleks. Artinya eigenvalue bisa nol, dan bisa juga ada beberapa eigenvalue pada matriks yang sama nilainya. Dua kasus ini dianggap sebagai dua masalah yang dapat muncul dalam analisis eigen apa pun. Mari kita lihat masing-masing.
Masalah eigenvalue nol
Eigenvalue nol menjadi masalah karena berarti transformasi pada eigenvektor yang bersesuaian menghasilkan vektor nol, yang dapat dibayangkan sebagai satu titik di ruang tanpa magnitudo dan, oleh karena itu, tidak menjelaskan varians dalam himpunan data. Masalah ini dapat ditangani dengan teknik regularisasi, seperti ridge regression (regularisasi Tikhonov), atau dengan menghapus fitur kolinear (alias reduksi dimensi), yang secara alami terjadi dalam algoritme PCA. Oleh karena itu, eigenvalue nol bukan masalah bagi PCA, dan faktanya, PCA bisa menjadi salah satu solusinya. Namun, untuk algoritme machine learning lain yang melibatkan penyelesaian sistem linear, seperti regresi linear, ridge, dan lasso, masalah eigenvalue nol harus ditangani terlebih dahulu.
Eigenvalue degenerat
Ketika beberapa eigenvalue memiliki nilai yang sama, disebut degenerat, dan ini menjadi masalah dalam data science, terutama secara praktis pada PCA dan spectral clustering. Dalam PCA, jika beberapa eigenvektor memiliki eigenvalue identik, ini berarti eigenvektor tersebut menangkap jumlah varians yang sama dalam himpunan data, sehingga pemilihan k komponen utama menjadi problematis. Dalam spectral clustering, di mana eigenvalue dari matriks kemiripan digunakan untuk mengelompokkan titik data, eigenvalue degenerat dapat menunjukkan bahwa titik data sama-sama mirip dalam beberapa dimensi, sehingga sulit menentukan dimensi atau eigenvektor mana yang harus digunakan untuk memisahkan klaster.
Eigenvektor, Eigenvalue, dan Eigendecomposition
Pembahasan tentang eigenvektor dan eigenvalue tidak lengkap tanpa membahas eigendecomposition. Eigendecomposition adalah proses menguraikan sebuah matriks persegi A menjadi eigenvektor dan eigenvalue-nya. Untuk matriks yang dapat diuraikan, matriks tersebut dapat dinyatakan sebagai:

Eigendecomposition menyatakan bahwa matriks A dapat dinyatakan sebagai hasil kali matriks eigenvektor Q, matriks diagonal Λ dari eigenvalue-nya, dan invers dari matriks eigenvektor Q-1. Ketiga matriks ini, ketika dikalikan bersama dalam perkalian matriks, akan merekonstruksi matriks asli A. Eigendecomposition penting karena menyediakan cara untuk memahami dan menyederhanakan transformasi linear yang kompleks, memberikan wawasan tentang perilaku sistem, serta menyederhanakan banyak perhitungan.
Kesimpulan
Dalam artikel ini, kita telah melihat apa itu eigenvektor dan eigenvalue serta bagaimana keduanya sangat relevan untuk data science dan machine learning. Kita juga membahas bagaimana keduanya dihitung secara matematis, serta masalah apa saja yang mungkin muncul saat mencoba mencari eigenvektor dan eigenvalue.
Selain kursus Linear Algebra in R dan tutorial SciPy tentang vektor dan array, jika Anda serius mempelajari eigenvektor dan eigenvalue beserta penerapannya dalam machine learning, coba jalur karier Machine Learning Scientist with Python kami dan jadilah ahli dalam supervised dan unsupervised learning, termasuk tentu saja reduksi dimensi.

Islam adalah konsultan data di The KPI Institute. Dengan latar belakang jurnalisme, Islam memiliki minat yang beragam, termasuk menulis, filsafat, media, teknologi, dan budaya.
Frequently Asked Questions
Apa itu eigenvektor dan eigenvalue?
Eigenvektor adalah vektor yang mempertahankan arahnya setelah transformasi linear, sedangkan eigenvalue merepresentasikan faktor skala yang diterapkan pada vektor-vektor tersebut.
Bagaimana eigenvektor dan eigenvalue digunakan dalam data science?
Keduanya mendasar bagi teknik reduksi dimensi seperti Principal Component Analysis (PCA), yang menyederhanakan himpunan data sambil mempertahankan informasi penting.
Apa hubungan antara eigenvalue dan eigenvektor dalam PCA?
Dalam PCA, eigenvektor merepresentasikan komponen utama dari himpunan data, sedangkan eigenvalue yang bersesuaian menunjukkan besarnya varians yang dijelaskan oleh masing-masing komponen.
Apa itu persamaan karakteristik dalam konteks eigenvalue?
Persamaan karakteristik membantu menghitung eigenvalue dan diturunkan dari persamaan transformasi matriks, memberikan nilai kunci untuk eigenvektor.
Apakah eigenvalue bisa bernilai negatif atau nol?
Ya, eigenvalue negatif menunjukkan adanya rotasi dalam transformasi, sementara eigenvalue nol dapat menimbulkan masalah tetapi ditangani dalam teknik seperti PCA.
