potongan Apa itu Pengurangan Dimensi? - Bersatu.AI
Terhubung dengan kami

AI 101

Apa itu Pengurangan Dimensi?

mm
Updated on

Apa itu Pengurangan Dimensi?

Pengurangan dimensi adalah proses yang digunakan untuk mengurangi dimensi dataset, mengambil banyak fitur dan merepresentasikannya sebagai fitur yang lebih sedikit. Misalnya, pengurangan dimensi dapat digunakan untuk mengurangi dataset dari dua puluh fitur menjadi hanya beberapa fitur. Pengurangan dimensi umumnya digunakan dalam belajar tanpa pengawasan tugas 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 paling populer untuk mengurangi dimensi.

Lebih Banyak Dimensi Mengarah ke Overfitting

Dimensi mengacu pada jumlah fitur/kolom dalam kumpulan data.

Sering kali diasumsikan bahwa dalam pembelajaran mesin, semakin banyak fitur semakin baik, karena hal ini akan menghasilkan model yang lebih akurat. Namun, lebih banyak fitur belum tentu menghasilkan model yang lebih baik.

Fitur dari kumpulan data dapat sangat bervariasi dalam hal seberapa berguna mereka untuk model, dengan banyak fitur yang tidak begitu penting. Selain itu, semakin banyak fitur yang dimiliki kumpulan data, semakin banyak sampel yang diperlukan untuk memastikan bahwa kombinasi fitur yang berbeda terwakili dengan baik di dalam data. Oleh karena itu, jumlah sampel bertambah sebanding dengan jumlah fitur. Lebih banyak sampel dan lebih banyak fitur berarti model harus 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 menggeneralisasikan data sampel.

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

Metode Pengurangan Dimensi Umum

Pengurangan dimensi dapat dilakukan dengan pemilihan fitur atau rekayasa fitur. Pemilihan fitur adalah tempat insinyur mengidentifikasi fitur yang paling relevan dari kumpulan data, sementara rekayasa fitur adalah proses pembuatan fitur baru dengan menggabungkan atau mengubah fitur lain.

Pemilihan fitur dan rekayasa dapat dilakukan secara terprogram atau manual. Saat memilih dan merekayasa fitur secara manual, memvisualisasikan data untuk menemukan korelasi antara fitur dan kelas adalah tipikal. Melakukan pengurangan dimensi dengan cara ini bisa memakan waktu cukup lama dan oleh karena itu beberapa cara paling umum untuk mengurangi dimensi melibatkan penggunaan algoritme yang tersedia di perpustakaan seperti Scikit-learn untuk Python. Algoritme reduksi dimensi umum ini meliputi: Analisis Komponen Utama (PCA), Dekomposisi Nilai Singular (SVD), dan Analisis Diskriminan Linear (LDA).

Algoritme yang digunakan dalam reduksi dimensi untuk tugas pembelajaran tanpa pengawasan biasanya adalah PCA dan SVD, sedangkan algoritma yang digunakan untuk pengurangan dimensi pembelajaran yang diawasi biasanya adalah LDA dan PCA. Dalam kasus model pembelajaran yang diawasi, fitur-fitur baru yang 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 ini dapat digunakan. Algoritme reduksi dimensi yang dijelaskan di atas hanyalah metode statistik dan digunakan di luar model pembelajaran mesin.

Analisis Komponen Utama

Foto: Matriks dengan komponen utama yang teridentifikasi

Analisis Komponen Utama (PCA) adalah metode statistik yang menganalisis karakteristik/fitur dari suatu dataset dan merangkum fitur-fitur yang paling berpengaruh. Fitur dari 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 dimensi yang hanya sedikit.

Sebagai contoh situasi di mana PCA mungkin berguna, pikirkan berbagai cara untuk mendeskripsikan anggur. Meskipun dimungkinkan untuk mendeskripsikan wine menggunakan banyak fitur yang sangat spesifik seperti kadar CO2, level aerasi, dll., fitur spesifik tersebut mungkin relatif tidak berguna saat mencoba mengidentifikasi jenis wine tertentu. Sebaliknya, akan lebih bijaksana untuk mengidentifikasi jenis berdasarkan fitur yang lebih umum seperti rasa, warna, dan usia. PCA dapat digunakan untuk menggabungkan fitur yang lebih spesifik dan membuat fitur yang lebih umum, bermanfaat, dan kecil kemungkinannya menyebabkan overfitting.

