ক্রস-বৈধতার পরে শ্রেণিবদ্ধকারী কীভাবে চয়ন করবেন?


13

যখন আমরা কে-ফোল্ড ক্রস বৈধকরণ করি, তখন কি আমাদের কেবল শ্রেণিবদ্ধ ব্যবহার করা উচিত যা সর্বোচ্চ পরীক্ষার নির্ভুলতা রয়েছে? ক্রস বৈধতা থেকে শ্রেণিবদ্ধকারী পেতে সাধারণত সর্বোত্তম পদ্ধতির কী?


আমি মনে করি এই প্রশ্নটি "সেরা পদ্ধতির" নির্ধারণ করতে ব্যবহৃত মেট্রিকের উপর অনেক বেশি নির্ভর করে। পরিমিতভাবে অনেক লোক নির্ভুলতা ব্যবহার করে তবে ডেটা সেটের উপর নির্ভর করে অন্যান্য মেট্রিকগুলি এফ 1-স্কোরের মতো হারমোনিক গড় হিসাবে ব্যবহার করা যেতে পারে। সুতরাং মেট্রিক পছন্দও সমান গুরুত্বপূর্ণ হতে পারে।
নাথান ম্যাককয়

@ নাথানমিসকয় ভালভাবে ধরে নিচ্ছি যে আমরা নির্ভুলতা বাছাই করছি, আমরা সর্বোচ্চ পরীক্ষার যথার্থতার সাথে শ্রেণিবদ্ধকে বেছে নেব?
আরমন সাফাই

নিশ্চিত! শুধু ভেবে দেখার জন্য অন্য কিছু উল্লেখ করার চেষ্টা করছি :)
নাথান ম্যাককয়

উত্তর:


15

আপনি যখন এই দুটি জিনিসের কোনও করতে চান তখন আপনি ক্রস-বৈধকরণ করুন:

  • মডেল নির্বাচন
  • কোনও মডেলের ত্রুটি অনুমান

মডেল নির্বাচন বিভিন্ন পরিস্থিতিতে আসতে পারে:

  • একটি নির্দিষ্ট সমস্যা / ডেটাসেটের জন্য অন্যদের তুলনায় একটি অ্যালগরিদম নির্বাচন করা
  • নির্দিষ্ট সমস্যা / ডেটাসেটের জন্য একটি নির্দিষ্ট অ্যালগরিদমের হাইপার-পরামিতি নির্বাচন করা

(দয়া করে লক্ষ্য করুন যে আপনি যদি উভয়ই একটি অ্যালগরিদম নির্বাচন করে থাকেন - এটির মডেল বলা ভাল - এবং হাইপার-প্যারামিটার অনুসন্ধানও করা উচিত, আপনাকে নেস্টেড ক্রস বৈধকরণ করতে হবে N নেস্টেড-সিভি আসলেই প্রয়োজনীয়? )

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

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

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

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

এখানে, বিষয় সম্পর্কিত একটি চূড়ান্ত সুন্দর ব্যাখ্যা: সিভি এবং মডেল নির্বাচন


আমি দেখতে পাচ্ছি, আপনার কি সত্যিই আলাদা টেস্ট ডেটা থাকা দরকার বা আপনি ইতিমধ্যে আপনার ইতিমধ্যে ক্রস যাচাই করেছি এবং মডেলটির জন্য পরীক্ষার ত্রুটি পেয়েছি বলে আপনার কাছে থাকা সমস্ত ডেটার 100% উপর আপনি আপনার শ্রেণিবদ্ধকে প্রশিক্ষণ দিতে পারেন?
আরমন সাফাই

+1 এর জন্য "ত্রুটি এবং ভাঁজগুলির মধ্যে তারতম্যের বিষয়ে আরও ভাল অভিনয় করেছে এমন একটি বেছে নিয়েছেন " chose মডেল বাছাই করার সময় সকলেই ভাঁজগুলির মধ্যে বৈচিত্র্য উপেক্ষা করবে বলে মনে হয়।
stmax

আমি যদি কেবল সিভি ত্রুটিই যত্ন করি তবে কেন আমি পরীক্ষার ত্রুটিটি যত্ন করব? আমি জিজ্ঞাসা করেছি কারণ আপনি "সত্যই সিভি পদ্ধতি দ্বারা প্রদত্ত আনুমানিক ত্রুটি লিখেছিলেন" wrote
হ্যালো ওয়ার্ল্ড

