Connect with us

AI 101

Apa itu Pengurangan Dimensi?

mm

Apa itu Pengurangan Dimensi?

Pengurangan dimensi adalah proses yang digunakan untuk mengurangi dimensi dari dataset, mengambil banyak fitur dan merepresentasikannya sebagai fitur yang lebih sedikit. Sebagai contoh, pengurangan dimensi dapat digunakan untuk mengurangi dataset dengan dua puluh fitur menjadi hanya beberapa fitur. Pengurangan dimensi umumnya digunakan dalam tugas pembelajaran tidak terawasi untuk secara otomatis membuat kelas dari banyak fitur. Untuk lebih memahami mengapa dan bagaimana pengurangan dimensi digunakan, kita akan melihat masalah yang terkait dengan data berdimensi tinggi dan metode pengurangan dimensi yang paling populer.

Lebih Banyak Dimensi Menyebabkan Overfitting

Dimensi merujuk pada jumlah fitur/kolom dalam dataset.

Sering diasumsikan bahwa dalam pembelajaran mesin, lebih banyak fitur lebih baik, karena membuat model lebih akurat. Namun, lebih banyak fitur tidak selalu berarti model yang lebih baik.

Fitur dari dataset dapat bervariasi secara luas dalam hal seberapa berguna mereka bagi model, dengan banyak fitur yang memiliki sedikit kepentingan. Selain itu, semakin banyak fitur yang terkandung dalam dataset, semakin banyak sampel yang diperlukan untuk memastikan bahwa kombinasi fitur yang berbeda direpresentasikan dengan baik dalam data. Oleh karena itu, jumlah sampel meningkat sebanding dengan jumlah fitur. Lebih banyak sampel dan lebih banyak fitur berarti bahwa 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 untuk menggeneralisasi ke data di luar sampel.

Mengurangi dimensi dari dataset memiliki beberapa keuntungan. Seperti yang disebutkan, model yang lebih sederhana kurang rentan terhadap overfitting, karena model tidak perlu membuat banyak asumsi tentang bagaimana fitur terkait satu sama lain. Selain itu, lebih sedikit dimensi berarti lebih sedikit daya komputasi yang diperlukan untuk melatih algoritma. Demikian pula, lebih sedikit ruang penyimpanan yang diperlukan untuk dataset yang memiliki dimensi yang lebih kecil. Mengurangi dimensi dari dataset juga dapat memungkinkan Anda untuk menggunakan algoritma yang tidak cocok untuk dataset dengan banyak fitur.

Metode Pengurangan Dimensi yang Umum

Pengurangan dimensi dapat dilakukan dengan seleksi fitur atau teknik fitur. Seleksi fitur adalah di mana insinyur mengidentifikasi fitur yang paling relevan dari dataset, sedangkan teknik fitur adalah proses pembuatan fitur baru dengan menggabungkan atau mengubah fitur lain.

Seleksi fitur dan teknik fitur dapat dilakukan secara programatis atau manual. Ketika secara manual memilih dan mengembangkan fitur, visualisasi data untuk menemukan korelasi antara fitur dan kelas adalah hal yang biasa. Melakukan pengurangan dimensi dengan cara ini dapat cukup memakan waktu dan oleh karena itu beberapa cara paling umum untuk mengurangi dimensi melibatkan penggunaan algoritma yang tersedia dalam perpustakaan seperti Scikit-learn untuk Python. Algoritma pengurangan dimensi yang umum ini termasuk: Principal Component Analysis (PCA), Singular Value Decomposition (SVD), dan Linear Discriminant Analysis (LDA).

Algoritma yang digunakan dalam pengurangan dimensi untuk tugas pembelajaran tidak terawasi biasanya PCA dan SVD, sedangkan algoritma yang digunakan untuk pengurangan dimensi pembelajaran terawasi biasanya LDA dan PCA. Dalam kasus model pembelajaran terawasi, fitur baru yang dihasilkan hanya dimasukkan ke dalam klasifikasi pembelajaran mesin. Perlu diingat bahwa penggunaan yang dijelaskan di sini hanya contoh kasus umum dan bukan satu-satunya kondisi yang teknik ini dapat digunakan. Algoritma pengurangan dimensi yang dijelaskan di atas hanya metode statistik dan mereka digunakan di luar model pembelajaran mesin.

Principal Component Analysis

Foto: Matriks dengan komponen utama yang diidentifikasi

Principal Component Analysis (PCA) adalah metode statistik yang menganalisis karakteristik/fitur dari dataset dan merangkum fitur yang paling berpengaruh. Fitur dari dataset digabungkan bersama menjadi representasi yang mempertahankan sebagian besar karakteristik data tetapi tersebar di beberapa dimensi. Anda dapat membayangkannya sebagai “menghimpit” data dari representasi dimensi yang lebih tinggi ke yang hanya memiliki beberapa dimensi.

Sebagai contoh situasi di mana PCA mungkin berguna, pikirkan tentang berbagai cara untuk menggambarkan anggur. Sementara memungkinkan untuk menggambarkan anggur menggunakan fitur yang sangat spesifik seperti tingkat CO2, tingkat aerasi, dan sebagainya, fitur-fitur tersebut mungkin relatif tidak berguna ketika mencoba mengidentifikasi jenis anggur tertentu. Sebaliknya, akan lebih bijak untuk mengidentifikasi jenisnya berdasarkan fitur yang lebih umum seperti rasa, warna, dan umur. PCA dapat digunakan untuk menggabungkan fitur yang lebih spesifik dan membuat fitur yang lebih umum, berguna, dan kurang rentan menyebabkan overfitting.

