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