খুব বড় স্পার্স ম্যাট্রিক্সে পিসিএ প্রয়োগ করুন


16

আমি আর এর সাথে একটি পাঠ্য শ্রেণিবিন্যাসের কাজটি করছি, এবং আমি ১২০,০০০ বাই সাইজের ২২৪৯০ মাপের একটি ডকুমেন্ট-টার্ম ম্যাট্রিক্স পেয়েছি (কেবল ৪ মিলিয়ন নন-শূন্য এন্ট্রি, ১% এর কম এন্ট্রি)। এখন আমি পিসিএ (অধ্যক্ষ উপাদান উপাদান বিশ্লেষণ) ব্যবহার করে মাত্রিকতা হ্রাস করতে চাই। দুর্ভাগ্যক্রমে, আর আর এই বিশাল ম্যাট্রিক্সটি পরিচালনা করতে পারে না, তাই আমি পিসিএ করার জন্য কিছু অন্যান্য কৌশল ব্যবহারের আশায় এই স্পার্স ম্যাট্রিক্সটিকে "ম্যাট্রিক্স মার্কেট ফর্ম্যাট" এ একটি ফাইলে সংরক্ষণ করি।

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

আমি যা চাই তা হ'ল সমস্ত পিসি (120,000) গণনা করা, এবং কেবলমাত্র শীর্ষ এন পিসি বেছে নিন, যারা 90% বৈকল্পিকতার জন্য দায়ী । স্পষ্টতই, এক্ষেত্রে, আমাকে কিছু সংখ্যক ক্ষুদ্রতর বৈকল্পিক মান 0 (কোভেরিয়েন্স ম্যাট্রিক্সে) সেট করার জন্য আমাকে একটি প্রাইসারি দিতে হবে, অন্যথায়, কোভরিয়েন্স ম্যাট্রিক্স বিচ্ছিন্ন হবে না এবং এর আকার হবে 120,000 বাই 120,000, যা একটি একক মেশিন দিয়ে পরিচালনা করা অসম্ভব। এছাড়াও, লোডিংগুলি (আইজেনভেেক্টরগুলি) চূড়ান্তভাবে বড় হবে এবং এলোমেলো ফর্ম্যাটে সংরক্ষণ করা উচিত।

কোন সাহায্যের জন্য অনেক ধন্যবাদ!

দ্রষ্টব্য: আমি 24GB র‍্যাম এবং 8 সিপিইউ কোর সহ একটি মেশিন ব্যবহার করছি using


ম্যাট্রিক্স কতটা স্পর্শযুক্ত? আপনি কীভাবে ফলাফলের এসভিডি ব্যবহার করবেন? আপনার যদি কেবলমাত্র এর অংশের প্রয়োজন হয় তবে আপনি সম্ভবত এটি প্রায় সস্তা ব্যয় করতে পারেন।
আর্নল্ড নিউমায়ার

@ আর্নল্ডনিউমায়ার আমাকে ক্ষমা করুন, আমি বিরল তথ্য যুক্ত করতে ভুলে গেছি। আমি আমার সম্পূর্ণ ধারণার সাথে পোস্টটি আপডেট করেছি।
এনসোম হোডার

এসএলইপিসি, মাহাউট এবং আর্লবা প্রত্যেকে এখন পর্যন্ত উত্তরে প্রস্তাবিত প্রতিটিই আপনার সমস্যার জন্য উপযুক্ত বলে মনে হচ্ছে।
আর্নল্ড নিউমায়ার

1
আপনি কেন সমস্ত 120 কে গণনা করতে চান ? দেখে মনে হচ্ছে আপনি কেবল 90% বৈকল্পিকের জন্য অ্যাকাউন্টিং চান যা গণনা করার জন্য খুব সস্তা হওয়া উচিত।
জেদ ব্রাউন

