Apa itu pengurangan dimensi? Apa perbedaan antara pemilihan fitur dan ekstraksi?


58

Dari wikipedia,

pengurangan dimensi atau pengurangan dimensi adalah proses mengurangi jumlah variabel acak yang sedang dipertimbangkan, dan dapat dibagi menjadi pemilihan fitur dan ekstraksi fitur.

Apa perbedaan antara pemilihan fitur dan ekstraksi fitur?

Apa contoh pengurangan dimensi dalam tugas Pemrosesan Bahasa Alami?

Jawaban:


51

Sederhananya:

  • pemilihan fitur: Anda memilih subset dari set fitur asli; sementara
  • ekstraksi fitur: Anda membangun satu set fitur baru dari set fitur asli.

Contoh ekstraksi fitur: ekstraksi kontur dalam gambar, ekstraksi digram dari teks, ekstraksi fonem dari rekaman teks yang diucapkan, dll.

Ekstraksi fitur melibatkan transformasi fitur, yang sering kali tidak dapat dibalik karena beberapa informasi hilang dalam proses pengurangan dimensi.


2
Keduanya termasuk dalam kategori rekayasa fitur karena melibatkan pembuatan atau pemilihan fitur secara manual. Pengurangan dimensi biasanya melibatkan perubahan basis atau representasi ulang matematis lainnya dari data
ragingSloth

1
@ ragingSloth, saya pikir yang pertama pasti pemilihan fitur - dan bukan rekayasa fitur. Sementara contoh-contoh pemrosesan gambar dan teks memang tampaknya merupakan rekayasa fitur
Alexey Grigorev

Cara saya menemukannya, untuk beberapa ekstraksi fitur Anda masih dapat merekonstruksi dimensi asli sekitar. Tetapi untuk pemilihan fitur, tidak ada rekonstruksi, karena Anda telah menghapus dimensi yang tidak berguna.
Bob

17

Pengurangan dimensi biasanya memilih basis atau representasi matematis di mana Anda dapat menggambarkan sebagian besar tetapi tidak semua varians dalam data Anda, dengan demikian mempertahankan informasi yang relevan, sambil mengurangi jumlah informasi yang diperlukan untuk mewakilinya. Ada berbagai teknik untuk melakukan hal ini termasuk namun tidak terbatas pada PCA, ICA, dan Matrix Feature Factorization. Ini akan mengambil data yang ada dan menguranginya ke komponen yang paling diskriminatif. Ini semua memungkinkan Anda untuk mewakili sebagian besar informasi dalam dataset Anda dengan lebih sedikit, fitur yang lebih diskriminatif.

Seleksi Fitur adalah fitur pemilihan tangan yang sangat diskriminatif. Ini lebih banyak berkaitan dengan rekayasa fitur daripada analisis, dan membutuhkan pekerjaan yang lebih banyak secara signifikan pada bagian ilmuwan data. Ini membutuhkan pemahaman tentang aspek-aspek apa dari dataset Anda yang penting dalam prediksi apa pun yang Anda buat, dan yang tidak. Ekstraksi fitur biasanya melibatkan pembuatan fitur baru yang merupakan komposit dari fitur yang ada. Kedua teknik ini masuk dalam kategori rekayasa fitur. Umumnya rekayasa fitur penting jika Anda ingin mendapatkan hasil terbaik, karena melibatkan pembuatan informasi yang mungkin tidak ada dalam dataset Anda, dan meningkatkan rasio sinyal terhadap noise.


2
Saya setuju sebagian besar, dengan presisi: Pemilihan fitur tidak perlu dilakukan dengan tangan, itu bisa otomatis. Lihat misalnya metode Lasso ( en.wikipedia.org/wiki/Least_squares#Lasso_method ).
jrouquie

Saya setuju dengan Dimensionality Reductionklausa Anda tetapi sedikit berbeda pada Feature Engineeringpenggunaan - yang dari apa yang saya lihat hanya Feature Extraction : Feature Selectiondianggap secara terpisah. Itu hanya perbedaan dalam terminologi.
javadba

7

Seperti dalam @damienfrancois, pilihan fitur jawaban adalah tentang memilih subset fitur. Jadi dalam NLP akan memilih satu set kata-kata tertentu (tipikal dalam NLP adalah bahwa setiap kata mewakili fitur dengan nilai yang sama dengan frekuensi kata atau bobot lain berdasarkan TF / IDF atau serupa).

Pengurangan dimensi adalah pengenalan ruang fitur baru di mana fitur asli diwakili. Ruang baru adalah dimensi yang lebih rendah dari ruang aslinya. Dalam hal teks contohnya adalah trik hashing di mana sepotong teks direduksi menjadi vektor beberapa bit (katakanlah 16 atau 32) atau byte. Yang menakjubkan adalah bahwa geometri ruang dipertahankan (diberi bit yang cukup), sehingga jarak relatif antara dokumen tetap sama seperti di ruang asli, sehingga Anda dapat menggunakan teknik pembelajaran mesin standar tanpa harus berurusan dengan tidak terikat (dan jumlah besar) of) dimensi ditemukan dalam teks.


