AI 101

Apa itu Pengurangan Dimensi?

mm

Apa itu Pengurangan Dimensi?

Pengurangan dimensi adalah proses yang digunakan untuk mengurangi dimensi dari sebuah 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 dengan dimensi tinggi dan metode pengurangan dimensi yang paling umum.

Lebih Banyak Dimensi Mengarah ke Overfitting

Dimensi merujuk pada jumlah fitur/kolom dalam sebuah dataset.

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

Fitur dari sebuah 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 dimiliki 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 karena model menjadi lebih kompleks, mereka menjadi lebih sensitif terhadap overfitting. Model mempelajari pola dalam data pelatihan terlalu baik dan gagal untuk menggeneralisasi data di luar sampel.

Mengurangi dimensi dari sebuah 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 sebuah 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 proses di mana insinyur mengidentifikasi fitur yang paling relevan dari dataset, sedangkan teknik fitur adalah proses menciptakan fitur baru dengan menggabungkan atau mengubah fitur lain.

Seleksi fitur dan teknik fitur dapat dilakukan secara programatis atau manual. Ketika memilih dan mengembangkan fitur secara manual, visualisasi data untuk menemukan korelasi antara fitur dan kelas adalah hal yang umum. 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 termasuk: Analisis Komponen Utama (PCA), Dekomposisi Nilai Tunggal (SVD), dan Analisis Diskriminan Linier (LDA).

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

Analisis Komponen Utama

Foto: Matriks dengan komponen utama yang diidentifikasi

Analisis Komponen Utama (PCA) adalah metode statistik yang menganalisis karakteristik/fitur dari sebuah dataset dan merangkum fitur yang paling berpengaruh. Fitur dari dataset digabungkan menjadi representasi yang mempertahankan sebagian besar karakteristik data tetapi tersebar di beberapa dimensi yang lebih sedikit. Anda dapat membayangkan ini sebagai “mengompresi” data dari representasi dengan dimensi yang lebih tinggi ke representasi dengan hanya beberapa dimensi.

Sebagai contoh situasi di mana PCA mungkin berguna, pikirkan tentang berbagai cara untuk menjelaskan anggur. Sementara itu memungkinkan untuk menjelaskan anggur menggunakan fitur yang sangat spesifik seperti tingkat CO2, fitur yang sangat spesifik seperti itu 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 menciptakan fitur yang lebih umum, berguna, dan kurang rentan menyebabkan overfitting.

PCA dilakukan dengan menentukan bagaimana fitur input bervariasi dari rata-rata dengan menghubungkan satu sama lain, menentukan apakah ada hubungan antara fitur. Untuk melakukan ini, sebuah matriks kovarian dibuat, yang membentuk matriks yang terdiri dari kovarian dengan menghubungkan pasangan fitur dataset yang mungkin. 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 menciptakan kombinasi linier dari variabel awal, yang dilakukan dengan bantuan konsep aljabar linier yang disebut nilai eigen dan vektor eigen. 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.

Dekomposisi Nilai Tunggal

Foto: Oleh Cmglee – Karya sendiri, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=67853297

Dekomposisi Nilai Tunggal (SVD) digunakan untuk mempermudah nilai dalam sebuah matriks, mengurangi matriks menjadi bagian-bagian konstituen dan membuat perhitungan dengan matriks tersebut lebih mudah. SVD dapat digunakan untuk matriks dengan nilai riil dan kompleks, tetapi untuk tujuan penjelasan ini, kita akan melihat bagaimana menguraikan matriks dengan nilai riil.

Anggaplah kita memiliki sebuah matriks yang terdiri dari data 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 dengan 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 ini adalah matriks diagonal.

Untuk menguraikan nilai untuk matriks A, kita perlu mengubah nilai tunggal 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 mengkalikan matriks ortogonal bersama dengan transpose dari Matriks V, hasilnya adalah matriks yang setara dengan matriks A asli.

Ketika Matriks A diuraikan menjadi matriks U, D, dan V, mereka berisi data yang ditemukan dalam Matriks A. Namun, kolom kiri dari matriks-matriks ini akan memegang 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.

Analisis Diskriminan Linier

 

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

Analisis Diskriminan Linier (LDA) adalah proses yang mengambil data dari grafik multidimensi dan memproyeksikannya ke grafik linier. Anda dapat membayangkannya dengan berpikir tentang 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 yang terbaik.

Ketika melakukan LDA, ada dua tujuan utama. Tujuan pertama adalah meminimalkan variansi untuk kelas, sedangkan tujuan kedua adalah memaksimalkan jarak antara rata-rata dari dua kelas. Tujuan ini dicapai dengan menciptakan sumbu baru yang akan ada dalam grafik 2D. Sumbu baru ini 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 individu (variansi antar kelas) digunakan untuk menghitung pemisahan kelas. Pada langkah kedua, variansi dalam kelas yang berbeda dihitung, dilakukan dengan menentukan jarak antara sampel dan rata-rata untuk kelas yang bersangkutan. Pada langkah terakhir, ruang dimensi yang lebih rendah yang memaksimalkan variansi 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.