Skip to main content

5 - Feature Extraction

Feature Extraction

HULAAAA GENG STUPENSS!! yeay kita berjumpa lagi hari ini untuk belajar mengenai Feature Extraction nih! Feature Extraxtion ini merupakan proses untuk mengubah data mentah menjadi representasi yang lebih ringkas dan informatif geng..

Nah untuk lebih lengkapnya yuk simak materi berikut, Chek it OUT!!

Definisi dan Konsep Dasar

Feature extraction adalah proses pengambilan atau ekstraksi informasi yang relevan darİ data İnput untuk digunakan dalam analisis atau pengolahan selanjutnya. Dalam konteks pengolahan citra atau pengenalan pola, feature extraction melibatkan identifikasi dan ekstraksi fiturfıtur khusus yang mewakili karakteristik penting dari data gambar atau pola yang sedang diproses.

Konsep dasar dalam feature extraction melibatkan identifikasi dan pemilihan fıtur-fitur yang paling relevan dan diskriminatif dari data input. Fitur-fitur İni harus memiliki kemampuan untuk membedakan atau menggambarkan perbedaan antara kategori atau kelas yang berbeda dalam data. Dalam pengolahan citra, fıtur-fitur ini dapat mencakup properti seperti warna, tekstur, bentuk, atau distribusi spasial dari objek yang ada dalam gambar.


Feature extraction diterapkan dalam berbagai bidang, seperti pengolahan citra, pengenalan şuara, pemrosesan bahasa alami, pengenalan pola, dan keuangan. Dalam pengolahan citra, fıtur-fitur seperti tepi, tekstur, dan bentuk digunakan untuk mengenali objek. Dalam pengenalan şuara, fıtur-fıtur seperti spektrum frekuensi atau MFCC digunakan. Pengaplikasian fitur extraction memungkinkan identifıkasi objek pengenalan teks, analisis pasar, dan banyak lagi.

Proses feature extraction biasanya melibatkan beberapa tahap, termasuk:

1 . Preprocessing: Tahap ini melibatkan pengolahan awal data input untuk memperbaiki kualitas atau mempersiapkannya untuk tahap ekstraksi fıtur. Contoh proses preprocessing pada citra termasuk pengurangan noise, peningkatan kontras, normalisasi intensitas, atau pemadatan citra.

2. Segmentasi: Pada tahap ini, gambar atau data input dibagi menjadi bagian-bagian yang lebih kecil atau objek-objek individual yang dapat dianalisis secara terpisah. Segmentasi dapat dilakukan berdasarkan warna, tekstur, atau metode pemrosesan citra lainnya.

3. Ekstraksi Fitur: İni adalah tahap İnti darİ proses feature extraction, di mana fltur-fltur penting diekstraksi darİ setiap segmen atau Objek dalam data input. Ada berbagai teknik dan metode yang dapat digunakan untuk ekstraksi fltur, seperti ekstraksi tekstur menggunakan fliter Gabon ekstraksi bentuk menggunakan transformasi Hough, atau ekstraksi warna menggunakan histogram warna.

4. Seleksi Fitur: Setelah fıtur-fitur diekstraksi, tahap seleksi fıtur dapat dilakukan untuk memilih subset fıtur yang paling informatif atau relevan. Teknik seperti analisis komponen utama (principal component analysis/PCA), analisis diskriminan linier (linear discriminant analysis/LDA), atau metode penapisan lainnya dapat digunakan untuk seleksi fltur.

5. Normalisasi: Pada tahap ini, fıtur-fıtur yang diekstraksi dapat dinormalisasi untuk menghilangkan perbedaan skala atau memperbaiki distribusi mereka. ini membantu dalam memastikan bahwa semua fıtur berkontribusi şecara seimbang dalam analisis selanjutnya.


Setelah tahap ekstraksi fitur selesai, fitu-fitur yang dihasilkan dapat digunakan dalam berbagai tugas pengolahan data seperti Klasifikasi, Deteksi Objek, Penganalan Pola, Pemadanan atau Pencocokan dan Pengurangan Dimensi.

Penting untuk dicatat bahwa proses feature extraction memainkan peran penting dalam pengolahan data, terutama ketika datanya kompleks dan memiliki dimensi yang tinggi. Dengan memilih dan mengekstraksi fltur-fltur yang paling relevan, kita dapat mengurangi dimensi data, meningkatkan efisiensi komputasi, dan meningkatkan kinerja model dalam tugas analisis dan pengolahan data.

Contoh program

