جارٍ تحميل الدرس...
في نافذة الطباعة اختر «حفظ كملف PDF» كوجهة.
تعلم غير موجه - المعمل 2
التعلم التنافسي (Competitive Learning) للتجميع، وتقليل الأبعاد، والتصور البصري
SOMUnsupervised) مبنية على نماذج بيولوجية من سبعينيات القرن الماضيCompetitive Learning): تتنافس الخلايا العصبية (Neurons) لتمثيل كل مدخلطبقة الإدخال (Input Layer)
تمثل ميزات (Features) البيانات
طبقة الإخراج (Output Layer)
شبكة ثنائية الأبعاد؛ كل خلية تمثل مجموعة (Cluster)
SOM المسافة الإقليدية إلى متجه أوزان كل خلية عصبيةBMUalpha يتناقص في كل حقبة (Epoch) حتى تتقارب الخريطة0.9 هو معامل التناقص المستخدم في تطبيق هذا المعمل تحديداEpochs)winner()BMU) بمقارنة المسافات مع أوزان كل مجموعةupdate()class SOM:
def winner(self, weights, sample):
D0 = sum((sample[i]-weights[0][i])**2 for i in range(len(sample)))
D1 = sum((sample[i]-weights[1][i])**2 for i in range(len(sample)))
return 0 if D0 < D1 else 1
def update(self, weights, sample, J, alpha):
for i in range(len(weights[0])):
weights[J][i] += alpha * (sample[i] - weights[J][i])
return weights| العينة | القيم |
|---|---|
| T1 | [1,1,0,0] |
| T2 | [0,0,0,1] |
| T3 | [1,0,0,0] |
| T4 | [0,0,1,1] |
10 حقب (Epochs)، معدل تعلم ابتدائي alpha = 0.5BMU)alpha *= 0.9for epoch in range(epochs):
for j in range(m):
sample = T[j]
J = som.winner(weights, sample)
weights = som.update(weights, sample, J, alpha)
alpha *= 0.9مثال محلول
[0, 0, 0, 1] باستخدام الأوزان المدربة00 تقريبا [0, 0, 0.57, 1.0]، المجموعة 1 تقريبا [1.0, 0.43, 0, 0]SOM على التعميم على مدخلات لم تر من قبلFeature) عبر الحقبalpha *= 0.5 مقابل alpha *= 0.9): كيف يتغير التقارب؟SOM لدعم 3 أو 4 مجموعات بدلا من 2BMU[1,1,1,1] ولاحظ كيفية تشكل المجموعاتSOM غير موجهة: تجمع البيانات وتقلل أبعادها دون الحاجة إلى تصنيفات (Labels)Mahmoud Abas|المعمل الثاني: الخرائط ذاتية التنظيم (خرائط Kohonen)