Classification چیست؟
Classification چیست/در دنیای امروز که دادهها نقشی کلیدی در تصمیمگیری و توسعه فناوری دارند، هوش مصنوعی و یادگیری ماشین به ابزارهایی ضروری تبدیل شدهاند. یکی از مهمترین روشهای یادگیری ماشین نظارت شده، طبقهبندی (Classification) است که در دستهبندی دادهها و پیشبینی خروجیها کاربرد دارد.
الگوریتمهای طبقهبندی دادهها را در گروههای مشخصی قرار میدهند و در حوزههای متعددی مانند تشخیص ایمیلهای اسپم، شناسایی چهره، تحلیل گفتار و حتی پزشکی به کار میروند. در این مقاله، مفهوم Classification را به زبان ساده توضیح میدهیم، کاربردهای آن را بررسی میکنیم و با نقش یادگیرندهها در مسائل طبقهبندی آشنا میشویم. در پایان نیز نگاهی به روشهای رایج پیادهسازی الگوریتمهای طبقهبندی خواهیم داشت.
برای استفاده از هوش مصنوعی رایگان بیا تو ای آی
معرفی یادگیری نظارت شده
پیش از آنکه به این بپردازیم که Classification چیست، بهتر است ابتدا با مفهوم یادگیری نظارت شده (Supervised Learning) آشنا شویم. یادگیری نظارت شده یکی از شاخههای مهم یادگیری ماشین و هوش مصنوعی است که در آن مدل ابتدا با استفاده از دادههای دارای برچسب آموزش میبیند. در این فرآیند، برچسب یا خروجی مورد انتظار هر داده ورودی از قبل توسط انسان مشخص شده است. سپس مدل، بر اساس این دادهها آموزش دیده و در مرحله بعد، میتواند دادههای جدید و ناشناخته را پیشبینی کند.
به عنوان مثال، فرض کنید مدلی را برای تشخیص نوع فایلها آموزش میدهیم. در مرحله یادگیری، این مدل با انواع فایلها مانند تصاویر و اسناد متنی آشنا میشود. سپس، در مرحله آزمایش، بدون دریافت راهنمایی، فقط بر اساس الگوهایی که یاد گرفته است، نوع فایلهای جدید را پیشبینی خواهد کرد.
یادگیری نظارت شده در تجزیهوتحلیل دادهها، تولید خروجیهای دقیق و حل مسائل دنیای واقعی کاربرد گستردهای دارد. در سالهای اخیر، الگوریتمهای نظارت شده در حوزههای تجاری، پزشکی، صنعت و فناوری اطلاعات تأثیر قابلتوجهی داشتهاند. با این حال، باید در نظر داشت که آموزش مدلهای یادگیری ماشین فرایندی زمانبر است، بهویژه زمانی که مجموعهدادهها بزرگ و پیچیده باشند.
الگوریتمهای یادگیری نظارت شده معمولاً به دو دسته زیر تقسیم میشوند:
رگرسیون (Regression)
زمانی که خروجی مدل یک مقدار عددی و پیوسته باشد، از الگوریتمهای رگرسیون استفاده میکنیم. هدف این روش، برقراری رابطهای قابل پیشبینی بین متغیرهای مستقل و وابسته است. برای مثال، پیشبینی قیمت مسکن یا میزان فروش در آینده از جمله کاربردهای رگرسیون محسوب میشود.
طبقهبندی (Classification)
این روش زمانی کاربرد دارد که دادههای ورودی را بخواهیم در دستههای مشخصی طبقهبندی کنیم. در اینجا، مدل بر اساس متغیرهای مستقل، گروه یا کلاس دادههای جدید را شناسایی میکند. به عنوان نمونه، شناسایی ایمیلهای اسپم و غیر اسپم یا تشخیص بیماری بر اساس نتایج آزمایش پزشکی از کاربردهای رایج طبقهبندی هستند.
طبقهبندی یا Classification چیست؟
برای پاسخ به این پرسش که Classification چیست، میتوان گفت که طبقهبندی یکی از زیرمجموعههای یادگیری ماشین است که دادههای ورودی را بر اساس یک یا چند ویژگی به دستههای مختلف تقسیم میکند.
الگوریتمهای طبقهبندی میتوانند روی دادههای ساختاریافته مانند جداول و پایگاههای داده و دادههای بدون ساختار مانند متن و تصاویر اعمال شوند. این الگوریتمها قادرند با دقت بالا، دادههای جدید را در دستههای از پیش تعیینشده قرار دهند.
فرآیند طبقهبندی حداقل به دو گروه یا کلاس مجزا نیاز دارد تا بتواند دادهها را از هم تفکیک کند. در نتیجه، خروجی این روش معمولاً یک مقدار احتمالی است که نشان میدهد یک نمونه خاص چقدر به یک دسته مشخص تعلق دارد.
برای مثال، برخی از کاربردهای رایج طبقهبندی شامل موارد زیر هستند:
شناسایی ایمیلهای اسپم و غیر اسپم
تشخیص بیماری بر اساس دادههای پزشکی
طبقهبندی رنگها مانند قرمز یا سبز
شناسایی جنسیت افراد بر اساس تصویر یا صدا
کاربردهای طبقهبندی در زندگی روزمره
الگوریتمهای طبقهبندی (Classification) در بسیاری از جنبههای زندگی روزمره ما نقش دارند. برخی از کاربردهای مهم این تکنیک را میتوان در موارد زیر مشاهده کرد:
دستهبندی تصاویر (Image Classification): تشخیص و گروهبندی تصاویر، مانند شناسایی اشیا در عکسها یا تشخیص گربه و سگ در تصاویر.
تشخیص کلاهبرداری (Fraud Detection): شناسایی تراکنشهای مشکوک در بانکداری و جلوگیری از تقلب در پرداختهای آنلاین.
دستهبندی اسناد (Document Classification): مرتبسازی و گروهبندی اسناد، مانند تشخیص ایمیلهای اسپم یا دستهبندی مقالات علمی.
تشخیص چهره (Facial Recognition): شناسایی و احراز هویت افراد در سیستمهای امنیتی یا باز کردن قفل گوشیهای هوشمند.
تشخیص صدا (Voice Recognition): پردازش گفتار و تبدیل آن به متن، مانند دستیارهای صوتی هوشمند (Siri، Google Assistant).
تشخیص پزشکی (Medical Diagnosis): کمک به پزشکان در شناسایی بیماریها از طریق بررسی دادههای پزشکی و تصویربرداری.
کنترل کیفیت (Quality Control): تشخیص محصولات معیوب در خطوط تولید کارخانهها.
سیستمهای توصیهگر (Recommendation Systems): ارائه پیشنهادهای شخصیسازیشده، مانند پیشنهاد فیلمها در نتفلیکس یا محصولات در فروشگاههای آنلاین.
نقش یادگیرندهها در مسائل Classification چیست؟
برای درک بهتر مفهوم Classification، آشنایی با انواع یادگیرندهها در مسائل طبقهبندی ضروری است. بهطور کلی، یادگیرندهها در این حوزه به دو دسته اصلی تقسیم میشوند:
یادگیرندههای تنبل (Lazy Learners)
یادگیرندههای مشتاق (Eager Learners)
در ادامه، هر یک از این دستهها را بررسی خواهیم کرد.
یادگیرندههای تنبل (Lazy Learners)
یادگیرندههای تنبل ابتدا تمام دادههای آموزشی را ذخیره میکنند و تنها در زمان پیشبینی و آزمایش از آنها استفاده میکنند. هدف اصلی این مدلها، بهروزرسانی مداوم مجموعه دادهها با نمونههای جدید است.
با این حال، با افزایش تعداد دادههای جدید، برخی از دادههای قبلی کمکم منسوخ میشوند. به همین دلیل، زمان آموزش در این روش کوتاهتر است اما در مرحله پیشبینی، زمان بیشتری صرف پردازش و جستجو در دادهها میشود.
از ویژگیهای یادگیرندههای تنبل به موارد زیر می توان اشاره کرد:
مناسب برای مجموعهدادههای پویا و در حال تغییر
زمان آموزش کوتاه، اما زمان پیشبینی طولانیتر
مدیریت و نگهداری آسان
مناسب برای دادههایی با ویژگیهای محدود
الگوریتمهای رایج یادگیرندههای تنبل:
رگرسیون محلی (Local Regression)
قواعد بیز تنبل (Lazy Bayesian Rules)
الگوریتم K-نزدیکترین همسایه (K-Nearest Neighbor | KNN)
یادگیری مبتنیبر نمونه (Instance-based Learning)
استدلال مبتنیبر مورد (Case-based Reasoning)
این دسته از یادگیرندهها در بسیاری از مسائل طبقهبندی، بهویژه مواردی که دادهها بهطور مداوم تغییر میکنند، کاربرد دارند.
یادگیرندههای مشتاق (Eager Learners)
یادگیرندههای مشتاق، پیش از دریافت دادههای جدید، ابتدا یک مدل طبقهبندی ایجاد میکنند. این الگوریتمها با استفاده از دادههای آموزشی، یک توصیف مشخص از فضای آموزش میسازند، حتی قبل از اینکه نمونههای جدید را دریافت و پردازش کنند.
به همین دلیل، برخلاف یادگیرندههای تنبل، این مدلها زمان بیشتری را برای آموزش صرف میکنند اما در عوض، فرآیند پیشبینی آنها سریعتر انجام میشود.
از ویژگیهای یادگیرندههای مشتاق به موارد زیر می توان اشاره کرد:
زمان آموزش طولانی، اما پیشبینی سریع
مناسب برای دادههایی که تغییرات مداوم ندارند
توسعهیافته برای پردازش مجموعهدادههای بزرگ
ایجاد یک مدل ثابت قبل از دریافت دادههای جدید
الگوریتمهای رایج یادگیرندههای مشتاق:
درخت تصمیم (Decision Tree)
بیز ساده (Naive Bayes)
شبکههای عصبی (Neural Networks)
این نوع یادگیرندهها در بسیاری از مسائل طبقهبندی بهویژه در مواردی که مدل نیاز به یک ساختار مشخص و پایدار دارد، بسیار کاربردی هستند.
کاربردهای طبقهبندی در یادگیری ماشین
برای پاسخ به این پرسش که Classification چیست؟، میتوان به چهار کاربرد اصلی در یادگیری ماشین اشاره کرد:
طبقهبندی دودویی (Binary Classification)
طبقهبندی چندکلاسه (Multi-class Classification)
طبقهبندی چندبرچسبی (Multi-label Classification)
طبقهبندی نامتوازن (Imbalanced Classification)
در ادامه، هر یک از این کاربردها را بهصورت کاملتر بررسی خواهیم کرد.
طبقهبندی دودویی (Binary Classification)
در طبقهبندی دودویی، هدف این است که دادههای ورودی را به دو دسته کاملاً مجزا تقسیم کنیم. در چنین مسائلی، مجموعهداده آموزشی معمولاً دارای دو برچسب مشخص است، مانند:
درست (True) یا نادرست (False)
مثبت (Positive) یا منفی (Negative)
۰ یا ۱
اسپم یا عادی
نامگذاری این برچسبها به نوع مسئله بستگی دارد. بهعنوان مثال، در یک مدل تشخیص تصویر، ممکن است دو برچسب قایق و کامیون داشته باشیم و مدل باید تصاویر جدید را در یکی از این دو گروه قرار دهد.
الگوریتمهای رایج در طبقهبندی دودویی:
رگرسیون لجستیک (Logistic Regression)
ماشین بردار پشتیبان (Support Vector Machine | SVM)
K-نزدیکترین همسایه (K-Nearest Neighbor | KNN)
درخت تصمیم (Decision Tree)
طبقهبندی دودویی یکی از متداولترین انواع طبقهبندی در یادگیری ماشین است و در زمینههایی مانند شناسایی ایمیلهای اسپم، تشخیص بیماری و تحلیل احساسات کاربرد زیادی دارد.
طبقهبندی چندکلاسه (Multi-class Classification)
برخلاف طبقهبندی دودویی که فقط دو برچسب دارد، در طبقهبندی چندکلاسه تعداد کلاسها میتواند بیش از دو مورد باشد. هدف اصلی در این نوع طبقهبندی، پیشبینی کلاس مناسب برای دادههای جدید است.
بهعنوان مثال، در یک مدل تشخیص تصویر، ممکن است چندین دسته مانند “هواپیما”، “قایق” و “کامیون” وجود داشته باشد. مدل یادگیری ماشین باید ورودی جدید را بهدرستی در یکی از این گروهها طبقهبندی کند.
از الگوریتمهای پرکاربرد در طبقهبندی چندکلاسه به موارد زیر می توان اشاره کرد:
جنگل تصادفی (Random Forest)
بیز ساده (Naive Bayes)
K-نزدیکترین همسایه (K-Nearest Neighbor | KNN)
تقویت گرادیان (Gradient Boosting)
ماشین بردار پشتیبان (Support Vector Machine | SVM)
رگرسیون لجستیک (Logistic Regression)
تکنیکهای تبدیل طبقهبندی دودویی به چندکلاسه شامل یک در مقابل یک (One-vs-One | OvO) و یک در مقابل همه (One-vs-All | OvA) است.
این تکنیکها باعث میشوند که الگوریتمهای دودویی نیز بتوانند در مسائل چندکلاسه مورد استفاده قرار بگیرند.
روش یک در مقابل یک (One-vs-One | OvO)
در این تکنیک، برای هر دو کلاس از مجموعه برچسبها، یک مدل طبقهبندی دودویی مستقل ایجاد میشود. به عبارت دیگر، اگر ۳ کلاس مختلف داشته باشیم، ۳ مدل دودویی متفاوت خواهیم داشت.
محاسبه تعداد دستهبندها
فرمول کلی برای تعداد دستهبندهای مورد نیاز در این روش:
𝑁×(𝑁−1)/2
که در آن N تعداد کلاسها است.
نحوه تصمیمگیری نهایی به این شکل است که:
هر دستهبند یک رای به کلاس موردنظر خود اختصاص میدهد.
در پایان، کلاسی که بیشترین رای را دریافت کند، بهعنوان برچسب نهایی انتخاب میشود.
از مزایا و معایب آن به موارد زیر می توان اشاره کرد:
مناسب برای الگوریتمهای مبتنی بر کرنل، مانند ماشین بردار پشتیبان (SVM).
عملکرد دقیق در طبقهبندی چندکلاسه.
با افزایش تعداد کلاسها، تعداد دستهبندهای مورد نیاز بهشدت افزایش مییابد.
هزینه پردازشی بالا در مجموعهدادههای بزرگ.
روش یک در مقابل همه (One-vs-All | OvA)
در این تکنیک، برای هر کلاس، یک مدل طبقهبندی دودویی ایجاد میشود که آن کلاس را در برابر تمامی کلاسهای دیگر قرار میدهد.
که در آن N تعداد کلاسهای موجود است.
به این شکل است که:
هر مدل یک احتمال خروجی برای کلاس مربوط به خود تولید میکند.
در نهایت، کلاسی که بالاترین احتمال را داشته باشد، بهعنوان برچسب نهایی انتخاب میشود.
از مزایا و معایب آن به موارد زیر می توان اشاره کرد:
پیادهسازی آسان و مناسب برای الگوریتمهایی مانند رگرسیون لجستیک.
مقیاسپذیری بهتر نسبت به روش یک در مقابل یک.
عدم تعادل دادهها، زیرا هر مدل یک کلاس را در برابر تمام کلاسهای دیگر یاد میگیرد.
مشکل در تشخیص مواردی که کلاسهای نزدیک به هم دارند.
طبقهبندی چندبرچسبی (Multi-label Classification)
در این روش، یک نمونه ورودی میتواند به بیش از یک کلاس تعلق داشته باشد. برخلاف طبقهبندی دودویی یا چندکلاسه که هر نمونه را به یک کلاس واحد نسبت میدهند، در طبقهبندی چندبرچسبی، هر نمونه میتواند دارای ۰ یا چندین برچسب مختلف باشد.
از کاربردهای اصلی طبقهبندی چندبرچسبی می توان به موارد زیر اشاره کرد:
برچسبگذاری خودکار متون: یک مقاله ممکن است به چندین موضوع مرتبط باشد.
بینایی ماشین: یک تصویر میتواند شامل چندین شیء مختلف باشد (مانند خودرو، عابر پیاده، ساختمان).
سیستمهای توصیهگر: پیشنهاد محصولات یا فیلمهایی که میتوانند در چندین دسته قرار بگیرند.
الگوریتمهای مورد استفاده در طبقهبندی چندبرچسبی
برخی از مدلهای طبقهبندی متداول که نسخههای مخصوص چندبرچسبی دارند، عبارتند از:
درخت تصمیم چندبرچسبی (Multi-label Decision Tree)
تقویت گرادیان چندبرچسبی (Multi-label Gradient Boosting)
جنگل تصادفی چندبرچسبی (Multi-label Random Forest)
همچنین استفاده از مدلهای طبقهبندی دودویی یا چندکلاسه در مسائل چندبرچسبی ممکن نیست و توسعه الگوریتمهای ویژه که توانایی پیشبینی چندین برچسب برای یک نمونه را دارند.
طبقهبندی نامتوازن (Imbalanced Classification)
در مسائل طبقهبندی نامتوازن، توزیع دادهها در کلاسهای مختلف بهطور یکنواخت نیست. به این معنا که برخی کلاسها دارای تعداد نمونههای بسیار بیشتری نسبت به سایر کلاسها هستند. این عدم توازن باعث میشود که مدلهای یادگیری ماشین، بهویژه الگوریتمهای متداول مانند درخت تصمیم یا رگرسیون، به سمت کلاسهای پرنمونه سوگیری (Bias) پیدا کنند و کلاسهای با نمونههای کمتر را نویز تلقی کنند.
کاربردهای رایج طبقهبندی نامتوازن
تشخیص تراکنشهای جعلی در سیستمهای مالی
شناسایی بیماریهای نادر در حوزه پزشکی
تحلیل و پیشبینی نرخ بازگشت مشتری
راهکارهای مقابله با عدم توازن در مجموعهدادهها
تکنیکهای نمونهگیری (Sampling Techniques): شامل افزایش نمونههای کلاس کمجمعیت (Oversampling) و کاهش نمونههای کلاس پرجمعیت (Undersampling).
الگوریتمهای حساس به هزینه (Cost-Sensitive Algorithms): اعمال وزنهای متفاوت به کلاسهای نامتوازن برای کاهش تأثیر سوگیری.
این روشها کمک میکنند تا مدلهای یادگیری ماشین در مواجهه با دادههای نامتوازن، عملکرد بهتری داشته باشند و دقت پیشبینی در کلاسهای کمنمونه افزایش یابد.
تکنیکهای نمونهگیری در طبقهبندی (Classification Sampling Techniques)
در مسائل طبقهبندی نامتوازن،
تکنیکهای نمونهگیری (Sampling) به متوازنسازی
مجموعهداده کمک میکنند. این روشها به دو دسته کلی بیشنمونهگیری (Oversampling) و کمنمونهگیری (Undersampling) تقسیم میشوند.
بیشنمونهگیری مبتنیبر خوشه (Cluster-based Oversampling)
در این روش، دادههای کلاس اقلیت (Minority) و اکثریت (Majority) با کمک الگوریتم خوشهبندی K-Means گروهبندی شده و سپس تکثیر دادههای اقلیت بهگونهای انجام میشود که تعادل بیشتری بین کلاسها برقرار گردد.
کمنمونهگیری تصادفی (Random Undersampling)
در این تکنیک، بخشی از دادههای کلاس اکثریت بهصورت تصادفی حذف میشود تا تعداد نمونههای آن کاهش یافته و تعادل بهتری میان کلاسها ایجاد شود.
بیشنمونهگیری اقلیت مصنوعی (SMOTE – Synthetic Minority Oversampling Technique)
یکی از رایجترین روشهای Oversampling است که در آن دادههای مصنوعی جدید برای کلاس اقلیت تولید میشوند. این نمونههای جدید از طریق درونیابی خطی (Interpolation) میان نمونههای واقعی کلاس اقلیت ساخته میشوند.
هر یک از این روشها بسته به نوع دادهها و میزان عدم توازن در مجموعهداده، میتوانند در بهبود عملکرد مدلهای یادگیری ماشین تأثیرگذار باشند.
الگوریتمهای حساس به هزینه در طبقهبندی (Cost-sensitive Classification Algorithms)
در مسائل طبقهبندی نامتوازن، مدلهای یادگیری ماشین ممکن است نسبت به کلاسهایی که نمونههای بیشتری دارند سوگیری (Bias) پیدا کنند.
الگوریتمهای حساس به هزینه (Cost-sensitive Algorithms)
برای کاهش این مشکل، به اشتباهات طبقهبندی وزن میدهند و هدف آنها حداقلسازی هزینه کلی مدل است.
انواع الگوریتمهای حساس به هزینه در زیر آمده است:
درخت تصمیم حساس به هزینه (Cost-sensitive Decision Tree)
این روش از درخت تصمیم (Decision Tree) استفاده کرده اما در هنگام تقسیمبندی دادهها، به هزینه خطای هر کلاس وزن بیشتری اختصاص میدهد. در نتیجه، مدل سعی میکند دقت را در کلاسهای اقلیت بهبود ببخشد.
رگرسیون لجستیک حساس به هزینه (Cost-sensitive Logistic Regression)
این روش یک نسخه وزندهیشده از رگرسیون لجستیک است که در آن خطای کلاسهای اقلیت بیشتر جریمه میشود تا مدل از طبقهبندی نادرست این موارد جلوگیری کند.
ماشین بردار پشتیبان حساس به هزینه (Cost-sensitive SVM)
در این مدل، تابع هزینه SVM طوری تنظیم میشود که وزن کلاسهای مختلف را متناسب با میزان اهمیت آنها تغییر دهد. این تکنیک به بهبود دقت مدل در تشخیص کلاسهای با دادههای کمتر کمک میکند.
این الگوریتمها بهویژه در مسائل حساس مانند تشخیص تقلب، پزشکی و امنیت سایبری کاربرد دارند، جایی که هزینهی اشتباهات مدل بسیار بالا است.
معیارهای ارزیابی در الگوریتمهای طبقهبندی
پس از شناخت مفهوم طبقهبندی (Classification) و انواع مدلهای آن، باید بدانیم که چگونه میتوان عملکرد یک مدل را ارزیابی کرد. معیارهای ارزیابی به ما کمک میکنند تا بفهمیم مدل چقدر در پیشبینیهای خود دقیق و قابل اعتماد است.
در ادامه، رایجترین معیارهای ارزیابی را بررسی میکنیم:
دقت (Accuracy)
دقت، یکی از سادهترین معیارهای ارزیابی است که نسبت تعداد پیشبینیهای صحیح به کل نمونهها را محاسبه میکند:
Accuracy=TP+TN/FP+FN+TP+TN
در مجموعهدادههای نامتوازن (مثلاً ۹۵٪ نمونهها منفی و ۵٪ مثبت)، دقت بالا ممکن است گمراهکننده باشد.
صحت (Precision)
صحت نشان میدهد که از بین تمام نمونههایی که مدل مثبت پیشبینی کرده، چند مورد واقعاً مثبت بودهاند:
Precision=TP/FP+TP
در مواردی که پیشبینی مثبت اشتباه هزینه بالایی دارد (مانند تشخیص اسپم یا تشخیص سرطان)، دقت بالاتر مهمتر است کاربرد دارد.
بازیابی (Recall)
بازیابی نشان میدهد که از بین تمام نمونههای مثبت واقعی، مدل چند مورد را بهدرستی شناسایی کرده است:
Recall =TP/FN+TP
کاربرد آن در تشخیص بیماریهای پزشکی یا کشف تقلب که از دست دادن نمونههای مثبت خطرناک است، بازیابی بالاتر اهمیت دارد.
امتیاز (F1 Score)
2×(Precision×Recall/Precision+Recall)
اگر نیاز به تعادل بین صحت و بازیابی داشته باشیم، F1 Score معیار بهتری نسبت به دقت است.
منحنی ROC و AUC
منحنی ROC (Receiver Operating Characteristic) عملکرد مدل را در سطوح مختلف آستانه (Thresholds) نمایش میدهد. مساحت زیر این منحنی (AUC) معیار نهایی برای مقایسه مدلها است:
AUC = 0.5 → مدل تصادفی عمل میکند.
AUC نزدیک به 1 → مدل عملکرد عالی دارد.
AUC نزدیک به 0 → مدل معکوس عمل میکند.
کاربرد آن در مقایسهی مدلهای مختلف در تشخیص پزشکی و رتبهبندی پیشنهادات شخصیسازیشده است.
بررسی الگوریتمهای طبقهبندی
برای درک بهتر مفهوم طبقهبندی (Classification)، در این بخش به چند الگوریتم رایج میپردازیم. به منظور سادهسازی و ارائه یک تصویر شفاف از عملکرد این الگوریتمها، از مجموعهداده وام (Loans Dataset) استفاده میکنیم و یک توضیح درباره آن می دهیم.
هدف ما یادگیری نحوه آموزش الگوریتمهای طبقهبندی، نه دستیابی به بهترین مدل یادگیری ماشین.
چهار الگوریتم پرکاربرد در این راستا:
رگرسیون لجستیک (Logistic Regression)
ماشین بردار پشتیبان (SVM)
درخت تصمیم (Decision Tree)
K-نزدیکترین همسایه (KNN)
بررسی توزیع نمونههای مجموعهداده
برای درک بهتر دادههای مربوط به وامهای اعطاشده را در نظر بگیرید، ابتدا به بررسی نمونههای اولیه مجموعهداده میپردازیم. این مجموعه شامل اطلاعاتی درباره وضعیت بازپرداخت وامهای افراد است.
برای تحلیل دادهها، میزان وامهای تسویهشده و پرداختنشده مورد بررسی قرار میگیرد. در این تحلیل، ابتدا تعداد وامهایی که بهطور کامل پرداخت شدهاند و تعداد وامهایی که پرداخت نشدهاند، محاسبه میشود. سپس، این اطلاعات در قالب یک نمودار دایرهای نمایش داده میشود که سهم هر گروه را بهصورت درصدی نشان میدهد.
در آخر چیزی که مشاهده می شود درصد وامگیرندگانی است که بدهی خود را بهطور کامل تسویه کردهاند، نسبت به افرادی که قادر به پرداخت وام خود نبودهاند. این توزیع نشاندهنده عدم تعادل در مجموعهداده است، زیرا دادههای مربوط به وامهای پرداختشده بهمراتب بیشتر از دادههای مربوط به وامهای پرداختنشده هستند. این نامتوازنی میتواند بر عملکرد مدلهای یادگیری ماشین تأثیر بگذارد و نیاز به اعمال روشهایی برای متعادلسازی دادهها را ضروری میسازد.
کاربرد الگوریتمهای یادگیری ماشین در طبقهبندی
یکی از عوامل مهم در عملکرد صحیح الگوریتمهای طبقهبندی، تعادل در مجموعهداده است. زمانی که دادهها بهصورت متوازن در اختیار مدل قرار بگیرند، خروجی دقیقتری حاصل خواهد شد.
برای درک بهتر نحوه عملکرد الگوریتمهای طبقهبندی، به دو مورد از پرکاربردترین روشها یعنی رگرسیون لجستیک و ماشین بردار پشتیبان (SVM) می پردازیم:
رگرسیون لجستیک (Logistic Regression)
این الگوریتم یک روش آماری برای مدلسازی روابط بین متغیرهای ورودی و یک خروجی دودویی است. خروجی آن مقداری بین ۰ و ۱ است که نشاندهنده احتمال تعلق نمونه به یکی از دو کلاس است. رگرسیون لجستیک برای مسائل طبقهبندی ساده و کارآمد بوده و بهویژه در دادههایی با روابط خطی عملکرد خوبی دارد.
ماشین بردار پشتیبان (SVM – Support Vector Machine)
SVM یک الگوریتم یادگیری نظارتشده است که دادهها را با یافتن بهترین مرز تصمیمگیری (Hyperplane) از هم جدا میکند. این مدل بهویژه برای مجموعهدادههای پیچیده و ابعاد بالا مناسب است، زیرا میتواند دادهها را در فضاهای غیرخطی نیز تفکیک کند. SVM در برابر نویز مقاوم بوده و دقت بالایی در مسائل طبقهبندی دارد.
این تحلیل به ما کمک میکند تا درک کنیم چگونه متوازنسازی دادهها میتواند به بهبود دقت و کارایی مدلهای طبقهبندی منجر شود. همچنین، مقایسه عملکرد این دو الگوریتم نشان میدهد که کدام روش در شرایط مختلف، انتخاب مناسبتری خواهد بود.
سوالات متداول پیرامون Classification چیست؟
این بخش به بررسی سؤالات رایج درباره طبقهبندی (Classification) میپردازد:
چه الگوریتمهایی در مسائل طبقهبندی رایج هستند؟
درخت تصمیم، SVM و KNN از پرکاربردترین الگوریتمها در مسائل طبقهبندی هستند. این مدلها دادهها را به دستههای مشخصی تقسیم کرده و برای مسائل متنوعی در حوزه یادگیری ماشین استفاده میشوند.
تفاوت میان الگوریتمهای طبقهبندی و رگرسیون چیست؟
در طبقهبندی، دادهها به کلاسهای مشخص و از پیش تعیینشده دستهبندی میشوند، اما در رگرسیون، خروجی یک مقدار پیوسته است و در قالب عددی پیشبینی میشود.
با چه معیارهایی عملکرد الگوریتمهای طبقهبندی سنجیده میشود؟
عملکرد مدلهای طبقهبندی با معیارهایی مانند دقت (Accuracy)، صحت (Precision)، بازیابی (Recall)، امتیاز F1 و منحنی ROC ارزیابی میشود که هرکدام جنبهای از کارایی مدل را نشان میدهند.
چه راهحلی برای رفع مشکل عدم توازن در مجموعهدادهها وجود دارد؟
در مجموعهدادههای نامتوازن، برخی کلاسها تعداد نمونههای بیشتری نسبت به سایرین دارند که میتواند بر عملکرد مدل تأثیر بگذارد. برای حل این مشکل، تکنیکهای کم نمونهگیری تصادفی (Random Undersampling) و بیش نمونهگیری مصنوعی (SMOTE) به کار گرفته میشوند تا تعادل بین کلاسها برقرار شود.
جمعبندی
با پیشرفت فناوریهای دیجیتال، الگوریتمهای طبقهبندی در یادگیری ماشین به ابزاری قدرتمند و پرکاربرد تبدیل شدهاند. در این مقاله، علاوه بر معرفی مفهوم Classification، با انواع الگوریتمهای طبقهبندی و نحوه پیادهسازی آنها آشنا شدیم. موفقیت در استفاده از این الگوریتمها مستلزم درک عمیق از فرآیند شناسایی الگوهای دادهای توسط مدلهای یادگیری ماشین است. امروزه بسیاری از صنایع و سازمانها با بهرهگیری از این تکنیکها توانستهاند مزیت رقابتی خود را حفظ کرده و تصمیمات دقیقتری اتخاذ کنند.