কম্পিউটার টিউটোরিয়াল

র‍্যান্ডম ফরেস্ট কী?


র‍্যান্ডম ফরেস্ট হলো এনসেম্বেল পদ্ধতির একটি ক্লাস বিশেষত ডিসিশন ট্রি ক্লাসিফায়ারের জন্য ডিজাইন করা। এটি একাধিক ডিসিশন ট্রি দ্বারা করা প্রেডিকশন কম্বাইন করে, যেখানে প্রতিটি ট্রি আলাদা সেটের র‍্যান্ডম ভেক্টরের ভ্যালুর ওপর ভিত্তি করে তৈরি হয়।

র‍্যান্ডম ভেক্টরগুলো একটি কনস্ট্যান্ট প্রোবেবিলিটি ডিস্ট্রিবিউশন থেকে জেনারেট হয়, অ্যাডাবুস্টের অ্যাডাপ্টিভ পদ্ধতির বিপরীতে যেখানে প্রোবেবিলিটি ডিস্ট্রিবিউশন পরিবর্তন করা হয় কঠিন ক্লাসিফাই করার ইন্সট্যান্স টার্গেট করার জন্য।

ব্যাগিং (Bagging) ডিসিশন ট্রির সাথে র‍্যান্ডম ফরেস্টের একটি বিশেষ কেস, যেখানে মডেল-বিল্ডিং প্রসেসে র‍্যান্ডমনেসটি alku ট্রেনিং সেট থেকে র‍্যান্ডমলি N স্যাম্পল সিলেক্ট করে (রিপ্লেসমেন্টসহ) ঢুকিয়ে দেওয়া হয়। ব্যাগিংও পুরো মডেল-বিল্ডিং ফেজে একই ইউনিফর্ম প্রোবেবিলিটি ডিস্ট্রিবিউশন ব্যবহার করে এর বুটস্ট্র্যাপড স্যাম্পল তৈরি করতে।

প্রতিটি ডিসিশন ট্রি একটি র‍্যান্ডম ভেক্টর ব্যবহার করে যা একটি কনস্ট্যান্ট প্রোবেবিলিটি ডিস্ট্রিবিউশন থেকে জেনারেট হয়। একটি র‍্যান্ডম ভেক্টর ট্রি-গ্রোइং প্রসেসে অনেকভাবে ইনকর্পোরেট করা যায়। প্রথম পদ্ধতিতে ডিসিশন ট্রির প্রতিটি নোডে স্প্লিট করার জন্য F ইনপুট ফিচার র‍্যান্ডমলি সিলেক্ট করা হয়।

ফলস্বরূপ, সব উপলব্ধ ফিচার بررسی না করে, একটি নোড স্প্লিট করার সিদ্ধান্ত এই নির্বাচিত ফিচার থেকে নেওয়া হয়। ট্রিটি কোনো প্রুনিং ছাড়া পুরোপুরি তৈরি হয়। এটি ফলস্বরূপ ট্রিতে বিদ্যমান বায়াস কমাতে সাহায্য করে।

ট্রিগুলো তৈরি হলে, প্রেডিকশনগুলো মেজরিটি ভোটিং স্কিম ব্যবহার করে কম্বাইন করা হয়। এই পদ্ধতিকে Forest-RI বলা হয়, যেখানে RI মানে র‍্যান্ডম ইনপুট সিলেকশন। র‍্যান্ডমনেস বেড়াতে, Forest-RI-র জন্য বুটস্ট্র্যাপ স্যাম্পল তৈরি করতে ব্যাগিং ব্যবহার করা যায়।

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

যদি মূল ফিচার সংখ্যা d খুব ছোট হয়, তবে ডিসিশন ট্রি বিল্ড করার জন্য আলাদা সেটের র‍্যান্ডম ফিচার সিলেক্ট করা কঠিন। ফিচার স্পেস বেড়ানোর একটি পদ্ধতি হলো ইনপুট ফিচারের লিনিয়ার কম্বিনেশন তৈরি করা। বিশেষত, প্রতিটি নোডে, ইনপুট ফিচারের L সংখ্যা র‍্যান্ডমলি সিলেক্ট করে একটি নতুন ফিচার তৈরি করা হয়।

ইনপুট ফিচারগুলো [-1, 1] রেঞ্জের ইউনিফর্ম ডিস্ট্রিবিউশন থেকে জেনারেটেড কোএফিশিয়েন্ট ব্যবহার করে লিনিয়ারলি কম্বাইন করা হয়। প্রতিটি নোডে, এই ধরনের র‍্যান্ডমলি কম্বাইন করা নতুন ফিচারের F সংখ্যা তৈরি হয়, এবং সেরা টাকেই نهاییভাবে নোড স্প্লিট করতে নির্বাচন করা হয়। এই পদ্ধতিকে Forest-RC বলা হয়।


  1. C#-এ জেনেরিক ফিচারগুলো কী কী?

  2. C++-এর কী ফিচারগুলো C#-এ নেই?

  3. C#-এ নেমস্পেস (Namespaces) কী?

  4. C++-এ থাকা কিন্তু জাভায় নেই এমন ফিচারগুলো