سؤال

لدي مجموعة بيانات ضخمة بالكلمات word_i والأوزان weight[i,j], ، حيث الوزن هو "قوة الاتصال" بين الكلمات.

أرغب في تحريك هذه البيانات ، لكنني أريد أن أعرف ما إذا كان هناك أي خوارزمية موجودة لصنع رمز ثنائي لكل كلمة بطريقة ترتبط مسافة الهامغ بين رموز الكلمات بهذا الوزن.

إضافة:
المشكلة التي أعمل عليها هي أنني أريد أن أحاول تعليم شبكة عصبية أو SVM لجعل الارتباطات بين الكلمات. وهذا هو السبب في أنني قررت تحديد البيانات. لا تسأل لماذا لا أرغب في استخدام نماذج Markov أو الرسوم البيانية فقط ، لقد جربتها وأريد مقارنتها بالشبكات العصبية.

لذا،

  1. أريد NN الخاص بي على الكلمة المعطاة "A" إرجاع أقرب جمعية أو أي كلمات محددة واحتمالاتها ،

  2. لقد حاولت فقط أن أقوم بتثبيط وجعل "AB" كمدخلات ووزن كإجابة مفضلة ، فقد عمل هذا بشكل سيء ،

  3. كنت أفكر في جعل العتبة (للأوزان) لتغيير 1 بت. كلما كانت هذه العتبة أصغر ، كلما زادت البتات التي تحتاجها ،

  4. لدي موقف: a-> b w1 ؛ b-> a w2 ؛ W1 >> W2 ، لذلك الاتجاه مهم.

هل كانت مفيدة؟

المحلول

ما يمكنك فعله هو استخدام خريطة تنظيم ذاتي التنظيم (SOM) مع طوبولوجيا الطول الثابت ، على سبيل المثال ، كلمات n-bit ، بحيث على سبيل المثال إذا n = 8 ، كل خلية في SOM لديها 8 جيران بالضبط (تلك التي لقد تم قلب بت). الآن إذا كان لديك كلمات k [قاموس] يمكنك تشفير كل كلمة [قاموس] كمتجه للأرقام الحقيقية بين 0..1 بحيث يكون للكلمة ITH عنصر ITH على 1 وآخرون إلى 0. "المسافة" بين اثنين من المتجهين التعسفي A1 ... AK و B1 ... BK من خلال تلخيصها

 i,j : ai * bj * distance(ai, bj)

مما يمنحك مقياس المسافة لتشغيل خوارزمية SOM. عندما تستقر SOM ، فإن كلمات [القاموس] القريبة من بعضها البعض في مقياسك تقترب من بعضها البعض في طوبولوجيا الخريطة ، والتي تحصل منها على الترميز بشكل تافلي ككلمات [ثنائية].

لاحظ أن الخريطة يجب أن تحتوي على خلايا أكثر من كلمات ، أي 2 ** n> K.

هذه الإجابة بالطبع تفترض خلفية مع خرائط تنظيم الذات. يرىhttp://en.wikipedia.org/wiki/self-organizing_map

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top