My guess is that catboost doesn't use the dummified variables, so the weight given to each (categorical) variable is more balanced compared to the other implementations, so the high-cardinality variables don't have more weight than the others.
https://arxiv.org/abs/1706.09516
আপনি এই ইংরেজি ভাষার কাগজটি CATBoost গাণিতিক স্বতন্ত্রতা সম্পর্কে ইয়ানডেক্স দলের কাছ থেকে দেখতে চান।
আমি এটা সংক্ষেপে পড়ুন, এবং কিছু বিষয় মধ্যে আমি তাড়াতাড়ি বুঝতে পারে যে তারা অবশিষ্টাংশ উপর প্রাপ্ত ব্যবহার করবেন না ছিল ট্রেন করতে ট্রেন , যেহেতু এই অবশিষ্টাংশ লার্নিং মানের আশাবাদী পক্ষপাত তৈরি করুন। ( আপডেট: এই অভিনবত্বটি ওভারফিটিংয়ের বিরুদ্ধে লড়াইয়ের একটি পথ নিয়ে আসে, যা বিভিন্ন উপায়ে শ্রেণিবদ্ধ পরিবর্তনগুলি উপস্থাপনের বিভিন্ন উপায় বাদে অ্যালগরিদমকে এর অ্যানালগগুলির তুলনায় ভালভাবে কাজ করার এক কারণ)।
আপনাকে নির্দিষ্ট এবং পূর্ণ উত্তর না দেওয়ার জন্য আমি দুঃখিত।
জিবিএম, এক্সজিবিস্টের মধ্যে গাণিতিক পার্থক্য
প্রথমে আমি পরামর্শ দিচ্ছি যে আপনি ফ্রেইডম্যানের একটি গ্র্যাডিয়েন্ট বুস্টিং মেশিন সম্পর্কে একটি কাগজ পড়বেন যা বিশেষত লিনিয়ার রেজিস্ট্রার মডেল, শ্রেণিবদ্ধী এবং সিদ্ধান্তের গাছের ক্ষেত্রে প্রয়োগ করা হয়। https://statweb.stanford.edu/~jhf/ftp/trebst.pdf
আমি এখানে বিশদ যেতে হবে না। এটি বিভিন্ন ধরণের লোকস (এল) এবং পরিবর্তনশীল গুরুত্বের ধারণার পাশাপাশি একটি ভাল পঠন read অবশ্যই এটি ক্ষয়ক্ষতি হ্রাসের অনুসরণের ক্ষেত্রে পরামিতিগুলির চেয়ে ফাংশনগুলিতে (নিম্ন-স্তরের মডেলগুলি) একটি বংশদ্ভুত পদ্ধতি প্রয়োগের একটি মাইলফলক কাগজ।
আপনি যদি এখানে দেখুন: https://arxiv.org/pdf/1603.02754.pdf
আপনি তিয়ানকি চেন এট আল দ্বারা এক্সজিবিস্ট মডেলের জন্য একটি গাণিতিক ভিগনেট খুঁজে পান। এখন এটি আকর্ষণীয় হয়ে ওঠে। এই মডেলের কয়েকটি গাণিতিক বিচ্যুতি ক্লাসিক ফ্রেডম্যানের গিগাবাইট গঠন করে:
- নিয়মিত (দণ্ডিত) পরামিতি (এবং আমরা মনে করি যে বুস্টিংয়ের পরামিতিগুলি হ'ল ফাংশন, গাছ বা লিনিয়ার মডেল): এল 1 এবং এল 2 উপলব্ধ।
- প্রক্রিয়াটি গতিতে দ্বিতীয় ডেরাইভেটিভ ব্যবহার করে (যদি এটি আমাকে সংশোধন করার আগে ব্যবহার করা হত)।
এই পয়েন্টে: CATBoost মধ্যে কোয়ান্টাইল ক্ষতির একটি বাস্তবায়ন সন্ধান করতে এখানে দেখুন, যা কার্যকর হয় এবং এটি প্রথম এবং দ্বিতীয় ডেরিভেটিভ উভয়ই সরবরাহ করে: https://github.com/catboost/catboost/blob/master/catboost/libs/algo/ error_functions.h
class TQuantileError : public IDerCalcer<TQuantileError, /*StoreExpApproxParam*/ false> { public:
const double QUANTILE_DER2 = 0.0;
double Alpha;
SAVELOAD(Alpha);
explicit TQuantileError(bool storeExpApprox)
: Alpha(0.5)
{
CB_ENSURE(storeExpApprox == StoreExpApprox, "Approx format does not match");
}
TQuantileError(double alpha, bool storeExpApprox)
: Alpha(alpha)
{
Y_ASSERT(Alpha > -1e-6 && Alpha < 1.0 + 1e-6);
CB_ENSURE(storeExpApprox == StoreExpApprox, "Approx format does not match");
}
double CalcDer(double approx, float target) const {
return (target - approx > 0) ? Alpha : -(1 - Alpha);
}
double CalcDer2(double = 0, float = 0) const {
return QUANTILE_DER2;
} };
আপনি যদি এক্সজিবিস্টে এই দরকারী এল 1 ক্ষতি ফাংশনটি খুঁজে না পান তবে আপনি এক্সজিবি-র জন্য লিখিত কিছু কাস্টম লস ফাংশনগুলির সাথে ইয়ানডেক্সের বাস্তবায়নটির তুলনা করার চেষ্টা করতে পারেন।
- তদতিরিক্ত, সিএটিবিস্ট শ্রেণিবদ্ধ বৈশিষ্ট্যগুলির সাথে দুর্দান্তভাবে কাজ করে, যখন এক্সজিবিস্ট কেবল সংখ্যার ইনপুট গ্রহণ করে।
এই লিঙ্কটি বিবেচনা করুন: https://tech.yandex.com/catboost/doc/dg/concepts/algorithm-main-stages_cat-to-numberic-docpage/#algorithm-main-stages_cat-to-numberic
তারা পুরানো এবং সুপরিচিত এক-গরম পদ্ধতির শীর্ষে মডেল প্রশিক্ষণের জন্য শ্রেণিবদ্ধ বৈশিষ্ট্যগুলি খাওয়ানোর বিভিন্ন উপায় সরবরাহ করে। বেশি তথ্য না হারিয়ে কোনও ইনপুট স্পেসের মাত্রা হ্রাস করা সম্ভাব্য কারণগুলির মধ্যে লাগানো মডেলটি কম বেশি ফিট করা।
আমার হয়ে গেছে। আমি লাইটজিবিএম ব্যবহার করি না, সুতরাং এটিতে কোনও আলো ফেলতে পারি না।