@ জেডব্রাউন আরে জেড, আপনি পুরোপুরি ঠিক বলেছেন! আমি কেবল তাদের ক্ষেত্রেই আগ্রহী যারা 90% বৈকল্পিকতার জন্য অ্যাকাউন্ট করে, এবং একই সাথে আইজেনভেেক্টর (পরে পরীক্ষার ডেটাসেট রূপান্তর করার জন্য)। আপনি কি আমাকে আপনার সস্তা পদ্ধতি সম্পর্কে জানাতে পারেন ?
এনসোম হোডার

উত্তর:


4

আমি আড়লবা প্যাকেজটির পরামর্শ দিচ্ছি - এটি এসভিডি হিসাবে কার্যত একই ফলাফল উত্পন্ন করে, তবুও আপনি সমাধানের জন্য অল্প সংখ্যক একক মান নির্ধারণ করতে পারেন। একটি উদাহরণ, বিক্ষিপ্ত ম্যাট্রিক্স ব্যবহার Netflix এর পুরস্কার সমাধানের জন্য, এখানে পাওয়া যাবে: http://bigcomputing.blogspot.de/2011/05/bryan-lewiss-vignette-on-irlba-for-svd.html


তোমার মন্তব্যের জন্য ধন্যবাদ. প্রকৃতপক্ষে, আমি সেই ভিডিওটি দেখেছি এবং গতকাল অলবা প্যাকেজও চেষ্টা করেছি , তবে মনে হয়েছিল এটি কেবল কয়েকটি একক মান গণনা করার জন্য ব্যবহার করা যেতে পারে । যাইহোক, পোস্টে বর্ণিত হিসাবে, আমি সমস্ত একক মান (120,000) গণনা করতে চাই , যাতে তারা যে অ্যাকাউন্টগুলির বিভিন্ন প্রকারের হিসাব করে তা অনুসারে উপযুক্ত সংখ্যক পিসি বেছে নিতে পারে। এক্ষেত্রে আমার ধারণা, আরলবা আর উপযুক্ত নয়।
এনসোম হোডার

আপনি কি এসভিডি ফলাফল একইভাবে পিসিএ ব্যবহার করতে পারেন? পিসিএ করার জন্য আপনাকে এসভিডি করার আগে ডেটা কেনার দরকার নেই?
Zach

@ জাচ - এসভিডি হ'ল পিসিএর পিছনে মূল অ্যালগরিদম (দেখুন prcomp - stat.ethz.ch/R-manual/R-patched/library/stats/html/prcomp.html )। আপনার প্রশ্নের উপর নির্ভর করে বিভিন্ন ধরণের অপশন রয়েছে (যেমন, বিভিন্ন ধরণের স্কেলিংও প্রয়োগ করা যেতে পারে) যদিও ডেটা কেন্দ্রীকরণ পিসিএ সাপেক্ষে প্রমিত পদ্ধতিও।
মার্কে মার্ক করুন

আমি যদি এসভিডির আগে ডেটা কেন্দ্র না করে থাকি তবে এটি কতটা বড় চুক্তি? আমার কাছে একটি স্পর্শযুক্ত ম্যাট্রিক্স রয়েছে যা মেমরির সাথে খাপ খায়, তবে কেন্দ্রীভূতকরণ এটিকে ঘন এবং মেমরির সাথে মানিয়ে নিতে খুব বড় করে তোলে।
জাচ

@ জ্যাচ - আপনি কীভাবে আপনার নমুনাগুলিকে একে অপরের সাথে সম্পর্কিত করতে চান তা নির্ভর করে এটি নির্ভর করে। আপনি যদি স্মৃতি সীমাবদ্ধতার কারণে কেন্দ্রিক ডেটা নিয়ে কাজ করতে না পারেন তবে আমি অনুমান করি যে সিদ্ধান্তটি আপনার পক্ষে হয়েছে for সাধারণত, সেন্টারিং ডেটাতে পিসিএ নমুনাগুলির কোভেরিয়েন্স ম্যাট্রিক্সে কাজ করে থাকে যখন ডেটা কেন্দ্র করে এবং স্কেলিংয়ের ক্ষেত্রে পিসিএ একটি পারস্পরিক সম্পর্ক ম্যাট্রিক্সে কাজ করে operate এই সিদ্ধান্তগুলির আরও অন্তর্দৃষ্টি জন্য, আপনি stats.stackexchange.com এ একটি প্রশ্ন জিজ্ঞাসা করতে বা পিসিএ সম্পর্কিত বিদ্যমান উত্তরগুলি সন্ধান করতে পারেন ।
বক্সে মার্ক করুন

