ডেটাসেট: মূল ডেটাসেটকে ভাগ করা

সমস্ত ভাল সফ্টওয়্যার ইঞ্জিনিয়ারিং প্রকল্পগুলি তাদের অ্যাপগুলি পরীক্ষা করার জন্য যথেষ্ট শক্তি ব্যয় করে। একইভাবে, আমরা দৃঢ়ভাবে আপনার ML মডেলের ভবিষ্যদ্বাণীর সঠিকতা নির্ধারণের জন্য পরীক্ষা করার পরামর্শ দিই।

প্রশিক্ষণ, বৈধতা, এবং পরীক্ষার সেট

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

চিত্র 8. একটি অনুভূমিক বার দুটি ভাগে বিভক্ত: ~80% যার মধ্যে প্রশিক্ষণ সেট এবং ~20% হল পরীক্ষার সেট।
চিত্র 8. একটি সর্বোত্তম বিভাজন নয়।

ব্যায়াম: আপনার অন্তর্দৃষ্টি পরীক্ষা করুন

ধরুন আপনি ট্রেনিং সেটে ট্রেনিং করেন এবং একাধিক রাউন্ডে পরীক্ষা সেটে মূল্যায়ন করেন। প্রতিটি রাউন্ডে, হাইপারপ্যারামিটার এবং বৈশিষ্ট্য সেট আপডেট করার জন্য আপনি পরীক্ষা সেটের ফলাফলগুলি ব্যবহার করেন। আপনি এই পদ্ধতির সাথে কিছু ভুল দেখতে পারেন? শুধুমাত্র একটি উত্তর চয়ন করুন.
এই পদ্ধতির অনেক রাউন্ড করার ফলে মডেলটি পরীক্ষার সেটের বিশেষত্বের সাথে অস্পষ্টভাবে ফিট হতে পারে।
হ্যাঁ! আপনি যতবার একই পরীক্ষা সেট ব্যবহার করবেন, মডেলটি পরীক্ষা সেটের সাথে ঘনিষ্ঠভাবে ফিট হওয়ার সম্ভাবনা তত বেশি। একজন শিক্ষকের মতো "পরীক্ষায় শেখানো" মডেলটি অসাবধানতাবশত পরীক্ষার সেটের সাথে খাপ খায়, যা মডেলটির জন্য বাস্তব-বিশ্বের ডেটা ফিট করা কঠিন করে তুলতে পারে।
এই পদ্ধতি ভাল. সর্বোপরি, আপনি প্রশিক্ষণ সেটে প্রশিক্ষণ নিচ্ছেন এবং একটি পৃথক পরীক্ষা সেটে মূল্যায়ন করছেন।
আসলে, এখানে একটি সূক্ষ্ম সমস্যা আছে. ধীরে ধীরে কি ভুল হতে পারে তা নিয়ে ভাবুন।
এই পদ্ধতিটি গণনাগতভাবে অদক্ষ। প্রতিটি রাউন্ড পরীক্ষার পরে হাইপারপ্যারামিটার বা বৈশিষ্ট্য সেট পরিবর্তন করবেন না।
ঘন ঘন পরীক্ষা ব্যয়বহুল কিন্তু সমালোচনামূলক। যাইহোক, অতিরিক্ত প্রশিক্ষণের তুলনায় ঘন ঘন পরীক্ষা অনেক কম ব্যয়বহুল। হাইপারপ্যারামিটার এবং বৈশিষ্ট্য সেট অপ্টিমাইজ করা মডেলের গুণমানকে নাটকীয়ভাবে উন্নত করতে পারে, তাই সবসময় বাজেট সময় এবং কম্পিউটেশনাল রিসোর্স এগুলোর উপর কাজ করতে পারে।

ডেটাসেটটিকে দুটি সেটে ভাগ করা একটি শালীন ধারণা, তবে একটি ভাল পদ্ধতি হল ডেটাসেটটিকে তিনটি উপসেটে ভাগ করা। প্রশিক্ষণ সেট এবং পরীক্ষার সেট ছাড়াও, তৃতীয় উপসেট হল:

  • একটি বৈধতা সেট মডেলটির প্রাথমিক পরীক্ষা সম্পাদন করে কারণ এটিকে প্রশিক্ষণ দেওয়া হচ্ছে।
চিত্র 9. একটি অনুভূমিক বার তিনটি ভাগে বিভক্ত: যার 70% প্রশিক্ষণ সেট, 15% বৈধকরণ সেট এবং 15% পরীক্ষা সেট
চিত্র 9. একটি অনেক ভাল বিভক্ত.

