تفاوت طبقه بندی و خوشه بندی در یادگیری ماشین چیست؟ – ۳ فرق کلیدی
در صورتی که با دادههای بدون ساختار و حجم بالا سروکار دارید، اولین قدم، تقسیم این دادهها به گروههای مجزا است. الگوریتمهای یادگیری ماشین برای حل مسائل مختلف و با توجه به نوع دادهها و اهداف، به دستههای مختلفی تقسیم میشوند. یکی از رایجترین تکنیکها در این زمینه «طبقهبندی» (Classification) و «خوشهبندی» (Clustering) هستند. ممکن است برای بسیاری از افراد در این حوزه، تفاوت طبقهبندی و خوشهبندی کمی پیچیده باشد. به نظر میرسد این دو روش شباهتهایی دارند، چون هر دو از ویژگیهای دادهها برای شناسایی الگوها و تفکیک نمونهها استفاده میکنند. اما در واقع، این دو رویکرد تفاوتهای عمدهای با یکدیگر دارند که در این مقاله به بررسی این تفاوتها خواهیم پرداخت.
در ابتدا، مفاهیم پایهای هر یک از این روشها را توضیح میدهیم و سپس به بررسی دقیقتر تفاوت طبقهبندی و خوشهبندی میپردازیم. در نهایت، به برخی سوالات متداول نیز پاسخ خواهیم داد تا درک بهتری از این دو روش در یادگیری ماشین پیدا کنید.
طبقه بندی چیست؟
در یادگیری نظارتشده، الگوریتمها به چند دسته مختلف تقسیم میشوند که یکی از این دستهها «رگرسیون» (Regression) و دیگری «طبقهبندی» (Classification) است. هدف اصلی الگوریتمهای یادگیری در مسائل طبقهبندی، یافتن تابعی است که با توجه به مجموعهای از ویژگیها، قادر به پیشبینی خروجیهایی از نوع «گسسته» (Discrete) باشد. الگوریتمهای طبقهبندی در زمینههای مختلفی کاربرد دارند که در ادامه به چند نمونه از آنها اشاره میکنیم:
پالایش اسپم (Spam Filtering)
استفاده از طبقهبندی برای شناسایی ایمیلهای اسپم و مخرب و جلوگیری از رسیدن آنها به صندوق ورودی کاربر.
بازشناسی چهره (Face Recognition)
شناسایی و تایید هویت افراد از طریق ویژگیهای چهره در تصاویر، ویدئوها، یا حتی بهصورت بلادرنگ.
پیشبینی ریزش مشتری (Customer Churn)
از طریق طبقهبندی میتوان پیشبینی کرد که کدام مشتریان احتمال دارد سرویس شما را ترک کنند، و با استفاده از روشهایی مثل کمپینهای تبلیغاتی، تلاش کرد تا آنها حفظ شوند.
پذیرش وام (Loan Approval)
الگوریتمهای طبقهبندی میتوانند برای ارزیابی صلاحیت افراد در دریافت وام، بر اساس ویژگیهایی مانند سابقه مالی، استفاده شوند.
انواع الگوریتم های طبقه بندی
در ادامه، به معرفی برخی از رایجترین و پرکاربردترین الگوریتمهای طبقهبندی میپردازیم که در فهرست زیر آورده شده است:
رگرسیون لجستیک (Logistic Regression)
K-نزدیکترین همسایه (K-Nearest Neighbors | KNN)
درخت تصمیم (Decision Tree)
جنگل تصادفی (Random Forest)
بیز ساده (Naive Bayes)
نحوه عملکرد هر کدام از این الگوریتمها متفاوت است و در ادامه به بررسی دقیقتر هر یک از آنها خواهیم پرداخت تا با کاربردها و ویژگیهای آنها بیشتر آشنا شویم.
الگوریتم رگرسیون لجستیک
الگوریتم رگرسیون لجستیک (Logistic Regression) معمولاً در دسته الگوریتمهای رگرسیون قرار میگیرد. این مسأله چندان اشتباه نیست؛ زیرا الگوریتم رگرسیون لجستیک خود عمل طبقهبندی آماری انجام نمیدهد و تنها وظیفهاش تخمین پارامترهای یک مدل لجستیک است. آنچه که به این الگوریتم این امکان را میدهد تا در مسائل طبقهبندی استفاده شود، وجود «مرز تصمیمی» (Decision Boundary) است که نقش جداسازی کلاسها از یکدیگر را ایفا میکند. بهطور سادهتر، رگرسیون لجستیک از یک تابع لجستیک برای مدلسازی متغیرهای وابسته دودویی استفاده میکند.
الگوریتم K-نزدیکترین همسایه (KNN)
K-نزدیکترین همسایه (K-Nearest Neighbors | KNN) یکی از سادهترین الگوریتمهای یادگیری ماشین محسوب میشود که برخلاف رگرسیون لجستیک، هم در مسائل طبقهبندی و هم در رگرسیون کاربرد دارد. این الگوریتم در دسته روشهای ناپارامتری (Non-parametric) قرار میگیرد، به این معنا که هیچ فرضی درباره توزیع دادهها ندارد.
همچنین، KNN یک روش یادگیری تنبل (Lazy Learning) است. اصطلاح “تنبل” در اینجا به این معنی است که این الگوریتم هیچ مدل خاصی را از پیش نمیسازد و تمام پردازشهای لازم را تا زمان پیشبینی به تعویق میاندازد. به عبارت دیگر، KNN دادههای آموزشی را ذخیره کرده و هنگام دریافت یک نمونه جدید، با محاسبه فاصله آن از نزدیکترین همسایگان، کلاس یا مقدار خروجی آن را تعیین میکند.
الگوریتم درخت تصمیم (Decision Tree)
درخت تصمیم (Decision Tree) یکی از محبوبترین الگوریتمهای ناپارامتری است که در هر دو حوزه رگرسیون و طبقهبندی مورد استفاده قرار میگیرد. از مهمترین دلایل محبوبیت این الگوریتم، میتوان به سادگی، شفافیت و قابلیت تفسیر آسان آن اشاره کرد. برخلاف برخی از مدلهای پیچیدهتر، درخت تصمیم بهراحتی قابل مصورسازی است، که این ویژگی آن را برای تحلیل و درک بهتر دادهها ایدهآل میکند.
ساختار این الگوریتم بهصورت یک درخت است که از یک گره ریشه (Root) آغاز شده و به چندین گره برگ (Leaf) ختم میشود. هر مسیر از ریشه تا برگ نشاندهنده یک قاعده تصمیمگیری است که بر اساس ویژگیهای دادهها شکل میگیرد. این فرآیند به مدل اجازه میدهد تا تصمیمات منطقی و قابل درک بگیرد، که همین امر باعث محبوبیت بالای آن در کاربردهای مختلف شده است.
الگوریتم جنگل تصادفی (Random Forest)
جنگل تصادفی (Random Forest) یک مدل ترکیبی است که از مجموعهای از درختهای تصمیم تشکیل شده است. این الگوریتم برای بهبود دقت مدل و جلوگیری از بیشبرازش (Overfitting)، از روشهایی مانند تجمیع بوتاسترپ (Bootstrap Aggregation یا Bagging) و زیرفضای تصادفی (Random Subspace) استفاده میکند.
روش Bootstrap و Bagging به این صورت عمل میکند که مدلهای متعددی را از روی نسخههای مختلفی از دادههای آموزشی ایجاد کرده و سپس پیشبینیهای آنها را ترکیب میکند. این کار باعث میشود که همبستگی میان مدلهای پایه کاهش یابد و عملکرد کلی مدل بر روی دادههای جدید بهبود پیدا کند.
علاوه بر این، زیرفضای تصادفی در یادگیری جمعی (Ensemble Learning) به کاهش همبستگی بین مدلها کمک میکند. در این روش، در هر درخت تصمیم تنها از زیرمجموعهای از ویژگیها برای ایجاد تقسیمبندیها استفاده میشود که باعث متنوعتر شدن درختها و افزایش دقت مدل نهایی میشود.
الگوریتم بیز ساده (Naive Bayes)
بیز ساده (Naive Bayes) یکی از الگوریتمهای احتمالاتی (Probabilistic Algorithm) است که بر پایه نظریه بیز عمل میکند. این الگوریتم از قواعد ریاضی برای بهروزرسانی مقادیر احتمالی و پیشبینی دستهبندی دادهها استفاده میکند.
عبارت “ساده” در نام این الگوریتم به این دلیل است که فرض میکند تمام ویژگیهای داده مستقل از یکدیگر هستند. در دنیای واقعی، این فرض همیشه درست نیست، اما این سادهسازی باعث افزایش سرعت و کاهش پیچیدگی محاسباتی میشود، بدون اینکه دقت مدل بهطور قابلتوجهی کاهش یابد.
الگوریتم بیز ساده از قاعده بیز پیروی میکند که احتمال تعلق یک نمونه به یک کلاس خاص را بر اساس ویژگیهای مشاهدهشده، محاسبه میکند
با وجود سادهسازیهایی که در این الگوریتم صورت گرفته است، بیز ساده در بسیاری از کاربردهای طبقهبندی مانند فیلتر کردن ایمیلهای اسپم، دستهبندی اسناد و تحلیل احساسات عملکرد خوبی دارد.
خوشهبندی چیست؟
برای درک تفاوت بین طبقهبندی و خوشهبندی، ابتدا باید بدانیم که خوشهبندی چگونه کار میکند. خوشهبندی یکی از روشهای یادگیری نظارتنشده (Unsupervised Learning) است. در این نوع یادگیری، مدل بدون داشتن برچسبهای خروجی مشخص، سعی میکند الگوها و ساختارهای پنهان در دادهها را کشف کند.
برخلاف یادگیری نظارتشده که از نمونههای برچسبدار برای آموزش استفاده میکند، در یادگیری نظارتنشده، مدل بهطور خودکار دادههایی را که ویژگیهای مشترک دارند در یک گروه قرار میدهد. خوشهبندی نیز دقیقاً همین کار را انجام میدهد، دادههای بدون برچسب را بر اساس شباهتها و تفاوتهایشان گروهبندی میکند.
از کاربردهای خوشهبندی می توان به موارد زیر اشاره کرد:
بخشبندی بازار (Market Segmentation)
کسبوکارها از خوشهبندی برای گروهبندی مشتریان بر اساس ویژگیهای مشترک استفاده میکنند. این کار به آنها کمک میکند تا محصولات و خدمات خود را بر اساس نیازهای مشتریان بهینهسازی کنند.
تحلیل شبکههای اجتماعی (Social Network Analysis)
خوشهبندی در شبکههای اجتماعی به شرکتها کمک میکند تا الگوهای رفتاری کاربران را شناسایی کرده و تصمیمات تجاری خود را بر اساس آن تنظیم کنند.
بخشبندی تصاویر (Image Segmentation)
در پردازش تصویر، خوشهبندی برای بخشبندی تصاویر دیجیتال بهکار میرود تا تحلیل و پردازش آنها سادهتر و دقیقتر انجام شود.
موتورهای توصیهگر (Recommendation Engines)
الگوریتمهای خوشهبندی به موتورهای پیشنهاددهنده کمک میکنند تا رفتار گذشته کاربران را تحلیل کرده و محصولات یا محتواهای مرتبط را پیشنهاد دهند. بهعنوان مثال، سیستمهای پیشنهاد فیلم در نتفلیکس یا پیشنهاد محصولات در آمازون از این تکنیک استفاده میکنند.
چگونه فرق بین خوشهبندی و طبقهبندی را یاد بگیریم؟
برای شروع، باید تفاوت اصلی این دو روش را بشناسید:
طبقهبندی (Classification)
دادهها برچسبدار هستند و مدل سعی میکند کلاس مناسب را برای هر نمونه پیشبینی کند.
خوشهبندی (Clustering)
دادهها بدون برچسب هستند و مدل آنها را بر اساس شباهتها و تفاوتها گروهبندی میکند.
بعد از درک تفاوتهای کلی، بهتر است با برخی الگوریتمهای پایه آشنا شوید مانند درخت تصمیم (Decision Tree) و رگرسیون لجستیک (Logistic Regression) برای طبقهبندی K-Means و DBSCAN برای خوشهبندی
با مطالعه موارد استفاده در دنیای واقعی، تفاوتهای این دو روش بهتر درک میشود مواردی مانند تشخیص ایمیلهای اسپم از غیر اسپم، پیشبینی ریزش مشتری در یک سرویس گروهبندی مشتریان برای بازاریابی هدفمند، بخشبندی تصاویر پزشکی در پردازش تصویر در مرحله بعد، به الگوریتمهای پیشرفتهتر روشهای تقویتی (Boosting) برای بهبود دقت طبقهبندی بپردازید در نهایت، برای درک بهتر، کدنویسی و پیادهسازی الگوریتمها در پایتون را تمرین کنید. استفاده از کتابخانههایی مثل Scikit-learn برای اجرای مدلهای طبقهبندی و خوشهبندی بسیار مفید است.
الگوریتمهای خوشهبندی
پس از معرفی الگوریتمهای طبقهبندی، پیش از بررسی تفاوت میان طبقهبندی و خوشهبندی، بهتر است ابتدا با انواع روشهای خوشهبندی آشنا شویم. در ادامه، برخی از پرکاربردترین الگوریتمهای خوشهبندی را معرفی خواهیم کرد.
الگوریتم خوشهبندی K-میانگین
الگوریتم K-میانگین (K-Means) یکی از پرکاربردترین و محبوبترین روشهای خوشهبندی است. این الگوریتم مبتنی بر مرکز (Centroid-based) بوده و از یک فرایند تکراری برای گروهبندی دادهها استفاده میکند. نتیجه نهایی، مجموعهای از خوشههای غیر همپوشان خواهد بود.
الگوریتم خوشهبندی سلسلهمراتبی
یکی دیگر از روشهای خوشهبندی، الگوریتم خوشهبندی سلسلهمراتبی (Hierarchical Clustering) است که بر اساس ساختاری سلسلهای، دادهها را گروهبندی میکند. این روش شامل دو رویکرد اصلی است: ترکیبی (Agglomerative)، که از پایین به بالا خوشهها را ادغام میکند، و تقسیمی (Divisive)، که از بالا به پایین دادهها را به گروههای کوچکتر تفکیک میکند.
روش ترکیبی
روش ترکیبی (Agglomerative) یک رویکرد پایین به بالا است که در ابتدای فرایند، هر نمونه بهطور جداگانه بهعنوان یک خوشه مجزا در نظر گرفته میشود. در طول فرایند ساخت سلسلهمراتب، نمونهها به تدریج با یکدیگر ادغام میشوند و در نهایت، جفت نمونهها به یک خوشه مشترک تبدیل میشوند.
روش تقسیمی
روش تقسیمی (Divisive) یک رویکرد بالا به پایین است که در آن ابتدا تمامی نمونهها در یک خوشه واحد قرار میگیرند. سپس در هر مرحله بهصورت بازگشتی، این خوشهها تقسیم شده و ساختار سلسلهمراتبی از بالا به پایین شکل میگیرد.
الگوریتم DBSCAN
الگوریتم DBSCAN (Density-Based Spatial Clustering of Applications with Noise) یا خوشهبندی فضایی مبتنیبر چگالی، برای کاربردهایی که با دادههای نویزی سروکار دارند طراحی شده است. یکی از مزیتهای اصلی DBSCAN، مقاومت آن در برابر دادههای پرت (Outliers) است. این الگوریتم در دسته الگوریتمهای خوشهبندی مبتنیبر چگالی قرار دارد و بهطور خاص به نواحی با چگالی بالا خوشهها را نسبت میدهد، در حالیکه نواحی با چگالی پایین از دیگر خوشهها جدا میشوند. برخلاف K-Means، در DBSCAN تعداد خوشهها بهطور خودکار از دادهها استخراج میشود و نیازی به تعیین تعداد خوشهها بهصورت دستی نیست. همچنین، این الگوریتم محدودیتی در شکل خوشهها ندارد.
الگوریتم OPTICS
الگوریتم OPTICS (Ordering Points to Identify the Clustering Structure)، به معنی مرتبسازی نقاط داده برای شناسایی ساختار خوشهبندی، یک الگوریتم مبتنیبر چگالی است که مانند DBSCAN توسط همان تیم تحقیقاتی توسعه یافته است. هدف اصلی OPTICS برطرف کردن چالشهای DBSCAN است، بهویژه در زمینه شناسایی خوشهها بدون توجه به میزان تراکم و فرض ثابت بودن چگالی دادهها. این الگوریتم قادر است خوشهها را بهطور انعطافپذیر شناسایی کند و همچنین محدودیتهای DBSCAN را در شناسایی خوشههای با چگالی متغیر از بین ببرد.
تفاوت طبقهبندی و خوشهبندی
برای درک تفاوتهای اساسی میان طبقهبندی و خوشهبندی، لازم است که ابتدا با انواع الگوریتمهای هر یک آشنا شویم. در بخشهای قبلی، به تفصیل این الگوریتمها بررسی شد. حالا در ادامه به بررسی تفاوتهای این دو روش از سه جنبه مهم پرداخته میشود:
نوع یادگیری:
در طبقهبندی، از یادگیری نظارتشده (Supervised Learning) استفاده میشود، یعنی برای آموزش مدل، به دادههای برچسبخورده (که برای هر نمونه، برچسب یا کلاس مشخصی دارند) نیاز است.
در خوشهبندی، از یادگیری بدون نظارت (Unsupervised Learning) استفاده میشود، که در آن نیازی به برچسبگذاری دادهها نیست. در این روش، هدف کشف ساختارهای پنهان و الگوها در دادهها است.
هدف و کاربرد:
طبقهبندی به پیشبینی و تخصیص یک برچسب مشخص به دادهها پرداخته و در مسائل مختلفی همچون شناسایی ایمیلهای اسپم، دستهبندی تصاویر، و پیشبینی وقوع بیماریها کاربرد دارد.
در خوشهبندی، هدف گروهبندی دادهها به خوشههای مشابه است. این روش در کاربردهایی مانند بخشبندی بازار، تحلیل شبکههای اجتماعی، و موتورهای توصیهگر برای شناسایی الگوهای مشابه میان دادهها استفاده میشود.
خروجی:
در طبقهبندی، خروجی به صورت کلاسهای مشخص برای هر نمونه داده است.
در خوشهبندی، خروجی به صورت گروههای داده مشابه (خوشهها) است که از هم تفکیک شدهاند و نمیتوان به هر خوشه برچسب خاصی داد، مگر اینکه از دادههای اضافی برای تحلیل استفاده شود.
۱. یادگیری نظارتشده و نظارتنشده
در یادگیری نظارتشده (Supervised Learning)، مدل با استفاده از دادههای برچسبخورده آموزش میبیند. یعنی هر نمونه داده دارای یک برچسب (خروجی) است که مدل میتواند از آن برای پیشبینی خروجی برای دادههای جدید استفاده کند. در طبقهبندی، هدف پیشبینی یک برچسب خاص برای ورودیهای جدید است.
در یادگیری نظارتنشده (Unsupervised Learning)، دادهها بدون برچسب یا خروجی مشخص به مدل ارائه میشود و هدف کشف ساختار یا الگوهای پنهان در دادهها است. از تکنیکهایی مانند خوشهبندی برای گروهبندی دادهها بر اساس شباهتها یا تفاوتها استفاده میشود، بدون اینکه به برچسبهای خاص نیاز باشد.
بهطور کلی، یادگیری نظارتشده برای پیشبینی برچسبها و یادگیری نظارتنشده برای کشف الگوها در دادههای بدون برچسب کاربرد دارد.
۲. نیاز به دادههای آموزشی و آزمایشی
در مسائل طبقهبندی، برای آموزش مدل نیاز به دادههای برچسبخورده داریم (مجموعه آموزشی). این دادهها به مدل کمک میکنند تا ارتباطات بین ویژگیها و برچسبها را یاد بگیرد. علاوه بر دادههای آموزشی، برای ارزیابی عملکرد مدل و جلوگیری از بروز Overfitting (تطبیق بیش از حد مدل با دادههای آموزشی)، نیاز به یک مجموعهداده آزمایشی (Test Set) نیز داریم که مدل بر اساس آن ارزیابی میشود.
در خوشهبندی، چون دادهها معمولاً بدون برچسب هستند، نیازی به مجموعه آزمایشی بهصورت خاص نداریم. در این حالت، از دادههای آموزشی برای شناسایی الگوها و ساختارهای دادهها استفاده میشود. هرچند که ممکن است برای ارزیابی کیفیت خوشهبندی از معیارهای خاصی مانند آنتروپی یا شاخص سیلورمن استفاده کرد.
بهطور کلی، در طبقهبندی از مجموعه آزمایشی برای ارزیابی استفاده میشود، اما در خوشهبندی نیاز به مجموعه آزمایشی نیست، زیرا هدف اصلی کشف الگوها و ساختارها در دادهها است.
۳. تفاوتهای الگوریتمی
الگوریتمهای خوشهبندی و طبقهبندی تفاوتهای مهمی در نحوه عملکرد و نیاز به دادهها دارند:
الگوریتمهای خوشهبندی برای استخراج اطلاعات از دادهها به دادههای ورودی وابسته هستند.
در این الگوریتمها، هیچ جفت ورودی-خروجی مشخصی وجود ندارد، بنابراین یادگیری بهصورت یادگیری نظارت نشده (Unsupervised Learning) انجام میشود.
این الگوریتمها بهطور خودکار گروهبندیهایی را بر اساس شباهتها و تفاوتهای موجود در دادهها شناسایی میکنند.
در الگوریتمهای طبقهبندی، برای ایجاد مدل یادگیری و پیشبینی خروجی نمونههای جدید، نیاز به دادههایی داریم که شامل جفت ورودی و خروجی است.
این الگوریتمها بهصورت یادگیری نظارت شده (Supervised Learning) عمل میکنند و از دادههای برچسبخورده برای یادگیری ارتباطات بین ورودیها و خروجیها استفاده میکنند.
سوالات متداول پیرامون تفاوت طبقهبندی و خوشهبندی
بیایید اکنون به سوالات متداولی که در این زمینه ممکن است پیش بیاید بپردازیم:
چه زمان باید به جای خوشهبندی از طبقهبندی استفاده شود؟
از طبقهبندی زمانی استفاده میشود که گروه یا کلاسهایی برای دستهبندی دادهها از پیش تعریف شده باشند. در این روش، برچسبهای مشخصی برای دادهها وجود دارد و هدف مدل پیشبینی این برچسبها است. در حالی که خوشهبندی برای شناسایی الگوها و گروهبندی دادهها بهطور خودکار و بدون نیاز به برچسبهای از پیش تعیین شده به کار میرود.
کدام یک در تحلیل داده دقیقتر عمل میکند؛ طبقهبندی یا خوشهبندی؟
بهطور پیشفرض، هیچکدام از این دو روش از دیگری دقیقتر نبوده و انتخاب تکنیک مناسب به نوع مسئله و مجموعهداده بستگی دارد. دقت نتایج نهایی به کیفیت دادهها و همچنین مناسب بودن الگوریتم برای مسئله مورد نظر بستگی دارد.
در چه مسائلی از الگوریتمهای طبقهبندی و خوشهبندی استفاده میشود؟
از الگوریتمهای طبقهبندی در مسائل بخشبندی مشتریان، بازشناسی تصویر، تشخیص کلاهبرداری و طبقهبندی متن استفاده میشود. این الگوریتمها برای پیشبینی برچسبهای مشخص برای دادهها به کار میروند.
از الگوریتمهای خوشهبندی در مسائل شناسایی گروههای مشابه و الگوهای پنهان در دادهها استفاده میشود، مانند تحلیل شبکههای اجتماعی، بخشبندی بازار، و موتورهای توصیهگر.
جمعبندی
با وجود هدف نهایی مشابه، دو رویکرد طبقهبندی و خوشهبندی روشهای منحصربهفرد خود را برای گروهبندی دادهها دارند. الگوریتمهای طبقهبندی برای کاربردهایی همچون پالایش ایمیلهای اسپم و پیشبینی نرخ ریزش مشتری به دادههای برچسبگذاریشده نیاز دارند. در مقابل، خوشهبندی به دادههای برچسبگذاریشده نیاز ندارد و به صورت اکتشافی، در مسائلی مانند بخشبندی بازار یا سیستمهای توصیهگر به کار میرود. داشتن درکی مناسب از تفاوتهای این دو روش، میتواند تاثیر زیادی بر کارآمدی پروژههای یادگیری ماشین و تحلیل دادههای شما بگذارد.