কম্পিউটার

SOM অ্যালগরিদম কি?


SOM স্ব-সংগঠিত বৈশিষ্ট্য মানচিত্র উপস্থাপন করে৷ এটি একটি ক্লাস্টারিং এবং ডেটা ভিজ্যুয়ালাইজেশন কৌশল একটি নিউরাল নেটওয়ার্ক দৃষ্টিভঙ্গির উপর নির্ভর করে। SOM-এর নিউরাল নেটওয়ার্কের ভিত্তি নির্বিশেষে, এটি কেবল উপস্থাপন করা হয়-প্রোটোটাইপ-ভিত্তিক ক্লাস্টারিংয়ের পরিবর্তনের প্রেক্ষাপটে সর্বনিম্ন।

SOM এর অ্যালগরিদম নিম্নরূপ -

  • সেন্ট্রোয়েড শুরু করুন।

  • পুনরাবৃত্তি করুন

  • পরবর্তী অবজেক্টটি বেছে নিন।

  • বস্তুর নিকটতম সেন্ট্রোয়েড নির্ধারণ করুন।

  • এই সেন্ট্রোয়েড এবং সেন্ট্রোয়েডগুলিকে রিফ্রেশ করুন যেগুলি কাছাকাছি, অর্থাৎ, একটি নির্দিষ্ট আশেপাশে৷

  • যতক্ষণ না সেন্ট্রোয়েডগুলি খুব বেশি পরিবর্তন না হয় বা একটি থ্রেশহোল্ড আউটস্পেস না হয়।

  • প্রতিটি বস্তুকে তার নিকটতম সেন্ট্রোয়েড তৈরি করুন এবং সেন্ট্রোয়েড এবং ক্লাস্টারগুলি পুনরুদ্ধার করুন৷

শুরু করা − এই ধাপ (লাইন 1) একাধিক উপায়ে প্রয়োগ করা যেতে পারে। একটি পদ্ধতি হল সেই উপাদানের ডেটাতে পর্যবেক্ষণ করা মানগুলির পরিসর থেকে এলোমেলোভাবে একটি সেন্ট্রোয়েডের প্রতিটি উপাদান নির্বাচন করা৷

যদিও এই পদ্ধতিটি কাজ করে, এটি মূলত সর্বোত্তম পদ্ধতি নয়, বিশেষ করে দ্রুত কনভারজেন্স তৈরির জন্য। আরেকটি পদ্ধতি হল অ্যাক্সেসযোগ্য ডেটা পয়েন্ট থেকে এলোমেলোভাবে আসল সেন্ট্রোয়েড নির্বাচন করা। এটি অনেকটা কে-মিনসের জন্য এলোমেলোভাবে সেন্ট্রোয়েড বেছে নেওয়ার মতো।

একটি বস্তুর নির্বাচন − লুপের প্রথম ধাপ (লাইন 3) হল পরবর্তী বস্তুর পছন্দ। এটা সহজ, কিন্তু বেশ কিছু অসুবিধা আছে। যেহেতু কনভারজেন্সের জন্য কিছু পদক্ষেপের প্রয়োজন হতে পারে, প্রতিটি ডেটা অবজেক্ট বেশ কয়েকবার ব্যবহার করা যেতে পারে, বিশেষ করে যদি একাধিক অবজেক্ট ছোট হয়। কিন্তু বস্তুর সংখ্যা বড় হলে, প্রতিটি বস্তু ব্যবহার করার প্রয়োজন নেই। এটি প্রশিক্ষণ সেটে তাদের ফ্রিকোয়েন্সি উন্নত করে বস্তুর নির্দিষ্ট গোষ্ঠীর প্রভাব উন্নত করার জন্যও প্রযোজ্য৷

অ্যাসাইনমেন্ট৷ − নিকটতম সেন্ট্রয়েড (লাইন 4) নির্ণয় করা সহজ, যদিও এটির জন্য একটি দূরত্ব মেট্রিকের বর্ণনা প্রয়োজন। ইউক্লিডীয় দূরত্ব মেট্রিক ব্যবহার করা হয়, যেমন ডট প্রোডাক্ট মেট্রিক। ডট প্রোডাক্টের দূরত্ব ব্যবহার করার সময়, ডেটা ভেক্টরগুলি সাধারণত আগে স্বাভাবিক করা হয় এবং রেফারেন্স ভেক্টরগুলি প্রতিটি ধাপে স্বাভাবিক করা হয়। এই পদ্ধতিতে, ডট প্রোডাক্ট মেট্রিক ব্যবহার করা কোসাইন পরিমাপ ব্যবহার করার সমান।

আপডেট করুন − আপডেট ধাপ (লাইন 5) কঠিন। m1..., mk, সেন্ট্রোয়েড হতে দিন। টাইম স্টেপ t এর জন্য, p(t) কে বর্তমান অবজেক্ট (বিন্দু) হতে দিন এবং বিবেচনা করুন যে p(t) এর নিকটতম সেন্ট্রোয়েড হল mj। তাই, t+1 সময়ের জন্য, jth centroid নিম্নলিখিত সমীকরণ ব্যবহার করে রিফ্রেশ করা হয়।

$$\mathrm{mj(t + 1) =mj(t) + hj(t)(p(t) - mj(t))}$$

সমাপ্তি − এটি নির্ধারণ করা হচ্ছে কখন এটি একটি স্থিতিশীল সেন্ট্রোয়েড সেটের জন্য পর্যাপ্ত হবে এটি একটি অপরিহার্য বিষয়। আদর্শভাবে, যতক্ষণ না কনভারজেন্স দেখা যায়, অর্থাৎ যতক্ষণ না রেফারেন্স ভেক্টরগুলি পরিবর্তন বা ছোট না হয় ততক্ষণ পর্যন্ত পুনরাবৃত্তি চলতেই হবে। কনভারজেন্সের খরচ ডেটা এবং 𝛼(t) সহ একাধিক কারণের উপর ভিত্তি করে।


  1. ট্রিপল ডিইএস অ্যালগরিদমের মডিউলগুলি কী কী?

  2. ব্লোফিশ অ্যালগরিদমের অপারেশনগুলি কী কী?

  3. সি টোকেন কি?

  4. C# এ মন্তব্য কি?