আমাদের সবসময় সিভি করা উচিত?


9

আমার প্রশ্ন: তুলনামূলকভাবে বড় ডেটা সেট করার জন্যও কি সিভি করা উচিত?

আমার তুলনামূলকভাবে বড় ডেটা সেট রয়েছে এবং আমি ডেটা সেটে একটি মেশিন লার্নিং অ্যালগরিদম প্রয়োগ করব।

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

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

সুতরাং আমার কাছে এখন কমপক্ষে দুটি বিকল্প রয়েছে।

  1. একটি ছোট তথ্য সেট সিভি করুন।
  2. সিভি ছাড়াই তুলনামূলকভাবে বড় প্রশিক্ষণ সেট এবং বৈধতা সেট ব্যবহার করুন।
  3. অন্য ধারণা।

সেরা ধারণা কি? তাত্ত্বিক বা ব্যবহারিক মতামত উভয়ই স্বাগত।


1
এই প্রশ্নটি অবশ্যই একটি সিডব্লিউ হওয়া উচিত।
এইচ শিন্ডো

1
বড় কি? কত পর্যবেক্ষণ? কতগুলি বৈশিষ্ট্য / ভেরিয়েবল / রেজিস্ট্রার?
জিম

1
এটি একটি পিসির উপর নির্ভর করে। যেমন আমি "বিগ ডেটা" নিয়ে ভাবছি না, যার জন্য বেশ কয়েকটি কম্পিউটারের প্রয়োজন।
এইচ শিন্ডো

উত্তর:


3

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

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

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

জিনিসগুলি গতি বাড়ানোর জন্য আপনি কয়েকটি বিষয় বিবেচনা করতে পারেন:

  1. আরও কম বৈশিষ্ট্য সহ এটি প্রশিক্ষণ দিন। আপনার সমস্যার আকার হ্রাস করতে বৈশিষ্ট্য নির্বাচন এবং / বা মাত্রিকতা হ্রাস ব্যবহার করুন
  2. এসভিএমের জন্য প্রিচারাড কার্নেল ব্যবহার করুন
  3. এমন একটি অ্যালগরিদম ব্যবহার করুন যা গ্রিডে হাইপার প্যারামিটার নির্বাচন করার প্রয়োজন হয় না। বিশেষত লিনিয়ারগুলি যেমন রিজ / ল্যাসো / ইলাস্টিক নেট পেনাল্টি বা এমনকি লিনিয়ার এসভিএম সহ লজিস্টিক রিগ্রেশন। বাস্তবায়নের উপর নির্ভর করে class শ্রেণিবদ্ধকারীরা কেবলমাত্র একটির জন্য ফিটিংয়ের জন্য নির্বাচিত পথে সমস্ত হাইপারপ্যারামিটারগুলির জন্য মডেলগুলি ফিট করতে পারে
  4. আপনার ধরণের সমস্যার জন্য দ্রুত প্রয়োগ করুন (আপনাকে এটি গুগল করতে হবে)

এমনকি ধীর কম্পিউটারের সাথেও আপনি এটি করতে পারেন:

  1. আরও কোর ব্যবহার করুন
  2. জিপিইউ ব্যবহার করুন

2

তথ্যগুলিতে এলোমেলোতার কারণে ক্রস-বৈধকরণ আপনার পারফরম্যান্স মেট্রিকের বৈচিত্র্য অনুমান করার একটি সরঞ্জাম (এবং সম্ভবত এটি শিখার অ্যালগরিদমে যদি এটি নির্বিচারে না হয়)।

সুতরাং আপনি যদি কেবল একটি বিভাজন ব্যবহার করেন, যেমন ৮০% ট্রেন + ২০% পরীক্ষা এবং এই পারফরম্যান্স থেকে আপনার পারফরম্যান্স মেট্রিকের প্রতিবেদন করুন এই একই প্যারামিটারগুলি ব্যবহার করে আপনার পরীক্ষার পুনরুত্পাদন করার চেষ্টা করা যে কেউ আলাদা পারফরম্যান্সের চিত্র পাবেন (কখনও কখনও খুব বিভিন্ন)। অবশ্যই আপনি একই নির্ভুল বিভাজন সরবরাহ করেন যা অর্থহীন।

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

আপনি যদি আশঙ্কা করেন যে আপনি একটি ছোট সেট ব্যবহার করে সেরা হাইপারপ্যারামিটারগুলি খুঁজে পাবেন না তবে আপনি সম্ভবত ডেটাসেটের বিশদগুলিতে আপনার অ্যালগরিদমকে বেশি মানিয়ে নিচ্ছেন। যদি আপনি কোনও ছোট নমুনা ব্যবহার করে এমন কোনও কনফিগারেশন খুঁজে না পান যা সমস্ত ভাঁজগুলির মধ্যে যুক্তিসঙ্গত কর্মক্ষমতা দেয় তবে সম্ভবত অ্যালগরিদম অনুশীলনে খুব বেশি কার্যকর নয়।

এছাড়াও মনে রাখবেন কিছু অ্যালগরিদম খুব ধীর / কিছু কনফিগারেশনে ভাল স্কেল করে না। এটি ব্যবহারিক মডেল নির্বাচনেরও একটি অংশ।

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.