প্রশিক্ষণ সেট থেকে ফলাফল মূল্যায়ন করতে বৈধতা সেট ব্যবহার করুন. যাচাইকরণ সেটের বারবার ব্যবহারের পরে আপনার মডেলটি ভাল ভবিষ্যদ্বাণী করছে বলে পরামর্শ দেয়, আপনার মডেলটি দুবার পরীক্ষা করতে পরীক্ষা সেটটি ব্যবহার করুন।

নিম্নলিখিত চিত্র এই কর্মপ্রবাহ প্রস্তাব. চিত্রে, "টুইক মডেল" মানে মডেল সম্পর্কে কিছু সামঞ্জস্য করা — শেখার হার পরিবর্তন করা থেকে শুরু করে বৈশিষ্ট্য যোগ করা বা অপসারণ করা, স্ক্র্যাচ থেকে সম্পূর্ণ নতুন মডেল ডিজাইন করা। এই কর্মপ্রবাহের শেষে, আপনি সেই মডেলটি বেছে নিন যা পরীক্ষা সেটে সবচেয়ে ভালো করে।

চিত্র 10. নিম্নলিখিত ধাপগুলি নিয়ে গঠিত একটি ওয়ার্কফ্লো ডায়াগ্রাম: 1. প্রশিক্ষণ সেটে ট্রেনের মডেল৷             2. বৈধতা সেটে মডেল মূল্যায়ন করুন।             3. বৈধতা সেটের ফলাফল অনুযায়ী মডেল টুইক করুন।             4. 1, 2, এবং 3 এ পুনরাবৃত্তি করুন, শেষ পর্যন্ত সেই মডেলটি বেছে নিন যা বৈধকরণ সেটে সবচেয়ে ভালো করে।             5. পরীক্ষার সেটে ফলাফল নিশ্চিত করুন।
চিত্র 10. উন্নয়ন এবং পরীক্ষার জন্য একটি ভাল কর্মপ্রবাহ।

চিত্র 10-এ দেখানো কর্মপ্রবাহটি সর্বোত্তম, কিন্তু সেই কর্মপ্রবাহের সাথেও, পরীক্ষার সেট এবং যাচাইকরণ সেটগুলি বারবার ব্যবহারে এখনও "জীর্ণ হয়ে যায়"৷ অর্থাৎ, হাইপারপ্যারামিটার সেটিংস বা অন্যান্য মডেলের উন্নতির বিষয়ে সিদ্ধান্ত নিতে আপনি যত বেশি একই ডেটা ব্যবহার করবেন, মডেলটি নতুন ডেটা সম্পর্কে ভাল ভবিষ্যদ্বাণী করবে তার আস্থা তত কম। এই কারণে, পরীক্ষার সেট এবং বৈধতা সেট "রিফ্রেশ" করতে আরও ডেটা সংগ্রহ করা একটি ভাল ধারণা৷ নতুন করে শুরু করা একটি দুর্দান্ত রিসেট।

ব্যায়াম: আপনার অন্তর্দৃষ্টি পরীক্ষা করুন

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

পরীক্ষার সেটের সাথে অতিরিক্ত সমস্যা

পূর্ববর্তী প্রশ্ন যেমন ব্যাখ্যা করে, সদৃশ উদাহরণগুলি মডেল মূল্যায়নকে প্রভাবিত করতে পারে। একটি ডেটাসেটকে প্রশিক্ষণ, বৈধতা এবং পরীক্ষা সেটে বিভক্ত করার পরে, যাচাইকরণ সেট বা পরীক্ষা সেটের যেকোন উদাহরণ মুছে ফেলুন যা প্রশিক্ষণ সেটের উদাহরণগুলির নকল। একটি মডেলের একমাত্র ন্যায্য পরীক্ষা নতুন উদাহরণের বিরুদ্ধে, সদৃশ নয়।

উদাহরণস্বরূপ, একটি মডেল বিবেচনা করুন যা ভবিষ্যদ্বাণী করে যে একটি ইমেল স্প্যাম কিনা, বিষয় লাইন, ইমেলের মূল অংশ এবং প্রেরকের ইমেল ঠিকানা বৈশিষ্ট্য হিসাবে ব্যবহার করে৷ ধরুন আপনি 80-20 বিভক্ত সহ প্রশিক্ষণ এবং পরীক্ষার সেটগুলিতে ডেটা ভাগ করেছেন। প্রশিক্ষণের পরে, মডেলটি প্রশিক্ষণ সেট এবং পরীক্ষা সেট উভয়ের ক্ষেত্রেই 99% নির্ভুলতা অর্জন করে। আপনি সম্ভবত পরীক্ষা সেটে একটি কম নির্ভুলতা আশা করতে পারেন, তাই আপনি ডেটার দিকে আরেকটা নজর দেন এবং আবিষ্কার করেন যে পরীক্ষার সেটের অনেক উদাহরণ প্রশিক্ষণ সেটের উদাহরণগুলির অনুলিপি। সমস্যা হল যে আপনি ডেটা বিভক্ত করার আগে আপনার ইনপুট ডাটাবেস থেকে একই স্প্যাম ইমেলের জন্য ডুপ্লিকেট এন্ট্রিগুলি স্ক্রাব করতে অবহেলা করেছেন৷ আপনি অসাবধানতাবশত আপনার কিছু পরীক্ষার ডেটাতে প্রশিক্ষণ নিয়েছেন।

