ক্লাস্টারিং অ্যালগরিদম

আসুন দ্রুত ক্লাস্টারিং অ্যালগরিদমের ধরন এবং কখন প্রতিটি প্রকার বেছে নেওয়া উচিত তা দেখুন।

একটি ক্লাস্টারিং অ্যালগরিদম বেছে নেওয়ার সময়, আপনার বিবেচনা করা উচিত যে অ্যালগরিদম আপনার ডেটাসেটে স্কেল করে কিনা। মেশিন লার্নিং এর ডেটাসেটের লক্ষ লক্ষ উদাহরণ থাকতে পারে, কিন্তু সমস্ত ক্লাস্টারিং অ্যালগরিদম দক্ষতার সাথে স্কেল করে না। অনেক ক্লাস্টারিং অ্যালগরিদম সমস্ত জোড়া উদাহরণের মধ্যে সাদৃশ্য গণনা করে কাজ করে। এর মানে হল \(n\)উদাহরণের সংখ্যার বর্গ হিসাবে তাদের রানটাইম বৃদ্ধি পায়, যা জটিলতার স্বরলিপিতে \(O(n^2)\) হিসাবে চিহ্নিত। \(O(n^2)\) অ্যালগরিদম ব্যবহারিক হয় না যখন উদাহরণের সংখ্যা লক্ষাধিক হয়। এই কোর্সটি k-means অ্যালগরিদমের উপর ফোকাস করে, যার একটি জটিলতা রয়েছে \(O(n)\), যার অর্থ হল অ্যালগরিদম \(n\)এর সাথে রৈখিকভাবে স্কেল করে।

ক্লাস্টারিং এর প্রকারভেদ

ক্লাস্টারিংয়ের বিভিন্ন পদ্ধতি বিদ্যমান। একটি সম্পূর্ণ তালিকার জন্য, ক্লাস্টারিং অ্যালগরিদম Xu, D. & Tian, ​​Y. Ann-এর একটি ব্যাপক সমীক্ষা দেখুন। ডেটা। বিজ্ঞান (2015) 2: 165. প্রতিটি পদ্ধতি একটি নির্দিষ্ট ডেটা বিতরণের জন্য সবচেয়ে উপযুক্ত। নীচে চারটি সাধারণ পদ্ধতির একটি সংক্ষিপ্ত আলোচনা, কে-মান ব্যবহার করে সেন্ট্রোয়েড-ভিত্তিক ক্লাস্টারিংয়ের উপর ফোকাস করা।

Centroid-ভিত্তিক ক্লাস্টারিং

সেন্ট্রোয়েড-ভিত্তিক ক্লাস্টারিং নীচে সংজ্ঞায়িত শ্রেণীবদ্ধ ক্লাস্টারিংয়ের বিপরীতে ডেটাকে অ-হায়ারার্কিক্যাল ক্লাস্টারে সংগঠিত করে। k-অর্থ হল সবচেয়ে ব্যাপকভাবে ব্যবহৃত সেন্ট্রোয়েড-ভিত্তিক ক্লাস্টারিং অ্যালগরিদম। সেন্ট্রোয়েড-ভিত্তিক অ্যালগরিদমগুলি দক্ষ তবে প্রাথমিক অবস্থা এবং বহিঃপ্রকাশের প্রতি সংবেদনশীল। এই কোর্সটি কে-মিনের উপর ফোকাস করে কারণ এটি একটি দক্ষ, কার্যকরী এবং সহজ ক্লাস্টারিং অ্যালগরিদম।

সেন্ট্রয়েড-ভিত্তিক ক্লাস্টারিং ব্যবহার করে ক্লাস্টারে গোষ্ঠীভুক্ত উদাহরণ। লাইনগুলি ক্লাস্টারগুলির মধ্যে সীমানা দেখায়।
চিত্র 1: সেন্ট্রোয়েড-ভিত্তিক ক্লাস্টারিংয়ের উদাহরণ।

ঘনত্ব-ভিত্তিক ক্লাস্টারিং

ঘনত্ব-ভিত্তিক ক্লাস্টারিং উচ্চ উদাহরণের ঘনত্বের এলাকাগুলিকে ক্লাস্টারে সংযুক্ত করে। যতক্ষণ ঘন এলাকা সংযুক্ত করা যায় ততক্ষণ এটি নির্বিচারে-আকৃতির বিতরণের অনুমতি দেয়। এই অ্যালগরিদমগুলির বিভিন্ন ঘনত্ব এবং উচ্চ মাত্রার ডেটা নিয়ে অসুবিধা হয়৷ আরও, ডিজাইনের মাধ্যমে, এই অ্যালগরিদমগুলি ক্লাস্টারগুলিতে বহিরাগতদের বরাদ্দ করে না।

ঘনত্ব-ভিত্তিক ক্লাস্টারিং ব্যবহার করে দুটি ক্লাস্টারে বিভক্ত উদাহরণ। ক্লাস্টারগুলি রৈখিকভাবে পৃথক করা যায় না।
চিত্র 2: ঘনত্ব-ভিত্তিক ক্লাস্টারিংয়ের উদাহরণ।

বিতরণ ভিত্তিক ক্লাস্টারিং

এই ক্লাস্টারিং পদ্ধতি অনুমান করে যে ডাটা ডিস্ট্রিবিউশনের সমন্বয়ে গঠিত, যেমন গাউসিয়ান ডিস্ট্রিবিউশন । চিত্র 3-এ, বিতরণ-ভিত্তিক অ্যালগরিদম তিনটি গাউসিয়ান ডিস্ট্রিবিউশনে ডেটা ক্লাস্টার করে। বন্টনের কেন্দ্র থেকে দূরত্ব বাড়ার সাথে সাথে একটি বিন্দু বন্টনের সাথে সম্পর্কিত হওয়ার সম্ভাবনা হ্রাস পায়। ব্যান্ড দেখায় যে সম্ভাবনা হ্রাস. যখন আপনি আপনার ডেটাতে বিতরণের ধরণ জানেন না, তখন আপনার একটি ভিন্ন অ্যালগরিদম ব্যবহার করা উচিত।

বিতরণ-ভিত্তিক ক্লাস্টারিং ব্যবহার করে ক্লাস্টার করা উদাহরণ। প্রতিটি ক্লাস্টারে উদাহরণের ঘনত্বের ছায়া দেখায় কিভাবে ক্লাস্টারগুলি বিতরণে ম্যাপ করে।
চিত্র 3: বিতরণ-ভিত্তিক ক্লাস্টারিংয়ের উদাহরণ।

হায়ারার্কিক্যাল ক্লাস্টারিং

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

একটি শ্রেণিবদ্ধ গাছ ব্যবহার করে গুচ্ছবদ্ধ প্রাণী।
চিত্র 4: একটি শ্রেণিবদ্ধ গাছের ক্লাস্টারিং প্রাণীর উদাহরণ।