5

Pemilihan fitur adalah tentang memilih beberapa fitur berdasarkan pada skor statistik tetapi ekstraksi fitur menggunakan teknik untuk mengekstraksi beberapa informasi lapisan kedua dari data, misalnya frekuensi sinyal yang menarik menggunakan transformasi Fourier.

Pengurangan dimensi adalah semua tentang mengubah data menjadi ruang dimensi rendah di mana data mempertahankan struktur euclidean tetapi tidak menderita kutukan dimensi. Misalnya, Anda mengekstrak beberapa fitur kata dari kumpulan data di mana setiap dokumen dapat dimodelkan sebagai titik dalam ruang n-dimensi dan n terlalu besar (contoh mainan). Dalam hal ini banyak algoritma tidak bekerja sesuai dengan distorsi jarak ruang dimensi tinggi. Sekarang Anda perlu mengurangi dimensionalitas dengan memilih fitur yang paling informatif atau mengubahnya menjadi manifold dimensi rendah menggunakan metode reduksi dimensionalitas misalnya PCA, LLE, dll.[x1,...,xn]


Di luar jawaban yang tersedia, ini yang paling cocok dengan apa yang saya lihat di beberapa tim Ilmu Data dan Platform ML
javadba

3

Untuk melengkapi jawaban Damien, contoh pengurangan dimensionalitas dalam NLP adalah model topik , di mana Anda merepresentasikan dokumen dengan vektor yang menunjukkan bobot topik penyusunnya.



2

A1. Apa itu pengurangan dimensionalitas: Jika Anda memikirkan data dalam matriks, di mana baris adalah instance dan kolom adalah atribut (atau fitur), maka reduksi dimensionalitas memetakan matriks data ini ke matriks baru dengan lebih sedikit kolom. Untuk visualisasi, jika Anda menganggap setiap matriks-kolom (atribut) sebagai dimensi dalam ruang fitur, maka pengurangan dimensi adalah proyeksi contoh dari ruang dimensi yang lebih tinggi (lebih banyak kolom) ke ruang sub-dimensi yang lebih rendah (lebih sedikit kolom). Pengurangan dimensi adalah proyeksi ruang bagian Tujuan umum untuk transformasi ini adalah (1) menjaga informasi dalam matriks data, sambil mengurangi kompleksitas komputasi; (2) meningkatkan keterpisahan berbagai kelas dalam data.

A2. Pengurangan dimensi sebagai pemilihan fitur atau ekstraksi fitur: Saya akan menggunakan dataset Iris yang ada di mana-mana , yang bisa dibilang 'hello world' dari ilmu data. Secara singkat, dataset Iris memiliki 3 kelas dan 4 atribut (kolom). Saya akan mengilustrasikan pemilihan fitur dan ekstraksi untuk tugas mengurangi dimensionalitas dataset Iris dari 4 menjadi 2.

Saya menghitung pair-wise co-variance dari dataset ini menggunakan library dengan Python yang disebut seaborn. Kode tersebut adalah: sns.pairplot (iris, rona = "spesies", marker = ["o", "s", "D"]) Angka yang saya dapatkan adalah Iris-plot pasangan saya dapat memilih pasangan atribut (2 dimensi) yang menyediakan saya pemisahan terbesar antara 3 kelas (spesies) dalam dataset Iris. Ini akan menjadi kasus pemilihan fitur.

Selanjutnya adalah ekstraksi fitur. Di sini, saya memproyeksikan ruang fitur 4-dimensi Iris ke ruang bagian 2-dimensi baru, yang tidak sejajar dengan ruang asli. Ini adalah atribut baru. Mereka biasanya didasarkan pada distribusi di ruang dimensi tinggi asli. Metode yang paling populer adalah Principal Component Analysis, yang menghitung vektor Eigen di ruang asli. PCA menggunakan SVD Jelas, kami tidak dibatasi hanya menggunakan proyeksi linier dan global untuk subruang berdasarkan vektor Eigen. Kita dapat menggunakan metode proyeksi non-linear juga. Berikut ini adalah contoh PCA non-linear menggunakan jaringan saraf PCA non-linear menggunakan NN . Atribut (dimensi) pada contoh terakhir diekstraksidari 4 atribut asli menggunakan jaringan saraf. Anda dapat bereksperimen dengan berbagai rasa PCA untuk data iris diri Anda menggunakan kode metode pca ini .