আরেকটি প্রশ্ন. পুরো ডেটাসেটের জন্য তৈরি করা হলে সিভি থেকে সেরা মডেলটি সেরা মডেল না হলে কী হবে?
হ্যালো ওয়ার্ল্ড

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

8

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

এটি এই প্রশ্নের আওতার বাইরে, তবে নির্বাচিত অ্যালগরিদম থেকে সর্বাধিক সুবিধা অর্জন করার জন্য আপনারও মডেলের হাইপারপ্যারামিটারগুলি (যদি থাকে তবে) অপ্টিমাইজ করা উচিত। লোকেরা সাধারণত ক্রস-বৈধতা ব্যবহার করে হাইপারপ্যারমিটার অপ্টিমাইজেশন সম্পাদন করে।


আমি ভেবেছিলাম যে কে-ফোল্ড ক্রস বৈধকরণটি বিভিন্ন মডেল তৈরি করে যেহেতু ট্রেনিং ডেটার 10 টি বিভিন্ন সেট রয়েছে।
আরমন সাফাই

আমার আপডেট হওয়া উত্তরটি দেখুন। প্রশ্নটিকে আরও সরাসরি সমাধান করার জন্য এবং একটি উদাহরণ দিয়ে আরও ভাল ব্যাখ্যা করার জন্য আমি এটি পরিমার্জন করেছি।
tuomastik

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

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

1

সুতরাং আসুন ধরে নেওয়া যাক যে আপনার প্রশিক্ষণ রয়েছে যার মধ্যে আপনি 80% প্রশিক্ষণ হিসাবে এবং 20% বৈধতা ডেটা হিসাবে ব্যবহার করছেন। আমরা ৮০% প্রশিক্ষণ নিতে পারি এবং বাকী ২০% পরীক্ষা করতে পারি তবে সম্ভবত যে ২০% আমরা গ্রহণ করেছি তা প্রকৃত পরীক্ষার ডেটার সাথে সাদৃশ্য নয় এবং সম্ভবত খারাপ ফলাফল সম্পাদন করতে পারে। সুতরাং, এটি প্রতিরোধ করার জন্য আমরা কে-ফোল্ড ক্রস বৈধতা ব্যবহার করতে পারি।

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

কেবলমাত্র একটি মডেল আসছেন এবং যদি আপনি কে-ফোল্ড ক্রস-বৈধতা যাচাই করে দেখছেন তবে আপনি পরীক্ষার ডেটাগুলির আনুমানিক ত্রুটি পেতে পারেন, কিন্তু when you are actually training it finally, you can use the complete training data((কেননা এটি এখানে অনুমান করা হয়েছে যে পুরো ডেটা একসাথে এটির একটি অংশের চেয়ে আরও ভাল সম্পাদন করবে । এটি কখনও কখনও নাও হতে পারে তবে এটি সাধারণ অনুমান)


Sooo যখন আমরা ক্রস বৈধকরণ করি, আমরা কেবলমাত্র এমন মডেলটি বেছে নিই যেখানে সর্বোচ্চ পরীক্ষার নির্ভুলতা রয়েছে?
আরমন সাফাই

আপনি যখন পরীক্ষা বলছেন, আপনার মানে বৈধতা ডেটাসেটের পরীক্ষাটি সঠিক?
হিমা বর্ষা

হ্যাঁ আমি যা বোঝাতে চাইছি তা হল
আরমন সাফাই

একবার আমরা আরও ভাল পারফর্মিং মডেল বাছাই করতে ক্রস-বৈধতা ব্যবহার করি (উদাহরণস্বরূপ আপনার কাছে দুটি মডেল-লিনিয়ার রিগ্রেশন বা নিউরাল নেটওয়ার্ক রয়েছে), আমরা সেই মডেলটিকে প্রশিক্ষণ করি (এটি লিনিয়ার রিগ্রেশন বা নিউরাল নেটওয়ার্ক হোক) সমস্ত তথ্য
হিমা বর্ষা

1
@ হিমাবার্ষা তাই আমরা যদি গড় নেওয়ার সিদ্ধান্ত নিই, তবে আমরা কীভাবে "গড় শ্রেণিবদ্ধ" বেছে নেব?
আরমন সাফাই
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.