FFD:Face Forgery Detection

شناسایی جعل چهره

FFD:Face Forgery Detection

شناسایی جعل چهره

مثال 2: کاهش ابعاد داده‌های ژنومی با Autoencoder

مقدمه

در مسائل بیوانفورماتیک، داده‌های ژنومی معمولاً شامل هزاران ویژگی (ژن) هستند که پردازش آن‌ها به‌صورت مستقیم دشوار است. Autoencoder می‌تواند با یادگیری یک نمایش فشرده، ویژگی‌های مهم را حفظ کرده و ابعاد داده‌ها را کاهش دهد.

چرا Autoencoder و نه PCA؟

·       PCA  تنها روابط خطی را مدل می‌کند، درحالی‌که Autoencoder روابط غیرخطی را هم می‌آموزد.
 

·       در PCA، داده‌ها به ترکیب‌های خطی از ویژگی‌های اصلی کاهش می‌یابند، اما Autoencoder یک نمایش بهینه‌تر را در Bottleneck یاد می‌گیرد.
 

·       اندازه‌گیری کاهش خطای بازسازی در Autoencoder، برخلاف PCA، معیار مناسبی برای بررسی کیفیت نمایش فشرده است.

 

 

 

معماری Autoencoder برای کاهش ابعاد

import tensorflow as tf
from tensorflow.keras.layers import Input, Dense
from tensorflow.keras.models import Model
 
input_dim = 10000  # تعداد ژن‌ها
encoding_dim = 100  # نمایش فشرده در لایه Bottleneck
 
# لایه‌های شبکه
input_layer = Input(shape=(input_dim,))
encoded = Dense(5000, activation='relu')(input_layer)
encoded = Dense(1000, activation='relu')(encoded)
encoded = Dense(encoding_dim, activation='relu')(encoded)  # Bottleneck
 
decoded = Dense(1000, activation='relu')(encoded)
decoded = Dense(5000, activation='relu')(decoded)
decoded = Dense(input_dim, activation='linear')(decoded)  # بازسازی داده‌ها
 
# تعریف مدل
autoencoder = Model(input_layer, decoded)
autoencoder.compile(optimizer='adam', loss='mse')

 

ارزیابی مدل

·       خطای بازسازی (MSE)

·       مقایسه واریانس حفظ ‌شده بین PCA و Autoencoder

·       تحلیل ویژگی‌های کلیدی در Bottleneck

from sklearn.decomposition import PCA
import numpy as np
 
pca = PCA(n_components=100)
X_pca = pca.fit_transform(X_train)
variance_ratio_pca = np.sum(pca.explained_variance_ratio_)
 
X_autoencoded = autoencoder.encoder.predict(X_train)
variance_ratio_autoencoder = np.var(X_autoencoded) / np.var(X_train)
 
print(f"PCA Variance Retained: {variance_ratio_pca:.4f}")
print(f"Autoencoder Variance Retained: {variance_ratio_autoencoder:.4f}")

انتظار داریم Autoencoder واریانس بیشتری را نسبت به PCA حفظ کند

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد