আমি কীভাবে সহযোগী ফিল্টারিংয়ে এসভিডি ব্যবহার করব?


30

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

ধরা যাক আমার সামাজিক গ্রাফটি ইনস্টাগ্রামের সাথে সম্পর্কিত, এবং কেবলমাত্র সামাজিক গ্রাফের উপর ভিত্তি করে আমাকে পরিষেবাতে ব্যবহারকারীদের সুপারিশ করার দায়িত্ব দেওয়া হয়েছিল। আমি প্রথমে একটি সংলগ্ন ম্যাট্রিক্স , এসভিডি নেব, , প্রথম ইগেনভ্যালুগুলি বেছে নেব , তবে কী?A (m×m)A=UsV

আমি সম্ভবত ম্যাট্রিক্সের একটি নতুন সেট তৈরি করব: তারপরে কেউ কী করে?

Unewm×ksnewk×kVnewk×m

আমি ওয়েবে দেখেছি এবং বেশিরভাগ লিঙ্কগুলি এসভিডি গণনা করার দিকে মনোনিবেশ করে, তবে এটির সাহায্যে কেউ আপনাকে বলবে না। তাহলে আমার কি করা উচিৎ?


1
এটি আপনার প্রশ্নের জবাব দিতে পারে: ডেটাসায়েন্স.স্ট্যাকেক্সেঞ্জারএইচএ
এভলি

উত্তর:


7

তবে: খাঁটি ভ্যানিলা এসভিডি দিয়ে আপনার মূল ম্যাট্রিক্সটি পুনরায় তৈরি করতে সমস্যা হতে পারে, অনুপস্থিত আইটেমগুলির জন্য মানগুলি পূর্বাভাস দেওয়া যাক। এই অঞ্চলের কার্যকর নিয়ম-এর থাম্বটি প্রতি মুভিতে গড় রেটিং গণনা করছে এবং প্রতিটি ব্যবহারকারীর / চলচ্চিত্রের সংমিশ্রণের জন্য এই গড়কে বিয়োগ করে, অর্থাত্ প্রতিটি ব্যবহারকারীর কাছ থেকে মুভি বায়াস বিয়োগ করে। তারপরে আপনাকে এসভিডি চালানোর পরামর্শ দেওয়া হচ্ছে এবং রেটিং পুনরায় তৈরি করতে বা অজানা মানগুলির পূর্বাভাস দেওয়ার জন্য আপনাকে এই পক্ষপাতমূলক মানগুলি কোথাও রেকর্ড করতে হবে to আমি সুপারিশের জন্য এসভিডি-তে সাইমন ফঙ্কের পোস্টটি পড়তাম - নেটফ্লিক্স প্রতিযোগিতার সময় তিনি একটি ইনক্রিমেন্টাল এসভিডি পদ্ধতির আবিষ্কার করেছিলেন।

http://sifter.org/~simon/journal/20061211.html

আমার ধারণা, এসভিডি বোধগম্য হওয়ার আগে ম্যাট্রিক্স এ ডিমানানিং করা, যেহেতু এসভিডির ঘনিষ্ঠ কাজিন পিসিএও একইভাবে কাজ করে। বর্ধিত গণনার ক্ষেত্রে, ফঙ্ক আমাকে বলেছিল যে আপনি যদি অবজ্ঞাপূর্ণ না করেন, তবে প্রথম গ্রেডিয়েন্ট দিকটি বাকী গণনার উপর প্রভাব ফেলবে। আমি এটিকে প্রথম দেখেছি, মূলত অবহেলা না করে জিনিস কাজ করে না।


24

আমি ভিন্ন মত পোষণ করতে চাই:

হারিয়ে যাওয়া মান হিসাবে প্রান্তগুলি হারিয়েছে

একটি সহযোগীতা ফিল্টারিং সমস্যা সালে সংযোগ যা উপস্থিত না থাকার (ব্যবহারকারী বিপরিতে করেননি আইটেমটি , ব্যক্তি এক্স ব্যক্তি বন্ধুত্বপূর্ন করেননি Y ) সাধারণত হিসাবে গণ্য করা হয় মান অনুপস্থিত , পূর্বাভাস করা বরং শূন্য হিসাবে থাকে। অর্থাৎ, তাহলে ব্যবহারকারী আমি আইটেমটি রেট করেননি , আমরা অনুমান করতে তিনি তা কি রেট পারে তিনি চান করেছিলেন এটিকে রেট দিয়েছে। ব্যক্তি যদি এক্স বন্ধুত্বপূর্ন করেননি Y , আমরা অনুমান করতে কিভাবে এটা সম্ভবত যে তিনি চাই চান চান তাকে বন্ধুকে। প্রস্তাবগুলি পুনর্গঠিত মানগুলির উপর ভিত্তি করে।ijxyijxy

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

হারিয়ে যাওয়া মান সহ এসভিডি

অবশ্যই, svd()ফাংশনটি কীভাবে হারিয়ে যাওয়া মানগুলির সাথে মানিয়ে নিতে জানে না। সুতরাং, আপনি ঠিক কি করা উচিত? ঠিক আছে , সমস্যাটি পুনরায় খালি করার একটি উপায় রয়েছে

"র্যাঙ্ক ম্যাট্রিক্স খুঁজুন মূল ম্যাট্রিক্স নিকটস্থ হয়"k

এটিই সমস্যাটি সমাধান করার চেষ্টা করছেন এবং svd()এটি সমাধান করার জন্য আপনি ব্যবহার করছেন না to আমার পক্ষে (নেটফ্লিক্স প্রাইজ ডেটাতে) কাজ করার উপায়টি ছিল:

  • , একটি সহজ মডেলের এন্ট্রি মাপসই চেষ্টা করুন এক্স আমি , = μ + + α আমি + + β । এটি আসলে একটি ভাল কাজ করে।X^i,j=μ+αi+βj

  • প্রত্যেক ব্যবহারকারীর বরাদ্দ করুন একটি K -vector তোমার দর্শন লগ করা আমি এবং প্রতিটি আইটেমের একটি -vector বনাম । (আপনার ক্ষেত্রে, প্রতিটি ব্যক্তি একটি ডান এবং বামে কে-ভেক্টর পান ) আপনি শেষ পর্যন্ত ডট পণ্য হিসাবে অবশিষ্টাংশের পূর্বাভাস দিবেন : i u i m v j mikuijkvjkuimvjm

  • মূল ম্যাট্রিক্সের দূরত্ব হ্রাসকারী ভেক্টরগুলি খুঁজতে কিছু অ্যালগরিদম ব্যবহার করুন। উদাহরণস্বরূপ, এই কাগজটি ব্যবহার করুন

ভাগ্য সুপ্রসন্ন হোক!

*: তেনালি যা প্রস্তাব দিচ্ছেন তা মূলত নিকটবর্তী প্রতিবেশী। আপনি অনুরূপ ব্যবহারকারীদের সন্ধান করার চেষ্টা করেন এবং সে সম্পর্কে সুপারিশ করেন। দুর্ভাগ্যক্রমে, স্পারসিটি সমস্যা (ম্যাট্রিক্সের ~ 99% মূল্য অনুপস্থিত) কোসাইন দূরত্ব বা জ্যাকার্ড সদৃশতা বা যা কিছু ব্যবহার করে নিকটতম প্রতিবেশী খুঁজে পাওয়া শক্ত করে তোলে । সুতরাং, তিনি প্রথমে ব্যবহারকারীকে একটি ছোট বৈশিষ্ট্যযুক্ত স্থানে সংকুচিত করতে এবং তারপরে সেখানে তুলনা করার জন্য ম্যাট্রিক্সের (এসইভিডি অনুপস্থিত মানগুলি অনুপস্থিত) দিয়ে সুপারিশ করছেন। এসভিডি-নিকটতম-প্রতিবেশীগুলি করা ভাল, তবে আমি এখনও এসভিডিকে সঠিক উপায়ে করার পরামর্শ দিচ্ছি (মানে ... আমার উপায়)। অযৌক্তিক মান অভিহিত করার দরকার নেই!


