انتخاب بهترین الگوریتم یادگیری ماشین برای مشکل رگرسیون شما

در مقاله های پیشین، در رابطه با ماشین لرنینگ و انواع آن صحبت کردیم و مثال هایی از آن در دنیای واقعی آوردیم. اکنون می‌خواهیم بهترین الگوریتم برای مشکل رگرسیون، انواع آن و مزایا و معایبش را آموزش دهیم. با ما همراه باشید. هنگام نزدیک شدن به هر نوع مشکل یادگیری ماشین(ML) الگوریتم های مختلفی برای انتخاب وجود دارد. در یادگیری ماشین، چیزی به نام قضیه «نهار رایگان نداریم» وجود دارد که اساساً بیان می‌کند که هیچ الگوریتم ML برای تمام مشکلات بهترین نیست. عملکرد الگوریتم های مختلف ML به شدت به اندازه و ساختار داده های شما بستگی دارد. بنابراین، انتخاب صحیح الگوریتم اغلب نامشخص می‌ماند، مگر اینکه الگوریتم‌های خود را مستقیماً از طریق آزمون و خطای ساده آزمایش کنیم. هنگام نزدیک شدن به هر نوع مشکل یادگیری ماشین(ML) الگوریتم های مختلفی برای انتخاب وجود دارد. در یادگیری ماشین، چیزی به نام قضیه «نهار رایگان نداریم» وجود دارد که اساساً بیان می‌کند که هیچ الگوریتم ML برای تمام مشکلات بهترین نیست. عملکرد الگوریتم های مختلف ML به شدت به اندازه و ساختار داده های شما بستگی دارد. بنابراین، انتخاب صحیح الگوریتم اغلب نامشخص می‌ماند، مگر اینکه الگوریتم‌های خود را مستقیماً از طریق آزمون و خطای ساده آزمایش کنیم. اما، مزایا و معایبی برای هر الگوریتم ML وجود دارد که می‌توانیم از آنها به عنوان راهنما استفاده کنیم. اگرچه یک الگوریتم همیشه بهتر از دیگری نخواهد بود، اما برخی از ویژگی‌های هر الگوریتم وجود دارد که می‌توانیم از آنها به عنوان راهنما برای انتخاب سریع الگوریتم صحیح و تنظیم پارامترهای پیشرفته تر استفاده کنیم. ما قصد داریم به چند الگوریتم برجسته ML برای مشکلات رگرسیون نگاهی بیندازیم و دستورالعمل هایی را برای زمان استفاده از آنها بر اساس نقاط قوت و ضعف آنها تنظیم کنیم. رگرسیون خطی و چند جمله ای رگرسیون خطیبا شروع حالت ساده، رگرسیون خطی متغیر تک تکنیکی است که برای مدل‌سازی رابطه بین یک متغیر مستقل ورودی (متغیر مشخصه) و یک متغیر وابسته خروجی با استفاده از یک مدل خطی یعنی یک خط استفاده می‌شود. حالت کلی تر، رگرسیون خطی چند متغیره است که در آن مدلی برای رابطه بین متغیرهای ورودی مستقل چندگانه (متغیرهای ویژگی) و یک متغیر وابسته خروجی ایجاد می شود. مدل خطی باقی می ماند زیرا خروجی، ترکیبی خطی از متغیرهای ورودی است. سومین مورد کلی به نام رگرسیون چند جمله ای وجود دارد که در آن مدل به ترکیبی غیر خطی از متغیرهای ویژگی تبدیل می شود، یعنی می تواند متغیرهای نمایی، سینوس و کسینوس و غیره وجود داشته باشد. اما این مستلزم آگاهی از نحوه ارتباط داده ها با خروجی است. مدل‌های رگرسیون را می‌توان با استفاده از شیب نزولی تصادفی (SGD) آموزش داد. مزیت: مدل‌سازی سریع است و به‌ویژه زمانی مفید است که در حالی که داده‌های زیادی ندارید، رابطی که باید مدل‌سازی شود خیلی پیچیده نیست. درک رگرسیون خطی ساده است که می تواند برای تصمیم گیری های تجاری بسیار ارزشمند باشد.معایب: برای داده های غیر خطی، طراحی رگرسیون چند جمله ای می تواند بسیار چالش برانگیز باشد، زیرا باید اطلاعاتی در مورد ساختار داده ها و رابطه بین متغیرهای ویژگی داشته باشیم. در نتیجه موارد فوق، این مدل ها در مورد داده های بسیار پیچیده، به خوبی سایر مدل ها نیستند. شبکه های عصبیشبکه عصبییک شبکه عصبی از یک گروه به هم پیوسته از گره ها به نام نورون ها تشکیل شده است. متغیرهای ویژگی ورودی از داده‌ها به عنوان یک ترکیب خطی چند متغیره به این نورون‌ها منتقل می‌شوند، جایی که مقادیر ضرب شده در هر متغیر ویژگی به عنوان وزن شناخته می‌شوند. سپس یک غیر خطی به این ترکیب خطی اعمال می‌شود که به شبکه عصبی توانایی مدل‌سازی روابط غیرخطی پیچیده را می‌دهد. یک شبکه عصبی می تواند چندین لایه داشته باشد که خروجی یک لایه به همان روش به لایه بعدی منتقل می شود. در خروجی، به طور کلی هیچ غیرخطی اعمال نمی شود. شبکه های عصبی با استفاده از نزول شیب تصادفی (SGD) و الگوریتم پس انتشار (هر دو در GIF بالا نمایش داده شده) آموزش داده می شوند. یک شبکه عصبی از یک گروه به هم پیوسته از گره ها به نام نورون ها تشکیل شده است. متغیرهای ویژگی ورودی از داده‌ها به عنوان یک ترکیب خطی چند متغیره به این نورون‌ها منتقل می‌شوند، جایی که مقادیر ضرب شده در هر متغیر ویژگی به عنوان وزن شناخته می‌شوند. سپس یک غیر خطی به این ترکیب خطی اعمال می‌شود که به شبکه عصبی توانایی مدل‌سازی روابط غیرخطی پیچیده را می‌دهد. یک شبکه عصبی می تواند چندین لایه داشته باشد که خروجی یک لایه به همان روش به لایه بعدی منتقل می شود. در خروجی، به طور کلی هیچ غیرخطی اعمال نمی شود. شبکه های عصبی با استفاده از نزول شیب تصادفی (SGD) و الگوریتم پس انتشار آموزش داده می شوند (هر دو در GIF بالا نمایش داده شده). مزیت: از آنجایی که شبکه های عصبی می توانند چندین لایه (و بنابراین پارامترها) با غیر خطی داشته باشند، در مدل سازی روابط غیرخطی خیلی پیچیده، بسیار موثر هستند.ما به طور کلی نیازی به نگرانی در مورد ساختار داده‌ها نداریم چرا که شبکه‌های عصبی در یادگیری تقریباً هر نوع روابط متغیر ویژگی بسیار انعطاف‌پذیر هستند.تحقیقات به طور مداوم نشان داده است که صرف داده های آموزشی بیشتر به شبکه، چه جدید و چه از طریق افزایش مجموعه داده های اصلی، به عملکرد شبکه کمک می کند. معایب: به دلیل پیچیدگی این مدل ها، تفسیر و درک آنها آسان نیست. آنها می توانند کاملاً چالش برانگیز و از نظر محاسباتی فشرده باشند که به تنظیم دقیق فراپارامتر و تنظیم برنامه نرخ یادگیری نیاز دارند. آنها برای دستیابی به عملکرد بالا به داده های زیادی نیاز دارند و عموماً در موارد "داده های کوچک" از سایر الگوریتم های ML بهتر عمل می کنند. درختان رگرسیون و جنگل های تصادفیجنگل تصادفی با شروع حالت پایه، درخت تصمیم یک مدل بصری است که در آن یکی از شاخه‌های درخت به پایین می‌رود و شاخه بعدی را برای پایین رفتن، بر اساس یک تصمیم موجود در یک گره، انتخاب می‌کند. القای درختی وظیفه در نظر گرفتن مجموعه ای از نمونه های آموزشی به عنوان ورودی، تصمیم گیری برای تقسیم بهترین ویژگی ها، تقسیم مجموعه داده ها، و تکرار بر روی مجموعه داده های تقسیم شده حاصل تا زمانی که همه نمونه های آموزشی دسته بندی شوند، است. در هنگام ساخت درخت، هدف، تقسیم بر روی ویژگی هایی است که خالص ترین گره های فرزند ممکن را ایجاد می کنند، که تعداد تقسیم هایی را که باید برای طبقه بندی همه نمونه ها در مجموعه داده ما انجام شود، به حداقل می رساند. میزان خلوص با مفهوم به دست آوردن اطلاعات اندازه‌گیری می‌شود، که به میزان اطلاعات لازم در مورد یک نمونه قبلاً دیده نشده برای طبقه‌بندی صحیح آن مربوط می‌شود. در عمل، این با مقایسه آنتروپی، یا مقدار اطلاعات مورد نیاز برای طبقه‌بندی یک نمونه واحد از یک پارتیشن مجموعه داده فعلی، با مقدار اطلاعاتی که برای طبقه‌بندی یک نمونه واحد در صورتی که پارتیشن مجموعه داده فعلی در یک قسمت داده شده بیشتر تقسیم شود، اندازه‌گیری می‌شود.با شروع حالت پایه، درخت تصمیم یک مدل بصری است که در آن یکی از شاخه‌های درخت به پایین می‌رود و شاخه بعدی را برای پایین رفتن، بر اساس یک تصمیم موجود در یک گره، انتخاب می‌کند. القای درختی وظیفه در نظر گرفتن مجموعه ای از نمونه های آموزشی به عنوان ورودی، تصمیم گیری برای تقسیم بهترین ویژگی ها، تقسیم مجموعه داده ها، و تکرار بر روی مجموعه داده های تقسیم شده حاصل تا زمانی که همه نمونه های آموزشی دسته بندی شوند، است. در هنگام ساخت درخت، هدف، تقسیم بر روی ویژگی هایی است که خالص ترین گره های فرزند ممکن را ایجاد می کنند، که تعداد تقسیم هایی را که باید برای طبقه بندی همه نمونه ها در مجموعه داده ما انجام شود، به حداقل می رساند. میزان خلوص با مفهوم به دست آوردن اطلاعات اندازه‌گیری می‌شود، که به میزان اطلاعات لازم در مورد یک نمونه قبلاً دیده نشده برای طبقه‌بندی صحیح آن مربوط می‌شود. در عمل، این با مقایسه آنتروپی، یا مقدار اطلاعات مورد نیاز برای طبقه‌بندی یک نمونه واحد از یک پارتیشن مجموعه داده فعلی، با مقدار اطلاعاتی که برای طبقه‌بندی یک نمونه واحد در صورتی که پارتیشن مجموعه داده فعلی در یک قسمت داده شده بیشتر تقسیم شود، اندازه‌گیری می‌شود.جنگل های تصادفی به سادگی مجموعه ای از درختان تصمیم گیری هستند. وکتور ورودی از طریق چندین درخت تصمیم اجرا می شود. برای رگرسیون، مقدار خروجی همه درختان به طور میانگین محاسبه می شود. برای طبقه بندی، یک طرح رأی گیری برای تعیین رده نهایی استفاده می شود.مزیت:در یادگیری روابط پیچیده و غیر خطی بسیار خوب است. آنها معمولاً می توانند عملکرد بسیار بالایی داشته باشند، بهتر از رگرسیون چند جمله ای و اغلب همتراز با شبکه های عصبی.تفسیر و درک اسانی دارد. اگرچه مدل آموزش‌دیده ی نهایی می‌تواند روابط پیچیده را بیاموزد، مرزهای تصمیم‌گیری که در طول آموزش ایجاد می‌شوند، آسان و کاربردی هستند. معایب: به دلیل ماهیت تصمیم گیری آموزشی درختان، آنها می توانند مستعد این باشند که بیش از حد متمایل شوند. یک مدل درخت با تصمیم تکمیل شده می تواند بیش از حد پیچیده باشد و دارای ساختار غیر ضروری باشد. اگرچه گاهی اوقات می توان با استفاده از هرس مناسب درختان و مجموعه های جنگلی تصادفی بزرگتر این مشکل را کاهش داد. استفاده از مجموعه‌های جنگل تصادفی بزرگ‌تر برای دستیابی به عملکرد بالاتر، با معایب کندتر بودن و نیاز به حافظه بیشتر همراه است. در پست بعدی نگاهی به مزایا و معایب مدل‌های طبقه‌بندی مختلف خواهیم داشت. امیدوارم از این پست لذت برده باشید و مطالب جدید و مفیدی یاد گرفته باشید.