Berdasarkan langkah-langkah ekstraksi fitur, berikut merupakan contoh untuk melakukan ekstraksi fitur pada berbagai jenis ikan. Kalian dapat mengumpulkan dataset berbagai ikan atau dengan menggunakan dataset yang kalian dapat di internet. Berikut merupakan contoh programnya


Teknik-teknik Feature Extraction

1. Principal Component Analysis (PCA) PCA adalah metode statistik yang digunakan untuk mengurangi dimensi data dengan mengidentifikasi kombinasi linier dari fitur asli yang memiliki varian terbesar. PCA mengubah data asli menjadi ruang fitur baru yang disebut sebagai ruang komponen utama (principal component space), di mana setiap komponen utama adalah kombinasi linier dari fitur asli. Komponen utama diurutkan berdasarkan varian yang dimilikinya, sehingga memungkinkan kita untuk memilih subset komponen utama yang paling signifikan untuk mewakili data. Berikut contoh algoritma dan hasil datanya :


Dengan menggunakan program berikut ini, kita dapat membuat plot data dengan mendistribusikan dalam bentuk 2D.



 

2. Independent Component Analysis (ICA) ICA adalah teknik yang digunakan untuk mengidentifikasi sinyal-sinyal yang Saling independen dalam suatu set data yang diamati. Dalam konteks fltur ekstraksi, ICA dapat digunakan untuk memisahkan fitur-fitur yang Saling tergantung dalam data menjadi fitur-fitur yang independen. ICA berguna dalam kasus di mana asumsi independensi antar fitur lebih relevan daripada asumsi mengenai varian maksimum seperti pada PCA.

Sebagai contoh sederhana aplikasi ICA, mari kita anggap kita diberikan registrasi audio dimana ada dua orang yang berbeda berbicara. Dengan menggunakan ICA kita dapat, misalnya, mencoba mengidentifikasi dua komponen independen yang berbeda dalam registrasi (dua orang yang berbeda). Dengan cara ini, kami dapat membuat algoritme pembelajaran tanpa pengawasan kami mengenali antara pembicara yang berbeda dalam percakapan.

Berikut merupakan contoh implementasi ICA



3. Linear Discriminant Analysis (LDA) LDA adalah metode yang umum digunakan dalam analisis data yang memiliki label kelas. Tujuan dari LDA adalah untuk mencari transformasi linier yang memaksimalkan pemisahan antar kelas dalam data, sambil mempertahankan informasi diskriminatif. Dengan menggunakan LDA, kita dapat memproyeksikan data ke ruang fitur yang lebih rendah dimensi yang memaksimalkan kelompok kelas yang terpisah.

Saat menggunakan LDA, diasumsikan bahwa input data mengikuti Distribusi Gaussian (seperti dalam kasus ini), oleh karena itu menerapkan LDA ke data bukan Gaussian mungkin dapat menyebabkan hasil klasifikasi yang buruk.

Dalam contoh ini, bentuk sederhana dalam pengimplementasian LDA :


4. t-distributed Stochastic Neighbor Embedding (t-SNE) t-SNE adalah metode yang populer untuk memvisualisasikan data dengan dimensi tinggi dalam bentuk yang lebih rendah dimensi. Metode ini memodelkan probabilitas distribusi jarak antara pasangan data di ruang tinggi dan rendah dimensi, sehingga data yang memiliki hubungan dekat dalam ruang tinggi tetap dekat dalam ruang rendah dimensi. t-SNE cenderung mempertahankan struktur jarak lokal yang kompleks dalam data.

Contoh implementasi t-SNE adalah sebagai berikut :


5. Autoencoder (AE) AE adalah arsitektur jaringan saraf tiruan yang digunakan untuk belajar representasi fitur data secara otomatis. Autoencoder terdiri dari dua komponen utama, yaitu encoder dan decoder. Encoder mengubah data asli menjadi representasi fitur yang lebih rendah dimensi, sedangkan decoder berusaha merekonstruksi data asli dari representasi fitur tersebut. Dengan melatih AE untuk merekonstruksi data asli, kita dapat memaksa model untuk mempelajari fitur-fitur yang paling informatif dalam data.

Berikut adalah contoh program sederhana menggunakan library Keras untuk membuat Autoencoder:


Dalam contoh di atas, X_train dan X_test adalah data latih dan data uji yang telah diproses sebelumnya. Dalam kasus ini, Autoencoder digunakan untuk merekonstruksi data asli (X_train) dan kemudian representasi fitur yang dihasilkan (X_encoded) dapat digunakan untuk tugastugas lain seperti klasifikasi atau visualisasi.

Keuntungan dan Kekurangan Feature Extraction

