বায়াস বনাম ভ্যারিয়েন্স (Bias vs Variance)
ধরা যাক, আপনি একটি ডার্টবোর্ড (dartboard) প্রতিযোগিতায় অংশ নিয়েছেন। আপনার দুজন বন্ধু খেলছে:
- অ্যালিস (Alice) তার প্রতিটি ডার্ট একটি নির্দিষ্ট জায়গায় কাছাকাছি মেরেছে — কিন্তু সেই জায়াগাটি মূল কেন্দ্র বা বুলসআই (bullseye) থেকে একটু বাম (left) দিকে সরে গেছে। সে অনেক নিখুঁত বা প্রিসাইজ (precise) হলেও, সে মূলত অফ-টার্গেট (off-target) বা আসল লক্ষ্য থেকে সরে গেছে।
- অন্যদিকে বব (Bob)-এর ডার্টগুলো পুরো বোর্ড জুড়েই এলোমেলোভাবে ছড়িয়ে ছিটিয়ে আছে। এর মধ্যে কিছু হয়তো কেন্দ্রের কাছাকাছি লেগেছে, আর কিছু আবার দেয়াল গিয়ে বিঁধেছে। সে কোনো নির্দিষ্ট দিকে বায়াসড (biased) ছিল না (অর্থাৎ সে এক পাশে মারার চেষ্টা করেনি), কিন্তু তার থ্রো (throws) বা ছোড়াগুলো অনেক বেশি এলোমেলো আর অগোছালো (inconsistent) ছিল।
অ্যালিসের অবস্থাটি হলো হাই বায়াস, লো ভ্যারিয়েন্স (high bias, low variance)। আর ববের অবস্থাটি হলো লো বায়াস, হাই ভ্যারিয়েন্স (low bias, high variance)। আপনার মূল লক্ষ্য কী? এদের কারও মতোই ডার্ট না ছোড়া। আপনি অবশ্যই চাইবেন আপনার ডার্টগুলো যেন কাছাকাছি এবং একেবারে কেন্দ্রে (tight AND centered) থাকে — মেশিন লার্নিংয়ের ক্ষেত্রে এটিই হলো সেই পারফেক্ট জায়গা বা সুইট স্পট (sweet spot)।
বায়াস (Bias) কী?
বায়াস (Bias) হলো এমন একটি অবস্থা যেখানে আপনার মডেল অনেক বেশি সহজ ও সাধারণ (simplistic) অনুমান করে বসে। এটি মূলত কোনো বাঁকানো ডেটার ওপর দিয়ে একটি সোজা লাইন টানার মতো। এ অবস্থায় আপনি মডেলটিকে যত বেশি ডেটাই দিন না কেন, মডেলটি কোনোভাবেই এর আসল প্যাটার্নটি ধরতে পারে না। আর এটিকে আন্ডারফিটিং (underfitting) বলা হয়।
ধরা যাক, আপনি মেঘের ছবি আঁকার জন্য একটি সোজা রুলার বা স্কেল (ruler) ব্যবহার করছেন। কিন্তু স্কেলটি তো আর মেঘের মতো বাঁকানো নয় — মেঘটা যত আঁকাবাঁকাই হোক না কেন, স্কেল আপনাকে সব সময় একটি সোজা লাইনই দেবে।
ভ্যারিয়েন্স (Variance) কী?
ভ্যারিয়েন্স (Variance) হলো এমন একটি অবস্থা যখন আপনার মডেল ট্রেইনিং ডেটার প্রতি অনেক বেশি সংবেদনশীল (sensitive) হয়ে পড়ে। এটি ডেটার প্রতিটি ছোটখাটো বাঁক, ধাক্কা এবং নয়েজ (noise) মুখস্থ করে ফেলে। ফলে এটি ট্রেইনিং সেটে দারুণ পারফর্ম করলেও নতুন ডেটায় গিয়ে একেবারে কাজে আসে না (falls apart)। আর এটিকে ওভারফিটিং (overfitting) বলা হয়।
ধরুন, এবার আপনি আপনার কাঁপাকাঁপা হাত আর খুব সরু বা চিকন একটি কলম দিয়ে সেই একই মেঘের ছবি আঁকা শুরু করলেন। এবার আপনি বাতাসের প্রতিটি ছোটখাটো পরিবর্তন বা নয়েজগুলোও খুব ভালোভাবে ধরে ফেললেন, কিন্তু এর ফলে বাতাস একটু এদিক-সেদিক হওয়ার কারণে আপনার প্রতিটি আঁকা ছবি একেবারেই আলাদা বা ভিন্ন হতে শুরু করলো।
পলিনোমিয়াল ফিটস দিয়ে বায়াস এবং ভ্যারিয়েন্সের তুলনা করা (Seeing Bias vs Variance with Polynomial Fits)
ট্রেডঅফ বা ভারসাম্য তৈরি করা (The tradeoff)
এর সবচেয়ে যন্ত্রণাদায়ক সত্যিটি হলো: বায়াস কমালে সাধারণত ভ্যারিয়েন্স বেড়ে যায় এবং ভ্যারিয়েন্স কমালে বায়াস বেড়ে যায়। এটি অনেকটা সি-স (seesaw) বা দোলনার মতো কাজ করে।
- আপনি মডেলটিকে আরও জটিল বা কমপ্লেক্স বানাচ্ছেন → তখন এর বায়াস কমে যায়, কিন্তু ভ্যারিয়েন্স বেড়ে যায়
- আপনি মডেলটিকে আরও সাধারণ বা সিম্পল বানাচ্ছেন → তখন এর ভ্যারিয়েন্স কমে যায়, কিন্তু বায়াস বেড়ে যায়
তাই মেশিন লার্নিংয়ের সবচেয়ে বড় আর্ট (art) বা শিল্পটি হলো এর এমন একটি ভারসাম্যের বিন্দু (balance point) খুঁজে বের করা, যেখানে মোট ভুলের (total error - বায়াস² + ভ্যারিয়েন্স) পরিমাণ সবচেয়ে কম থাকে। আর এটিকেই মূলত বায়াস-ভ্যারিয়েন্স ট্রেডঅফ (bias-variance tradeoff) বলা হয়।
আপনি কীভাবে সমস্যাগুলো চিনবেন?
| লক্ষণ (Symptom) | সমস্যা (Problem) | সমাধান (Fix) |
|---|---|---|
| ট্রেইনিং এবং টেস্ট দুটোতেই খারাপ পারফর্ম করা | হাই বায়াস (High bias) (আন্ডারফিটিং) | আরও জটিল বা কমপ্লেক্স মডেল ব্যবহার করুন, নতুন ফিচার যুক্ত করুন |
| ট্রেইনিং ডেটায় ভালো করে, কিন্তু টেস্ট ডেটায় খারাপ করা | হাই ভ্যারিয়েন্স (High variance) (ওভারফিটিং) | আরও ডেটা সংগ্রহ করুন, মডেলকে সাধারণ বা সিম্পল করুন, রেগুলারাইজেশন (regularization) ব্যবহার করুন |
Key Metrics
ছোট কুইজ
পড়া চালিয়ে যান