তত্ত্বাবধানে থাকা সাদৃশ্য পরিমাপ

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

মনে রাখবেন, আমরা শুধুমাত্র আমাদের সাদৃশ্য পরিমাপ তৈরি করতে তত্ত্বাবধানে শিক্ষা নিয়ে আলোচনা করছি। সাদৃশ্য পরিমাপ, ম্যানুয়াল বা তত্ত্বাবধান করা হোক না কেন, তারপর একটি অ্যালগরিদম দ্বারা অ-তত্ত্বাবধান করা ক্লাস্টারিং সঞ্চালনের জন্য ব্যবহার করা হয়।

ম্যানুয়াল এবং তত্ত্বাবধান করা ব্যবস্থার তুলনা

এই টেবিলটি আপনার প্রয়োজনীয়তার উপর নির্ভর করে কখন একটি ম্যানুয়াল বা তত্ত্বাবধানে থাকা সাদৃশ্য পরিমাপ ব্যবহার করতে হবে তা বর্ণনা করে।

প্রয়োজনীয়তা ম্যানুয়াল তদারকি করেছে
সম্পর্কযুক্ত বৈশিষ্ট্যগুলিতে অপ্রয়োজনীয় তথ্য বাদ দিন। না, আপনাকে আলাদাভাবে বৈশিষ্ট্যগুলির মধ্যে পারস্পরিক সম্পর্ক অনুসন্ধান করতে হবে। হ্যাঁ, DNN অপ্রয়োজনীয় তথ্য মুছে দেয়।
গণনাকৃত মিলের অন্তর্দৃষ্টি প্রদান করুন। হ্যাঁ না, এম্বেডিং পাঠোদ্ধার করা যাবে না।
কয়েকটি বৈশিষ্ট্য সহ ছোট ডেটাসেটের জন্য উপযুক্ত। হ্যাঁ, কয়েকটি বৈশিষ্ট্য সহ একটি ম্যানুয়াল পরিমাপ ডিজাইন করা সহজ। না, ছোট ডেটাসেটগুলি একটি DNN-এর জন্য পর্যাপ্ত প্রশিক্ষণ ডেটা প্রদান করে না।
অনেক বৈশিষ্ট্য সহ বড় ডেটাসেটের জন্য উপযুক্ত। না, ম্যানুয়ালি একাধিক বৈশিষ্ট্য থেকে অপ্রয়োজনীয় তথ্য মুছে ফেলা এবং তারপর তাদের একত্রিত করা খুব কঠিন। হ্যাঁ, DNN স্বয়ংক্রিয়ভাবে অপ্রয়োজনীয় তথ্য মুছে দেয় এবং বৈশিষ্ট্যগুলিকে একত্রিত করে।

তত্ত্বাবধানে থাকা সাদৃশ্য পরিমাপের প্রক্রিয়া

নিম্নলিখিত চিত্রটি দেখায় কিভাবে একটি তত্ত্বাবধানে সাদৃশ্য পরিমাপ তৈরি করতে হয়:

ইনপুট বৈশিষ্ট্য তথ্য. DNN চয়ন করুন: অটোএনকোডার বা ভবিষ্যদ্বাণীকারী। এম্বেডিং বের করুন। পরিমাপ চয়ন করুন: ডট পণ্য, কোসাইন, বা ইউক্লিডীয় দূরত্ব।
চিত্র 1: একটি তত্ত্বাবধানে সাদৃশ্য পরিমাপ তৈরি করার পদক্ষেপ।

আপনি ইতিমধ্যে প্রথম ধাপ শিখেছেন. এই পৃষ্ঠাটি পরবর্তী ধাপ নিয়ে আলোচনা করে, এবং নিম্নলিখিত পৃষ্ঠাগুলি অবশিষ্ট ধাপগুলি নিয়ে আলোচনা করে।

প্রশিক্ষণ লেবেলের উপর ভিত্তি করে DNN নির্বাচন করুন

ইনপুট এবং লেবেল উভয় হিসাবে একই বৈশিষ্ট্য ডেটা ব্যবহার করে এমন একটি DNN প্রশিক্ষণের মাধ্যমে এম্বেডিংয়ে আপনার বৈশিষ্ট্য ডেটা হ্রাস করুন৷ উদাহরণস্বরূপ, বাড়ির ডেটার ক্ষেত্রে, DNN বৈশিষ্ট্যগুলি ব্যবহার করবে - যেমন দাম, আকার এবং পোস্টাল কোড - সেই বৈশিষ্ট্যগুলি নিজেরাই ভবিষ্যদ্বাণী করতে৷ একই বৈশিষ্ট্য ডেটা ভবিষ্যদ্বাণী করার জন্য বৈশিষ্ট্য ডেটা ব্যবহার করার জন্য, ডিএনএন এম্বেডিংগুলিতে ইনপুট বৈশিষ্ট্য ডেটা হ্রাস করতে বাধ্য হয়। আপনি সাদৃশ্য গণনা করতে এই এমবেডিং ব্যবহার করুন.

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

একটি অটোএনকোডার এবং একটি ভবিষ্যদ্বাণীকারী DNN এর মধ্যে একটি তুলনা৷ প্রারম্ভিক ইনপুট এবং লুকানো স্তরগুলি একই তবে আউটপুটটি ভবিষ্যদ্বাণীকারী মডেলের মূল বৈশিষ্ট্য দ্বারা ফিল্টার করা হয়।
চিত্র 2: একটি অটোএনকোডার এবং একটি ভবিষ্যদ্বাণীকারীর মধ্যে একটি তুলনা৷

