t-distributed Stochastic Neighbor Embedding (t-SNE)
استكشف كيف تعمل t-SNE على تصور البيانات عالية الأبعاد. تعرّف على كيفية كشف العناقيد في ميزات الرؤية الحاسوبية لـ Ultralytics YOLO26 وتحسين نماذج التعلم الآلي.
تضمين الجوار العشوائي الموزع وفقًا لتوزيع t (t-SNE) هو أسلوب إحصائي لتصوير البيانات عالية الأبعاد، وذلك بمنح كل نقطة بيانات موقعًا على خريطة ثنائية أو ثلاثية الأبعاد. ويُستخدم هذا الأسلوب، وهو شكل من أشكال خفض الأبعاد غير الخطي، على نطاق واسع في تعلّم الآلة لاستكشاف مجموعات البيانات التي تحتوي على مئات أو آلاف السمات. وعلى خلاف الأساليب الخطية التي تركز على الحفاظ على البُنى العامة، يتفوق t-SNE في إبقاء المثيلات المتشابهة متقاربة، كاشفًا عن العناقيد والمتشعبات المحلية التي قد تظل مخفية لولا ذلك. وهذا ما يجعله أداة بالغة القيمة في مجالات تمتد من أبحاث علم الجينوم إلى فهم المنطق الداخلي للشبكات العصبية العميقة.
آلية عمل t-SNE#
تتمثل الفكرة الأساسية وراء t-SNE في تحويل أوجه التشابه بين نقاط البيانات إلى احتمالات مشتركة. وفي الفضاء الأصلي عالي الأبعاد، تقيس الخوارزمية التشابه بين النقاط باستخدام توزيع غاوسي. فإذا كانت نقطتان متقاربتين، فستكون لديهما احتمالية عالية لأن تكونا «جارتين». ثم تحاول الخوارزمية إسقاط هاتين النقطتين في فضاء منخفض الأبعاد (ثنائي أو ثلاثي الأبعاد عادةً) مع الحفاظ على هذه الاحتمالات.
ولتحقيق ذلك، تحدد الخوارزمية توزيعًا احتماليًا مشابهًا في الخريطة منخفضة الأبعاد باستخدام توزيع t لستودنت. ولهذا التوزيع المحدد ذيول أكثر ثقلًا من التوزيع الغاوسي الطبيعي، مما يساعد على معالجة «مشكلة التزاحم»—وهي ظاهرة تميل فيها النقاط في الفضاء عالي الأبعاد إلى الانهيار فوق بعضها عند إسقاطها إلى أبعاد أقل. ومن خلال دفع النقاط غير المتشابهة بعيدًا عن بعضها في التصوير، ينشئ 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 لتنظيم بياناتهم قبل إجراء هذا النوع من التحليل المتعمق.









