ম্যাট্রিক্স ফ্যাক্টরাইজেশন

ম্যাট্রিক্স ফ্যাক্টরাইজেশন একটি সাধারণ এমবেডিং মডেল। ফিডব্যাক ম্যাট্রিক্স A Rm×nদেওয়া, যেখানে m হল ব্যবহারকারীর সংখ্যা (বা প্রশ্ন) এবং n হল আইটেমের সংখ্যা, মডেল শিখেছে:

  • একটি ব্যবহারকারী এম্বেডিং ম্যাট্রিক্স URm×d, যেখানে সারি i হল ব্যবহারকারীর জন্য এমবেডিং।
  • একটি আইটেম এমবেডিং ম্যাট্রিক্স VRn×d, যেখানে সারি j হল আইটেম j-এর জন্য এমবেডিং।

পুনরাবৃত্ত মুভি উদাহরণ ব্যবহার করে ম্যাট্রিক্স ফ্যাক্টরাইজেশনের চিত্র।

এমবেডিংগুলি এমনভাবে শেখা হয়েছে যে পণ্য UVT ফিডব্যাক ম্যাট্রিক্স A-এর একটি ভাল অনুমান। লক্ষ্য করুন যে(i,j) এন্ট্রি U.VT ব্যবহারকারীর l10n-placeholder9 এর এমবেডিংয়ের ডট পণ্য l10n iUi,Vjj, যা আপনি Ai,jএর কাছাকাছি হতে চান।

উদ্দেশ্য ফাংশন নির্বাচন

একটি স্বজ্ঞাত উদ্দেশ্য ফাংশন হল বর্গ দূরত্ব। এটি করার জন্য, সমস্ত জোড়া পর্যবেক্ষিত এন্ট্রিগুলির উপর বর্গক্ষেত্র ত্রুটির যোগফল কমিয়ে দিন:

minURm×d, VRn×d(i,j)obs(AijUi,Vj)2.

এই অবজেক্টিভ ফাংশনে, আপনি শুধুমাত্র পর্যবেক্ষিত জোড়া (i, j), অর্থাৎ ফিডব্যাক ম্যাট্রিক্সে অ-শূন্য মানের উপরে যোগফল দেন। যাইহোক, শুধুমাত্র একটির মানের সমষ্টি একটি ভাল ধারণা নয়—সকলের একটি ম্যাট্রিক্সের একটি ন্যূনতম ক্ষতি হবে এবং এমন একটি মডেল তৈরি করবে যা কার্যকর সুপারিশ করতে পারে না এবং এটি খারাপভাবে সাধারণীকরণ করে।

তিনটি ম্যাট্রিক্সের দৃষ্টান্ত: শুধুমাত্র ম্যাট্রিক্স ফ্যাক্টরাইজেশন, ওয়েটেড ফ্যাক্টরাইজেশন এবং সিঙ্গুলার ভ্যালু ডিকম্পোজিশন পর্যবেক্ষণ করা হয়েছে।

সম্ভবত আপনি অপ্রদর্শিত মানগুলিকে শূন্য হিসাবে বিবেচনা করতে পারেন এবং ম্যাট্রিক্সের সমস্ত এন্ট্রির উপর যোগফল দিতে পারেন। এটি A এবং এর আনুমানিক UVTএর মধ্যে বর্গাকার ফ্রোবেনিয়াস দূরত্ব কমানোর সাথে মিলে যায়:

minURm×d, VRn×dAUVTF2.