PCA dilakukan dengan menentukan bagaimana fitur input bervariasi dari rata-rata terhadap satu sama lain, menentukan apakah ada hubungan antara fitur tersebut. Untuk melakukan ini, matriks kovarian dibuat, membentuk matriks yang terdiri dari kovarians sehubungan dengan kemungkinan pasangan fitur dataset. Ini digunakan untuk menentukan korelasi antar variabel, dengan kovarians negatif menunjukkan korelasi terbalik dan korelasi positif menunjukkan korelasi positif.

Komponen utama (paling berpengaruh) dari kumpulan data dibuat dengan membuat kombinasi linier dari variabel awal, yang dilakukan dengan bantuan konsep aljabar linier yang disebut nilai eigen dan vektor eigen. Kombinasi dibuat sedemikian rupa sehingga komponen utama tidak berkorelasi satu sama lain. Sebagian besar informasi yang terkandung dalam variabel awal dikompresi menjadi beberapa komponen utama pertama, artinya fitur baru (komponen utama) telah dibuat yang berisi informasi dari kumpulan data asli dalam ruang dimensi yang lebih kecil.

Dekomposisi Nilai Singular

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

Dekomposisi Nilai Singular (SVD) is digunakan untuk menyederhanakan nilai dalam matriks, mereduksi matriks menjadi bagian-bagian penyusunnya dan membuat perhitungan dengan matriks itu lebih mudah. SVD dapat digunakan untuk matriks nilai riil dan matriks kompleks, tetapi untuk tujuan penjelasan ini, kita akan membahas cara menguraikan matriks nilai riil.

Asumsikan bahwa kita memiliki matriks yang terdiri dari data nilai nyata dan tujuan kita adalah mengurangi jumlah kolom/fitur dalam matriks, serupa dengan tujuan PCA. Seperti PCA, SVD akan memampatkan 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 sedangkan matriks U terdiri dari elemen X * X (yaitu matriks ortogonal). Matriks V adalah matriks ortogonal berbeda yang mengandung elemen y * y. Matriks D berisi elemen x * y dan merupakan matriks diagonal.

Untuk menguraikan nilai matriks A, kita perlu mengubah nilai matriks singular asli menjadi nilai diagonal yang ditemukan dalam matriks baru. Saat mengerjakan matriks ortogonal, propertinya tidak berubah jika dikalikan dengan bilangan lain. Oleh karena itu, kita dapat mengaproksimasi matriks A dengan memanfaatkan sifat ini. Ketika kita mengalikan matriks ortogonal bersama dengan transpos Matriks V, hasilnya adalah matriks yang setara dengan A asli kita.

Ketika Matriks a didekomposisi menjadi matriks U, D, dan V, matriks tersebut berisi data yang ditemukan dalam Matriks A. Namun, kolom paling kiri dari matriks akan menampung sebagian besar data. Kita dapat mengambil beberapa kolom pertama ini saja dan memiliki representasi Matriks A yang memiliki dimensi jauh lebih sedikit dan sebagian besar data dalam A.

Analisis Diskriminan Linier

 

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

Analisis Diskriminan Linier (LDA) adalah proses yang mengambil data dari grafik multidimensi dan memproyeksikan ulang ke grafik linier. Anda dapat membayangkan ini dengan memikirkan grafik dua dimensi yang diisi dengan titik data milik dua kelas yang berbeda. Asumsikan bahwa titik-titik tersebar sehingga tidak ada garis yang dapat ditarik dengan rapi yang akan memisahkan dua kelas yang berbeda. Untuk mengatasi situasi ini, titik-titik yang ditemukan pada grafik 2D dapat direduksi menjadi grafik 1D (garis). Baris ini akan memiliki semua titik data yang didistribusikan di atasnya dan mudah-mudahan dapat dibagi menjadi dua bagian yang mewakili kemungkinan pemisahan data yang terbaik.

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

Ada tiga langkah yang diperlukan untuk memindahkan titik awal ke posisi baru di sepanjang sumbu baru. Pada langkah pertama, jarak antara rata-rata kelas individu (variasi antar kelas) digunakan untuk menghitung keterpisahan kelas. Langkah kedua menghitung varians dalam kelas yang berbeda, dilakukan dengan menentukan jarak antara sampel dan rata-rata kelas yang bersangkutan. Pada langkah terakhir, ruang berdimensi lebih rendah yang memaksimalkan varians antar kelas dibuat.

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

 

Blogger dan programmer dengan spesialisasi di Pembelajaran mesin dan Belajar mendalam topik. Daniel berharap dapat membantu orang lain menggunakan kekuatan AI untuk kebaikan sosial.