ম্যাট্রিক্স ফ্যাক্টরাইজেশন একটি সাধারণ এমবেডিং মডেল। ফিডব্যাক ম্যাট্রিক্স A \(\in R^{m \times n}\)দেওয়া, যেখানে \(m\) হল ব্যবহারকারীর সংখ্যা (বা প্রশ্ন) এবং \(n\) হল আইটেমের সংখ্যা, মডেল শিখেছে:
- একটি ব্যবহারকারী এম্বেডিং ম্যাট্রিক্স \(U \in \mathbb R^{m \times d}\), যেখানে সারি i হল ব্যবহারকারীর জন্য এমবেডিং।
- একটি আইটেম এমবেডিং ম্যাট্রিক্স \(V \in \mathbb R^{n \times d}\), যেখানে সারি j হল আইটেম j-এর জন্য এমবেডিং।
এমবেডিংগুলি এমনভাবে শেখা হয়েছে যে পণ্য \(U V^T\) ফিডব্যাক ম্যাট্রিক্স A-এর একটি ভাল অনুমান। লক্ষ্য করুন যে\((i, j)\) এন্ট্রি \(U . V^T\) ব্যবহারকারীর l10n-placeholder9 এর এমবেডিংয়ের ডট পণ্য l10n \(i\)\(\langle U_i, V_j\rangle\) । \(j\), যা আপনি \(A_{i, j}\)এর কাছাকাছি হতে চান।
উদ্দেশ্য ফাংশন নির্বাচন
একটি স্বজ্ঞাত উদ্দেশ্য ফাংশন হল বর্গ দূরত্ব। এটি করার জন্য, সমস্ত জোড়া পর্যবেক্ষিত এন্ট্রিগুলির উপর বর্গক্ষেত্র ত্রুটির যোগফল কমিয়ে দিন:
\[\min_{U \in \mathbb R^{m \times d},\ V \in \mathbb R^{n \times d}} \sum_{(i, j) \in \text{obs}} (A_{ij} - \langle U_{i}, V_{j} \rangle)^2.\]
এই অবজেক্টিভ ফাংশনে, আপনি শুধুমাত্র পর্যবেক্ষিত জোড়া (i, j), অর্থাৎ ফিডব্যাক ম্যাট্রিক্সে অ-শূন্য মানের উপরে যোগফল দেন। যাইহোক, শুধুমাত্র একটির মানের সমষ্টি একটি ভাল ধারণা নয়—সকলের একটি ম্যাট্রিক্সের একটি ন্যূনতম ক্ষতি হবে এবং এমন একটি মডেল তৈরি করবে যা কার্যকর সুপারিশ করতে পারে না এবং এটি খারাপভাবে সাধারণীকরণ করে।
সম্ভবত আপনি অপ্রদর্শিত মানগুলিকে শূন্য হিসাবে বিবেচনা করতে পারেন এবং ম্যাট্রিক্সের সমস্ত এন্ট্রির উপর যোগফল দিতে পারেন। এটি \(A\) এবং এর আনুমানিক \(U V^T\)এর মধ্যে বর্গাকার ফ্রোবেনিয়াস দূরত্ব কমানোর সাথে মিলে যায়:
\[\min_{U \in \mathbb R^{m \times d},\ V \in \mathbb R^{n \times d}} \|A - U V^T\|_F^2.\]
আপনি ম্যাট্রিক্সের Singular Value Decomposition ( SVD ) এর মাধ্যমে এই দ্বিঘাত সমস্যার সমাধান করতে পারেন। যাইহোক, SVD একটি দুর্দান্ত সমাধানও নয়, কারণ বাস্তব অ্যাপ্লিকেশনগুলিতে, ম্যাট্রিক্স \(A\) খুব বিরল হতে পারে। উদাহরণস্বরূপ, একজন নির্দিষ্ট ব্যবহারকারী দেখেছেন এমন সমস্ত ভিডিওর তুলনায় YouTube-এর সমস্ত ভিডিওর কথা চিন্তা করুন৷ সমাধান \(UV^T\) (যা ইনপুট ম্যাট্রিক্সের মডেলের আনুমানিকতার সাথে মিলে যায়) সম্ভবত শূন্যের কাছাকাছি হবে, যার ফলে সাধারণীকরণের কার্যকারিতা খারাপ হবে।
বিপরীতে, ওয়েটেড ম্যাট্রিক্স ফ্যাক্টরাইজেশন উদ্দেশ্যটিকে নিম্নলিখিত দুটি রাশিতে বিভক্ত করে:
- পর্যবেক্ষিত এন্ট্রির উপর একটি সমষ্টি।
- পর্যবেক্ষিত এন্ট্রির উপর একটি সমষ্টি (শূন্য হিসাবে গণ্য)।
\[\min_{U \in \mathbb R^{m \times d},\ V \in \mathbb R^{n \times d}} \sum_{(i, j) \in \text{obs}} (A_{ij} - \langle U_{i}, V_{j} \rangle)^2 + w_0 \sum_{(i, j) \not \in \text{obs}} (\langle U_i, V_j\rangle)^2.\]
এখানে, \(w_0\) হল একটি হাইপারপ্যারামিটার যা দুটি পদকে ওজন করে যাতে উদ্দেশ্যটি একটি বা অন্যটির দ্বারা প্রভাবিত না হয়। এই হাইপারপ্যারামিটার টিউন করা খুবই গুরুত্বপূর্ণ।
\[\sum_{(i, j) \in \text{obs}} w_{i, j} (A_{i, j} - \langle U_i, V_j \rangle)^2 + w_0 \sum_{i, j \not \in \text{obs}} \langle U_i, V_j \rangle^2\]
যেখানে \(w_{i, j}\) কোয়েরি i এবং আইটেম j এর ফ্রিকোয়েন্সির একটি ফাংশন।
উদ্দেশ্য ফাংশন মিনিমাইজ করা
উদ্দেশ্য ফাংশন কমানোর জন্য সাধারণ অ্যালগরিদমগুলির মধ্যে রয়েছে:
স্টকাস্টিক গ্রেডিয়েন্ট ডিসেন্ট (SGD) হল একটি জেনেরিক পদ্ধতি যা ক্ষতি কমানোর কাজ করে।
ওয়েটেড অল্টারনেটিং লেস্ট স্কোয়ার ( WALS ) এই বিশেষ উদ্দেশ্যের জন্য বিশেষায়িত।
U এবং V দুটি ম্যাট্রিক্সের প্রতিটিতে উদ্দেশ্যটি দ্বিঘাতমূলক। (উল্লেখ্য, তবে সমস্যাটি যৌথভাবে উত্তল নয়।) WALS এম্বেডিংগুলিকে এলোমেলোভাবে শুরু করার মাধ্যমে কাজ করে, তারপরে এর মধ্যে পর্যায়ক্রমে:
- \(U\) ঠিক করা এবং \(V\)এর জন্য সমাধান করা।
- \(V\) ঠিক করা এবং \(U\)এর জন্য সমাধান করা।
প্রতিটি পর্যায় ঠিকভাবে সমাধান করা যেতে পারে (একটি লিনিয়ার সিস্টেমের সমাধানের মাধ্যমে) এবং বিতরণ করা যেতে পারে। এই কৌশলটি একত্রিত হওয়ার গ্যারান্টিযুক্ত কারণ প্রতিটি পদক্ষেপ ক্ষতি হ্রাস করার গ্যারান্টিযুক্ত।
SGD বনাম WALS
SGD এবং WALS এর সুবিধা এবং অসুবিধা রয়েছে। তারা কীভাবে তুলনা করে তা দেখতে নীচের তথ্য পর্যালোচনা করুন:
এসজিডি
খুব নমনীয় - অন্যান্য ক্ষতি ফাংশন ব্যবহার করতে পারেন.
সমান্তরাল করা যায়।
ধীর-যত দ্রুত একত্রিত হয় না।
পর্যবেক্ষণ না করা এন্ট্রিগুলি পরিচালনা করা কঠিন (নেতিবাচক নমুনা বা মাধ্যাকর্ষণ ব্যবহার করা প্রয়োজন)।
ওয়ালস
শুধুমাত্র ক্ষতি স্কোয়ারের উপর নির্ভরশীল.
সমান্তরাল করা যায়।
SGD এর চেয়ে দ্রুত রূপান্তরিত হয়।
পর্যবেক্ষিত এন্ট্রিগুলি পরিচালনা করা সহজ।