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

شکل ۱. الگوریتم‌های یادگیری ماشین
شکل ۱. الگوریتم‌های یادگیری ماشین
منتشر شده در towardsdatascience به تاریخ ۱۹ ژوئن، ۲۰۲۲
لینک منبع: 6 Machine Learning Algorithms Anyone Learning Data Science Should Know

یادگیری ماشین یکی از زمینه‌هایی است که هر کسی که علم داده را یاد می‌گیرد باید بیاموزد. اگر شما در علم داده تازه‌وارد هستید، احتمالا باید کلمات «الگوریتم» یا «مدل» را بدون دانستن چگونگی ارتباط آن‌ها با یادگیری ماشینی شنیده باشید.

الگوریتم‌های یادگیری ماشین به‌ دو صورت نظارت‌شده یا بدون نظارت دسته‌بندی می‌شوند.

الگوریتم‌های یادگیری نظارت‌شده رابطه بین داده‌های ورودی و خروجی برچسب‌گذاری‌شده (هدف) را مدلسازی می‌کنند. سپس این مدل برای پیش‌بینی برچسب مشاهدات جدید با استفاده از داده‌های ورودی برچسب‌گذاری‌شده جدید استفاده می‌شود. اگر متغیر هدف گسسته باشد، ما با یک مساله طبقه‌بندی سر‌و‌کار داریم، در حالی‌که اگر متغیر هدف پیوسته باشد، ما با یک مساله رگرسیون سر‌و‌کار داریم.

در مقابل، یادگیری بدون نظارت بر داده‌های ورودی / خروجی برچسب‌گذاری‌شده تکیه نمی‌کند، بلکه بر داده‌های بدون برچسب تمرکز می‌کند.

شکل ۲. الگوریتم‌های نظارت‌شده و بدون نظارت
شکل ۲. الگوریتم‌های نظارت‌شده و بدون نظارت

در اینجا ۶ الگوریتم یادگیری تحت نظارت آورده شده‌است که هر کسی که علم داده را یاد می‌گیرد باید بداند.

۱. الگوریتم رگرسیون خطی

رگرسیون خطی ساده‌ترین الگوریتم مورد استفاده در یادگیری ماشین است. این الگوریتم برای مدلسازی رابطه بین دو یا چند متغیر استفاده می‌شود. دو نوع رگرسیون خطی وجود دارد-رگرسیون خطی ساده و چندگانه.

در رگرسیون خطی ساده، یک متغیر مستقل و یک متغیر وابسته وجود دارد، در حالی‌که در رگرسیون خطی چندگانه، متغیرهای مستقل چندگانه و یک متغیر وابسته وجود دارند.

این معادله رگرسیون خطی چندگانه است:

که y متغیر وابسته (مقدار هدف) ، x1، x2، … متغیرهای مستقل (پیش‌بینی‌کننده) ، b0 عرض از مبدا، b1، b2، … است. این ضرایب و تعداد مشاهدات است.

در تصویر زیر، شما یک نسخه ساده شده از معادله رگرسیون خطی خواهید داشت.

شکل ۳. معادله رگرسیون خطی
شکل ۳. معادله رگرسیون خطی

همانطور که در تصویر بالا می‌بینید، یک رابطه خطی وجود دارد، بنابراین اگر یک متغیر افزایش یا کاهش یابد، متغیر دیگر نیز افزایش یا کاهش خواهد یافت.

ما می‌توانیم از رگرسیون خطی برای پیش‌بینی نمرات، حقوق، قیمت خانه و غیره استفاده کنیم. با این حال، دقت پیش‌بینی به اندازه الگوریتم‌های دیگر خوب نیست.

۲. الگوریتم SVM

ماشین بردار پشتیبان (SVM) یک الگوریتم یادگیری نظارت‌شده است که اغلب در مسائل طبقه‌بندی مورد استفاده قرار می‌گیرد. ما معمولا مدل SVM را با داده‌های آموزشی برچسب‌گذاری‌شده برای طبقه‌بندی متن جدید تغذیه می‌کنیم.

زمانی که تعداد محدودی نمونه داریم، SVM انتخاب خوبی است و سرعت یک اولویت است. به همین دلیل است که وقتی ما با یک مجموعه داده کار می‌کنیم که چند هزار نمونه برچسب‌گذاری‌شده در طبقه‌بندی متن دارد، از آن استفاده می‌کنیم.