Rangkuman: Meskipun metode ekstraksi fitur mungkin tampak lebih unggul dalam kinerja dibandingkan pemilihan fitur, pilihan tersebut ditentukan oleh aplikasi. Atribut dari ekstraksi fitur biasanya kehilangan interpretasi fisik, yang mungkin atau mungkin tidak menjadi masalah berdasarkan tugas yang dihadapi. Misalnya, jika Anda mendesain tugas pengumpulan data yang sangat mahal dengan sensor mahal dan perlu menghemat atribut (jumlah sensor yang berbeda), Anda ingin mengumpulkan sampel pilot kecil menggunakan semua sensor yang tersedia dan kemudian pilih yang paling informatif untuk tugas pengumpulan data besar.


1

Diekstraksi dari pembelajaran mesin Hands-on dengan scikit-learn & Tensorflow

  1. Pembersihan data: Perbaiki atau hapus outlier (opsional). Isi nilai yang hilang (misalnya, dengan nol, rata-rata, median ...) atau jatuhkan baris (atau kolom) mereka.
  2. Pemilihan fitur (opsional): Jatuhkan atribut yang tidak memberikan informasi berguna untuk tugas tersebut.
  3. Rekayasa fitur, bila perlu: Diskritkan fitur yang berkelanjutan. Menguraikan fitur (misalnya, kategorikal, tanggal / waktu, dll.) Tambahkan transformasi fitur yang menjanjikan (mis., Log (x), sqrt (x), x ^ 2, dll.). Gabungkan fitur menjadi fitur baru yang menjanjikan.
  4. Penskalaan fitur: menstandarkan atau menormalkan fitur.

0

Beberapa jawaban hebat di sini, khususnya, jawaban @ damienfrancois dengan sangat ringkas menangkap gagasan umum.

Namun, saya tidak melihat contoh rekayasa fitur untuk data relasional atau time-series. Dalam hal itu, para ilmuwan data umumnya mengekstraksi pola statistik lintas hubungan dan seiring waktu. Misalnya, untuk memprediksi apa yang akan dilakukan oleh pelanggan di masa depan dalam basis data e-niaga, orang dapat mengekstrak jumlah seperti rata-rata jumlah pembelian historis, atau frekuensi pembelian sebelumnya.

Saya menulis artikel tentang topik ini yang jauh lebih detail dengan beberapa contoh di sini: https://www.featurelabs.com/blog/feature-engineering-vs-feature-selection/


0

Mari saya mulai dengan urutan terbalik ekstraksi fitur dan mengapa perlu pemilihan fitur dan pengurangan dimensi.

Dimulai dengan penggunaan ekstraksi fitur yang terutama untuk tujuan klasifikasi. Klasifikasi adalah proses pengambilan keputusan yang termasuk kategori objek tertentu. Ini memiliki dua fase i) fase pelatihan, di mana diberikan data atau objek sifat-sifatnya dipelajari menggunakan beberapa proses (ekstraksi fitur) ii) fase pengujian, di mana objek yang tidak diketahui diklasifikasikan menggunakan fitur yang dipelajari pada fase (pelatihan) sebelumnya.

Ekstraksi fitur sesuai dengan namanya mengingat data bertujuan untuk menemukan pola yang mendasarinya. Pola dasar inilah yang disebut sebagai fitur yang sesuai dengan data masing-masing. Ada berbagai metodologi yang ada untuk ekstraksi fitur seperti Support Vector Machine (SVM).

Sekarang, ekstraksi fitur harus menghasilkan fitur yang seharusnya

  • kuat
  • diskriminatif
  • set fitur yang optimal

Pemilihan Fitur: Satu set data tertentu dapat diwakili oleh fitur tunggal atau serangkaian fitur. Dalam proses klasifikasi, suatu sistem dilatih untuk setidaknya dua kelas. Jadi sistem pelatihan akan menghasilkan satu fitur atau serangkaian fitur. Fitur-fitur ini harus memiliki properti yang disebutkan di atas.

Masalahnya muncul ketika ada set fitur untuk setiap kelas dan ada korelasi antara beberapa fitur. Itu menyiratkan di antara fitur-fitur yang berkorelasi satu atau beberapa yang cukup untuk representasi dan di situlah pemilihan fitur datang ke gambar. Selain itu, fitur-fitur ini perlu disimpan dengan peningkatan kebutuhan memori yang ditetapkan juga meningkat.

Kemudian datang pengurangan dimensi yang tidak lain adalah bagian dari proses pemilihan fitur. Ini adalah proses memilih set fitur yang optimal yang paling menggambarkan data. Ada banyak teknik untuk hal yang sama seperti analisis komponen utama, analisis komponen independen, dan faktorisasi matriks dll.


-3

Sebagai contoh ... jika Anda memiliki lahan pertanian maka memilih satu area tertentu dari lahan itu akan menjadi fitur seleksi. di setiap pabrik untuk menemukan kelainan ... untuk ini Anda akan mempertimbangkan ekstraksi fitur. Dalam contoh ini tanah pertanian asli sesuai dengan pengurangan Dimensi.


Tidak, itu tidak ada hubungannya dengan data spasial pada khususnya. Ini berlaku untuk data temporal, spatio-temporal, dan jenis lainnya.
Emre
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.