আপনি ম্যাট্রিক্সের Singular Value Decomposition ( SVD ) এর মাধ্যমে এই দ্বিঘাত সমস্যার সমাধান করতে পারেন। যাইহোক, SVD একটি দুর্দান্ত সমাধানও নয়, কারণ বাস্তব অ্যাপ্লিকেশনগুলিতে, ম্যাট্রিক্স A খুব বিরল হতে পারে। উদাহরণস্বরূপ, একজন নির্দিষ্ট ব্যবহারকারী দেখেছেন এমন সমস্ত ভিডিওর তুলনায় YouTube-এর সমস্ত ভিডিওর কথা চিন্তা করুন৷ সমাধান UVT (যা ইনপুট ম্যাট্রিক্সের মডেলের আনুমানিকতার সাথে মিলে যায়) সম্ভবত শূন্যের কাছাকাছি হবে, যার ফলে সাধারণীকরণের কার্যকারিতা খারাপ হবে।

বিপরীতে, ওয়েটেড ম্যাট্রিক্স ফ্যাক্টরাইজেশন উদ্দেশ্যটিকে নিম্নলিখিত দুটি রাশিতে বিভক্ত করে:

  • পর্যবেক্ষিত এন্ট্রির উপর একটি সমষ্টি।
  • পর্যবেক্ষিত এন্ট্রির উপর একটি সমষ্টি (শূন্য হিসাবে গণ্য)।

minURm×d, VRn×d(i,j)obs(AijUi,Vj)2+w0(i,j)obs(Ui,Vj)2.

এখানে, w0 হল একটি হাইপারপ্যারামিটার যা দুটি পদকে ওজন করে যাতে উদ্দেশ্যটি একটি বা অন্যটির দ্বারা প্রভাবিত না হয়। এই হাইপারপ্যারামিটার টিউন করা খুবই গুরুত্বপূর্ণ।

(i,j)obswi,j(Ai,jUi,Vj)2+w0i,jobsUi,Vj2

যেখানে wi,j কোয়েরি i এবং আইটেম j এর ফ্রিকোয়েন্সির একটি ফাংশন।

উদ্দেশ্য ফাংশন মিনিমাইজ করা

উদ্দেশ্য ফাংশন কমানোর জন্য সাধারণ অ্যালগরিদমগুলির মধ্যে রয়েছে:

U এবং V দুটি ম্যাট্রিক্সের প্রতিটিতে উদ্দেশ্যটি দ্বিঘাতমূলক। (উল্লেখ্য, তবে সমস্যাটি যৌথভাবে উত্তল নয়।) WALS এম্বেডিংগুলিকে এলোমেলোভাবে শুরু করার মাধ্যমে কাজ করে, তারপরে এর মধ্যে পর্যায়ক্রমে:

  • U ঠিক করা এবং Vএর জন্য সমাধান করা।
  • V ঠিক করা এবং Uএর জন্য সমাধান করা।

প্রতিটি পর্যায় ঠিকভাবে সমাধান করা যেতে পারে (একটি লিনিয়ার সিস্টেমের সমাধানের মাধ্যমে) এবং বিতরণ করা যেতে পারে। এই কৌশলটি একত্রিত হওয়ার গ্যারান্টিযুক্ত কারণ প্রতিটি পদক্ষেপ ক্ষতি হ্রাস করার গ্যারান্টিযুক্ত।

SGD বনাম WALS

SGD এবং WALS এর সুবিধা এবং অসুবিধা রয়েছে। তারা কীভাবে তুলনা করে তা দেখতে নীচের তথ্য পর্যালোচনা করুন:

এসজিডি

খুব নমনীয় - অন্যান্য ক্ষতি ফাংশন ব্যবহার করতে পারেন.

সমান্তরাল করা যায়।

ধীর-যত দ্রুত একত্রিত হয় না।

পর্যবেক্ষণ না করা এন্ট্রিগুলি পরিচালনা করা কঠিন (নেতিবাচক নমুনা বা মাধ্যাকর্ষণ ব্যবহার করা প্রয়োজন)।

ওয়ালস

শুধুমাত্র ক্ষতি স্কোয়ারের উপর নির্ভরশীল.

সমান্তরাল করা যায়।

SGD এর চেয়ে দ্রুত রূপান্তরিত হয়।

পর্যবেক্ষিত এন্ট্রিগুলি পরিচালনা করা সহজ।