AI 101
Apa itu Reduksi Dimensi?

Apa itu Reduksi Dimensi?
Reduksi dimensi adalah proses yang digunakan untuk mengurangi dimensi dari suatu kumpulan data, mengambil banyak fitur dan merepresentasikannya sebagai lebih sedikit fitur. Sebagai contoh, reduksi dimensi dapat digunakan untuk mengurangi kumpulan data dari dua puluh fitur menjadi hanya beberapa fitur. Reduksi dimensi umumnya digunakan dalam tugas pembelajaran tanpa pengawasan untuk secara otomatis membuat kelas dari banyak fitur. Untuk lebih memahami mengapa dan bagaimana reduksi dimensi digunakan, kita akan melihat masalah-masalah yang terkait dengan data berdimensi tinggi dan metode paling populer untuk mengurangi dimensi.
Lebih Banyak Dimensi Menyebabkan Overfitting
Dimensi mengacu pada jumlah fitur/kolom dalam suatu kumpulan data. Sering diasumsikan bahwa dalam pembelajaran mesin, lebih banyak fitur lebih baik, karena menciptakan model yang lebih akurat. Namun, lebih banyak fitur belum tentu diterjemahkan menjadi model yang lebih baik. Fitur-fitur dari suatu kumpulan data dapat sangat bervariasi dalam hal seberapa bergunanya mereka bagi model, dengan banyak fitur yang kurang penting. Selain itu, semakin banyak fitur yang dimiliki kumpulan data, semakin banyak sampel yang dibutuhkan untuk memastikan bahwa kombinasi fitur yang berbeda terwakili dengan baik dalam data. Oleh karena itu, jumlah sampel meningkat sebanding dengan jumlah fitur. Lebih banyak sampel dan lebih banyak fitur berarti model perlu lebih kompleks, dan ketika model menjadi lebih kompleks, mereka menjadi lebih sensitif terhadap overfitting. Model mempelajari pola dalam data pelatihan terlalu baik dan gagal menggeneralisasi ke data di luar sampel. Mengurangi dimensi suatu kumpulan data memiliki beberapa manfaat. Seperti disebutkan, model yang lebih sederhana cenderung tidak mengalami overfitting, karena model harus membuat lebih sedikit asumsi mengenai bagaimana fitur saling berhubungan. Selain itu, lebih sedikit dimensi berarti daya komputasi yang lebih sedikit diperlukan untuk melatih algoritma. Demikian pula, ruang penyimpanan yang lebih sedikit dibutuhkan untuk kumpulan data yang memiliki dimensi lebih kecil. Mengurangi dimensi suatu kumpulan data juga memungkinkan Anda menggunakan algoritma yang tidak cocok untuk kumpulan data dengan banyak fitur.
Metode Reduksi Dimensi Umum
Reduksi dimensi dapat dilakukan dengan seleksi fitur atau rekayasa fitur. Seleksi fitur adalah di mana insinyur mengidentifikasi fitur yang paling relevan dari kumpulan data, sementara rekayasa fitur adalah proses membuat fitur baru dengan menggabungkan atau mengubah fitur lain. Seleksi dan rekayasa fitur dapat dilakukan secara terprogram atau manual. Ketika memilih dan merekayasa fitur secara manual, memvisualisasikan data untuk menemukan korelasi antara fitur dan kelas adalah hal yang umum. Melakukan reduksi dimensi dengan cara ini bisa cukup memakan waktu dan oleh karena itu beberapa cara paling umum untuk mengurangi dimensi melibatkan penggunaan algoritma yang tersedia di pustaka seperti Scikit-learn untuk Python. Algoritma reduksi dimensi umum ini meliputi: Principal Component Analysis (PCA), Singular Value Decomposition (SVD), dan Linear Discriminant Analysis (LDA). Algoritma yang digunakan dalam reduksi dimensi untuk tugas pembelajaran tanpa pengawasan biasanya adalah PCA dan SVD, sementara yang dimanfaatkan untuk reduksi dimensi pembelajaran terawasi biasanya adalah LDA dan PCA. Dalam kasus model pembelajaran terawasi, fitur-fitur yang baru dihasilkan hanya dimasukkan ke dalam pengklasifikasi pembelajaran mesin. Perhatikan bahwa penggunaan yang dijelaskan di sini hanyalah kasus penggunaan umum dan bukan satu-satunya kondisi di mana teknik-teknik ini dapat digunakan. Algoritma reduksi dimensi yang dijelaskan di atas hanyalah metode statistik dan mereka digunakan di luar model pembelajaran mesin.
Principal Component Analysis