PCA dilakukan dengan menentukan bagaimana fitur input bervariasi dari rata-rata dengan saling terkait. Untuk melakukan ini, matriks kovarian dibuat, yang membentuk matriks yang terdiri dari kovarian dengan respect kepada pasangan fitur dataset. Ini digunakan untuk menentukan korelasi antara variabel, dengan kovarian negatif yang menunjukkan korelasi invers dan kovarian positif yang menunjukkan korelasi positif.

Komponen utama (paling berpengaruh) dari dataset dibuat dengan membuat kombinasi linier dari variabel awal, yang dilakukan dengan bantuan konsep aljabar linier yang disebut eigenvalues dan eigenvectors. Kombinasi ini dibuat sehingga komponen utama tidak terkorelasi 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 mengandung informasi dari dataset 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

Singular Value Decomposition (SVD) digunakan untuk menyederhanakan nilai dalam matriks, mengurangi matriks menjadi bagian-bagian konstituen dan membuat perhitungan dengan matriks tersebut lebih mudah. SVD dapat digunakan untuk matriks nilai riil dan kompleks, tetapi untuk tujuan penjelasan ini, kita akan melihat bagaimana menguraikan matriks nilai riil.

Anggaplah kita memiliki matriks yang terdiri dari data nilai riil dan tujuan kita adalah mengurangi jumlah kolom/fitur dalam matriks, serupa dengan tujuan PCA. Seperti PCA, SVD akan mengompresi dimensi matriks sambil mempertahankan sebagian besar variabilitas matriks. Jika kita ingin bekerja pada matriks A, kita dapat merepresentasikan matriks A sebagai tiga matriks lain yang disebut U, D, & V. Matriks A terdiri dari elemen x * y asli, sedangkan matriks U terdiri dari elemen X * X (ini adalah matriks ortogonal). Matriks V adalah matriks ortogonal lain yang berisi elemen y * y. Matriks D berisi elemen x * y dan merupakan matriks diagonal.

Untuk mendekomposisi nilai untuk matriks A, kita perlu mengubah nilai matriks asli menjadi nilai diagonal yang ditemukan dalam matriks baru. Ketika bekerja dengan matriks ortogonal, sifatnya tidak berubah jika mereka dikalikan dengan angka lain. Oleh karena itu, kita dapat mengapproximasikan matriks A dengan memanfaatkan sifat ini. Ketika kita mengalikan matriks ortogonal dengan transpose dari Matriks V, hasilnya adalah matriks yang setara dengan matriks asli A.

Ketika Matriks A diuraikan menjadi matriks U, D, dan V, mereka berisi data yang ditemukan dalam Matriks A. Namun, kolom kiri dari matriks akan berisi sebagian besar data. Kita dapat mengambil hanya beberapa kolom pertama dan memiliki representasi dari Matriks A yang memiliki dimensi yang jauh lebih sedikit dan sebagian besar data dalam A.

Linear Discriminant Analysis

 

Kiri: Matriks sebelum LDA, Kanan: Sumbu setelah LDA, sekarang dapat dipisahkan

Linear Discriminant Analysis (LDA) adalah proses yang mengambil data dari grafik multidimensi dan memproyeksikannya ke grafik linier. Anda dapat membayangkannya dengan memikirkan grafik dua dimensi yang diisi dengan titik data yang termasuk dalam dua kelas yang berbeda. Anggaplah bahwa titik-titik tersebut tersebar sehingga tidak ada garis yang dapat ditarik untuk memisahkan kedua kelas dengan rapi. Untuk menangani situasi ini, titik-titik yang ditemukan dalam grafik 2D dapat dikurangi menjadi grafik 1D (garis). Garis ini akan memiliki semua titik data yang tersebar di sepanjangnya dan dapat diharapkan untuk dibagi menjadi dua bagian yang mewakili pemisahan data terbaik.

Ketika melakukan LDA, ada dua tujuan utama. Tujuan pertama adalah meminimalkan varians untuk kelas, sedangkan tujuan kedua adalah memaksimalkan jarak antara rata-rata dari dua kelas. Tujuan ini dicapai dengan membuat sumbu baru yang akan ada dalam grafik 2D. Sumbu baru yang dibuat berfungsi untuk memisahkan dua kelas berdasarkan tujuan yang dijelaskan sebelumnya. Setelah sumbu dibuat, titik-titik yang ditemukan dalam grafik 2D ditempatkan di sepanjang sumbu.

Terdapat tiga langkah yang diperlukan untuk memindahkan titik asli ke posisi baru di sepanjang sumbu baru. Dalam langkah pertama, jarak antara rata-rata kelas individu (varians antar kelas) digunakan untuk menghitung pemisahan kelas. Dalam langkah kedua, varians dalam kelas yang berbeda dihitung, dengan menentukan jarak antara sampel dan rata-rata untuk kelas yang bersangkutan. Dalam langkah terakhir, ruang dimensi yang lebih rendah yang memaksimalkan varians antar kelas dibuat.

Teknik LDA mencapai hasil terbaik ketika rata-rata untuk kelas target jauh dari satu sama lain. LDA tidak dapat secara efektif memisahkan kelas dengan sumbu linier jika rata-rata untuk distribusi tumpang tindih.

Blogger dan programmer dengan spesialisasi di Machine Learning dan Deep Learning topik. Daniel berharap untuk membantu orang lain menggunakan kekuatan AI untuk kebaikan sosial.