t-distributed Stochastic Neighbor Embedding (t-SNE)
استكشف كيف يقوم t-SNE بتصور البيانات عالية الأبعاد. تعلم كشف المجموعات في ميزات الرؤية الحاسوبية لنموذج Ultralytics YOLO26 وتحسين نماذج تعلم الآلة.
التضمين العشوائي الجاور الموزع حسب ت (t-SNE) هو طريقة إحصائية لتصوير البيانات عالية الأبعاد من خلال منح كل نقطة بيانات موضعاً على خريطة ثنائية أو ثلاثية الأبعاد. تُستخدم هذه التقنية، وهي شكل من أشكال تقليل الأبعاد غير الخطية، على نطاق واسع في التعلم الآلي لاستكشاف مجموعات البيانات التي تحتوي على مئات أو آلاف الميزات. على عكس الطرق الخطية التي تركز على الحفاظ على الهياكل العالمية، تتفوق t-SNE في إبقاء الحالات المتشابهة قريبة من بعضها البعض، مما يكشف عن التجمعات المحلية والشعب الهوائية التي قد تظل مخفية لولا ذلك. هذا يجعلها أداة لا تقدر بثمن لكل شيء بدءاً من البحوث الجينومية وحتى فهم المنطق الداخلي للشبكات العصبية العميقة.
كيف تعمل t-SNE#
تتضمن الفكرة الأساسية وراء t-SNE تحويل أوجه التشابه بين نقاط البيانات إلى احتمالات مشتركة. في الفضاء الأصلي عالي الأبعاد، تقيس الخوارزمية التشابه بين النقاط باستخدام توزيع غاوسي. إذا كانت نقطتان قريبتين من بعضهما، فلديهما احتمالية عالية لكونهما "جارتين". ثم تحاول الخوارزمية تعيين هذه النقاط إلى فضاء منخفض الأبعاد (عادة ثنائي أو ثلاثي الأبعاد) مع الحفاظ على هذه الاحتمالات.
لتحقيق ذلك، فإنه يحدد توزيع احتمالي مماثل في الخريطة منخفضة الأبعاد باستخدام توزيع t لـ Student. يحتوي هذا التوزيع المحدد على ذيول أثقل من توزيع غاوسي العادي، مما يساعد في معالجة "مشكلة التزاحم" - وهي ظاهرة تميل فيها النقاط في الفضاء عالي الأبعاد إلى الانهيار فوق بعضها البعض عند إسقاطها إلى الأسفل. من خلال دفع النقاط غير المتشابهة بعيداً عن بعضها في التصوير، تخلق t-SNE تجمعات مميزة وقابلة للقراءة تكشف عن الهيكل الأساسي لـ بيانات التدريب. تتعلم خوارزمية بفعالية أفضل تمثيل للخريطة من خلال التعلم غير المباشر عبر تقليل الاختلاف بين التوزيعات الاحتمالية عالية الأبعاد ومنخفضة الأبعاد.
تطبيقات العالم الحقيقي في الذكاء الاصطناعي#
تعتبر t-SNE أداة قياسية لـ تحليل البيانات الاستكشافية (EDA) وتشخيص النماذج. فهو يتيح للمهندسين "رؤية" ما يتعلمه النموذج.
- التحقق من ميزات الرؤية الحاسوبية: في سير عمل اكتشاف الأجسام باستخدام نماذج مثل YOLO26، غالباً ما يحتاج المطورون إلى التحقق مما إذا كانت الشبكة قادرة على التمييز بين الفئات المتشابهة بصرياً. من خلال استخراج خرائط الميزات من الطبقات النهائية للشبكة وعرضها باستخدام t-SNE، يمكن للمهندسين تصور ما إذا كانت صور "القطط" تتجمع بشكل منفصل عن "الكلاب". إذا كانت المجموعات مختلطة، فهذا يشير إلى أن قدرات استخراج الميزات للنموذج تحتاج إلى تحسين.
- معالجة اللغات الطبيعية (NLP): تُستخدم t-SNE بشكل مكثف لتصوير تضمينات الكلمات. عندما يتم إسقاط متجهات الكلمات عالية الأبعاد (غالباً 300+ بُعد) في بعد ثنائي، تتجمع الكلمات ذات المعاني الدلالية المتشابهة بشكل طبيعي معاً. على سبيل المثال، قد يُظهر رسم بياني لـ t-SNE تجمعاً يحتوي على "ملك" و"ملكة" و"أمير" و"عاهل"، مما يدل على أن نموذج معالجة اللغات الطبيعية (NLP) يفهم مفهوم الملكية.
- الجينوميات والمعلوماتية الحيوية: يستخدم الباحثون t-SNE لتصور بيانات تسلسل الحمض النووي الريبي (RNA) أحادية الخلية. من خلال تقليل آلاف قيم التعبير الجيني إلى مخطط ثنائي الأبعاد، يمكن للعلماء تحديد أنواع خلايا متميزة وتتبع مسارات النمو، مما يساعد في اكتشاف رؤى بيولوجية جديدة وعلامات الأمراض.
المقارنة مع PCA#
من المهم التمييز بين t-SNE وتحليل المكونات الرئيسية (PCA)، وهي تقنية تقليل شائعة أخرى.
- PCA هي تقنية خطية تركز على الحفاظ على التباين العام للبيانات. إنها حتمية وفعالة حسابياً، مما يجعلها ممتازة لضغط البيانات الأولي أو تقليل الضوضاء.
- t-SNE هي تقنية غير خطية تركز على الحفاظ على الأحياء المحلية. إنها احتمالية (عشوائية) وأثقل حسابياً، لكنها تنتج تصورات أفضل بكثير للمشعبات المعقدة غير الخطية.
تتمثل الممارسة الأفضل الشائعة في معالجة البيانات المسبقة في استخدام PCA أولاً لتقليل البيانات إلى حجم يمكن التحكم فيه (على سبيل المثال، 50 بُعداً) ثم تطبيق t-SNE للتصوير النهائي. يقلل هذا النهج الهجين من الحمل الحسابي ويقوم بتصفية التشويش الذي قد يقلل من جودة نتيجة t-SNE.
مثال باستخدام Python: تصور الميزات#
يوضح المثال التالي كيفية استخدام scikit-learn لتطبيق t-SNE على مجموعة بيانات اصطناعية. يعكس سير العمل هذا كيف يمكن للمرء تصور الميزات المستخرجة من نموذج التعلم العميق.
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.manifold import TSNE
# Generate synthetic high-dimensional data (100 samples, 50 features, 3 centers)
X, y = make_blobs(n_samples=100, n_features=50, centers=3, random_state=42)
# Apply t-SNE to reduce dimensions from 50 to 2
# 'perplexity' balances local vs global aspects of the data
tsne = TSNE(n_components=2, perplexity=30, random_state=42)
X_embedded = tsne.fit_transform(X)
# Plot the result to visualize the 3 distinct clusters
plt.scatter(X_embedded[:, 0], X_embedded[:, 1], c=y)
plt.title("t-SNE Projection of High-Dimensional Data")
plt.show()اعتبارات أساسية#
على الرغم من قوتها، تتطلب t-SNE ضبطاً دقيقاً للمعلمات الفائقة. معامل "الحيرة" أمر بالغ الأهمية؛ فهو يخمن أساساً عدد الجيران القريبين لكل نقطة. تعيينه منخفضاً جداً أو مرتفعاً جداً يمكن أن يؤدي إلى تصورات مضللة. علاوة على ذلك، لا تحافظ t-SNE على المسافات العالمية بشكل جيد - مما يعني أن المسافة بين تجمعات مميزة على الرسم البياني لا تعكس بالضرورة مسافتها الفيزيائية في الفضاء الأصلي. على الرغم من هذه الفروق الدقيقة، إلا أنها تظل تقنية أساسية للتحقق من صحة هياكل الرؤية الحاسوبية (CV) وفهم مجموعات البيانات المعقدة. غالباً ما يستفيد المستخدمون الذين يديرون مجموعات بيانات واسعة النطاق من منصة Ultralytics لتنظيم بياناتهم قبل إجراء مثل هذا التحليل المعمق.