برای درک بهتر نحوه کار SVM اجازه دهید یک مثال بیاوریم.

در تصویر زیر، ما دو برچسب (سبز و زرد) و دو ویژگی (x و y) داریم. فرض کنید می‌خواهیم یک طبقه‌بندی‌کننده بسازیم که بفهمد آیا داده‌های متنی ما سبز یا زرد هستند. اگر چنین باشد، ما هر مشاهده (به عنوان نقطه داده) را در یک فضای n بعدی ترسیم می‌کنیم، که در آن «n» تعداد ویژگی‌های مورد استفاده است.

ما تنها دو ویژگی داریم، بنابراین مشاهدات در فضای دو بعدی ترسیم شده‌اند، همانطور که در تصویر زیر نشان‌داده شده‌است.

شکل ۴. مشاهدات ترسیم‌شده در فضای دو بعدی
شکل ۴. مشاهدات ترسیم‌شده در فضای دو بعدی

الگوریتمSVM نقاط داده را می‌گیرد و ابرصفحه‌ای می‌سازد که به بهترین نحو کلاس‌ها را از هم جدا می‌کند. از آنجا که مشاهدات در فضای دو بعدی رسم شده‌اند، ابرصفحه یک خط است.

شکل ۵. ابرصفحه
شکل ۵. ابرصفحه

این خط‌قرمز به عنوان مرز تصمیم‌گیری نیز شناخته می‌شود. مرز تصمیم‌گیری تعیین می‌کند که آیا یک نقطه داده به یک کلاس تعلق دارد یا به کلاس دیگر. در مثال ما، اگر نقطه داده در سمت چپ قرار گیرد، به صورت سبز طبقه‌بندی خواهد شد، در حالی‌که اگر در سمت راست قرار گیرد، به صورت زرد طبقه‌بندی خواهد شد.

۳. الگوریتم درخت تصمیم‌گیری

اگر شما چیزی در مورد یادگیری ماشین نمی‌دانید، ممکن است هنوز هم در مورد درخت‌های تصمیم‌گیری شنیده باشید.

درخت تصمیم‌گیری مدلی است که در برنامه‌ریزی، آمار و یادگیری ماشینی به کار می‌رود و از ساختار درخت مانند تصمیمات / نتایج برای ارزیابی رویدادهای احتمالی درگیر در یک مشکل خاص استفاده می‌کند.

این یک درخت تصمیم‌گیری است که سناریوهایی را ارزیابی می‌کند که مردم می‌خواهند در آن‌ها فوتبال بازی کنند.

شکل ۶. درخت تصمیم‌گیری سناریوهایی بازی فوتبال
شکل ۶. درخت تصمیم‌گیری سناریوهایی بازی فوتبال

هر مربع یک‌گره نامیده می‌شود. آخرین گره‌های درخت تصمیم‌گیری برگ‌های درخت نامیده می‌شوند. برای پیش‌بینی، ما از ریشه درخت (گره اول) شروع می‌کنیم. هر گره در درخت تصمیم‌گیری ارزیابی خواهد شد. سپس ما شاخه‌ای را دنبال می‌کنیم که با ارزیابی موافق است و به گره بعدی پرش می‌کند.

الگوریتم درخت تصمیم‌گیری می‌تواند برای حل هر دو مساله رگرسیون و طبقه‌بندی استفاده شود. ما از یک درخت تصمیم برای ساخت مدلی استفاده می‌کنیم که بتواند کلاس یا ارزش متغیر هدف را با یادگیری قوانین درخت تصمیم استنتاج‌شده از داده‌های آموزشی پیش‌بینی کند.

۴. الگوریتم جنگل تصادفی

جنگل تصادفی مجموعه‌ای از بسیاری از درخت‌های تصمیم‌گیری است. این روش سادگی یک درخت تصمیم‌گیری را با انعطاف‌پذیری ترکیب می‌کند که منجر به بهبود دقت می‌شود.

برای ایجاد یک جنگل تصادفی، ابتدا باید مجموعه داده «خود راه‌اندازی شده» را ایجاد کنیم. بوت‌استرپینگ به‌صورت تصادفی نمونه‌ها را از داده‌های اصلی انتخاب می‌کند (ما حتی می‌توانیم یک نمونه را بیش از یک‌بار انتخاب کنیم). سپس از مجموعه داده خود راه‌اندازی شده برای ایجاد یک درخت تصمیم‌گیری استفاده می‌کنیم.