সংক্ষেপে, একটি ভাল পরীক্ষা সেট বা বৈধতা সেট নিম্নলিখিত সমস্ত মানদণ্ড পূরণ করে:

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

ব্যায়াম: আপনার উপলব্ধি পরীক্ষা করুন

নির্দিষ্ট সংখ্যক উদাহরণ সহ একটি একক ডেটাসেট দেওয়া হল, নিচের কোন বিবৃতিটি সত্য?
মডেল পরীক্ষা করার জন্য ব্যবহৃত প্রতিটি উদাহরণ মডেল প্রশিক্ষণে ব্যবহৃত একটি কম উদাহরণ।
উদাহরণগুলিকে ট্রেন/পরীক্ষা/বৈধকরণ সেটে ভাগ করা একটি শূন্য-সমষ্টির খেলা। এটি কেন্দ্রীয় বাণিজ্য বন্ধ।
পরীক্ষার সেটে উদাহরণের সংখ্যা অবশ্যই যাচাইকরণ সেটের উদাহরণের সংখ্যার চেয়ে বেশি হতে হবে।
তাত্ত্বিকভাবে, বৈধতা সেট এবং পরীক্ষা পরীক্ষায় একই সংখ্যক উদাহরণ থাকতে হবে বা প্রায় তার মতো।
পরীক্ষার সেটে উদাহরণের সংখ্যা অবশ্যই যাচাইকরণ সেট বা প্রশিক্ষণ সেটের উদাহরণের সংখ্যার চেয়ে বেশি হতে হবে।
প্রশিক্ষণ সেটে উদাহরণের সংখ্যা সাধারণত বৈধকরণ সেট বা পরীক্ষার সেটের উদাহরণের সংখ্যার চেয়ে বেশি হয়; যাইহোক, বিভিন্ন সেটের জন্য কোন শতাংশের প্রয়োজনীয়তা নেই।
ধরুন আপনার পরীক্ষার সেটে পরিসংখ্যানগতভাবে উল্লেখযোগ্য পরীক্ষা করার জন্য যথেষ্ট উদাহরণ রয়েছে। অধিকন্তু, টেস্ট সেটের বিপরীতে পরীক্ষা করলে কম ক্ষতি হয়। যাইহোক, মডেলটি বাস্তব বিশ্বে খারাপভাবে পারফর্ম করেছে। আপনার কি করা উচিত?
আসল ডেটাসেট বাস্তব-জীবনের ডেটা থেকে কীভাবে আলাদা তা নির্ধারণ করুন।
হ্যাঁ। এমনকি সেরা ডেটাসেটগুলি বাস্তব জীবনের ডেটার স্ন্যাপশট মাত্র; অন্তর্নিহিত স্থল সত্য সময়ের সাথে পরিবর্তিত হতে থাকে। যদিও আপনার পরীক্ষার সেটটি আপনার প্রশিক্ষণ সেটের সাথে ভাল মডেলের মানের পরামর্শ দেওয়ার জন্য যথেষ্ট ভাল, আপনার ডেটাসেট সম্ভবত বাস্তব-বিশ্বের ডেটার সাথে পর্যাপ্তভাবে মেলে না। আপনাকে পুনরায় প্রশিক্ষণ দিতে হবে এবং একটি নতুন ডেটাসেটের বিরুদ্ধে পুনরায় পরীক্ষা করতে হতে পারে।
একই টেস্ট সেটে পুনরায় পরীক্ষা করুন। পরীক্ষার ফলাফল একটি অসঙ্গতি হতে পারে.
যদিও পুনঃপরীক্ষা কিছুটা ভিন্ন ফলাফল আনতে পারে, এই কৌশলটি সম্ভবত খুব সহায়ক নয়।
পরীক্ষার সেটে কয়টি উদাহরণ থাকা উচিত?
পরিসংখ্যানগতভাবে গুরুত্বপূর্ণ পরীক্ষা দেওয়ার জন্য যথেষ্ট উদাহরণ।
হ্যাঁ। এটা কত উদাহরণ? আপনি পরীক্ষা করতে হবে.
মূল ডেটাসেটের অন্তত 15%।
15% যথেষ্ট উদাহরণ হতে পারে বা নাও হতে পারে।