এটি আসলে আমি যে প্রতিক্রিয়াটি খুঁজছিলাম, এবং শুনতে চেয়েছিলাম :) আপনাকে অনেক ধন্যবাদ!
বিশাল

অদ্ভুতভাবে প্রশ্নটি জিজ্ঞাসা করা হয়েছিল "আমি ওয়েবে দেখেছি, এবং বেশিরভাগ লিঙ্কগুলি এসভিডি গণনা করার দিকে মনোনিবেশ করে, তবে আপনাকে কী করতে হবে তা কেউ আপনাকে বলে না। সুতরাং আমার কী করা উচিত?" বা এই বিষয়টির জন্য শিরোনামটি বলে, "আমি কীভাবে সহযোগী ফিল্টারিংয়ে এসভিডি ব্যবহার করব?"
তেনালিরামান

হ্যাঁ, এবং আমার উত্তরে সংক্ষেপে আমি কীভাবে এটি সহযোগী ফিল্টারিংয়ে ব্যবহার করি।
স্টম্পি জো পিট

1
+1, যেমনটি আমি বুঝতে পেরেছি, আপনি এসভিডি ব্যবহার করে নিম্ন র‌্যাঙ্কের ম্যাট্রিক্স গণনা করছেন না, তবে স্কোয়ার ত্রুটি হ্রাস করার একটি পুনরাবৃত্তি পদ্ধতি, তাই না? যাইহোক, আমি যদি এসভিডি ব্যবহার করতে চাই, তবে ম্যাট্রিক্স ফ্যাক্টরীকরণ করার আগে আমার কিছু মূল্যবোধের সাথে অনুপস্থিত এন্ট্রিগুলি পূরণ করা উচিত, তাই না?
অ্যাভোকাডো

1
svd()

14

এর সাথে কী করা উচিত তা কেউ আপনাকে না বলার কারণ এটি যদি আপনি জানেন যে এসভিডি কী করে, তবে এটির সাথে কী করা উচিত তা কিছুটা স্পষ্ট :-)।

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

A=U×s×VUV

এখন, আমি যদি আপনাকে একই বৈশিষ্ট্য স্থান থেকে দুটি ভেক্টর দিই এবং তারা অনুরূপ কিনা তা জানতে আপনাকে জিজ্ঞাসা করি, এটি সম্পাদন করার জন্য আপনি সবচেয়ে সহজ জিনিসটি কী ভাবেন? বিন্দু পণ্য.

ijiUj


দুটি প্রশ্ন: 1) এসভিডি চালানোর আগে আপনি কী শূন্যের (আইটেম জে ব্যবহারকারী দ্বারা পর্যালোচনা করা হয়নি) দিয়ে মানগুলি পূরণ করছেন? 2) কোনও নতুন ব্যবহারকারী আইটেম জে পছন্দ করলে আপনি কীভাবে গণনা করবেন?
বি_মিনার

1
@ বি_মিনার হাই, দেরি হওয়া প্রতিক্রিয়ার জন্য দুঃখিত। উত্তরগুলি: 1) হ্যাঁ, আমরা সাধারণত এসভিডি চালানোর আগে শূন্যের সাথে অনুপস্থিত মানগুলি পূরণ করি। যাইহোক, আমি সাধারণত এটি শূন্য-নির্ধারণের সাথে পূরণ করার পরামর্শ দিই - উদাহরণস্বরূপ, আপনি ব্যবহারকারী এখনও পর্যন্ত যে গড় রেটিং দিয়েছেন তার দ্বারা আপনি নিখোঁজ মানগুলি পূরণ করতে পারেন। 2) এসভিডি-ভিত্তিক পদ্ধতিটি কেবল পরিচিত ব্যবহারকারী এবং পরিচিত আইটেমগুলির জন্য। এটি নতুন ব্যবহারকারী বা নতুন আইটেমগুলি পরিচালনা করতে পারে না। এবং এটি কীভাবে করতে পারে, যদি কোনও নতুন ব্যবহারকারী আসে, ভবিষ্যতবাণী করার জন্য আমরা এই কাঠামোয় তাকে সম্পর্কে কিছু জানি না।
তেরালিরামান

