یادگیری ماشینی مفهوم برنامه ریزی ماشین به گونه ای است که از تجربیات و نمونه های مختلف آن بیاموزد، بدون اینکه به صراحت برنامه ریزی شود. این یک برنامه کاربردی از هوش مصنوعی است که به ماشین ها اجازه می دهد تا به تنهایی یاد بگیرند. الگوریتمهای یادگیری ماشینی ترکیبی از ریاضی و منطق هستند که وقتی دادههای ورودی تغییر میکنند، خود را طوری تنظیم میکنند که بهطور تدریجی عمل کنند. پایتون به عنوان یک زبان همه منظوره، آسان برای یادگیری و درک، می تواند برای انواع زیادی از وظایف توسعه استفاده شود. قادر به انجام تعدادی از وظایف یادگیری ماشینی است، به همین دلیل است که اکثر الگوریتم ها در پایتون نوشته می شوند.
فرآیند ایجاد الگرویتم های یادگیری ماشینی به دو بخش مرحله آموزش (Train) و آزمایش (Test) تقسیم می شود. اگرچه الگوریتمهای یادگیری ماشینی تنوع زیادی دارند، اما آنها به این دستهبندیها دستهبندی میشوند:
در این مقاله در مورد 5 مورد از پرکاربردترین الگوریتم های یادگیری ماشین در پایتون از دو دسته اول صحبت خواهیم کرد.
1. رگرسیون خطی | Linear regression
این یکی از محبوب ترین الگوریتم های یادگیری ماشین نظارت شده در پایتون است که مشاهده ویژگی های پیوسته را حفظ می کند و بر اساس آن، نتیجه را پیش بینی می کند. با برازش بهترین خط، رابطه ای بین متغیرهای وابسته و مستقل برقرار می کند. این بهترین برازش خط با یک معادله خطی (Y = a * X + b) نشان داده می شود که معمولاً خط رگرسیون نامیده می شود.
در این معادله،
Y = متغیر وابسته
a = شیب
X = متغیر مستقل
b = رهگیری یا پیشبینی
2. درختان تصمیم | Decision tree
یک درخت تصمیم با پرسیدن مکرر سوالات از داده های پارتیشن ساخته می شود. هدف الگوریتم درخت تصمیم افزایش پیش بینی در هر سطح از پارتیشن بندی است به طوری که مدل همیشه با اطلاعات مربوط به مجموعه داده به روز می شود.
اگرچه این یک الگوریتم یادگیری ماشینی نظارت شده است ، اما عمدتاً برای طبقه بندی به جای رگرسیون استفاده می شود. به طور خلاصه، مدل یک نمونه خاص را می گیرد، درخت تصمیم را با مقایسه ویژگی های مهم با یک عبارت شرطی طی می کند. با پایین آمدن آن به شاخه کودک چپ یا شاخه فرزند راست درخت، بسته به نتیجه، ویژگی هایی که اهمیت بیشتری دارند به ریشه نزدیک تر می شوند. بخش خوب این الگوریتم یادگیری ماشینی این است که هم بر روی متغیرهای وابسته پیوسته و هم بر روی متغیرهای طبقه ای کار می کند.
3. رگرسیون لجستیک | Logistic regression
یک الگوریتم یادگیری ماشین نظارت شده در پایتون که در تخمین مقادیر گسسته در دودویی استفاده میشود، به عنوان مثال: 0/1، بله/خیر، درست/نادرست. این بر اساس مجموعه ای از متغیرهای مستقل است. این الگوریتم برای پیش بینی احتمال وقوع یک رویداد با برازش آن داده ها در یک منحنی لجستیک یا تابع لجستیک استفاده می شود. به همین دلیل است که به آن رگرسیون لجستیک نیز می گویند.
رگرسیون لجستیک، که به عنوان تابع Sigmoid نیز نامیده می شود، هر عدد با ارزش واقعی را دریافت می کند و سپس آن را به مقداری که بین 0 و 1 قرار می گیرد، نقشه می دهد.
تابع سیگموئید به صورت زیر تعریف می شود
f(x) = L / 1+e^(-x)
x = دامنه اعداد حقیقی
L = حداکثر مقدار منحنی
4. ماشینهای بردار پشتیبانی | (SVM)
این یکی از مهم ترین الگوریتم های یادگیری ماشین در پایتون است که عمدتاً برای طبقه بندی استفاده می شود اما می تواند برای کارهای رگرسیون نیز استفاده شود . در این الگوریتم، هر آیتم داده به عنوان یک نقطه در فضای n بعدی رسم می شود، جایی که n نشان دهنده تعداد ویژگی هایی هست که شما دارید، با مقدار هر ویژگی به عنوان مقدار یک مختصات خاص.
تمایز این کلاس ها را با یک مرز تصمیم انجام می دهد. به عنوان مثال: اگر از طول و عرض برای طبقه بندی سلول های مختلف استفاده شود، مشاهدات آنها در یک فضای دوبعدی رسم می شود و یک خط در خدمت هدف یک مرز تصمیم است. اگر از 3 ویژگی استفاده می کنید، مرز تصمیم شما یک صفحه در یک فضای سه بعد خواهد بود.
در مواردی که تعداد ابعاد از تعداد نمونه ها بیشتر باشد بسیار موثر است.
5. بیز ساده لوح | Naive Bayes
بیز ساده لوح یک الگوریتم یادگیری ماشینی تحت نظارت است که برای کارهای طبقه بندی استفاده می شود. این یکی از دلایلی است که به آن طبقه بندی کننده ساده بیز نیز می گویند. فرض بر این است که ویژگی ها مستقل از یکدیگر هستند و هیچ ارتباطی بین آنها وجود ندارد. اما از آنجایی که این مفروضات در زندگی واقعی هیچ حقیقتی ندارند، این الگوریتم "ساده لوح" نامیده می شود.
این الگوریتم بر روی قضیه بیز کار می کند که عبارت است از:
p(A | B) = p(A). p(B | A) / p(B)
در این الگوریتم :
p(A) = احتمال رویداد A
p(B) = احتمال رخداد B
p(A | B) = احتمال وقوع یک رویداد B قبلاً رخ داده است
p(B | A) = احتمال رویداد B با توجه به رویداد A قبلاً رخ داده است
طبقهبندی کننده بیز ساده لوح احتمال یک کلاس را در مجموعه مشخصی از ویژگی ها محاسبه می کند.
ممنون که این مطلب رو خوندی ، اگه سوالی درمورد برنامه نویسی داشتید میتونید در شبکه های اجتمایی من بپرسید.
وبسایت : MahdiMashayekhi.ir
اینستاگرام: MahdiMashayekhi.ai
تلگرام: Mashayekhi_AI
لینکدین: MahdiMashayekhi
توییتر: Mashayekhi_AI
یوتیوب: MahdiMashayekhi
گیت هاب: MahdiMashayekhi-AI