প্রিন্সিপাল কম্পোনেন্ট অ্যানালাইসিস (PCA) একটি আনসুপারভাইজড লার্নিং অ্যালগরিদম যা মেশিন লার্নিং-এ ডায়মেনশন্যালিটি রিডাকশনের জন্য ব্যবহৃত হয়। এটি একটি স্ট্যাটিস্টিক্যাল প্রক্রিয়া যা كورিলেটেড ফিচারগুলোর অবজারভেশনকে অর্থোগোনাল ডেটার সাহায্যে লিনিয়ারলি আনকোরিলেটেড ফিচারগুলোর একটি সমষ্টিতে রূপান্তরিত করে। এই নতুন রূপান্তরিত ফিচারগুলোকে প্রিন্সিপাল কম্পোনেন্ট বলা হয়।
এটি এক্সপ্লোরেটরি ডেটা অ্যানালাইসিস এবং প্রেডিক্টিভ মডেলিং-এর জন্য একটি বিখ্যাত টুল। এটি প্রদত্ত ডেটাসেট থেকে ভেরিয়েন্স কমিয়ে একটি শক্তিশালী প্যাটার্ন খুঁজে বের করার একটি পদ্ধতি।
PCA প্রতিটি অ্যাট্রিবিউটের ভেরিয়েন্স বিবেচনা করে কাজ করে, কারণ উচ্চ ভেরিয়েন্স 지닌 অ্যাট্রিবিউট ক্লাসগুলোর মধ্যে বিভাজন দেখায়, এবং এভাবে এটি ডায়মেনশন্যালিটি কমায়। PCA-এর কিছু বাস্তব ব্যবহার: ইমেজ প্রসেসিং, মুভি রিকমেন্ডেশন সিস্টেম, কমিউনিকেশন চ্যানেলগুলোর পাওয়ার অ্যালোকেশন অপ্টিমাইজেশন। এটি একটি ফিচার এক্সট্রাকশন পদ্ধতি, তাই এটি গুরুত্বপূর্ণ ভেরিয়েবলগুলো ধরে রাখে এবং কম গুরুত্বপূর্ণ ভেরিয়েবলগুলো বাদ দেয়।
প্রিন্সিপাল কম্পোনেন্টস অ্যানালাইসিসকে করহুনেন-লোভ (Karhunen-Loeve) বা K-L মেথডও বলা হয়। এটি kটি n-ডাইমেনশনাল অর্থোগোনাল ভেক্টর খুঁজে বের করে যা ডেটাকে সেরা উপস্থাপন করতে পারে, যেখানে k ≤ n। মূল ডেটাকে একটি অনেক ছোট স্পেসে প্রজেক্ট করা হয়, ফলে ডায়মেনশন্যালিটি রিডাকশন হয়। এটি অ্যাট্রিবিউটগুলোর সারাংশ लेकर একটি বিকল্প ছোট ভেরিয়েবল সেট তৈরি করে। মূল ডেটাকেই এই ছোট সেটে প্রজেক্ট করা যায়।
PCA-এর ধাপসমূহ
ডেটা নরমালাইজেশন: ইনপুট ডেটা নরমালাইজ করা হয় যাতে প্রতিটি অ্যাট্রিবিউট একই রেঞ্জে পড়ে। এই ধাপটি নিশ্চিত করে যে বড় ডোমেনের অ্যাট্রিবিউট ছোট ডোমেনের অ্যাট্রিবিউটকে দাবা না দেয়।
অর্থোনরমাল ভেক্টর গণনা: PCA kটি অর্থোনরমাল ভেক্টর গণনা করে যা নরমালাইজড ইনপুট ডেটার একটি বেসিস তৈরি করে। এগুলো ইউনিট ভেক্টর যারা পরস্পর লম্ব দিক নির্দেশ করে। এগুলোকে প্রিন্সিপাল কম্পোনেন্ট হিসেবে সংজ্ঞায়িত করা হয়। ইনপুট ডেটা প্রিন্সিপাল কম্পোনেন্টগুলোর একটি লিনিয়ার সমষ্টি।
গুরুত্ব ক্রমে সাজানো: প্রিন্সিপাল কম্পোনেন্টগুলো "সিগনিফিকেন্স" বা শক্তির হ্রাসমান ক্রমে সাজানো হয়। এগুলো মূলত ডেটার জন্য নতুন অক্ষের সেট হিসেবে কাজ করে, ভেরিয়েন্স সম্পর্কে গুরুত্বপূর্ণ তথ্য দেয়। অর্থাৎ, সাজানো অক্ষগুলো এমন যে প্রথম অক্ষ ডেটার মধ্যে সবচেয়ে বেশি ভেরিয়েন্স দেখায়, দ্বিতীয় অক্ষ পরের সর্বোচ্চ ভেরিয়েন্স, ইত্যাদি।
দুর্বল কম্পোনেন্ট অপসারণ: কম্পোনেন্টগুলো গুরুত্বের হ্রাসমান ক্রমে সাজানো থাকায়, দুর্বল কম্পোনেন্টগুলো (কম ভেরিয়েন্স 지닌) অপসারণ করে ডেটার আকার ছোট করা যায়। সবচেয়ে শক্তিশালী প্রিন্সিপাল কম্পোনেন্টগুলো ব্যবহার করে মূল ডেটার একটি ভালো সন্নিকট মান পুনর্গঠন করা সম্ভব।