যখন আমরা কে-ফোল্ড ক্রস বৈধকরণ করি, তখন কি আমাদের কেবল শ্রেণিবদ্ধ ব্যবহার করা উচিত যা সর্বোচ্চ পরীক্ষার নির্ভুলতা রয়েছে? ক্রস বৈধতা থেকে শ্রেণিবদ্ধকারী পেতে সাধারণত সর্বোত্তম পদ্ধতির কী?
যখন আমরা কে-ফোল্ড ক্রস বৈধকরণ করি, তখন কি আমাদের কেবল শ্রেণিবদ্ধ ব্যবহার করা উচিত যা সর্বোচ্চ পরীক্ষার নির্ভুলতা রয়েছে? ক্রস বৈধতা থেকে শ্রেণিবদ্ধকারী পেতে সাধারণত সর্বোত্তম পদ্ধতির কী?
উত্তর:
আপনি যখন এই দুটি জিনিসের কোনও করতে চান তখন আপনি ক্রস-বৈধকরণ করুন:
মডেল নির্বাচন বিভিন্ন পরিস্থিতিতে আসতে পারে:
(দয়া করে লক্ষ্য করুন যে আপনি যদি উভয়ই একটি অ্যালগরিদম নির্বাচন করে থাকেন - এটির মডেল বলা ভাল - এবং হাইপার-প্যারামিটার অনুসন্ধানও করা উচিত, আপনাকে নেস্টেড ক্রস বৈধকরণ করতে হবে N নেস্টেড-সিভি আসলেই প্রয়োজনীয়? )
ক্রস-বৈধতা কিছুটা ডিগ্রি অবধি নিশ্চিত করে যে ত্রুটি অনুমানটি সেই মডেলের সাধারণকরণ ত্রুটি হিসাবে নিকটতম সম্ভব (যদিও এটি আনুমানিকর পক্ষে খুব কঠিন)। ভাঁজগুলির মধ্যে গড় ত্রুটি পর্যবেক্ষণ করার সময় পুরো ডেটাসেটে নির্মিত কোনও মডেলের জন্য আপনার প্রত্যাশিত ত্রুটির একটি ভাল প্রজেকশন থাকতে পারে। পূর্বাভাসের বৈকল্পিকতা অবলম্বন করাও গুরুত্বপূর্ণ, এটি হ'ল ত্রুটিটি ভাঁজ থেকে ভাঁজ হয়ে যায় কতটা। যদি প্রকরণটি খুব বেশি হয় (যথেষ্ট আলাদা মান থাকে) তবে মডেলটি অস্থির হতে হবে। বুটস্ট্র্যাপিং হ'ল অন্য পদ্ধতি যা এই অর্থে ভাল আনুমানিকতা সরবরাহ করে। আমি "স্ট্যাটিস্টিকাল লার্নিং এর উপাদানসমূহ" বইয়ের অধ্যায় 7 সাবধানে পড়ার পরামর্শ দিচ্ছি, এখানে নিখরচায় উপলভ্য: ELS- স্ট্যান্ডফোর্ড
এটি পূর্বে উল্লেখ করা হয়েছে যে আপনি অবশ্যই কোনও ভাঁজগুলির মধ্যে বিল্ট মডেলটি গ্রহণ করবেন না। পরিবর্তে, আপনাকে পুরো ডেটাসেট (যেটি ভাঁজগুলিতে বিভক্ত ছিল) দিয়ে মডেলটি পুনরায় তৈরি করতে হবে। আপনার যদি পৃথক পরীক্ষার সেট থাকে, আপনি এটি চূড়ান্ত মডেলটি ব্যবহার করে এটি ব্যবহার করতে পারেন, সিভি দ্বারা প্রাপ্ত চেয়ে একটি অনুরূপ (এবং অবশ্যই অবশ্যই উচ্চতর) ত্রুটি অর্জন করতে পারেন। আপনার অবশ্য সিভি পদ্ধতি দ্বারা প্রদত্ত আনুমানিক ত্রুটির উপর নির্ভর করা উচিত।
বিভিন্ন মডেল (অ্যালগোরিদম সংমিশ্রণ ইত্যাদি) দিয়ে সিভি করার পরে ত্রুটি এবং ভাঁজগুলির মধ্যে এর বৈচিত্র সম্পর্কে ভাল পারফরম্যান্স করে এমন একটি বেছে নিয়েছে। পুরো ডেটাসেট দিয়ে আপনাকে মডেলটি পুনর্নির্মাণ করতে হবে। এখানে পদক্ষেপে একটি সাধারণ বিভ্রান্তি উপস্থিত হয়: আমরা মডেল নির্বাচনের বিষয়ে নিবিড়ভাবে উল্লেখ করি, এই ভেবে যে মডেলটি ডেটা-র উপর তৈরি প্রাক-পূর্বাভাস মডেল, তবে এই ক্ষেত্রে এটি আপনার প্রয়োগ করা অ্যালগরিদম + প্রিপ্রোসেসিং পদ্ধতির সংমিশ্রণকে বোঝায়। সুতরাং, পূর্বাভাস / শ্রেণিবদ্ধকরণের জন্য আপনার প্রয়োজনীয় প্রকৃত মডেলটি পাওয়ার জন্য আপনাকে পুরো ডেটাসেটে বিজয়ী সংমিশ্রণটি ব্যবহার করে এটি তৈরি করতে হবে।
সর্বশেষ লক্ষণীয় বিষয় হ'ল আপনি যদি কোনও ধরণের প্রিপ্রোসেসিং ব্যবহার করে থাকেন তবে শ্রেণীর তথ্য (বৈশিষ্ট্য নির্বাচন, এলডিএ মাত্রিকতা হ্রাস ইত্যাদি) ব্যবহার করে এটি অবশ্যই প্রতিটি ভাঁজগুলিতে করা উচিত, এবং ডেটা-র আগে নয়। এটি একটি সমালোচনামূলক দিক। আপনি যদি প্রিপ্রসেসিং পদ্ধতি ব্যবহার করে যা ডেটার সরাসরি তথ্য (পিসিএ, নরমালাইজেশন, মানককরণ ইত্যাদি) জড়িত থাকে তবে একই কাজ করা উচিত। আপনি যাইহোক, প্রিপ্রোসেসিং প্রয়োগ করতে পারেন যা ডেটা থেকে নির্ভর করে না (বিশেষজ্ঞের মতামত অনুসারে একটি ভেরিয়েবল মুছে ফেলা, তবে এটি স্পষ্টভাবে স্পষ্ট)। এই ভিডিওটি আপনাকে সেই দিক থেকে সহায়তা করতে পারে: সঠিক এবং ভুল উপায়ে সিভি করুন
এখানে, বিষয় সম্পর্কিত একটি চূড়ান্ত সুন্দর ব্যাখ্যা: সিভি এবং মডেল নির্বাচন
না। আপনি কে-ভাঁজ ক্রস-বৈধকরণের সময় নির্মিত কোনও কে ক্লাসিফায়ার নির্বাচন করবেন না। প্রথমত, ক্রস-বৈধকরণের উদ্দেশ্যটি ভবিষ্যদ্বাণীমূলক মডেল নিয়ে আসে না, তবে অনুমানযোগ্য মডেল অনুশীলনে কতটা সঠিকভাবে সম্পাদন করবে তা মূল্যায়ন করা। দ্বিতীয়ত, যুক্তির স্বার্থে, আসুন আমরা আপনাকে বলি যে কে-ফোল্ড ক্রস-বৈধকরণকে কে = 10 দিয়ে ব্যবহার করতে হয়েছিল তা নির্ধারণের জন্য যে কোনও তিনটি শ্রেণিবদ্ধকরণ অ্যালগরিদম কোনও প্রদত্ত শ্রেণিবদ্ধকরণ সমস্যা সমাধানে সবচেয়ে উপযুক্ত হবে। সেক্ষেত্রে ডেটা এলোমেলোভাবে সমান আকারের কে অংশে বিভক্ত হয়। এর একটি অংশ পরীক্ষার জন্য সংরক্ষিত এবং বাকি কে -1 অংশ প্রশিক্ষণের জন্য ব্যবহার করা হবে। ক্রস-বৈধকরণ প্রক্রিয়া কে (ভাঁজ) বার বার পুনরাবৃত্তি হয় যাতে প্রতিটি পুনরাবৃত্তির বিভিন্ন অংশ পরীক্ষার জন্য ব্যবহৃত হয়। ক্রস-বৈধকরণ চালানোর পরে আপনি প্রতিটি ভাঁজ থেকে ফলাফলগুলি তাকান এবং অবাক হন যে কোন শ্রেণিবদ্ধকরণ অ্যালগরিদম (প্রশিক্ষিত কোনও মডেল নয়!) সবচেয়ে উপযুক্ত। আপনি 10 টি পুনরাবৃত্তির মধ্যে একটিতে সর্বাধিক পরীক্ষার নির্ভুলতা থাকা অ্যালগরিদমটি চয়ন করতে চান না, কারণ সম্ভবত এটি এলোমেলোভাবে ঘটেছে যে সেই নির্দিষ্ট পুনরাবৃত্তির পরীক্ষার ডেটাতে খুব সহজ উদাহরণ থাকে, যা উচ্চ পরীক্ষার নির্ভুলতার দিকে নিয়ে যায়। আপনি যা করতে চান তা হল অ্যালগরিদম চয়ন করা যা সর্বোত্তম নির্ভুলতা তৈরি করেছিল এরপরে যা উচ্চ পরীক্ষার নির্ভুলতার দিকে নিয়ে যায়। আপনি যা করতে চান তা হল অ্যালগরিদম চয়ন করা যা সর্বোত্তম নির্ভুলতা তৈরি করেছিল এরপরে যা উচ্চ পরীক্ষার নির্ভুলতার দিকে নিয়ে যায়। আপনি যা করতে চান তা হল অ্যালগরিদম চয়ন করা যা সর্বোত্তম নির্ভুলতা তৈরি করেছিলসমস্ত কে ভাঁজগুলির উপরে গড় । এখন আপনি অ্যালগরিদমটি বেছে নিয়েছেন, আপনি আপনার পুরো প্রশিক্ষণের ডেটা ব্যবহার করে এটি প্রশিক্ষণ দিতে পারেন এবং বুনোতে ভবিষ্যদ্বাণী করা শুরু করতে পারেন।
এটি এই প্রশ্নের আওতার বাইরে, তবে নির্বাচিত অ্যালগরিদম থেকে সর্বাধিক সুবিধা অর্জন করার জন্য আপনারও মডেলের হাইপারপ্যারামিটারগুলি (যদি থাকে তবে) অপ্টিমাইজ করা উচিত। লোকেরা সাধারণত ক্রস-বৈধতা ব্যবহার করে হাইপারপ্যারমিটার অপ্টিমাইজেশন সম্পাদন করে।
সুতরাং আসুন ধরে নেওয়া যাক যে আপনার প্রশিক্ষণ রয়েছে যার মধ্যে আপনি 80% প্রশিক্ষণ হিসাবে এবং 20% বৈধতা ডেটা হিসাবে ব্যবহার করছেন। আমরা ৮০% প্রশিক্ষণ নিতে পারি এবং বাকী ২০% পরীক্ষা করতে পারি তবে সম্ভবত যে ২০% আমরা গ্রহণ করেছি তা প্রকৃত পরীক্ষার ডেটার সাথে সাদৃশ্য নয় এবং সম্ভবত খারাপ ফলাফল সম্পাদন করতে পারে। সুতরাং, এটি প্রতিরোধ করার জন্য আমরা কে-ফোল্ড ক্রস বৈধতা ব্যবহার করতে পারি।
সুতরাং আসুন আমাদের বলুন যে আপনার কাছে বিভিন্ন মডেল রয়েছে এবং আপনার ডেটাসেটের সাহায্যে কোনটি আরও ভাল সম্পাদন করে তা জানতে চান, কে-ফোল্ড ক্রস বৈধকরণ দুর্দান্ত কাজ করে। আপনি কে-বৈধতা পারফরম্যান্সে বৈধতা ত্রুটিগুলি জানতে এবং তার উপর ভিত্তি করে আরও ভাল মডেল চয়ন করতে পারেন। এটি সাধারণত কে-ফোল্ড ক্রস বৈধতার জন্য উদ্দেশ্য।
কেবলমাত্র একটি মডেল আসছেন এবং যদি আপনি কে-ফোল্ড ক্রস-বৈধতা যাচাই করে দেখছেন তবে আপনি পরীক্ষার ডেটাগুলির আনুমানিক ত্রুটি পেতে পারেন, কিন্তু when you are actually training it finally, you can use the complete training data
((কেননা এটি এখানে অনুমান করা হয়েছে যে পুরো ডেটা একসাথে এটির একটি অংশের চেয়ে আরও ভাল সম্পাদন করবে । এটি কখনও কখনও নাও হতে পারে তবে এটি সাধারণ অনুমান)