machine learning چیست؟
دسامبر 12, 2022تفاوت power bi و tableau چیست؟
دسامبر 19, 2022machine learning ما را با فضایی درگیر می کند که در آن تمامی پیش بینی ها با استفاده از الگوریتم های مختلف صورت می پذیرد. متغیرهایی که ما با آنها سر و کار خواهیم داشت دارای روابطی هستند که برای یافتن مقدار آنها توابع معمولی جواب نخواهند داد و در نهایت با توجه به شکل داده ها باید به سراغ یادگیری ماشین برویم. الگوریتم های machine learning مختلف هستند.
الگوریتم های یادگیری ماشین ما را به پیش بینی های دقیق می رساند. یعنی دقت پیش بینی ها بر اساس بهینه سازی این الگوریتم ها و میزان غنی بودن داده ها تعیین خواهد گردید. در این نوشتار به 10 نمونه برتر از این دسته الگورتیم ها خواهیم پرداخت.
با سان تا انتهای این مقاله همراه باشید.
انواع الگوریتم های Machine Learning
در یادگیری ماشین شما چندین الگوریتم را به عنوان الگوریتم های برتر خواهید شناخت که عناوین آنها شامل:
- رگرسیون خطی
- رگرسیون لجستیک
- تحلیل تشخیص خطی
- درخت تصمیم
- الگوریتم Naïve Bayes
- نزدیکترین همسایگی K
- کوانتیزاسیون برداری یادگیری
- ماشین های بردار پشتیبانی
- جنگل تصادفی
- افزایش
1. رگرسیون خطی
یکی از معروف ترین الگوریتم های یادگیری ماشین، الگوریتم رگرسیون خطی است. این الگوریتم کارایی بسیار زیادی برای استخراج پیش بینی ها بر روی داده ها دارد. بهتر است نگاهی دقیق تر به عملکرد این الگوریتم داشته باشیم.
در این الگوریتم شما با ساختار ورودی و خروجی ها در یک معادله خظی روبرو هستید. رگرسیون خطی معادله خطی را توصیف می کندکه بهترین تناسب را با رابطه بین متغیرهای ورودی ( X ) و متغیرهای خروجی ( Y) با یافتن وزن های خالص برای یافتن متغیرهای ورودی به نام ضرایب (B) را دارد.
رگرسیون خطی بیش از 200 سال سابقه داردو به طور گسترده توسط دانشمندان مورد مطالعه قرار گرفته است. بسیاری از دانشمندان داده برای از بین بردن نویز بر روی داده ها از این الگوریتم استفاده می کنند.
2. رگرسیون لجستیک
رگرسیون لجستیک نیز یکی از مواردی است که از علم آمار برای یادگیری ماشین استفاده شده است. این روش برای مسایل طبقه بندی باینری ( مشکلات با دو مقدار کلاس ) به کار گرفته می شود. در این الگوریتم نیز به دنبال یافتن ضرایبی هستیم که وزن و مقدار متغیر ورودی را توسط آن پیدا می کنند.
فرقی که بین رگرسیون خطی و رگرسیون لجستیک وجود دارد استفاده از توابع می باشد. در رگرسیون خطی از تابع خطی و در رگرسیون لجستیک از تابعی به نام تابع لجستیک استفاده می شود.
تابع لجستیک هر مقدار وارد شده را به محدوده 0 تا 1 تبدیل می کند. تبدیل تمامی مقادیر به 0 یا 1 می تواند پیش بینی بر روی داده ها با مقدارهای بسیار متفاوت را ساده تر سازد. معمولا هنگامی که ما نیاز به ارائه دلایل بیشتری برای یک پیش بینی داریم از این مدل الگوریتم اشتفاده می کنیم.
3. تحلیل تشخیص خطی
ممکن است مسئله شما بیش از دو کلاس را شامل شود. در محسبات الگوریتم تحلیل تشخیص خطی ممکن است شما با مقدار میانگین برای هر کلاس مواجه باشید یا اینکه مجبور شوید واریانس را برای هر کلاس به دست آوردید. پیش بینی ها با محاسبه یک مقدار متمایز برای هر کلاس و انجام پیش بینی برای کلاس با بیشترین مقدار انجام می شود.
این الگوریتم یادگیری ماشین فرض می کند که داده ها دارای یک توزیع منحنی زنگی هیتند بنابراین ممکن است قبل از هر اقدامی و استفاده از این الگوریتم به نوعی غنی سازی داده ها نیاز داشته باشید. یعنی داده های اضافی و خارج از مجدوده پیش بینی را از بین داده های خود حذف کنید. این روش را یک روش ساده و قدرتمند برای طبقه بندی مسایل مدل سازی پیش بینی است.
4. درخت رگرسیون و طبقه بندی
این الگوریتم که با نام درخت تصمیم نیز در برخی منابع شناخته می شود یک نمایش از درخت باینری است. Fh با فرض اینکه داده ها از نوع عددی هستند، هر گره از درخت نشان دهنده یک متغیر ورودی واحد و یک نقطه تقسیم روی آن متغیر است.
برگ های درخت نیز به عنوان یک خروجی فرض می شوند که پیش بینی بر اساس آنها انجام می پذیرد. این مدل برای پیش بینی بسیار سریع عمل می کند. شما توسط الگوریتم درخت تصمیم به این توانایی خواهید رسید که بر روی طیف وسیع تری از داده ها کار کرده و پیش بینی را انجام دهید.
5. الگوریتم Naïve Bayes
یکی از الگوریتم های بسیار قدرتمند و شگفت آور می باشد که از دو نوع احتمال تشکیل شده است. این احتمال ها می توانند مستقیما از داده های تست مورد استفاده قرار گرفته و احتمال وقوع یک حادثه در کلاس مد نظر را بررسی نمایند.
پس از کار بر روی یک مجموعه کوچک و تستی از داده ها می توان از مدل احتمال به دست آمده برای پیش بینی داده های جدید با کمک از قضیه بیز استفاده کرد. زمانی که داده های شما دارای ارزش واقعی هستند به طور معمول یک توزیع منحنی در نظر گرفته می شود تا بتوانید به راحتی احتمالات مدنظر را تخمین بزنید.
6. نزدیکترین همسایگی K
الگوریتم نزدیکترین همسایگی بسیار ساده و در عین حال بسیار موثر است. پیش بینی ها برای یک نقطه داده جدید با جستجو در کل مجموعه نمونه داده ها انجام می شود و نمونه های مشابه در همسایگی نمونه داده مورد نظر کشف شده و متغیر های خروجی برای آنها مشخص خواهد شد.
ترفندی که در این الگوریتم به کار گرفته می شود نوع تشابهی است که بین نمونه مجموعه از داده ها تشخیص داده می شود. البته ویژگی که می تواند بین مجموعه ها مقایسه و شباهت آنها را ثابت کند کاملا به نوع داده وابسته می باشد.
7. کوانتیزاسیون برداری یادگیری
در این الگوریتم پردازش بر روی کل مجموعه داده ها متمرکز می شود. یعنی شاید حجم پردازش اولیه برای پیش بینی کمی بیشتر از الگوریتم های نوع رگرسیون باشد. این موضوع با توجه به نوع داده های یک مجموعه می تواند نقطه قوت یا ضعف شناخته شود.
این نوع الگوریتم را یک شبکه عصبی نیز می دانند و بسیاری از دانشمندان داده با توجه به خصوصیات شبکه های عصبی آن را بررسی و در داده های خود به کار می گیرند. شبکه های عصبی ارتباط بین مجموعه های داده ای را تعیین می کند و به شما امکان می دهد که نمونه های داده ای مناسب برای این نوع پردازش چگونه باید باشند.
8. ماشین های بردار پشتیبان
ماشین های بردار پشتیبان شاید یکی از محبوب ترین نوع الگوریتم های یادگیری ماشین باشند. با استفاده از یک ساختار منحنی بر روی نمودار نقطه ای از داده ها، فضای متغیر ورودی تقسیم بندی می شود. با فرض اینکه فضای ترسیم شده از داده ها شامل دو کلاس 0 یا 1 هستند می توانید آنها را با یک ساختار خطی از هم جدا کنید.
البته این جداسازی باید توسط ضرایب خطی مشخص شوند که باید بهینه ترین ضریب برای خط جداکننده مشخص شود.
فاصله بین ابر داده ها در صفحه و نزدیکترین نقطه داده شده از ورودی، حاشیه نامیده می شود. بهینه ترین حالت خطی است که بیشترین مقدار حاشیه را دارد. در عمل ما از الگوریتمی استفاده خواهیم کرد که ضرایبی را برای به حداکثر رساندن حاشیه به کار می گیرد.
9. جنگل تصادفی
یکی دیگر از انواع الگوریتم machine learning الگوریتم جنگل تصادفی است که به آن BAGGING نیز می گویند. در واقع معیاری برای برچسب زدن بر روی داده های خود را ندارید. شما در یک مجموعه میانگین داده ها را محاسبه می کنید و سپس بعد از جمع آوری میانگین های متفاوت از تمامی میانگین های به دست آمده میانگین جدید محاسبه خواهید کرد تا تخمین بهتری از میانگین واقعی به شما ارائه داده شود.
در BAGGING نیز همین روش به نوعی دیگر مورد استفاده قرار می گیرد. در آنجا برای تخمین کل داده های آماری معمولا درخت های تصمیم گیری مورد استفاده قرار می گیرد.
نمونه های متعددی از داده های مجموعه داده ای شما گرفته می شود و سپس برای هر نمونه داده مدلی ایجاد می گردد. زمانی که نیاز به پیش بینی برای داده های جدید دارید هر مدل برای شما یک پیش بینی انجام می دهد و در نهایت از تمامی پیش بینی های انجام شده یک میانگین گرفته می شود تا پیش بینی دقیق تری حاصل گردد.
10. الگوریتم افزایش (تقویت)
تقویت یک الگوریتم مجموعه ای است که تلاش می کند یک طبقه بندی قوی از تعادل طبقه بندی ضعیف ایجاد کند. این کار با ساختن یک مدل از داده های آموزشی یا تستی انجام می پذیرد. از مدل اول کار بر روی داده ها تعدادی خطا به دست می آید که مدل دومی برای تصحیح خطاهای مدل اول ایجاد می گردد. مدل ها برای به حداقل رساندن خطاهای موجود توسعه داده می شوند.
این الگوریتم در یادگیری ماشین اولین الگوریتم تقویت واقعا موفقی بود که برای طبقه بندی باینری توسعه یافت.
برای افزایش مهارت خود در زمینه یادگیری ماشین باید مدل های داده ای مختلف را با توجه به الگوریتم های پیشنهادی مورد تست قرار دهید. لازم به ذکر است که تجربه در کار بر بستر سازمان های بزرگ مهارت شما با به شکل قابل توجهی در موضوع یادگیری ماشین افزایش خواهد داد.
کلام آخر
در این مقاله به انواع الگوریتم machine learning پرداختیم امیدواریم این مقاله برای شمامفید و مثمر ثمر واقع شده باشد. حتما نظرات ارزشمندتان را با ما درمیان بگذارید.