1
@ বি_মিনার আপনি যদি নতুন ব্যবহারকারী / আইটেমগুলির সাথে কাজ করতে চান তবে আমাদের ধরে নিতে হবে যে কিছু ব্যবহারকারীর বৈশিষ্ট্য এবং আইটেমের বৈশিষ্ট্যগুলিতে আমাদের অ্যাক্সেস রয়েছে। তারপরে, আপনি পিডিএলএফ (প্রিডিকটিভ ডিসক্রিট ল্যাটেন্ট ফ্যাক্টর মডেল) এর মতো আরও পরিশীলিত মডেল ব্যবহার করতে পারেন। এটি আপনাকে নতুন ব্যবহারকারী / আইটেমগুলি পরিচালনা করতে দেয় কারণ এটি একটি পরিচিত বৈশিষ্ট্য স্থানের সাথে কাজ করে।
তেরালিরামান

@ তেনালিরামান আপনি নিশ্চিত যে এটি দেখতে পাবেন কিনা তা নিশ্চিত নন, তবে এখানে রয়েছে goes সুতরাং আমি ব্যবহারকারীদের (আক্ষরিক ব্যবহারকারীরা) তাদের পড়ে থাকা নথির উপর ভিত্তি করে বৈশিষ্ট্যগুলি তৈরি করতে টপিক মডেল (এলডিএ) ব্যবহার করেছি। আমি একটি "ব্যবহারকারী-বিষয় ভেক্টর" পেতে কেবলমাত্র শীর্ষস্থানীয় ভেক্টরকেই গড়িয়েছি। আমি এসভিডি (বা সম্ভবত এএলএস) এর সাথে অনুরূপ কিছু করতে চাই। ধরা যাক আমি পরিচিত ব্যবহারকারী-আইটেম ডেটা ব্যবহার করে এসভিডি গণনা করছি এবং তারপরে আমার কাছে নতুন ব্যবহারকারী রয়েছে যা বেশ কয়েকটি পরিচিত আইটেমগুলিতে "ভিজিট" করে। এই ক্ষেত্রে আইটেম ভেক্টরগুলি পরিচিত তবে ব্যবহারকারী ভেক্টরগুলি অজানা। ব্যবহারকারীর ভেক্টর গণনা করতে আমি কী আইটেম ভেক্টর ব্যবহার করতে পারি বা সমস্ত ডেটা ব্যবহার করে আমার আবার এসভিডি গণনা করা দরকার?
thecity2

দুর্দান্ত উত্তর তেনালি। ধারণাটি বোঝার জন্য খুব সহায়ক
নিহাল

3

যাঁরা স্পার-এসভিডি সুপারিশগুলি ব্যবহারিকভাবে প্রয়োগ করতে চান বা বিশদের জন্য উত্স কোডটি পরীক্ষা করতে চান তাদের প্রশ্নের "কীভাবে" তার উত্তর দেওয়ার চেষ্টা করা । স্পার্স-এসভিডি মডেল করতে আপনি একটি অফ-শেল্ফ এফওএসএস সফ্টওয়্যার ব্যবহার করতে পারেন। উদাহরণস্বরূপ, vowpal wabbit, libFM, অথবা redsvd