Foto: Matriks dengan komponen utama yang diidentifikasi
adalah metode statistik yang menganalisis karakteristik/fitur dari suatu kumpulan data dan meringkas fitur-fitur yang paling berpengaruh. Fitur-fitur kumpulan data digabungkan menjadi representasi yang mempertahankan sebagian besar karakteristik data tetapi tersebar di lebih sedikit dimensi. Anda dapat menganggap ini sebagai “memampatkan” data dari representasi dimensi yang lebih tinggi ke representasi dengan hanya beberapa dimensi. Sebagai contoh situasi di mana PCA mungkin berguna, pikirkan berbagai cara seseorang dapat mendeskripsikan anggur. Meskipun dimungkinkan untuk mendeskripsikan anggur menggunakan banyak fitur yang sangat spesifik seperti tingkat CO2, tingkat aerasi, dll., fitur spesifik seperti itu mungkin relatif tidak berguna ketika mencoba mengidentifikasi jenis anggur tertentu. Sebaliknya, akan lebih bijaksana untuk mengidentifikasi jenisnya berdasarkan fitur yang lebih umum seperti rasa, warna, dan usia. PCA dapat digunakan untuk menggabungkan fitur yang lebih spesifik dan menciptakan fitur yang lebih umum, berguna, dan cenderung tidak menyebabkan overfitting. PCA dilakukan dengan menentukan bagaimana fitur input bervariasi dari rata-rata satu sama lain, menentukan apakah ada hubungan yang ada di antara fitur-fitur tersebut. Untuk melakukan ini, matriks kovarian dibuat, membangun matriks yang terdiri dari kovariansi sehubungan dengan pasangan yang mungkin dari fitur kumpulan data. Ini digunakan untuk menentukan korelasi antara variabel, dengan kovariansi negatif menunjukkan korelasi terbalik dan korelasi positif menunjukkan korelasi positif. Komponen utama (paling berpengaruh) dari kumpulan data dibuat dengan membuat kombinasi linear dari variabel awal, yang dilakukan dengan bantuan konsep aljabar linear yang disebut nilai eigen dan vektor eigen. Kombinasi dibuat sehingga komponen utama tidak berkorelasi satu sama lain. Sebagian besar informasi yang terkandung dalam variabel awal dikompresi ke dalam beberapa komponen utama pertama, yang berarti fitur baru (komponen utama) telah dibuat yang berisi informasi dari kumpulan data asli dalam ruang dimensi yang lebih kecil.
Singular Value Decomposition

Foto: By Cmglee – Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=67853297
adalah digunakan untuk menyederhanakan nilai-nilai dalam suatu matriks, mereduksi matriks menjadi bagian-bagian penyusunnya dan membuat perhitungan dengan matriks itu lebih mudah. SVD dapat dimanfaatkan untuk matriks nilai riil dan kompleks, tetapi untuk tujuan penjelasan ini, akan memeriksa cara menguraikan matriks nilai riil. Asumsikan kita memiliki matriks yang terdiri dari data nilai riil dan tujuan kita adalah mengurangi jumlah kolom/fitur dalam matriks, mirip dengan tujuan PCA. Seperti PCA, SVD akan mengompresi dimensi matriks sambil mempertahankan variabilitas matriks sebanyak mungkin. Jika kita ingin mengoperasikan matriks A, kita dapat merepresentasikan matriks A sebagai tiga matriks lain yang disebut U, D, & V. Matriks A terdiri dari elemen x * y asli sementara matriks U terdiri dari elemen X * X (ini adalah matriks ortogonal). Matriks V adalah matriks ortogonal berbeda yang berisi elemen y * y. Matriks D berisi elemen x * y dan itu adalah matriks diagonal. Untuk menguraikan nilai untuk matriks A, kita perlu mengubah nilai matriks singular asli menjadi nilai diagonal yang ditemukan dalam matriks baru. Ketika bekerja dengan matriks ortogonal, sifat-sifatnya tidak berubah jika dikalikan dengan angka lain. Oleh karena itu, kita dapat memperkirakan matriks A dengan memanfaatkan sifat ini. Ketika kita mengalikan matriks ortogonal bersama-sama dengan transpos dari Matriks V, hasilnya adalah matriks yang setara dengan matriks A asli kita. Ketika Matriks A diuraikan menjadi matriks U, D, dan V, mereka berisi data yang ditemukan dalam Matriks A. Namun, kolom paling kiri dari matriks akan menampung sebagian besar data. Kita dapat mengambil hanya beberapa kolom pertama ini dan memiliki representasi Matriks A yang memiliki dimensi jauh lebih sedikit dan sebagian besar data dalam A.
Linear Discriminant Analysis

Kiri: Matriks sebelum LDA, Kanan: Sumbu setelah LDA, sekarang dapat dipisahkan
adalah proses yang mengambil data dari grafik multidimensi dan memproyeksikan ulang ke grafik linear. Anda dapat membayangkan ini dengan memikirkan grafik dua dimensi yang diisi dengan titik data milik dua kelas berbeda. Asumsikan titik-titik tersebut tersebar sehingga tidak ada garis yang dapat ditarik yang akan memisahkan kedua kelas berbeda dengan rapi. Untuk menangani situasi ini, titik-titik yang ditemukan dalam grafik 2D dapat direduksi menjadi grafik 1D (sebuah garis). Garis ini akan memiliki semua titik data yang didistribusikan di atasnya dan diharapkan dapat dibagi menjadi dua bagian yang mewakili pemisahan data yang terbaik. Ketika melakukan LDA ada dua tujuan utama. Tujuan pertama adalah meminimalkan varians untuk kelas, sementara tujuan kedua adalah memaksimalkan jarak antara rata-rata dari dua kelas. Tujuan-tujuan ini dicapai dengan membuat sumbu baru yang akan ada dalam grafik 2D. Sumbu yang baru dibuat bertindak untuk memisahkan dua kelas berdasarkan tujuan yang dijelaskan sebelumnya. Setelah sumbu dibuat, titik-titik yang ditemukan dalam grafik 2D ditempatkan di sepanjang sumbu. Ada tiga langkah yang diperlukan untuk memindahkan titik asli ke posisi baru di sepanjang sumbu baru. Pada langkah pertama, jarak antara rata-rata kelas individual (varians antar-kelas) digunakan untuk menghitung keterpisahan kelas. Pada langkah kedua, varians di dalam kelas yang berbeda dihitung, dilakukan dengan menentukan jarak antara sampel dan rata-rata untuk kelas yang dimaksud. Pada langkah terakhir, ruang berdimensi lebih rendah yang memaksimalkan varians antar kelas dibuat. Teknik LDA mencapai hasil terbaik ketika rata-rata untuk kelas target berjauhan satu sama lain. LDA tidak dapat secara efektif memisahkan kelas dengan sumbu linear jika rata-rata untuk distribusi tumpang tindih.












