খুব উচ্চ মাত্রিকতার ডেটার জন্য কীভাবে পিসিএ করবেন?


12

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

আমি পড়েছি যে কেবলমাত্র আপনার ডেটা ম্যাট্রিক্স নেওয়া এবং পরিবর্তে গণনা করা সম্ভব তবে এটি আমার পক্ষে কার্যকর হয় না। ঠিক আছে, আমি এর ঠিক অর্থটি বুঝতে পেরেছি তা নিশ্চিত নয়, এটি পরিবর্তে it's ম্যাট্রিক্স হওয়ার কথা বলেছি (আমার ক্ষেত্রে )। আমি ইগেনফেসের টিউটোরিয়ালে তাদের সম্পর্কে পড়েছিলাম তবে তাদের কেউই এটিকে এমনভাবে ব্যাখ্যা করতে পারে বলে মনে হয়নি যা আমি সত্যিই এটি পেতে পারি।DDD/nDD/nn×np×ppn

সংক্ষেপে, এই পদ্ধতির কোনও সাধারণ অ্যালগরিদমিক বর্ণনা আছে যাতে আমি এটি অনুসরণ করতে পারি?


আপনি যা পড়েছেন তা সঠিক। ম্যাট্রিক্স শীর্ষকে গ্রাম ম্যাট্রিক্স বলা হয়। এর ইগেনভেেক্টরগুলি মূলত (ছোট আকারের) উপাদান। এর ইগেনভ্যালুগুলি কোভেরিয়েন্স ম্যাট্রিক্স এর ইজেনভ্যালুগুলির ফ্যাক্টর পর্যন্ত ঠিক অভিন্ন । DD1/nDD/n
অ্যামিবা

উত্তর:


10

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

আপনি যদি পারস্পরিক সম্পর্ক মেট্রিক্সে পিসিএ করতে চান তবে এসভিডি প্রয়োগ করার আগে আপনাকে আপনার ডেটা ম্যাট্রিক্সের কলামগুলি প্রমিত করতে হবে। এটি মাধ্যমকে কেন্দ্র করে (কেন্দ্র করে) এবং তারপরে স্ট্যান্ডার্ড বিচ্যুতি (স্কেলিং) দ্বারা বিভাজন করার পরিমাণ।

আপনি যদি পুরো পিসিএ চান তবে এটি সবচেয়ে কার্যকর পন্থা হবে approach আপনি কিছু বীজগণিতের সাথে যাচাই করতে পারেন যে এটি আপনাকে নমুনা কোভারিয়েন্স ম্যাট্রিক্সের বর্ণালী পচন হিসাবে একই উত্তর দেয়।

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


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

1
আগ্রহী পাঠক এসভিডি এর মাধ্যমে পিসিএ সম্পাদনের আরও বিশদ জানতে এখানে দেখতে পারেন: এসভিডি এবং পিসিএর মধ্যে সম্পর্ক। কীভাবে পিসিএ করতে এসভিডি ব্যবহার করবেন?
অ্যামিবা

10

আপনি এই মুহূর্তে যা করছেন তা নিকটবর্তী, তবে আপনাকে অবশ্যই নিশ্চিত করতে হবে যে আপনি (data . data.T) / linesবামদিকে ইগানভেেক্টরগুলি বাম data.Tদিকে গুনতে পারেন, যাতে এর আইজেন্টেক্টরগুলি পাওয়া যায় (data.T . data) / lines। এটিকে কখনও কখনও "ট্রান্সপোজ ট্রিক" বলা হয়।

এখানে আরও কিছু বিবরণ দেওয়া হল। ধরুন আপনার কাছে একটি ম্যাট্রিক্স যা আপনি পিসিএ করতে চান; সরলতার জন্য, ধরুন যে এর কলামগুলি ইতোমধ্যে শূন্য গড় হিসাবে স্বাভাবিক হয়েছে, যাতে আমাদের কেবল কোভারিয়েন্স ম্যাট্রিক্স এর ইগেনভেেক্টরগুলি গণনা করতে হবে ।AAATA

এখন যদি একটি ম্যাট্রিক্স হয়, যার সাথে , তবে একটি খুব বড় ম্যাট্রিক্স। সুতরাং এর আইজেনভেেক্টরগুলি গণনা করার পরিবর্তে আমরা অনেক ছোট ম্যাট্রিক্স এর ইগেনভেেক্টরগুলি গণনা করতে চাই - ধরে নিচ্ছি আমরা দুজনের মধ্যে একটি সম্পর্ক খুঁজে বের করতে পারি। তাহলে কীভাবে এর ইগেনভেেক্টরগুলি এর ইগেনভেেক্টরগুলির সাথে সম্পর্কিত ?Am×nn>>mATAn×nATAm×mAATATAAAT

আসুন এগেনুয়ালু সহ এর একটি আইগনেক্টর হন । তারপরvAATλ

  • AATv=λv
  • AT(AATv)=AT(λv)
  • (ATA)(ATv)=λ(ATv)

অন্য কথায়, যদি একজন eigenvector হয় , তারপর একজন eigenvector হয় , একই eigenvalue সঙ্গে। সুতরাং যখন একটি পিসিএ করণ পরিবর্তে সরাসরি এর eigenvectors খোঁজার (যা খুব ব্যয়বহুল হতে পারে), এটা eigenvectors খুঁজে পাওয়া সহজ হয় এর দ্বারা বাম সংখ্যাবৃদ্ধি এই এবং তারপর পেতে eigenvectors এর ।একজন একজন টি একটি টি ভি একটি টি একটি একটি একটি টি একটি বনাম একজন একজন টি একটি টি একটি টি ভি একটি টি একটিvAATATvATAAATAvAATATATvATA


1
এটি "কার্নেল ট্রিক" পিসিএতে প্রয়োগ হয়েছে বলে মনে হচ্ছে। en.wikedia.org/wiki/Kernel_PCA কিছু বড় ম্যাট্রিক্স হ্যান্ডেল করার এটি খুব ভাল উপায়।
গিলিয়েড

+1 টি। সম্ভবত একটি যুক্ত করা উচিত যে শীর্ষটিকে গ্রাম ম্যাট্রিক্স বলা হয়। AA
অ্যামিবা

8

দেখে মনে হচ্ছে আপনি পিসিএ করার জন্য নিপালস অ্যালগরিদম যা চান তা হ'ল। এটি পরিসংখ্যানবিদদের মধ্যে একটি খুব জনপ্রিয় অ্যালগরিদম। এর অনেক সুবিধা রয়েছে:

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

বিবরণ
http://en.wik વિક

অ্যালগরিদম
এখানে অ্যালগরিদমের একটি সহজ এবং দুর্দান্ত বর্ণনা রয়েছে (বিভাগে 1.2)
http://stats4.eng.mcmaster.ca/w/mediafiles/mediawiki/f/f7/Sੈਕਸ਼ਨ-Extra-Class-1.pdf

পিসিএ করার আগে প্রথমে সেন্টার-স্কেলটি মনে রাখবেন কারণ এটি স্কেল সংবেদনশীল।


4

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

আপনি পাইথনের উল্লেখ করার সাথে সাথে আমি উল্লেখ করতে পারি যে অ্যালগোরিদম বিজ্ঞান-শিখায় প্রয়োগ করা হয় : পিসিএ ক্লাসে। বিশেষত, এটি ইগেনফেসগুলি প্রদর্শিত উদাহরণ হিসাবে ব্যবহৃত হয় ।

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