Dalam menggunakan ekstraksi fıtur, banyak beberapa keuntungan dan kerugiannya nih stupenss!! Kira-kira apa saja ya? Nah kita simak nih berikut :

Keuntungan

•   Mengurangi dimensi data

Feature extraction membantu mengurangi dimensi data dengan mengidentifikasi fltur-fltur penting yang merepresentasikan data şecara ringkas. Hal ini dapat mempercepat proses analisis dan mengurangi kompleksitas perhitungan.

•   Meningkatkan relevansi informasi

Dengan mengekstraksi fltur yang paling relevan, feature extraction memungkinkan fokus pada informasi yang paling signifikan. Fitur-fitur ini dapat membantu dalam pemisahan kelas atau pola-pola yang ada dalam data.

•   Memudahkan pemrosesan dan analisis data

Dengan mereduksi dimensi data dan mendapatkan representasi fıtur yang lebih sederhana, feature extraction membuat proses pemrosesan dan analisis data menjadi lebih efısien dan mudah diinterpretasikan.

•   Meningkatkan kinerja model

Dengan menggunakan fıtur-fıtur yang relevan dan informatif, feature extraction dapat meningkatkan kinerja model dengan menghilangkan kebisingan atau fıtur-fıtur yang tidak signifıkan.

Kerugian

•   Informasi yang h İlang

Pada beberapa kasus, feature extraction dapat menghilangkan informasi yang penting dari data asli. Proses pengurangan dimensi dapat menyebabkan kehilangan detaİl yang mungkin penting dalam beberapa aplikasi.

•   Sensitivitas terhadap noise

Jika data asli mengandung noise atau gangguan, teknik feature extraction dapat menjadi sensitif terhadap gangguan tersebut dan menghasilkan fltur-fitur yang tidak diinginkan atau mengaburkan pola-pola yang sebenarnya.

•   Ketergantungan pada representasi fitur

Performa model bergantung pada representasi fltur yang diberikan. Jika fitur-fitur yang diekstraksi tidak mencerminkan dengan baİk data asli, maka kinerja model dapat terpengaruh.

•   Kompleksitas implementasi

Beberapa teknik feature extraction, seperti Independent Component Analysis (ICA), dapat melibatkan proses komputasi yang kompleks dan memerlukan pemahaman yang mendalam tentang algoritma dan matematika yang mendasarinya.

Memilih Teknik yang Sesuai

Dalam mengimplementasikan Feature Extraction, kita harus mempertimbangkan beberapa hal agar fitur yang kita gunakan dapat bekerja maksimal sesuai dengan bentuk data yang diproses guys. Nah, simak materi di bawah ini yaa untuk mengetahuinya lebih detail!

•   Pertimbangkan karakteristik data

Pilih teknik feature extraction yang sesuai dengan karakteristik data, seperti apakah data tersebut berupa citra, şuara, atau data numerik. Setiap jenİs data mungkin memerlukan pendekatan yang berbeda.

•   Evaluasi kinerja

Uji dan evaluasi kinerja berbagai teknik feature extraction pada data latihan dan validesi untuk melihat mana yang memberikan hasil terbaik dalam memenuhi tujuan analisis atau tugas yang diberikan.

•   Pertimbangkan kompleksitas komputasi

Pertimbangkan tingkat kompleksitas implementasi dan waktu komputasi yang diperlukan Oleh setiap teknik. Pilih teknik yang sesuai dengan sumber daya yang tersedia.

•   Konsultasi dengan ahli

Jika memungkinkan, konsultasikan dengan ahli atau pakar di bidang feature extraction untuk memperoleh saran dan panduan yang lebih rinci sesuai dengan kebutuhan spesifik.

Dengan memahami konsep dasar feature extraction, penerapan teknik-teknik yang tepat, implementasi algoritma dan model, serta kemampuan menganalisis keuntungan dan kerugian dari setiap teknik, kalian akan dapat mengembangkan pemahaman yang kuat dalam bidang ini dan dapat memilih teknik feature extraction yang paling sesuai untuk permasalahan yang diberikan nih stupens!! Selanjutnya jangan lupa kerjakan QUIZ dan tugas hari ini yaaa!!

Studi Kasus

Berdasarkan dengan materi tersebut, buatlah implementasi algoritma PCA untuk melakukan feature extraction pada dataset tersebut, kemudian melatih model pengenalan wajah menggunakan K-nearest neighbors (KNN). Selanjutnya, evaluasilah kinerja model dengan menggunakan metrik akurasi.

 


Last modified: Monday, 2 October 2023, 11:14 AM