شکل ۷. درخت تصمیم‌گیری داده خودراه‌اندازی‌شده
شکل ۷. درخت تصمیم‌گیری داده خودراه‌اندازی‌شده

این روش به نام «bagging…» شناخته می‌شود. اگر ما گام‌های قبلی را چندین بار تکرار کنیم، تعداد زیادی درخت خواهیم داشت. این تنوع درختان چیزی است که جنگل‌های تصادفی را موثرتر از یک درخت تصمیم‌گیری می‌کند.

شکل ۸. جنگل‌های تصادفی
شکل ۸. جنگل‌های تصادفی

اگر جنگل تصادفی برای یک کار طبقه‌بندی استفاده شود، مدل حالت پیش‌بینی هر درخت تصمیم را انتخاب می‌کند. برای تسک رگرسیون، مدل مقدار میانگین نتایج حاصل از درخت‌های تصمیم‌گیری را انتخاب می‌کند.

۵. الگوریتم Naive Bayes

این Naive Bayes یک الگوریتم یادگیری تحت نظارت است که از احتمال شرطی برای پیش‌بینی یک کلاس استفاده می‌کند.

الگوریتم Naive Bayes مبتنی بر قضیه بیز است:

معادله p (A | B) : احتمال رویداد A در صورتی‌که رویداد B قبلا رخ داده‌است.

معادله p (B | A) : احتمال رویداد B در صورتی‌که رویداد A قبلا رخ داده‌است.

معادله P (A) : احتمال رویداد A

معادله P (B) : احتمال رویداد B

نایو بیز فرض می‌کند که هر ویژگی مستقل از یکدیگر است، که همیشه صادق نیست، بنابراین ما باید داده‌های خود را قبل از انتخاب این الگوریتم بررسی کنیم.

این فرض که ویژگی‌ها مستقل از یکدیگر هستند، الگوریتم نایو بیز را در مقایسه با الگوریتم‌های پیچیده‌تر سریع‌تر می‌کند؛ با این حال، باعث می‌شود که این الگوریتم دقت کمتری داشته باشد.

ما می‌توانیم از نایو بیز برای پیش‌بینی آب و هوا، ردیابی تقلب و موارد دیگر استفاده کنیم.

۶. الگوریتم رگرسیون لجستیک

رگرسیون لجستیک یک الگوریتم یادگیری تحت نظارت است که معمولا برای مسائل طبقه‌بندی دودویی استفاده می‌شود. این بدان معنی است که ما می‌توانیم از رگرسیون لجستیک برای پیش‌بینی این که آیا مشتری به گردش در می‌آید یا نه، و برای پیدا کردن این که آیا یک نامه اسپم است یا خیر استفاده کنیم.

رگرسیون لجستیک براساس تابع لجستیک (معروف به تابع سیگموئید) است که یک مقدار می‌گیرد و یک احتمال بین ۰ و ۱را تخصیص می‌دهد.

این نمودار رگرسیون لجستیک است:

شکل ۸. نمودار رگرسیون لجستیک
شکل ۸. نمودار رگرسیون لجستیک

برای درک بهتر نحوه کارکرد رگرسیون منطقی، سناریویی را در نظر بگیرید که در آن نیاز به طبقه‌بندی این موضوع داریم که آیا ایمیل اسپم است یا خیر.

در گراف، اگر Z به بی‌نهایت برود، Y (مقدار هدف ما) ۱ می‌شود، که به این معنی است که ایمیل اسپم است. با این حال، اگر Z به بی‌نهایت منفی برود، Y به ۰ تبدیل خواهد شد، که به این معنی است که ایمیل اسپم نیست.

مقدار خروجی یک احتمال است، بنابراین اگر ما یک مقدار ۰.۶۴به دست آوریم، این بدان معنی است که یک احتمال ۶۴٪ وجود دارد که یک ایمیل اسپم باشد.


این متن با استفاده از ربات ‌ترجمه مقالات یادگیری ماشینی ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است.در نتیجه می‌تواند دارای برخی اشکالات ترجمه باشد.
مقالات لینک‌شده در این متن می‌توانند به صورت رایگان با استفاده از مقاله‌خوان ترجمیار به فارسی مطالعه شوند.