8

আমি আংশিক এসভিডি গণনা করতে SLEPc ব্যবহার করার পরামর্শ দিইবিশদটির জন্য ব্যবহারকারীর ম্যানুয়ালের অধ্যায় 4 এবং এসভিডি ম্যান পৃষ্ঠাগুলি দেখুন।


1
যেহেতু তিনি পিসিএ চান তাকে এসভিডি কম্পিউটিংয়ের আগে অবশ্যই ডেটাটি কেন্দ্র করতে হবে। এটি স্পারসিটি নষ্ট করবে। এর জন্য এসএলইপিসি কোনও উপায়ে থাকতে পারে?
12:52

3
এটি কেবল বিরল + নিম্ন স্তরের। এসইএলপিসিকে ম্যাট্রিক্স এন্ট্রি প্রয়োজন হয় না, কেবল একটি রৈখিক অপারেটর, যা স্পার্স ম্যাট্রিক্স প্লাস সংশোধন হিসাবে প্রয়োগ করা যেতে পারে।
জেদ ব্রাউন

2

আমি মহাআউটের পক্ষে ভোট দিচ্ছি যা অন্যান্য এনএলপি / টিএ কার্যক্রমেও ম্যাপ / হ্রাস কার্যকর করে।


হ্যাঁ, আপনি ঠিক বলেছেন, আমার রোড ম্যাপে মাহত ঠিক আছে। তবে আমি কিছু "সিম্পল" (আমার ধারণা) কৌশল আগে থেকেই একটি প্রোটোটাইপ তৈরি করতে পছন্দ করি।
এনসোম হোডার

1

আমি একটি ইনক্রিমেন্টাল সিঙ্কুলার মান পচন ব্যবহার করার পরামর্শ দেব, যার মধ্যে অনেকগুলি সাহিত্যে রয়েছে। এই ক্ষেত্রে:

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

এই সমস্ত পদ্ধতির নীচে হ্রাস:

  • একটি ছোট ডেটা সেট দিয়ে শুরু করুন
  • কোনও উপায়ে একটি এসভিডি গণনা করুন (এই পদক্ষেপটি একটি একক কলাম ম্যাট্রিক্সের জন্য তুচ্ছ)
  • শেষ না হওয়া পর্যন্ত পুনরাবৃত্তি করুন:
    • নতুন ডেটা সেট যুক্ত করুন
    • নতুন ডেটা সেটের এসভিডি গণনা করতে বিদ্যমান এসভিডি ও আপডেট বিধিগুলি ব্যবহার করুন

এন


0

আপনি এখনও আর ব্যবহার করতে পারেন।

Revolution Rআর এর এমন একটি বিল্ড যা ডেটা সেটগুলি পরিচালনা করে যা র‌্যামের চেয়ে বড়। ফাংশনটি ব্যবহার করুন princomp

এটিতে পরিসংখ্যান ফাংশনগুলির একটি সম্পূর্ণ পরিসীমা রয়েছে বিশেষত র্যামের সাথে খাপ খায় না এমন বড় ডেটা স্টাইল সমস্যার জন্য তৈরি করা হয়, যেমন লিনিয়ার রিগ্রেশন, লজিস্টিক রিগ্রেশন, কোয়ান্টাইলস ইত্যাদি designed

"আমি একাডেমিক" বাক্সটি টিক দিয়ে আপনি পুরোপুরি বৈশিষ্ট্যযুক্ত একাডেমিক সংস্করণটি নিখরচায় ডাউনলোড করতে পারেন।

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