vowpal wabbit"এসভিডি-সদৃশ" অ্যালগরিদমগুলির 3 টি বাস্তবায়ন রয়েছে (3 টি কমান্ড লাইন বিকল্পের মধ্যে একটি দ্বারা নির্বাচিত)। কড়া কথায় এগুলিকে খাঁটি "ক্লাসিক" এসভিডি "এর পরিবর্তে" আনুমানিক, পুনরাবৃত্তিমূলক, ম্যাট্রিক্স ফ্যাক্টেরাইজেশন "বলা উচিত তবে এগুলি এসভিডির সাথে নিবিড়ভাবে সম্পর্কিত। আপনি এগুলিকে একটি বিচ্ছুরণের বেশিরভাগই গণ্য-দক্ষ-দক্ষ আনুমানিক এসভিডি-ফ্যাক্টরীকরণ হিসাবে ভাবেন (বেশিরভাগ ক্ষেত্রে শূন্য) ম্যাট্রিক্স।

নেটফ্লিক্স স্টাইলের মুভি সুপারিশগুলি করার জন্য vowpal wabbitএটির একটি সম্পূর্ণ, কার্যকারী রেসিপি এবং এর "নিম্ন-স্থানযুক্ত চতুর্ভুজ" ( --lrq) বিকল্পটি যা আমার পক্ষে সবচেয়ে ভাল বলে মনে হচ্ছে:

ডেটা সেট ফর্ম্যাট ফাইল ratings.vw(ব্যবহারকারী এবং চলচ্চিত্রের দ্বারা প্রতিটি লাইনে প্রতিটি রেটিং):

5 |user 1 |movie 37
3 |user 2 |movie 1019
4 |user 1 |movie 25
1 |user 3 |movie 238
...

যেখানে 1 ম নম্বরটি রেটিং (1 থেকে 5 টি তারা) তার পরে রেট দেওয়া ব্যবহারকারীর আইডি এবং মুভি আইডি যা রেট করা হয়েছিল।

পরীক্ষার ডেটা একই ফর্ম্যাটে থাকে তবে (allyচ্ছিকভাবে) রেটিং কলামটি বাদ দিতে পারে:

 |user 1 |movie 234
 |user 12 |movie 1019
...

allyচ্ছিকভাবে কারণ ভবিষ্যদ্বাণীগুলির সাথে তুলনা করার জন্য আমাদের পরীক্ষার পূর্বাভাসগুলি মূল্যায়ন / পরীক্ষা করতে হয়। আমরা যদি রেটিংগুলি বাদ দিই, vowpal wabbitতবুও রেটিংগুলির পূর্বাভাস দিব তবে ভবিষ্যদ্বাণী ত্রুটিটি (ডেটাতে প্রকৃত মানগুলির তুলনায় পূর্বাভাসিত মান) অনুমান করতে সক্ষম হবে না।

প্রশিক্ষণ দেওয়ার জন্য আমরা ব্যবহারকারী এবং চলচ্চিত্র তাদের পছন্দ (বা অপছন্দ) এর মধ্যে সুপ্ত ইন্টারঅ্যাকশন কারণগুলির vowpal wabbitএকটি সেট খুঁজতে বলি N। আপনি এই সম্পর্কে সাধারণ থিমগুলি সন্ধানের মতো ভাবতে পারেন যেখানে একই ব্যবহারকারীরা একই উপায়ে চলচ্চিত্রের উপসেটকে রেট দেয় এবং ব্যবহারকারীরা কীভাবে এখনও তার রেট নির্ধারণ করেনি এমন চলচ্চিত্রকে কীভাবে রেট দেবে তা অনুমান করার জন্য এই সাধারণ থিমগুলি ব্যবহার করে।

vw অপশন এবং আর্গুমেন্ট আমাদের ব্যবহার করা প্রয়োজন:

  • --lrq <x><y><N> "নিম্ন-স্থানযুক্ত চতুষ্কোণ" সুপ্ত-কারণগুলি সন্ধান করে।
  • <x><y>: "উম" এর অর্থ ডেটা সেটে ইউ [সেরস] এবং মি [ওভি] নাম-স্থানগুলি অতিক্রম করুন। নোট করুন যে প্রতিটি নাম-স্পেসের কেবল 1 ম অক্ষরটি --lrqবিকল্পের সাথে ব্যবহৃত হয় ।
  • <N>: N=14নীচে হ'ল সুপ্ত কারণগুলি আমরা খুঁজতে চাই number
  • -f model_filename: চূড়ান্ত মডেল লিখুন model_filename

