এক্সজিস্টে ওভারফিট নিয়ে আলোচনা


20

আমার সেট আপটি নিম্নলিখিত:

আমি "ফলিত ভবিষ্যদ্বাণীমূলক মডেলিং" এর দিকনির্দেশগুলি অনুসরণ করছি। এইভাবে আমি সম্পর্কিত বৈশিষ্ট্যগুলি ফিল্টার করেছি এবং নিম্নলিখিতগুলি দিয়ে শেষ করব:

  • প্রশিক্ষণ সেটে 4900 ডেটা পয়েন্ট এবং পরীক্ষার সেটে 1600 ডেটা পয়েন্ট।
  • আমার 26 টি বৈশিষ্ট্য রয়েছে এবং লক্ষ্যটি একটি অবিচ্ছিন্ন পরিবর্তনশীল।

আমি caretপ্যাকেজটি ব্যবহার করে মডেলগুলি প্রশিক্ষণের জন্য 5-ভাঁড়ের ক্রসওয়েডিয়েশন প্রয়োগ করি । আমি যখন কোনও মার্স মডেল প্রয়োগ করি তখন আমি প্রশিক্ষণের সেট এবং টেস্টসেটে প্রায় 4 এর গড় পরম ত্রুটি (এমএই) পাই।

তবে এক্সজিবিস্ট প্রয়োগ করুন (হয় গাছের অ্যালগোরিদম বা লিনিয়ার এক) ট্রেনিং সেটে আমি 0.32 (!) এর মতো কিছু পেয়েছি এবং টেস্টসেটে 2.4 পেয়েছি।

সুতরাং যদি পরীক্ষার ত্রুটিটি প্রশিক্ষণের ত্রুটি থেকে 8 গুণ হয় তবে আমি বলব: আমি প্রশিক্ষণের ডেটার চেয়েও বেশি। তবুও আমি যাইহোক পরীক্ষায় একটি ছোট ত্রুটি পাই।

আমি এক্সজিবিস্টে নিম্নলিখিত পরামিতিগুলি ব্যবহার করি:

  • nrounds = 1000এবং eta = 0.01(বাড়ার পরিমাণ বৃদ্ধি এবং হ্রাস এটা সাহায্য করতে পারে তবে আমার স্মৃতিশক্তি চলে গেছে এবং রান সময় খুব দীর্ঘ)
  • max_depth = 16: যদি আমি অন্যান্য পোস্ট এবং 6 এর ডিফল্ট তুলনা করি তবে এটি বড় দেখায় তবে সমস্যাটি বেশ জটিল - সম্ভবত 16 এ ক্ষেত্রে খুব বেশি বড় নয়।
  • colsample_bytree = 0.7, subsample = 0.8এবং min_child_weight = 5: এটি করে আমি ওভারফিট হ্রাস করার চেষ্টা করি।

যদি আমি ম্যাক্স_ডেপথ হ্রাস করি তবে ট্রেন এবং পরীক্ষা-ত্রুটিটি আরও কাছাকাছি পৌঁছে যাবে তবুও একটি বড় ব্যবধান রয়েছে এবং পরীক্ষা-ত্রুটি আরও বড় (3 এর কিছুটা উপরে)।