একটি অটোএনকোডার এম্বেডিং তৈরি করার জন্য সবচেয়ে সহজ পছন্দ। যাইহোক, একটি অটোএনকোডার সর্বোত্তম পছন্দ নয় যখন কিছু বৈশিষ্ট্য সাদৃশ্য নির্ধারণে অন্যদের চেয়ে বেশি গুরুত্বপূর্ণ হতে পারে। উদাহরণস্বরূপ, হাউস ডেটাতে, ধরা যাক "দাম" "পোস্টল কোড" এর চেয়ে বেশি গুরুত্বপূর্ণ৷ এই ধরনের ক্ষেত্রে, DNN-এর প্রশিক্ষণ লেবেল হিসাবে শুধুমাত্র গুরুত্বপূর্ণ বৈশিষ্ট্যটি ব্যবহার করুন৷ যেহেতু এই DNN সমস্ত পূর্বাভাস দেওয়ার পরিবর্তে একটি নির্দিষ্ট ইনপুট বৈশিষ্ট্যের পূর্বাভাস দেয়৷ ইনপুট বৈশিষ্ট্য, এটি একটি ভবিষ্যদ্বাণীকারী DNN বলা হয়। লেবেল হিসাবে একটি বৈশিষ্ট্য চয়ন করতে নিম্নলিখিত নির্দেশিকা ব্যবহার করুন:

  • সাংখ্যিক বৈশিষ্ট্যগুলিকে লেবেল হিসাবে শ্রেণীবদ্ধ বৈশিষ্ট্যগুলির থেকে পছন্দ করুন কারণ সংখ্যাসূচক বৈশিষ্ট্যগুলির জন্য ক্ষতি গণনা করা এবং ব্যাখ্যা করা সহজ।

  • লেবেল হিসাবে কার্ডিনালিটি \(\lesssim\) 100 সহ শ্রেণীবদ্ধ বৈশিষ্ট্যগুলি ব্যবহার করবেন না। যদি আপনি তা করেন, DNN আপনার ইনপুট ডেটা এম্বেডিংয়ে কমাতে বাধ্য হবে না কারণ একটি DNN সহজেই নিম্ন-কার্ডিনালিটি শ্রেণীবদ্ধ লেবেলগুলির পূর্বাভাস দিতে পারে।

  • DNN-তে ইনপুট থেকে আপনি লেবেল হিসাবে যে বৈশিষ্ট্যটি ব্যবহার করেন তা সরান; অন্যথায়, DNN পুরোপুরি আউটপুট ভবিষ্যদ্বাণী করবে।

আপনার পছন্দের লেবেলের উপর নির্ভর করে, ফলস্বরূপ DNN হয় একটি অটোএনকোডার DNN বা একটি ভবিষ্যদ্বাণীকারী DNN।

DNN এর জন্য লস ফাংশন

DNN প্রশিক্ষণের জন্য, আপনাকে এই পদক্ষেপগুলি অনুসরণ করে একটি ক্ষতি ফাংশন তৈরি করতে হবে:

  1. DNN এর প্রতিটি আউটপুটের জন্য ক্ষতি গণনা করুন। আউটপুটগুলির জন্য যা হল:
    • সংখ্যাসূচক, গড় বর্গাকার ত্রুটি (MSE) ব্যবহার করুন।
    • ইউনিভ্যালেন্ট ক্যাটাগরিকাল, লগ লস ব্যবহার করুন। মনে রাখবেন যে আপনাকে লগ ক্ষতি নিজে বাস্তবায়ন করতে হবে না কারণ আপনি এটি গণনা করতে একটি লাইব্রেরি ফাংশন ব্যবহার করতে পারেন।
    • মাল্টিভ্যালেন্ট ক্যাটাগরিকাল, সফটম্যাক্স ক্রস এনট্রপি লস ব্যবহার করুন। মনে রাখবেন যে আপনাকে সফ্টম্যাক্স ক্রস এনট্রপি লস নিজে বাস্তবায়ন করতে হবে না কারণ আপনি এটি গণনা করতে একটি লাইব্রেরি ফাংশন ব্যবহার করতে পারেন।
  2. প্রতিটি আউটপুটের জন্য ক্ষতি যোগ করে মোট ক্ষতি গণনা করুন।

ক্ষতির সারসংক্ষেপ করার সময়, নিশ্চিত করুন যে প্রতিটি বৈশিষ্ট্য ক্ষতির আনুপাতিকভাবে অবদান রাখে। উদাহরণস্বরূপ, আপনি যদি রঙের ডেটাকে আরজিবি মানগুলিতে রূপান্তর করেন তবে আপনার তিনটি আউটপুট রয়েছে। কিন্তু তিনটি আউটপুটের ক্ষতির সারসংক্ষেপ মানে রঙের ক্ষতি অন্যান্য বৈশিষ্ট্যের তুলনায় তিনগুণ বেশি ওজন করা হয়। পরিবর্তে, প্রতিটি আউটপুটকে 1/3 দ্বারা গুণ করুন।

একটি অনলাইন সিস্টেমে DNN ব্যবহার করা

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