বুস্টিং এবং ব্যাগিং ট্রি (এক্সজিবিস্ট, লাইটজিবিএম)


17

ব্যাগিং বা গাছ বৃদ্ধির ধারণা সম্পর্কে অনেকগুলি ব্লগ পোস্ট, ইউটিউব ভিডিও ইত্যাদি রয়েছে etc. আমার সাধারণ উপলব্ধি হ'ল প্রত্যেকটির সিউডো কোডটি হ'ল:

ব্যাগিং:

  1. নমুনাগুলির x% এবং বৈশিষ্ট্যগুলির y% এর এন এলোমেলো নমুনা নিন
  2. প্রতিটি এন এ আপনার মডেল (উদাহরণস্বরূপ, সিদ্ধান্ত গাছ) ফিট করুন
  3. প্রতিটি এন সঙ্গে ভবিষ্যদ্বাণী
  4. চূড়ান্ত পূর্বাভাস পাওয়ার জন্য ভবিষ্যদ্বাণীগুলি গড় করুন

boosting:

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

আমি উপরের আমার বোঝার জন্য কোনও স্পষ্টতা নেব, তবে আমার উদ্দেশ্য প্রশ্নটি নিম্নরূপ:

এক্সজিবিস্ট এবং লাইটজিবিএম উভয়েরই এমন প্যারাম রয়েছে যা ব্যাগিংয়ের অনুমতি দেয়। অ্যাপ্লিকেশনটি ব্যাগিং বা বুস্টিং নয় (যা প্রতিটি ব্লগ পোস্টের কথা বলে) তবে ব্যাগিং এবং বুস্টিং নয়। সম্মিলিত ব্যাগিং এবং বুস্টিং কোথায় এবং কখন জন্য সিউডো কোডটি?

আমি এটি "ব্যাগ বুস্টেড ট্রি" প্রত্যাশা করেছি, তবে মনে হচ্ছে এটি "বুস্টেড ব্যাগড ট্রি"। পার্থক্য যথেষ্ট মনে হয়।

ব্যাগ বুস্টেড ট্রি:

  1. নমুনাগুলির x% এবং বৈশিষ্ট্যগুলির y% এর এন এলোমেলো নমুনা নিন
  2. প্রতিটি এন নমুনার উপর বুস্টেড গাছ ফিট করুন
  3. প্রতিটি এন সঙ্গে ভবিষ্যদ্বাণী
  4. চূড়ান্ত পূর্বাভাস পাওয়ার জন্য ভবিষ্যদ্বাণীগুলি গড় করুন

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

যাইহোক, উদাহরণস্বরূপ, scikit-learn গ্রেডিয়েন্ট_ বুস্টিং.পি (যা নমুনা ব্যাগিং করে, তবে এলোমেলো বৈশিষ্ট্য নির্বাচন নয়), এবং লাইটজিবিএম এবং এক্সজিবিস্ট সম্পর্কে পোস্টগুলি জুড়ে কিছু ছোট ছোট নাগেট একসাথে চলা, এটি দেখতে XGBoost এবং লাইটজিবিএম এর মতো দেখাচ্ছে:

বুগড ব্যাগড ট্রি:

  1. আপনার ডেটা একটি সিদ্ধান্ত ট্রি ফিট করুন
  2. আমি এন বুস্টিং রাউন্ডে:
    • অবশিষ্টাংশ পান
    • যদি আমি ব্যাগ_ফ্রুয়েন্সি == 0 (যেমন, প্রতি 5 রাউন্ড ব্যাগ) পরিবর্তন করি:
      • নমুনার x% এবং বৈশিষ্ট্যগুলির y% এর একক এলোমেলো নমুনা নিন; এগিয়ে যেতে এই এলোমেলো নমুনা ব্যবহার করুন
    • অবশিষ্টাংশের জন্য গাছ ফিট
  3. চূড়ান্ত পূর্বাভাসটি অনুক্রমিক ভবিষ্যদ্বাণীগুলির একটি ভারিত যোগফল।

দয়া করে এখানে আমার বোধগম্যতা সংশোধন করুন এবং বিশদটি পূরণ করুন। বুস্টড ব্যাগড ট্রি (ব্যাগ_ফ্রিকোয়েন্সিতে প্রতি 1 টি এলোমেলো গাছ সহ) ব্যাগ বুস্টেড ট্রি হিসাবে তেমন শক্তিশালী বলে মনে হয় না।


2
একটি আকর্ষণীয় এবং খুব ভাল সূচিত প্রশ্নের জন্য +1। এবং সাইটে স্বাগতম।
এমকেটি - মনিকা

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