সুতরাং একটি সাধারণ পূর্ণ প্রশিক্ষণ আদেশ হবে:

    vw --lrq um14 -d ratings.vw -f ratings.model

আমাদের কাছে একবার ratings.modelমডেল ফাইল হয়ে গেলে , আমরা এটি ব্যবহার করে একটি নতুন ডেটা-সেটে অতিরিক্ত রেটিংয়ের পূর্বাভাস দিতে পারি more_ratings.vw:

    vw -i ratings.model -d more_ratings.vw -p more_ratings.predicted

ভবিষ্যদ্বাণীগুলি ফাইলটিতে লেখা হবে more_ratings.predicted

ব্যবহার demo/movielensমধ্যে vowpalwabbitউৎস গাছ, আমি পেতে ~ 0,693 মায়ে (গড় পরম ত্রুটি) উপর 1 মিলিয়ন ব্যবহারকারী / সিনেমা রেটিং প্রশিক্ষণ পর ml-1m.ratings.train.vw14 সুপ্ত-কারণের (যার অর্থ SVD মধ্যম ম্যাট্রিক্স একটি 14x14 সারি x কলাম ম্যাট্রিক্স হয়) সঙ্গে এবং স্বাধীন উপর পরীক্ষা পরীক্ষা সেট ml-1m.ratings.test.vw। 0.69 এমএই কত ভাল? আনরেটেড (0) কেস [0 থেকে 5] সহ সম্ভাব্য পূর্বাভাসের সম্পূর্ণ ব্যাপ্তির জন্য, একটি 0.69 ত্রুটি সম্পূর্ণ পরিসরের 13.8% (0.69 / 5.0), অর্থাৎ প্রায় 86.2% যথার্থতা (1 - 0.138)।

গিথুবের vowpal wabbitউত্স ট্রিতে ডকুমেন্টেশন সহ অনুরূপ ডেটা-সেট (মুভিলেনস) এর জন্য উদাহরণ এবং একটি পূর্ণ ডেমো খুঁজে পেতে পারেন :

নোট:

  • movielensডেমো বেশ কয়েকটি বিকল্প আমি বাদ দেওয়া (সরলীকরণের জন্য) আমার উদাহরণ থেকে ব্যবহার করে: বিশেষ করে --loss_function quantile, --adaptiveএবং--invariant
  • মডেলগুলি সংরক্ষণ এবং লোড করার সময় এর --lrqবাস্তবায়ন vwতার থেকে অনেক দ্রুততর হয় --rank

ক্রেডিট:

  • --rank vw বিকল্পটি জ্যাক হফম্যান বাস্তবায়ন করেছিলেন
  • --lrq পল মিনেরো দ্বারা vw বিকল্প (alচ্ছিক ড্রপআউট সহ) প্রয়োগ করা হয়েছিল
  • স্বর ওয়াববিট (ওরফে ভিডাব্লু) জন ল্যাংফোর্ডের মস্তিষ্কের সন্তান

1

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

প্রস্তাবক সিস্টেমের জন্য SVDএবং SVD++অ্যালগরিদমের বিবরণগুলি বিভাগ 5.3.1এবং 5.3.2বইয়ের মধ্যে পাওয়া যাবে Francesco Ricci, Lior Rokach, Bracha Shapira, and Paul B. Kantor. Recommender Systems Handbook. 1st edition, 2010

পাইথনে, একটি সু-প্রতিষ্ঠিত প্যাকেজ রয়েছে যার নাম দেওয়া এই অ্যালগরিদমগুলি কার্যকর করা হয়েছে surprise। এর ডকুমেন্টেশনে তারা এই অ্যালগরিদমের বিবরণও উল্লেখ করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.