লিনিয়ার বুস্টার ব্যবহার করে আমি অনুকূল প্যারামিটারগুলিতে প্রায় একই ট্রেন এবং পরীক্ষার ত্রুটি পাই:

  • lambda = 90 এবং `আলফা = 0: ক্রস-বৈধকরণের দ্বারা পাওয়া, ল্যাম্বডা অতিরিক্ত পোশাক প্রতিরোধ করা উচিত।
  • colsample_bytree = 0.8, subsample = 0.8এবং min_child_weight = 5: এটি করে আমি ওভারফিট হ্রাস করার চেষ্টা করি।

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

আপনার কী মনে হয়: বাস্তব জীবনের পারফরম্যান্স যদি উচ্চতর হয় তবে আমি কী ওভারফিট গ্রহণ করতে পারি? আমার সেটিংয়ে এক্সজিবিস্টের কি অতিরিক্ত পোশাকের ঝোঁক রয়েছে?

উত্তর:


34

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

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

পক্ষপাত-বৈকল্পিক ট্রেড অফ

নীচে আপনার মডেলের পছন্দকে ন্যায়সঙ্গত করতে সহায়তা করার জন্য বায়াস-ভেরিয়েন্স ট্রেড অফের সরলীকরণ রয়েছে।

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

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

এই সংজ্ঞাটি আন্ডারফিটিং এবং ওভারফিটিংয়ের সংজ্ঞাগুলির সাথে খুব মিল। যাইহোক, এই সংজ্ঞাগুলি প্রায়শই বিপরীতে হিসাবে সরল করা হয়, যেমনটি

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

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

আপনি যদি পক্ষপাত-বৈকল্পিক ট্রেডঅফ সম্পর্কে আরও তথ্য চান তবে এগুলি গুগলের মাধ্যমে প্রচুর সহায়ক দৃষ্টিভঙ্গি এবং ভাল রিসোর্স। প্রতিটি মেশিন লার্নিং পাঠ্যপুস্তকের পক্ষপাতিত্ব-বৈকল্পিক ট্রেড অফের একটি বিভাগ থাকবে, এখানে কয়েকটি দেওয়া আছে

  • পরিসংখ্যানগত শিক্ষা এবং পরিসংখ্যানগত শিক্ষার উপাদানগুলির একটি ভূমিকা (এখানে উপলভ্য)
  • ক্রিস্টোফার বিশপ দ্বারা প্যাটার্ন রিকগনিশন এবং মেশিন লার্নিং।
  • মেশিন লার্নিং: কেভিন মারফি লিখেছেন একটি সম্ভাব্য দৃষ্টিভঙ্গি।

এছাড়াও, একটি দুর্দান্ত ব্লগ পোস্ট যা আমাকে উপলব্ধি করতে সহায়তা করেছিল তা হ'ল স্কট ফোর্টম্যান-রো এর বায়াস-ভারিরিয়ান্স ট্রেড অফকে বোঝা

আপনার সমস্যার জন্য আবেদন

সুতরাং আপনার দুটি মডেল রয়েছে,

ট্রেন এমএইপরীক্ষা এমএইMARS~4.0~4.0কম বৈকল্পিক, উচ্চতর পক্ষপাত,XGBoost~0.3~2.4উচ্চতর বৈকল্পিকতা, নিম্ন পক্ষপাত,

এবং আপনার একটি বাছাই করা দরকার। এটি করার জন্য, আপনাকে একটি আরও ভাল মডেল কী তা নির্ধারণ করতে হবে। আপনার সিদ্ধান্তগুলিতে যে পরামিতিগুলি অন্তর্ভুক্ত করা উচিত সেগুলি হ'ল জটিলতা এবং মডেলের কার্য সম্পাদন।

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

এখানে লক্ষ্য এমন একটি মডেল খুঁজে পাওয়া নয় যা "অত্যধিক উপকারে আসে না"। এটি সেরা মডেল-বৈকল্পিক ট্রেড অফ রয়েছে এমন মডেলটি সন্ধান করা। এই ক্ষেত্রে, আমি যুক্তি দিয়ে বলব যে এক্সজিবিস্ট মডেল দ্বারা সম্পন্ন পক্ষপাতের হ্রাস বৈকল্পিকতা বৃদ্ধির ন্যায়সঙ্গত করার পক্ষে যথেষ্ট ভাল good

আপনি কি করতে পারেন

তবে হাইপারপ্যারামিটারগুলি সুর করে আপনি সম্ভবত আরও ভাল করতে পারেন।

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

  • আপনার যে গাছগুলি বাড়বে তার গভীরতা শুরু করার জন্য খুব ভাল জায়গা। আপনাকে লক্ষ্য রাখতে হবে যে প্রতি একক গভীরতার জন্য আপনি তৈরি করতে পাতার সংখ্যা দ্বিগুণ করেন। আপনি যদি আকার 16 এর পরিবর্তে দুটি আকারের গাছগুলি বাড়তে থাকেন তবে তা লাগবে1/214সময়! আপনার আরও ছোট গাছ বাড়ানোর চেষ্টা করা উচিত। কারণ কেন যে হয় গাছের গভীরতা বৈশিষ্ট্য মিথস্ক্রিয়া ডিগ্রী উপস্থাপিত করে । এটি জার্গন হতে পারে তবে আপনার বৈশিষ্ট্যগুলিতে 3 টির ইন্টারঅ্যাকশন ডিগ্রি থাকলে (মোটামুটি: 4 টি বৈশিষ্ট্যের সংমিশ্রণটি feature বৈশিষ্ট্যগুলির 3 এর সংমিশ্রণের চেয়ে আরও শক্তিশালী নয় + চতুর্থ), তবে 3 টির চেয়ে বড় আকারের গাছগুলি হ'ল ক্ষতিকারক। চার গভীরতার দুটি গাছের চারটি গভীরতার এক গাছের চেয়ে আরও সাধারণীকরণ শক্তি থাকবে। এটি একটি বরং জটিল ধারণা এবং আমি এখনই এটিতে যাব না তবে আপনি এই কাগজপত্রের সংগ্রহটি শুরু করার জন্য পরীক্ষা করতে পারেন । এছাড়াও, নোট করুন যে গভীর গাছগুলি উচ্চ বৈচিত্রের দিকে পরিচালিত করে!

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


1
"ধন্যবাদ" বলে কারও মন্তব্য করা উচিত নয় তবে এই দীর্ঘ এবং আকর্ষণীয় উত্তরের জন্য আমি "ধন্যবাদ" বলতে চাই। আপনার লেখার কিছু বিষয় সম্পর্কে আমি আলিয়া সাহেবের কিছুটা জ্ঞান ছিল তবে এটি সত্যিই খুব সুন্দরভাবে একসাথে রাখা হয়েছিল। আমি আপনার কয়েকটি রেফারেন্স দিয়ে যাব এবং নতুন গাছ বাড়বো এবং সম্ভবত কোনও মন্তব্য দিয়ে ফিরে আসব। আপাতত: ধন্যবাদ! গ্রেট!
রিক

কথোপকথন পৃষ্ঠার লিঙ্কটি স্ট্যাটকোলম্বিয়া.ইডু / জাজুলিন / এটি সত্যিই দুর্দান্ত!
রিক

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