
راهنمای عملی برای انتخاب الگوریتم مناسب برای مشکل شما: از رگرسیون تا شبکه های عصبی
تصویر توسط ویرایشگر | ایدئوگرام
این مقاله از طریق دستورالعملهای روشن نحوه انتخاب الگوریتم یا مدل یادگیری ماشینی (ML) مناسب برای انواع مختلف مشکلات دنیای واقعی و تجاری را توضیح میدهد. دانستن تصمیم گیری در مورد الگوریتم ML مناسب بسیار مهم است زیرا موفقیت هر پروژه ML به درستی این انتخاب بستگی دارد.
مقاله با ارائه یک الگوی مبتنی بر سوال شروع میشود و با مجموعهای جدولی از موارد استفاده نمونه و توجیهات پشت انتخاب بهترین الگوریتم برای هر یک به پایان میرسد. نمونهها از مشکلات ساده تا پیشرفتهتر را شامل میشود که به قابلیتهای هوش مصنوعی مدرن مانند مدلهای زبان نیاز دارند.
توجه داشته باشید: برای سادگی، مقاله از این اصطلاح استفاده کلی خواهد کرد الگوریتم ML برای اشاره به انواع الگوریتمها، مدلها و تکنیکهای ML. بیشتر تکنیکهای ML مبتنی بر مدل هستند، با مدلی که برای استنتاج در نتیجه اعمال یک الگوریتم ساخته شده است، بنابراین در یک زمینه فنی عمیقتر، این اصطلاحات باید متمایز شوند.
یک الگوی مبتنی بر سوال
سوالات کلیدی زیر برای راهنمایی رهبران پروژه های AI، ML و تجزیه و تحلیل داده ها به انتخاب صحیح الگوریتم ML برای استفاده برای رسیدگی به مشکل خاص خود طراحی شده اند.
سوال کلیدی 1: چه نوع مشکلی را باید حل کنید؟
- 1.A. آیا نیاز به پیش بینی چیزی دارید؟
- 1.B. اگر چنین است، آیا این یک مقدار عددی است یا طبقه بندی به دسته ها؟
- 1.C. اگر می خواهید یک مقدار عددی را پیش بینی کنید، آیا بر اساس متغیرها یا ویژگی های دیگر است؟ یا ارزش های آینده را بر اساس ارزش های تاریخی گذشته پیش بینی می کنید؟
سه سوال بالا مربوط به رویکردهای یادگیری پیش بینی شده یا تحت نظارت است. در حال پاسخ دادن بله به سوال 1.A به این معنی است که شما به دنبال یک الگوریتم یادگیری نظارت شده هستید زیرا باید چیزی ناشناخته را در مورد داده های جدید یا آینده خود پیش بینی کنید. بسته به آنچه که می خواهید پیش بینی کنید، و چگونه، ممکن است با یک مواجه شوید طبقه بندی، رگرسیون، یا پیش بینی سری های زمانی وظیفه کدام یک؟ این همان چیزی است که سؤالات 1.B و 1.C به شما در تعیین آن کمک می کند.
اگر می خواهید دسته بندی ها را پیش بینی یا اختصاص دهید، با یک کار طبقه بندی روبرو هستید. اگر می خواهید یک متغیر عددی مانند قیمت خانه را بر اساس ویژگی های دیگر مانند ویژگی های خانه پیش بینی کنید، این یک کار رگرسیونی است. در نهایت، اگر میخواهید یک مقدار عددی آینده را بر اساس مقادیر گذشته پیشبینی کنید، به عنوان مثال، قیمت صندلی تجاری یک پرواز را بر اساس تاریخچه روزانه میانگین قیمتهای گذشته آن پیشبینی کنید، در این صورت با یک کار پیشبینی سری زمانی مخالف هستید.
اگر پاسخ دادید به 1.A برگردید نه به این سوال، و در عوض میخواهید درک بهتری از دادههای خود به دست آورید یا الگوهای پنهان در آنها را کشف کنید، به احتمال زیاد یادگیری بدون نظارت الگوریتم همان چیزی است که شما به دنبال آن هستید. به عنوان مثال، اگر می خواهید گروه های پنهان را در داده های خود کشف کنید (به یافتن بخش هایی از مشتریان فکر کنید)، وظیفه هدف شما این است خوشه بندیو اگر میخواهید تراکنشهای غیرعادی یا تلاشهای غیرعادی برای ورود به سیستمی با امنیت بالا را شناسایی کنید، تشخیص ناهنجاری الگوریتم ها رویکرد شما هستند.
سوال کلیدی 2: چه نوع داده ای دارید؟
حتی اگر پاسخ شما به گروه سوال قبلی واضح بود و یک وظیفه هدف مشخص در ذهن دارید، برخی از وظایف ML دارای الگوریتمهای متنوعی برای استفاده هستند. کدام یک را انتخاب می کنید؟ بخشی از این پاسخ در داده های شما، حجم و پیچیدگی آن نهفته است.
2.A. داده های ساختاریافته و ساده تر مرتب شده در جداول با ویژگی های کمی، می تواند با الگوریتم های ML ساده مانند رگرسیون خطی، طبقه بندی درخت تصمیم، خوشه بندی k-meansو غیره
2.B. داده هایی با پیچیدگی متوسط، به عنوان مثال هنوز ساختار یافته است اما دارای ده ها ویژگی یا تصاویر با وضوح پایین است، ممکن است با روش های مجموعه برای طبقه بندی و رگرسیون، که چندین نمونه مدل ML را در یک مورد برای دستیابی به نتایج پیش بینی بهتر ترکیب می کند. نمونه هایی از روش های گروهی هستند جنگل های تصادفی، تقویت گرادیان و XGBoost. برای کارهای دیگر مانند خوشه بندی، الگوریتم هایی مانند این را امتحان کنید DBSCAN یا خوشه بندی طیفی.
2.C. آخرین، داده های بسیار پیچیده مانند تصاویر، متن و صدا معمولاً به معماری های پیشرفته تری مانند شبکه های عصبی عمیق: آموزش سخت تر، اما در حل مسائل چالش برانگیز زمانی که در معرض حجم قابل توجهی از نمونه های داده برای یادگیری قرار گرفته اند، موثرتر است. برای موارد استفاده بسیار پیشرفته مانند درک و تولید حجم بالایی از داده های زبان (متن)، حتی ممکن است لازم باشد قدرتمند را در نظر بگیرید. معماری های مبتنی بر ترانسفورماتور مانند مدل های زبان بزرگ (LLM).
سوال کلیدی 3: به چه سطحی از تفسیرپذیری نیاز دارید؟
در زمینههای خاصی که درک این موضوع مهم است که الگوریتم ML چگونه تصمیماتی مانند پیشبینیها میگیرد، کدام عوامل ورودی بر تصمیمگیری تأثیر میگذارند، و چگونه، تفسیرپذیری جنبه مهم دیگری است که ممکن است بر انتخاب الگوریتم شما تأثیر بگذارد. به عنوان یک قاعده کلی، هر چه الگوریتم ساده تر باشد، قابل تفسیرتر است. بنابراین، رگرسیون خطی و درختهای تصمیم کوچک از جمله قابل تفسیرترین راهحلها هستند، در حالی که شبکههای عصبی عمیق با معماریهای پیچیده درونی معمولاً به عنوان مدل های جعبه سیاه به دلیل دشواری در تفسیر تصمیمات و درک رفتار آنها. اگر تعادل بین تفسیرپذیری و اثربخشی بالا در برابر دادههای پیچیده مورد نیاز باشد، روشهای مجموعه مبتنی بر درخت تصمیم مانند جنگلهای تصادفی اغلب یک راهحل خوب برای معاوضه هستند.
سوال کلیدی 4: چه حجمی از داده ها را مدیریت می کنید؟
این یکی از نزدیک با سوال کلیدی 2 مرتبط است. برخی از الگوریتم های ML بسته به حجم داده های مورد استفاده برای آموزش آنها، کارآمدتر از بقیه هستند. از سوی دیگر، گزینههای پیچیدهای مانند شبکههای عصبی معمولاً به مقادیر بیشتری از دادهها برای یادگیری انجام وظیفهای که برای آن ساخته شدهاند، نیاز دارند، حتی به قیمت قربانی کردن آموزش کارآمد. یک قانون خوب در اینجا این است که حجم داده ها در بیشتر موارد به شدت با پیچیدگی داده ها در هنگام انتخاب نوع الگوریتم مناسب مرتبط است.
نمونه های کاربردی
برای تکمیل و تکمیل این راهنما، در اینجا جدولی با برخی از موارد استفاده در دنیای واقعی آورده شده است که در آن عوامل تصمیم گیری در نظر گرفته شده در این مقاله مشخص شده است:
استفاده از مورد | نوع مشکل | الگوریتم پیشنهادی | داده ها | ملاحظات کلیدی |
---|---|---|---|---|
پیش بینی فروش ماهانه | رگرسیون | رگرسیون خطی | داده های ساخت یافته | قابل تفسیر، سریع، موثر برای داده های کوچک |
کشف تقلب در معاملات | طبقه بندی باینری | رگرسیون لجستیک، SVM | داده های ساخت یافته | تعادل بین دقت و سرعت |
طبقه بندی محصولات در تصاویر | طبقه بندی تصویر | شبکه های عصبی کانولوشن (CNN) | تصاویر (داده های بدون ساختار) | دقت بالا، هزینه محاسباتی بالا |
تجزیه و تحلیل احساسات در بررسی محصول | طبقه بندی متن (NLP) | مدل های ترانسفورماتور (BERT، GPT) | متن (داده های بدون ساختار) | به منابع پیشرفته، بسیار دقیق نیاز دارد |
پیشبینی ریزش با مجموعه دادههای بزرگ | طبقه بندی یا رگرسیون | جنگل تصادفی، افزایش گرادیان | مجموعه داده های ساختاریافته و بزرگ | کمتر قابل تفسیر، بسیار موثر برای داده های بزرگ |
تولید متن خودکار یا پاسخگویی به سوالات | NLP پیشرفته | مدلهای زبان بزرگ (GPT، BERT) | حجم متن بزرگ | هزینه محاسباتی بالا، نتایج دقیق |