এখানে বুস্টেড-ব্যাগড। প্রতিটি সিরিজ-পদক্ষেপের জন্য একটি নতুন গাছের পরিবর্তে আপনি গড় আউটপুট সহ একটি নতুন বন পান। ইউজিন টুভ এবং কারি টর্ককোলা। jmlr.org/papers/volume10/tuv09a/tuv09a.pdf
এনগ্রারস্টুডেন্ট - মনিকা পুনরায় ইনস্টল করুন

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

উত্তর:


13

ব্যাগিং: নমুনাগুলির x% এবং বৈশিষ্ট্যগুলির y% এর এন এলোমেলো নমুনা নিন

দৃষ্টান্ত বারবার উপ-নমুনা রয়েছে ব্যাগিং , কিন্তু না বৈশিষ্ট্য। ( র‌্যান্ডমফোরেস্টস , এক্সজিবিস্ট এবং ক্যাটবুস্ট দুটোই করে):

Given dataset D of size N.
For m in n_models:
    Create new dataset D_i of size N by sampling with replacement from D.
    Train model on D_i (and then predict)
Combine predictions with equal weight 

অপ্রয়োজনীয়তা থেকে মুক্তি পেতে আপনার বুস্টিং সিউডো কোডের একটি সূচনাকরণের পদক্ষেপ অন্তর্ভুক্ত করুন :

Init data with equal weights (1/N).
For m in n_model:
    Train model on weighted data (and then predict)
    Update weights according to misclassification rate.
    Renormalize weights
Combine confidence weighted predictions

ব্যাগযুক্ত বুস্টড ট্রি (যেমন আপনি এটি কল করেছেন) অবশ্যই একটি যুক্তিসঙ্গত পন্থা তবে এক্সজিবিস্ট বা ক্যাটবুক থেকে আলাদা :

Given dataset D of size N.
For m in n_models:
    Create new dataset D_i of size N by sampling with replacement from D.
    (Insert Boosting pseudo code here (on D_i))
Combine predictions with equal weight 

XGBoost এবং CatBoost উভয় উপর ভিত্তি করে Boosting এবং সমগ্র প্রশিক্ষণ ডেটা ব্যবহার। তারা প্রতিটি উত্সাহিতকরণের একবারে সাবগল করে ব্যাগিং বাস্তবায়ন করে:

Init data with equal weights (1/N).
For m in n_model:
    Train model on weighted bootstrap sample (and then predict)
    Update weights according to misclassification rate.
    Renormalize weights
Combine confidence weighted predictions

আপনি যদি "ফিট মডেল থেকে রেসিডুয়ালে" লেগে থাকতে চান তবে এটি " বুটস্ট্র্যাপের নমুনায় ডেটার রেসিডুয়ালের সাথে ফিট মডেল" এর সমতুল্য ।


আরও মন্তব্য :

আপনার পরামর্শ মতো কোনও " এটি করার সর্বোত্তম উপায় " নেই (কোনও নিখরচায় মধ্যাহ্নভুক্ত উপপাদ্য নেই)। "ব্যাগযুক্ত বুস্টড ট্রি" নির্দিষ্ট ডেটা সেটগুলিতে এক্সজিবিস্টকে ছাড়িয়ে যেতে পারে।

নমুনার x% এর একক এলোমেলো নমুনা নিন

এই লাইনটি বিভ্রান্তিকর। তুমি কোথা থেকে এলে?

যদি আমি ব্যাগ_ফ্রুয়েন্সি == 0 (যেমন, প্রতি 5 রাউন্ড ব্যাগ) পরিবর্তন করি:

এটি আপনার সিউডো কোডে উল্লেখ করা উচিত নয়। বিশেষত যখন আরও অন্যান্য গুরুত্বপূর্ণ প্যারামিটারগুলি বাকী থাকে (যেমন বুস্টিংয়ের ক্ষেত্রে শেখার হার )।


(+1) ভাল উত্তর! স্পষ্ট করে বলার জন্য: " এক্সজিবিস্ট এবং লাইটজিবিএম উভয়েরই কি ব্যাগিংয়ের অনুমতি দেয় এমন প্যারাম রয়েছে "?
এমকেটি - মনিকা

উভয় ব্যাগিং জন্য অনুমতি: bagging_fraction মধ্যে LightGBM এবং subsample মধ্যে XGBoost । নিশ্চিত নয়, কেন আমি পুরো সময়ের ক্যাটবুস্টকে উল্লেখ করেছি। তবে তারা সকলেই প্রশ্নের ক্ষেত্রে একইভাবে কাজ করে।
লাকসান নাথান

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

অনেকগুলি উপ-নমুনা অঙ্কিত হয় না, কেবল একটি: মডেলটিকে সমস্ত ভারী দৃষ্টান্তের সাথে ফিট করার পরিবর্তে, মডেলটি বুটস্ট্র্যাপের নমুনায় প্রশিক্ষিত হয়।
লাকসান নাথান

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