چقدر با ماشین لرنینگ آشنایی دارید؟ آیا می دانید الگوریتم های یادگیری ماشین که این روزها بحث آنها حسابی داغ است چه هستند؟ اگر به حوزه هوش مصنوعی و یادگیری ماشین علاقه دارید و می خواهید در مورد آن یاد بگیرید باید با الگوریتم های آن آشنا شوید.
برای همین در ادامه به این موضوع می پردازیم که اصلا این الگوریتم ها چه هستند و پس از آن به معرفی الگوریتم ها می پردازیم.
تعریف الگوریتم های یادگیری ماشین
الگوریتم های یادگیری ماشین برنامههایی (ریاضی و منطقی) هستند که با قرار گرفتن در معرض دادههای بیشتر، خود را برای عملکرد بهتر تنظیم میکنند. بخش “یادگیری” ماشین لرنینگ به این معنی است که این برنامهها نحوه پردازش دادهها را در طول زمان تغییر میدهند، همانطور که انسانها نحوه پردازش دادهها را با یادگیری تغییر میدهند.
بنابراین الگوریتم یادگیری ماشینی یا الگوریتم ماشین لرنینگ برنامهای است که پارامترهای خود را، با توجه به بازخورد عملکرد قبلی، در یک مجموعه داده پیشبینی میکند و بهبود میبخشد.
الگوریتم های یادگیری ماشین در حال حاضر در بسیاری از جنبههای زندگی حضوری فعال دارند؛ از آنچه که میتوانید مطالعه کنید، تا اینکه چگونه میتوان خرید کرد، یا چگونه میتوان سفر کرد.
به عنوان مثال، کشف تقلب را در نظر بگیرید. هر بار که شخصی با استفاده از کارت اعتباری چیزی میخرد، الگوریتم های یادگیری ماشین بلافاصله خرید شما را بررسی میکنند تا مشخص کنند که آیا این یک تراکنش تقلبی است یا خیر. آنها بر اساس سازگاری آن خرید با ویژگیهای خریدهای قبلی شما، تقلبی بودن یا نبودن آن را پیشبینی میکنند.
الگوریتم های یادگیری ماشین کاربردهای زیادی دارند. الگوریتم های یادگیری ماشینی یا الگوریتمهای ماشین لرنینگ در مرکز موتورهای جستجوی تجاری قرار دارند، درست از لحظهای که شروع به تایپ کردن یک جستجو میکنید. علاوه بر این، موتورهای جستجو معمولاً از دادههایی که در مورد نحوه تعامل شما با سایت است، بهره میبرند، به عنوان مثال صفحاتی که کلیک میکنید، مدت زمانی که شخص صفحات را میخواند و غیره. از این دادههای قدیمی استفاده میکنند تا بتواند اطلاعات بهتری را برای شما به نمایش بگذارند.
دستهبندی الگوریتم های یادگیری ماشین
الگوریتم های یادگیری ماشین به طور کلی به دو دسته تحت نظارت یا بدون نظارت تقسیم میشوند. الگوریتمهای یادگیری نظارتشده، هم دادههای ورودی و هم دادههای خروجی، برچسب گذاری و مشخص شدهاند و یادگیرنده باید تابعی از ورودیها و خروجیها را یاد بگیرد، در حالی که الگوریتمهای بدون نظارت با دادههایی کار میکنند که نه طبقهبندی شدهاند و نه برچسبگذاری شدهاند. برای مثال، یک الگوریتم بدون نظارت ممکن است دادههای مرتب نشده را بر اساس شباهتها و تفاوتها گروهبندی کند.
با این حال، بسیاری از رویکردهای ML، از جمله یادگیری انتقالی (Transfer Learning) و یادگیری فعال (Active Learning)، به عنوان الگوریتمهای نیمه نظارت شده تعریف میشوند.
یادگیری انتقالی از دانش به دست آمده از تکمیل یک کار برای حل یک مشکل متفاوت اما مرتبط استفاده میکند، در حالی که یادگیری فعال به الگوریتم اجازه میدهد تا از کاربر یا منبع دیگری برای اطلاعات بیشتر استفاده کند. هر دو سیستم معمولاً در موقعیتهایی استفاده میشوند که دادههای برچسبگذاری شده اندک هستند.
یادگیری تقویتی ، که گاهی اوقات به عنوان دسته چهارم در نظر گرفته میشود، مبتنی بر پاداش دادن به رفتارهای مطلوب و یا تنبیه رفتارهای نامطلوب است. در واقع میتوان گفت که یادگیری از طریق پاداش و مجازات است.
به طور کلی الگوریتمهای ماشین لرنینگ به 4 نوع طبقهبندی میشوند:
تحت نظارت
یادگیری بدون نظارت
یادگیری نیمه نظارتی
یادگیری تقویتی
با این حال، این 4 دسته به انواع بیشتری نیز تقسیم میشوند، در ادامه فهرست و خلاصهای از معروفترین الگوریتم های یادگیری ماشین آورده میشود.
معروفترین الگوریتم های یادگیری ماشین
رگرسیون خطی
برای درک عملکرد این الگوریتم، به این فکر کنید که چگونه میتوانید چوبهای تصادفی را به ترتیب وزنشان مرتب کنید. شما نمیتوانید هر چوب را وزن کنید. شما باید وزن آن را فقط با نگاه کردن به ارتفاع و قطر آن (تجزیه و تحلیل بصری) حدس بزنید و با استفاده از ترکیبی از این پارامترهای قابل مشاهده، آنها را مرتب کنید. این مسأله عملکرد رگرسیون خطی در یادگیری ماشین است. به این نکته توجه کنید که وزن متغیری کمی است. بنابراین متغیر وابسته در رگرسیون خطی کمی میباشد.
رگرسیون لجستیک
رگرسیون لجستیک تکنیکی آماری برای نشان دادن تاثیر متغیرهای کمی یا کیفی بر متغیر وابسته دو وجهی (دو طبقهای) است. تحلیل رگرسیون لجستیک شبیه تحلیل رگرسیون خطی است ولی با این تفاوت که در رگرسیون خطی متغیر وابسته متغیری کمی است اما در رگرسیون لجستیک متغیر وابسته متغیری کیفی و دو وجهی است. یعنی نمیتوان آن را با عدد بیان کرد.
در رگرسیون لجستیک نیز متغیرهای مستقل کیفی یا باید متغیری دو وجهی باشند یا به متغیر دو وجهی تبدیل شوند. متغیرهای وابسته دوسویی یا دو وجهی مانند بیماری یا سلامتی، مرگ یا زندگی و اگر 3 متغیر بیمار، سالم و در کما داشته باشیم، باید به متغیر سوم برچسب بیمار را بزنیم تا متغیرها به دو وجهی تبدیل شوند.
درخت تصمیم (Decision Tree)
الگوریتم درخت تصمیم در یادگیری ماشین یکی از محبوبترین الگوریتمهایی است که امروزه مورد استفاده قرار میگیرد. الگوریتم درخت تصمیم یک الگوریتمهای یادگیری ماشین نظارت شده است که برای طبقهبندی مسائل استفاده میشود. در این الگوریتم، دادهها را بر اساس مهمترین ویژگیها به دو یا چند مجموعه همگن تقسیم میکنیم.
الگوریتم SVM (Support Vector Machine)
الگوریتم SVM روشی برای طبقهبندی دادهها است که در آن دادههای خام را به صورت نقاط در یک فضای n بعدی رسم میکنید که در آن n تعداد ویژگیهایی است که دارید. سپس هر ویژگی به یک مختصات خاص در صفحه گره خورده و طبقهبندی دادهها را آسان میکند.
الگوریتم ساده بیز (Naïve Bayes)
یک طبقهبندیکننده ساده بیز فرض میکند که وجود یک ویژگی خاص در یک کلاس، با وجود هیچ ویژگی دیگری ارتباطی ندارد. حتی اگر این ویژگیها به یکدیگر مرتبط باشند، طبقهبندیکننده Naive Bayes همه این ویژگیها را به طور مستقل در هنگام محاسبه احتمال یک نمونه خاص در نظر میگیرد. ساخت یک مدل ساده بیزی ساده و برای مجموعه دادههای عظیم مفید است.
الگوریتم KNN (K- Nearest Neighbors)
این الگوریتم را میتوان برای مسائل طبقهبندی و رگرسیون اعمال کرد. ظاهراً در علم داده، بیشتر برای حل مسائل طبقهبندی استفاده میشود. این الگوریتم یک الگوریتم ساده است که همه نمونههای موجود را ذخیره کرده و هر نمونه جدید را با کسب اکثریت آرا طبقهبندی میکند. سپس نمونه جدید به کلاسی که بیشترین اشتراک را با آن دارد، اختصاص داده میشود. یک تابع این اندازهگیری را انجام میدهد.
الگوریتم K-Means
الگوریتم K-Means یک الگوریتم یادگیری بدون نظارت است که برای حل مشکلات خوشهبندی در علم داده استفاده میشود. خوشهبندی K-Means روشی برای کمیسازی بردارها است که در اصل از پردازش سیگنال گرفته شده و برای آنالیز خوشهبندی در دادهکاوی استفاده میشود. هدف الگوریتم K-Means خوشهبندی k نمونه به n خوشه است که در آن هر یک از نمونهها متعلق به خوشهای با نزدیکترین میانگین به آن است.
الگوریتم جنگل تصادفی
جنگل تصادفی یک الگوریتم تحت نظارت است که هم برای طبقهبندی و هم برای رگرسیون استفاده میشود. اما با این حال، عمدتاً برای مشکلات طبقهبندی استفاده میشود. همانطور که میدانیم یک جنگل از درختان تشکیل شده است و تعداد بیشتر درختان به معنای جنگل مقاومتر است. به همین ترتیب، الگوریتم جنگل تصادفی، درختان تصمیمگیری را با استفاده ازنمونههای داده ایجاد میکند و در نهایت بهترین راهحل را با استفاده از رایگیری انتخاب میکند.
الگوریتم کاهش ابعاد
در دنیای امروز، حجم وسیعی از دادهها توسط شرکتها، سازمانهای دولتی و سازمانهای تحقیقاتی ذخیره و تجزیه و تحلیل میشود. به عنوان یک دانشمند داده، میدانید که این دادههای خام حاوی اطلاعات زیادی است – چالشهای بسیاری در شناسایی الگوها و متغیرهای مهم است. الگوریتمهای کاهش ابعاد میتوانند به شما در یافتن جزئیات مرتبط کمک کنند.
الگوریتم تقویت گرادیان (Gradient boosting) و الگوریتم AdaBoosting
اینها الگوریتمهای تقویتکنندهای هستند که برای پیشبینیهایی با دقت بالا، مورد استفاده قرار میگیرند، Boosting یک الگوریتم یادگیری گروهی است که چندین تخمینگر و الگوریتم پایه را برای بهبود پیشبینی با دقت بالا ترکیب میکند.
نتیجه
اگر میخواهید شغلی در یادگیری ماشین داشته باشید، باید بلافاصله روند یادگیری و آموزش ماشین لرنینگ را شروع کنید. دنیای ماشین لرنینگ در حال رشد و خیرهکننده است، بنابراین هرچه زودتر مسائل مختلف مربوط به یادگیری ماشین را یاد بگیرید، زودتر میتوانید راه حلهایی برای مشکلات پیچیده کاری ارائه دهید.
دیدگاهتان را بنویسید
You must be logged in to post a comment.