t-distributed Stochastic Neighbor Embedding (t-SNE)
استكشف كيف يقوم t-SNE بتصور البيانات عالية الأبعاد. تعلم كشف المجموعات في ميزات الرؤية الحاسوبية لنموذج Ultralytics YOLO26 وتحسين نماذج تعلم الآلة.
تضمين الجوار العشوائي الموزع على شكل t (t-SNE) هو طريقة إحصائية لتصور البيانات عالية الأبعاد من خلال إعطاء كل نقطة بيانات موقعاً في خريطة ثنائية أو ثلاثية الأبعاد. تُستخدم هذه التقنية، وهي أحد أشكال تقليل الأبعاد غير الخطية، على نطاق واسع في تعلم الآلة لاستكشاف مجموعات البيانات التي تحتوي على مئات أو آلاف الميزات. على عكس الطرق الخطية التي تركز على الحفاظ على الهياكل العالمية، تتفوق t-SNE في الحفاظ على قرب الحالات المتشابهة من بعضها البعض، مما يكشف عن مجموعات محلية ومشعبات قد تظل مخفية بخلاف ذلك. وهذا يجعلها أداة لا تقدر بثمن لكل شيء بدءاً من الأبحاث الجينومية وصولاً إلى فهم المنطق الداخلي للشبكات العصبية العميقة.
Link to this sectionكيف تعمل t-SNE#
تتضمن الفكرة الأساسية وراء t-SNE تحويل أوجه التشابه بين نقاط البيانات إلى احتمالات مشتركة. في الفضاء الأصلي عالي الأبعاد، تقيس الخوارزمية التشابه بين النقاط باستخدام توزيع غاوسي. إذا كانت نقطتان قريبتين من بعضهما، فلديهما احتمالية عالية لكونهما "جارتين". ثم تحاول الخوارزمية تعيين هذه النقاط إلى فضاء منخفض الأبعاد (عادة ثنائي أو ثلاثي الأبعاد) مع الحفاظ على هذه الاحتمالات.
لتحقيق ذلك، تقوم بتعريف توزيع احتمالي مماثل في الخريطة منخفضة الأبعاد باستخدام توزيع t للطالب (Student's t-distribution). يحتوي هذا التوزيع المحدد على أذيال أثقل من توزيع غاوسي الطبيعي، مما يساعد في معالجة "مشكلة الازدحام" - وهي ظاهرة تميل فيها النقاط في الفضاء عالي الأبعاد إلى الانهيار فوق بعضها البعض عند إسقاطها للأسفل. من خلال دفع النقاط غير المتشابهة بعيداً عن بعضها البعض في التصور، تنشئ t-SNE مجموعات متميزة وقابلة للقراءة تكشف عن الهيكل الأساسي لـ بيانات التدريب. تتعلم الخوارزمية بفعالية أفضل تمثيل للخريطة من خلال التعلم غير الخاضع للإشراف عن طريق تقليل التباعد بين التوزيعات الاحتمالية عالية الأبعاد ومنخفضة الأبعاد.
Link to this sectionتطبيقات العالم الحقيقي في الذكاء الاصطناعي#
تعد t-SNE أداة قياسية لـ تحليل البيانات الاستكشافي (EDA) وتشخيص النماذج. فهي تسمح للمهندسين "برؤية" ما يتعلمه النموذج.
- التحقق من ميزات الرؤية الحاسوبية: في سير عمل اكتشاف الأجسام باستخدام نماذج مثل YOLO26، غالباً ما يحتاج المطورون إلى التحقق مما إذا كانت الشبكة قادرة على التمييز بين الفئات المتشابهة بصرياً. من خلال استخراج خرائط الميزات من الطبقات النهائية للشبكة وإسقاطها باستخدام t-SNE، يمكن للمهندسين تصور ما إذا كانت صور "القطط" تتجمع بشكل منفصل عن "الكلاب". إذا كانت المجموعات مختلطة، فهذا يشير إلى أن قدرات استخراج الميزات للنموذج بحاجة إلى تحسين.
- معالجة اللغات الطبيعية (NLP): تُستخدم t-SNE بكثافة لتصور تضمينات الكلمات. عندما يتم إسقاط متجهات الكلمات عالية الأبعاد (غالباً 300 بُعد أو أكثر) إلى ثنائية الأبعاد، تتجمع الكلمات ذات المعاني الدلالية المتشابهة بشكل طبيعي معاً. على سبيل المثال، قد يظهر مخطط t-SNE مجموعة تحتوي على "ملك" و"ملكة" و"أمير" و"عاهل"، مما يوضح أن نموذج معالجة اللغات الطبيعية (NLP) يستوعب مفهوم الملكية.
- الجينوميات والمعلوماتية الحيوية: يستخدم الباحثون t-SNE لتصور بيانات تسلسل الحمض النووي الريبي (RNA) أحادية الخلية. من خلال تقليل آلاف قيم التعبير الجيني إلى مخطط ثنائي الأبعاد، يمكن للعلماء تحديد أنواع خلايا متميزة وتتبع مسارات النمو، مما يساعد في اكتشاف رؤى بيولوجية جديدة وعلامات الأمراض.
Link to this sectionالمقارنة مع PCA#
من المهم التمييز بين t-SNE وتحليل المكونات الرئيسية (PCA)، وهي تقنية اختزال شائعة أخرى.
- PCA هي تقنية خطية تركز على الحفاظ على التباين العام للبيانات. إنها حتمية وفعالة حسابياً، مما يجعلها ممتازة لضغط البيانات الأولي أو تقليل الضوضاء.
- t-SNE هي تقنية غير خطية تركز على الحفاظ على الأحياء المحلية. إنها احتمالية (عشوائية) وأثقل حسابياً، لكنها تنتج تصورات أفضل بكثير للمشعبات المعقدة غير الخطية.
من الممارسات الفضلى الشائعة في المعالجة المسبقة للبيانات استخدام PCA أولاً لتقليل البيانات إلى حجم يمكن التعامل معه (على سبيل المثال، 50 بُعداً) ثم تطبيق t-SNE للتصور النهائي. هذا النهج الهجين يقلل من العبء الحسابي ويصفي الضوضاء التي قد تؤدي إلى تدهور نتيجة t-SNE.
Link to this sectionمثال باستخدام 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()Link to this sectionاعتبارات أساسية#
على الرغم من قوتها، تتطلب t-SNE ضبطاً دقيقاً للمعاملات الفائقة. يُعد معامل "الحيرة" (perplexity) أمراً بالغ الأهمية؛ فهو يخمن في جوهره عدد الجيران القريبين لكل نقطة. يمكن أن يؤدي ضبطه على مستوى منخفض جداً أو مرتفع جداً إلى تصورات مضللة. علاوة على ذلك، لا تحافظ t-SNE على المسافات العالمية بشكل جيد - مما يعني أن المسافة بين مجموعتين متميزتين على المخطط لا تعكس بالضرورة مسافتهما الفيزيائية في الفضاء الأصلي. على الرغم من هذه الفروق الدقيقة، تظل تقنية أساسية للتحقق من بنيات الرؤية الحاسوبية (CV) وفهم مجموعات البيانات المعقدة. غالباً ما يستفيد المستخدمون الذين يديرون مجموعات بيانات واسعة النطاق من منصة Ultralytics لتنظيم بياناتهم قبل إجراء مثل هذا التحليل المتعمق.






