পরিসংখ্যানে ক্রস ভ্যালিডেশন পদ্ধতি
পরিসংখ্যান এবং ডেটা সায়েন্সে, সবচেয়ে বড় চ্যালেঞ্জগুলোর মধ্যে একটি হলো এটা নিশ্চিত করা যে, একটি মডেল শুধু যে ডেটার উপর প্রশিক্ষিত হয়েছে তার উপরেই ভালো কাজ করে তাই নয়, বরং নতুন ও পূর্বে না দেখা ডেটার উপরেও যেন ভালো কাজ করে। এই সমস্যাটিকে প্রায়শই জেনারালাইজেশন বলা হয়। এখানেই ক্রস-ভ্যালিডেশনের ভূমিকা আসে: এটি এমন একটি মডেল মূল্যায়ন পদ্ধতি যা একটিমাত্র ডেটা সেট ব্যবহার করে করা একক মূল্যায়নের চেয়ে আরও ন্যায্য এবং সামঞ্জস্যপূর্ণভাবে মডেলের পারফরম্যান্স পরিমাপ করার জন্য ডিজাইন করা হয়েছে।
ক্রস ভ্যালিডেশন কেন প্রয়োজন?
যখন আমরা কোনো ভবিষ্যদ্বাণীমূলক মডেল তৈরি করি—উদাহরণস্বরূপ, বাড়ির দামের পূর্বাভাস দেওয়ার জন্য একটি রিগ্রেশন মডেল বা স্প্যাম শনাক্ত করার জন্য একটি ক্লাসিফিকেশন মডেল—তখন আমরা সাধারণত ডেটাকে দুটি ভাগে ভাগ করি: একটি ট্রেনিং সেট এবং একটি টেস্ট সেট। মডেলটিকে ট্রেনিং ডেটার উপর প্রশিক্ষণ দেওয়া হয় এবং তারপর টেস্ট ডেটার উপর মূল্যায়ন করা হয়। এই পদ্ধতিটি সহজ, কিন্তু এর একটি অসুবিধা আছে: মূল্যায়নের ফলাফল ডেটা কীভাবে ভাগ করা হয়েছে তার উপর ব্যাপকভাবে নির্ভর করতে পারে। যদি টেস্ট ডেটা "সহজ" হয়, তাহলে পারফরম্যান্স ভালো দেখায়; আর যদি টেস্ট ডেটা "কঠিন" হয়, তাহলে পারফরম্যান্স খারাপ দেখায়।
ক্রস-ভ্যালিডেশন বিভিন্ন ডেটা সেটের উপর একাধিক প্রশিক্ষণ ও পরীক্ষণ প্রক্রিয়া সম্পাদন করে এবং তারপর ফলাফলগুলোর গড় করার মাধ্যমে একটিমাত্র ডেটা সেটের উপর নির্ভরতা কমায়। এর ফলে প্রাপ্ত পারফরম্যান্সের অনুমানগুলো বাস্তব-জগতের পরিস্থিতির আরও বেশি প্রতিনিধিত্ব করে।
ক্রস ভ্যালিডেশনের মৌলিক ধারণা
ক্রস-ভ্যালিডেশনের মূল ভিত্তি হলো ডেটাকে কয়েকটি অংশে (ফোল্ড) ভাগ করা। প্রতিটি ইটারেশনে, কিছু ফোল্ড মডেলকে ট্রেন করার জন্য এবং একটি ফোল্ড মডেলটি টেস্ট করার জন্য ব্যবহৃত হয়। এই প্রক্রিয়াটি ততক্ষণ পর্যন্ত পুনরাবৃত্তি করা হয় যতক্ষণ না প্রতিটি ফোল্ড টেস্ট ডেটা হিসেবে ব্যবহৃত হয়। এরপর প্রতিটি ইটারেশনের মূল্যায়ন স্কোরগুলোকে একত্রিত করা হয় (সাধারণত গড় এবং কখনও কখনও স্ট্যান্ডার্ড ডেভিয়েশন সহ) যা মডেলের পারফরম্যান্সের একটি সার্বিক চিত্র প্রদান করে।
উদাহরণস্বরূপ, k=5 সহ k-fold ক্রস ভ্যালিডেশনে, ডেটাকে ৫টি ফোল্ডে ভাগ করা হয়। প্রথম ইটারেশনে: ফোল্ড ১ টেস্ট হিসেবে, এবং ফোল্ড ২-৫ ট্রেনিং হিসেবে। দ্বিতীয় ইটারেশনে: ফোল্ড ২ টেস্ট হিসেবে, এবং এভাবেই ফোল্ড ৫ পর্যন্ত চলতে থাকে।
ক্রস ভ্যালিডেশনের সাধারণ প্রকারভেদ
১. হোল্ডআউট ভ্যালিডেশন (ট্রেন-টেস্ট স্প্লিট)
প্রযুক্তিগতভাবে এটি 'পুনরাবৃত্ত' ক্রস-ভ্যালিডেশন না হলেও, হোল্ডআউট পদ্ধতিকে প্রায়শই একটি মৌলিক ভ্যালিডেশন ধাপ হিসেবে বিবেচনা করা হয়। এক্ষেত্রে ডেটা একবার ভাগ করা হয়, যেমন—৮০% ট্রেনিং এবং ২০% টেস্টিং। এর সুবিধা হলো এটি দ্রুত এবং সহজ, কিন্তু অসুবিধা হলো ফলাফলে উচ্চ তারতম্য দেখা যায়, কারণ এটি একটিমাত্র বিভাজনের উপর নির্ভর করে।
এই পদ্ধতিটি সাধারণত তখন ব্যবহার করা হয় যখন উপাত্তের পরিমাণ অনেক বেশি হয়, ফলে একটি ভাগই যথেষ্ট প্রতিনিধিত্বমূলক হয়ে ওঠে।
২. কে-ফোল্ড ক্রস ভ্যালিডেশন
এটি ক্রস-ভ্যালিডেশনের সবচেয়ে জনপ্রিয় রূপ। k প্যারামিটারটি প্রায়শই 5 বা 10 হিসাবে বেছে নেওয়া হয়, কারণ এটি গণনাগত ব্যয় এবং অনুমানের গুণমানের মধ্যে ভারসাম্য রক্ষা করে বলে মনে করা হয়।
সুবিধাদি:
– ডেটা আরও দক্ষতার সাথে ব্যবহার করা (প্রতিটি ডেটা ট্রেন এবং টেস্টের অংশ হয়ে ওঠে)।
– পারফরম্যান্সের অনুমানগুলো হোল্ডআউটের চেয়ে বেশি স্থিতিশীল।
অভাব:
– এতে বেশি সময় লাগে, কারণ এটি মডেলটিকে k বার প্রশিক্ষণ দেয়।
– যদি ডেটার পরিমাণ খুব বেশি হয় অথবা মডেলটি খুব জটিল হয়, তাহলে গণনার খরচ বেশি হতে পারে।
৩. স্তরবিন্যস্ত কে-ফোল্ড ক্রস ভ্যালিডেশন
শ্রেণীবিভাগের সমস্যার ক্ষেত্রে, বিশেষ করে যদি শ্রেণীগুলো ভারসাম্যহীন হয় (যেমন, ৯০% নেতিবাচক, ১০% ইতিবাচক), সাধারণ k-fold পদ্ধতিতে শ্রেণী বিন্যাস অসম হয়। Stratified k-fold নিশ্চিত করে যে প্রতিটি ফোল্ডে শ্রেণীর অনুপাত মূল ডেটার শ্রেণীর অনুপাতের প্রায় সমান থাকে।
রোগ শনাক্তকরণ মডেল, জালিয়াতি বা অন্যান্য ক্ষেত্রে, যেখানে সংখ্যালঘু শ্রেণীর সংখ্যা কম, সেখানে এটি বিশেষভাবে গুরুত্বপূর্ণ।
৪. লিভ-ওয়ান-আউট ক্রস ভ্যালিডেশন (LOOCV)
LOOCV-তে, ফোল্ডের সংখ্যা ডেটার পরিমাণের সমান (k = n)। এর মানে হলো, প্রতিটি ইটারেশনে শুধুমাত্র একটি অবজারভেশন টেস্ট ডেটা হয়, এবং বাকিগুলো ট্রেনিং ডেটা হয়ে যায়।
সুবিধাদি:
– প্রতিটি ইটারেশনে প্রায় সমস্ত ডেটা ট্রেনিংয়ের জন্য ব্যবহৃত হয়, তাই এস্টিমেশন বায়াস কম হতে পারে।
অভাব:
বৃহৎ ডেটাসেটের ক্ষেত্রে এটি গণনাগতভাবে অত্যন্ত ব্যয়বহুল।
কিছু ধরণের সমস্যার ক্ষেত্রে অনুমানের ভেদাঙ্ক বেশি হতে পারে, কারণ প্রতি পুনরাবৃত্তিতে পরীক্ষা সেটে মাত্র একটি বিন্দু থাকে।
যখন ডেটা খুব কম থাকে, যেমন ছোট নমুনা আকারের গবেষণা, তখন প্রায়শই LOOCV ব্যবহার করা হয়।
৫. পুনরাবৃত্ত কে-ফোল্ড ক্রস ভ্যালিডেশন
এই পদ্ধতিতে ভিন্ন ভিন্ন (এলোমেলো) ফোল্ড অ্যাসাইনমেন্টের মাধ্যমে k-ফোল্ড প্রক্রিয়াটি একাধিকবার পুনরাবৃত্তি করা হয়। এর লক্ষ্য হলো একটিমাত্র ফোল্ড অ্যাসাইনমেন্টের উপর নির্ভরতা কমানো এবং আরও স্থিতিশীল অনুমান তৈরি করা।
উদাহরণস্বরূপ, “10-fold repeated 3 times” এর অর্থ হলো 10-fold প্রক্রিয়াটি ৩ বার চালানো (মোট ৩০টি প্রশিক্ষণ এবং মূল্যায়ন)।
৬. টাইম সিরিজ ক্রস ভ্যালিডেশন
টাইম সিরিজ ডেটার জন্য প্রচলিত ক্রস-ভ্যালিডেশন উপযুক্ত নয়, কারণ এটি ট্রেনিং প্রক্রিয়ায় 'ভবিষ্যতের প্রভাব' নিয়ে আসতে পারে। টাইম সিরিজে, কালিক ক্রম অবশ্যই বজায় রাখতে হবে। অতএব, নিম্নলিখিত পদ্ধতিগুলো ব্যবহার করা হয়:
– ঘূর্ণায়মান/স্লাইডিং জানালা: প্রাথমিক পর্যায়ে প্রশিক্ষণ নিন, তারপর পরবর্তী পর্যায়ে পরীক্ষা করুন, এরপর জানালাটি সরে যায়।
– সম্প্রসারণশীল উইন্ডো: সময়ের সাথে সাথে প্রশিক্ষণ ডেটা বৃদ্ধি পায়, তারপর পরবর্তী সময়ে তা পরীক্ষা করা হয়।
এই পদ্ধতিটি মাসিক বিক্রয় পূর্বাভাস, শেয়ারের মূল্য বা রিয়েল-টাইম সেন্সরের জন্য প্রাসঙ্গিক।
ক্রস ভ্যালিডেশনে মূল্যায়ন মেট্রিক্স
ক্রস ভ্যালিডেশন শুধুমাত্র একটি মূল্যায়ন কাঠামো; ব্যবহৃত মেট্রিকগুলো সমস্যার ধরনের উপর নির্ভর করে:
– রিগ্রেশন: MSE, RMSE, MAE, R-স্কয়ার্ড।
– শ্রেণিবিন্যাস: অ্যাকুরেসি, প্রিসিশন, রিকল, এফ১-স্কোর, ROC-AUC।
– ভারসাম্যহীন শ্রেণিবিন্যাস: ROC-AUC, PR-AUC (প্রিসিশন-রিকল), ভারসাম্যপূর্ণ নির্ভুলতা।
ক্রস-ভ্যালিডেশনের ফলাফল সাধারণত একটি মেট্রিক গড় এবং স্ট্যান্ডার্ড ডেভিয়েশন হিসেবে প্রকাশ করা হয় (যেমন, অ্যাকুরেসি ০.৮৯ ± ০.০৩)। স্ট্যান্ডার্ড ডেভিয়েশন মডেলটির স্থিতিশীলতা বুঝতে সাহায্য করে।
মডেল নির্বাচন এবং প্যারামিটার সমন্বয়ের জন্য ক্রস ভ্যালিডেশন
ক্রস ভ্যালিডেশনের অন্যতম প্রধান ব্যবহার হলো মডেল নির্বাচন এবং হাইপারপ্যারামিটার টিউনিং। উদাহরণস্বরূপ:
– k-NN-এ k নির্বাচন করা।
– ডিসিশন ট্রি-তে সর্বোচ্চ গভীরতা নির্বাচন করুন।
রিজ/ল্যাসো রিগ্রেশনে রেগুলারাইজেশন প্যারামিটারগুলো নির্ধারণ করুন।
SVM-এ C এবং গামা নির্ণয় করুন।
উত্তম পদ্ধতিতে, ক্রস-ভ্যালিডেশন ব্যবহার করে ট্রেনিং ডেটার উপর টিউনিং প্রক্রিয়াটি সম্পন্ন করা হয়, এবং চূড়ান্ত মূল্যায়নের জন্য ফাইনাল টেস্ট ডেটা আলাদা রাখা হয়। এর ফলে, মডেলটি ইভ্যালুয়েশন ডেটার সাথে ওভার-ফিট হয়ে যাওয়ার কারণে সৃষ্ট "অতিরিক্ত আশাবাদ" প্রতিরোধ করা যায়।
আরও কঠোর একটি পদ্ধতিকে নেস্টেড ক্রস-ভ্যালিডেশন বলা হয়, যা হলো ক্রস-ভ্যালিডেশনের ভেতরে আরেকটি ক্রস-ভ্যালিডেশন: এর বাইরের লুপটি মূল্যায়নের জন্য এবং ভেতরের লুপটি সূক্ষ্ম সমন্বয়ের জন্য ব্যবহৃত হয়। গবেষণার ক্ষেত্রে এটি জনপ্রিয়, কারণ এটি আরও নিরপেক্ষ কর্মক্ষমতার অনুমান প্রদান করে।
ক্রস ভ্যালিডেশনের সুবিধা এবং সীমাবদ্ধতা
প্রধান সুবিধাসমূহ:
১. একক বিভাগের তুলনায় আরও স্থিতিশীল কর্মক্ষমতার অনুমান প্রদান করে।
২. ডেটা দক্ষতার সাথে ব্যবহার করুন, বিশেষ করে যখন ডেটাসেট ছোট হয়।
৩. আরও সাধারণ মডেল বেছে নিতে সাহায্য করে এবং ওভারফিটিং-এর ঝুঁকি কমায়।
সীমাবদ্ধতা:
১. প্রশিক্ষণ বারবার পুনরাবৃত্তি করা হলে গণনার খরচ বৃদ্ধি পায়।
২. প্রিপ্রসেসিং সঠিকভাবে করা না হলে ডেটা ফাঁসের ঘটনা তখনও ঘটতে পারে।
৩. গ্রুপ করা ডেটার জন্য (উদাহরণস্বরূপ, রোগীর ডেটা যেখানে একাধিক রেকর্ড রয়েছে), গ্রুপ কে-ফোল্ডের মতো একটি বিশেষ পদ্ধতির প্রয়োজন হয়, যাতে একজন ব্যক্তি একই সাথে ট্রেন এবং টেস্ট উভয় ডেটাতেই উপস্থিত না থাকে।
ক্রস ভ্যালিডেশন ব্যবহারের উত্তম অনুশীলন
একটি মূল্যায়ন বৈধ হওয়ার জন্য বেশ কিছু গুরুত্বপূর্ণ নীতি অবশ্যই অনুসরণ করতে হবে:
– প্রিপ্রসেসিং (নরম্যালাইজেশন, ইম্পিউটেশন, ফিচার সিলেকশন) পুরো ডেটার জন্য একবারে না করে, প্রতিটি ফোল্ডের মধ্যে সম্পাদন করুন। অন্যথায়, টেস্ট ফোল্ডের তথ্য ট্রেন ফোল্ডে চলে আসতে পারে।
– ভারসাম্যহীন শ্রেণীগুলির শ্রেণিবিন্যাসের জন্য স্ট্র্যাটিফাইড কে-ফোল্ড ব্যবহার করুন।
– সময়-ধারা ডেটার জন্য একটি বিশেষ পদ্ধতি ব্যবহার করুন যাতে ক্রম লঙ্ঘিত না হয়।
– মডেলটি স্থাপনের আগে এর চূড়ান্ত কার্যকারিতা মূল্যায়ন করাই যদি আপনার লক্ষ্য হয়, তবে চূড়ান্ত টেস্ট সেটটি আলাদা করে রাখুন।
বন্ধ
মডেলের পারফরম্যান্স আরও ন্যায্য ও নির্ভরযোগ্যভাবে মূল্যায়ন করার জন্য ফলিত পরিসংখ্যান এবং মেশিন লার্নিং-এ ক্রস-ভ্যালিডেশন একটি মৌলিক কৌশল। বারবার ডেটা আদান-প্রদানের মাধ্যমে, ক্রস-ভ্যালিডেশন ট্রেন-টেস্ট স্প্লিট নির্বাচনের কারণে সৃষ্ট পক্ষপাত কমাতে, ওভারফিটিং শনাক্ত করতে এবং মডেল নির্বাচন ও হাইপারপ্যারামিটার টিউনিং-এ সহায়তা করে। যদিও এর কম্পিউটেশনাল খরচ বেশি, তবে এর সুবিধাগুলো প্রায়শই সার্থক হয়, বিশেষ করে যখন ডেটাসেট ছোট হয় অথবা মডেলের ফলাফলের উপর ভিত্তি করে নেওয়া সিদ্ধান্তের গুরুত্বপূর্ণ পরিণতি থাকে। সঠিক ধরনের ক্রস-ভ্যালিডেশন নির্বাচন এবং সর্বোত্তম অনুশীলনগুলো প্রয়োগ করার মাধ্যমে, আমরা আরও নির্ভরযোগ্য মডেল তৈরি করতে পারি যা বাস্তব ডেটাতে ব্যবহারের জন্য প্রস্তুত।