یادگیری با ناظر (Supervised Learning) زیرمجموعهای از یادگیری ماشین (Machine Learning) است. این فرایند با یادگیری از روی دادههای برچسبدار (Labeled) به ما در تشخیص خروجی دادههایی کمک میکند که قبلاً دیده نشدهاند.
- 1. مقدمه
- 2. یادگیری ماشین چیست؟
- 3. یادگیری ماشین چگونه کار می کند؟
- 4. انواع مختلف مدل های یادگیری ماشین چیست؟
- 5. یادگیری با ناظر (Supervised Learning) چیست؟
- 6. زیرمجموعههای یادگیری با ناظر چیست؟
- 7. مزایای یادگیری با ناظر چیست؟
- 8. معایب یادگیری با ناظر چیست؟
- 9. خلاصهی مطالب
- 10. آموزش علم داده یا دیتا ساینس و یادگیری ماشین با کلاسهای آنلاین کافهتدریس
مقدمه
امروزه یادگیری با ناظر (Supervised Learning) متداولترین زیرشاخهی یادگیری ماشین (Machine Learning) است. بهطور معمول، تازهواردان به دنیای یادگیری ماشین سفر خود را با الگوریتمهای یادگیری با ناظر آغاز میکنند.
در این مطلب قصد داریم یادگیری با ناظر را معرفی کنیم، چگونگی کار آن را درک کنیم، دو زیرمجموعهی آن را بررسی کنیم و درنهایت با فواید و معایب آن آشنا شویم.
قبل از اینکه به سراغ یادگیری باناظر به عنوان یکی از زیرشاخههای یادگیری ماشین برویم، بهتر است ببینیم، یادگیری ماشین چیست و چطور کار میکند.
یادگیری ماشین چیست؟
یادگیری ماشین (ML) رشتهای از زیرمجموعههای هوش مصنوعی (AI) است که به ماشینها توانایی یادگیری خودکار از روی دادهها و تجربیات گذشته را میدهد و در عین حال الگوهایی را برای پیشبینی با کمترین مداخله انسانی شناسایی میکند. درواقع هدف از به کارگیری یادگیری ماشین فراهم کردن امکان یادگیری به ماشینها به همان شکلی است که انسانها یاد میگیرند. روشهای یادگیری ماشین، رایانهها را قادر میسازد تا بدون برنامهنویسی صریح به طور مستقل کار کنند. برنامه های کاربردی یادگیری ماشین با دادههای جدید تغذیه میشوند و می توانند به طور مستقل یاد بگیرند، رشد کنند، توسعه دهند و تطبیق دهند.
یادگیری ماشین با استفاده از الگوریتمها برای شناسایی الگوها و یادگیری در یک فرآیند تکراری، اطلاعات و بینش مفیدی را از حجم زیادی از داده به دست میآورد. الگوریتمهای ماشینلرنینگ از روشهای محاسباتی برای یادگیری مستقیم از دادهها استفاده میکنند. عملکرد الگوریتمهای ML به طور تطبیقی با افزایش تعداد نمونههای موجود در طول فرآیندهای “یادگیری” بهبود مییابد.
با وجود اینکه یادگیری ماشین مفهوم جدیدی نیست – قدمت آن به جنگ جهانی دوم برمیگردد، زمانی که Enigma Machine مورد استفاده قرار گرفت – توانایی اعمال محاسبات پیچیده ریاضی به طور خودکار برای حجم و انواع دادههای موجود در حال رشد، یک پیشرفت نسبتاً جدید است. امروزه، با ظهور کلان داده (Big Data)، اینترنت اشیا و محاسبات فراگیر، یادگیری ماشین برای حل مشکلات در بسیاری از زمینه ها مورد استفاده میگیرد. بعضی از این حوزهها عبارتند از:
- مالی محاسباتی (امتیاز اعتبار، معاملات الگوریتمی)
- بینایی کامپیوتر (تشخیص چهره، ردیابی حرکت، تشخیص اشیا)
- زیست شناسی محاسباتی (توالی یابی DNA، تشخیص تومور مغزی، کشف دارو)
- خودروسازی، هوافضا و تولید (تعمیر و نگهداری پیش بینی شده)
- پردازش زبان طبیعی (تشخیص گفتار یا تشخیص صدا، ترجمه متن)
یادگیری ماشین چگونه کار می کند؟
اینکه یادگیری ماشین چطور کار میکند، فوق العاده پیچیده است و نحوه عملکرد آن بسته به کار و الگوریتم مورد استفاده برای انجام آن متفاوت است. با این حال، به طور کلی میتوان گفت، یک مدل یادگیری ماشین کامپیوتری است که به دادهها برای شناسایی الگوها نگاه میکند و سپس از آن الگوها و بینشهایی که به دست آورده برای تکمیل بهتر وظایف محول شده خود استفاده میکند. هر کاری که بر مجموعهای از نقاط داده یا قوانین تکیه دارد، میتواند با استفاده از یادگیری ماشین خودکار شود، حتی کارهای پیچیدهتر مانند پاسخگویی به تماسهای خدمات مشتری و بررسی رزومه.
انواع مختلف مدل های یادگیری ماشین چیست؟
بسته به موقعیت، الگوریتمهای یادگیری ماشین با استفاده از مداخله کم و بیش انسانی عمل میکنند. چهار مدل اصلی یادگیری ماشین عبارتند از: یادگیری نظارتشده، یادگیری بدوننظارت، یادگیری نیمهنظارتی و یادگیری تقویتی.
با یادگیری نظارتشده (Supervised Learning)، رایانه با مجموعه ای برچسب گذاری شده از دادهها مواجه میشود که به آن امکان میدهد نحوه انجام یک کار انسانی را بیاموزد. در این حالت مدل یادگیری ماشین چ تلاش میکند تا یادگیری انسان را تکرار کند.
با یادگیری بدوننظارت (Unsupervised Learning)، کامپیوتر با داده های بدون برچسب مواجه می شود و الگوها یا بینشهای ناشناخته که از قبل مشخص نیستند را از آن استخراج میکند.
با یادگیری نیمهنظارتی (Semi-supervised Learning)، به کامپیوتر مجموعهای از دادههای دارای برچسب ارائه میشود و وظیفه خود را با استفاده از دادههای برچسب دار برای درک و تفسیر دادههای بدون برچسب انجام میدهد.
با یادگیری تقویتی (Reinforcement Learning)، کامپیوتر محیط خود را مشاهده میکند و از آن دادهها برای شناسایی رفتار ایدهآلی استفاده میکند که خطا را به حداقل می رساند و یا پاداش را به حداکثر میرساند. این یک رویکرد تکراری است که به نوعی سیگنال تقویتی نیاز دارد تا به رایانه کمک کند بهترین عملکرد خود را بهتر شناسایی کند.
برای آشنایی کامل با یادگیری ماشین این مطلب را بخوانید:
یادگیری ماشین (Machine Learning) چیست و چگونه کار میکند؟
حال که با یادگیری ماشین و نحوه کار آن آشنا شدیم، لازم است به سراغ یادگیری باناظر برویم.
یادگیری با ناظر (Supervised Learning) چیست؟
الگوریتمهای یادگیری ماشین با ناظر برای یادگیری از روی نمونهها طراحی شدهاند. نام یادگیری با ناظر هم از این ایده سرچشمه میگیرد که آموزش این نوع الگوریتمها مانند این است که یک معلم بر کل روند آموزش نظارت دارد.
هنگام آموزش الگوریتم یادگیری با ناظر دادههای آموزشی متشکل از ورودیهایی است که با خروجیهای صحیح جفت شدهاند؛ یعنی دادهها برچسب خروجیهای صحیح دارند. در حین آموزش، الگوریتم الگوهایی در دادهها را جستوجو میکند که با خروجیهای مدنظر ارتباط دارند و آن الگوها را یاد میگیرد.
پس از آموزش، الگوریتم یادگیری با ناظر ورودیهای جدیدی را میگیرد که خروجی مدنظر آنها مشخص نیست. براساس دادههای آموزشی قبلی تعیین میکند که ورودیهای جدید به کدام برچسب طبقهبندی شوند یا بهعبارت دیگر چه خروجی دارند.
هدف از یک مدل یادگیری با ناظر پیشبینی برچسب صحیح برای دادههای ورودی جدید است.
صورتبندی یادگیری با ناظر
در ابتداییترین شکل خود، یک الگوریتم یادگیری با ناظر را میتوان به فرم یک تابع نوشت: Y = F(x)
در این صورتبندی Y خروجی پیشبینی شده است که یک تابع نگاشت آن را تعیین میکند. این تابع یک کلاس (برچسب) را به مقدار ورودی x اختصاص میدهد. این تابع که برای اتصال یک ورودی به خروجی مدنظر است توسط الگوریتم یادگیری ماشین در حین آموزش ایجاد میشود.
زیرمجموعههای یادگیری با ناظر چیست؟
یادگیری با ناظر را میتوان به دو زیرمجموعه کلی طبقهبندی (Classification) و رگرسیون (Regression) تقسیم کرد. در ادامه با این دو بیشتر آشنا خواهیم شد.
طبقهبندی (Classification)
در طول آموزش، دادههایی به یک الگوریتم طبقهبندی وارد میشوند که هر یک از قبل در یک دسته یا کلاس خاصی طبقهبندی شدهاند. وظیفهی یک الگوریتم طبقهبندی این است که بعد از فرایند آموزش یک مقدار ورودی بگیرد و آن را به یک کلاس یا دسته اختصاص دهد که براساس چیزی که در حین آموزش یاد گرفته است، آن داده واقعاً در آن کلاس قرار بگیرد.
یکی از متداولترین نمونههای طبقهبندی تعیین اسپمبودن یا نبودن (Spam) ایمیل است. از آنجا که این مسئله دو کلاس برای انتخاب دارد (اسپمبودن یا نبودن)، آن را یک مسئلهی طبقهبندی باینری (Binary Classification) مینامند. در اینجا به الگوریتم دادههای آموزشی ما ایمیلهایی هستند که بعضی از آنها اسپم (Spam) هستند و بعضی دیگر خیر (Not Spam). سپس مدل ویژگیهای موجود در دادهها را در حین آموزش پیدا میکند که با هر دو کلاس مرتبط هستند و تابع نگاشت را ایجاد میکند که قبلاً به آن اشاره کردیم: Y = f (x). سپس، هنگامی که یک ایمیل جدید که از قبل دیده نشده است به الگوریتم ارائه میشود، مدل برای تعیین اسپمبودن یا نبودن این ایمیل از این تابع استفاده میکند.
الگوریتمهای متفاوتی برای حل مسائل طبقهبندی وجود دارند که طبق دادههای مسئله یکی از آنها را برای کارمان انتخاب میکنیم. برخی از الگوریتمهای معروف طبقهبندی عبارتاند از:
- طبقهبندیکنندههای خطی (Linear Classifiers)
- ماشینبردار پشتیبان (Support Vector Machines)
- درخت تصمیم (Decision Tree)
- K نزدیکترین همسایه (K-Nearest Neighbor)
- جنگل تصادفی (Random Forest)
رگرسیون (Regression)
رگرسیون یک فرایند آماری پیشبینیکننده است که در آن مدل سعی دارد رابطه مهم میان متغیرهای وابسته و مستقل را پیدا کند. هدف الگوریتم رگرسیون پیشبینی مقادیر پیوستهای، مانند مقدار فروش، درآمد و نمرات آزمون، است.
یک معادلهی رگرسیون خطی ساده میتواند بهاین شکل نوشته شود: ŷ = wx + b
در این معادله ŷ متغیر وابسته (که وابسته به متغیر x است) و x متغیر مستقل است. برای مسائل رگرسیون ساده، مانند مثال بالا، پیشبینی مدلها با یک خط نشان داده میشود. برای مدلهایی که دو ویژگی یا متغیر مستقل دارند، از سطح (Plane) استفاده میشود و برای مدلی که بیش از دو ویژگی یا متغیر مستقل دارد از یک هایپر پلین (Hyper Plane) استفاده میشود.
نمونهای برای رگرسیون
بیایید تصور کنیم میخواهیم براساس میزان ساعت مطالعه در هفته، نمرهی آزمون هر دانشآموز را تعیین کنیم. فرض میکنیم خطی که بهبهترین شکل دادههای موجود را نشان میدهد بهاین شکل است:
همانطور که مشخص است، میان ساعتهای مطالعهشده (متغیر مستقل) و نمرهی آزمون نهایی دانشآموزان (متغیر وابسته) همبستگی مثبت و واضحی وجود دارد؛ یعنی هر قدر که ساعت مطالعه بیشتر شود، نمرهی آزمون هم بالاتر میرود. بهاین شکل، میتوان ازطریق نقاط داده، بهترین خط ممکن را ترسیم کرد تا هنگام ورود دادهی جدید، پیشبینی مدل را نشان دهد؛ برای مثال، فرض کنیم میخواهیم بدانیم دانشآموزی با پنج ساعت مطالعه چه نمرهای میگیرد. میتوانیم از خطی که براساس عملکرد دیگر دانشآموزان ترسیم شده است برای پیشبینی نمرهی آزمون این دانشآموز استفاده کنیم.
الگوریتمهای رگرسیون زیادی وجود دارد که معروفترین آنها عبارتاند از:
- رگرسیون خطی (Linear Regression)
- رگرسیون لجستیک (Logistic Regression)
- رگرسیون چندجملهای (Polynomial Regression)
حال که با یادگیری با ناظر و دو زیرمجموعهی، آن یعنی طبقهبندی و رگرسیون، آشنا شدیم، بیایید نگاهی به مزایا و معایب آن بیندازیم.
برای آشنایی با یادگیری بدون ناظر این مطلب را مطالعه کنید:
یادگیری بدون ناظر (Unsupervised Learning) چیست؟
مزایای یادگیری با ناظر چیست؟
مزایای یادگیری با ناظر بهصورت کلی از این قرار است:
- یادگیری با ناظر به ما امکان میدهد با استفاده از تجربههایی که از دادههای قبلی به دست آوردهایم برای دادهی جدید خروجی مطلوب به دست آوریم.
- کمک میکند تا با استفاده از تجربههایی که در فرایند یادگیری از دادهها به دست آمده است عملکرد مدل را بهبود دهیم.
- یادگیری با ناظر امکان حل انواع مختلفی از مسائل محاسباتی را به ما میدهد که در دنیای واقعی با آنها روبهرو میشویم.
معایب یادگیری با ناظر چیست؟
با وجود مزایایی که در بخش قبل به آنها اشاره شد، یادگیری با ناظر معایبی هم دارد:
- درصورتیکه برای یک کلاس خاص نمونهای در مجموعهی آموزشی وجود نداشته باشد، مدل بهدرستی آموزش نمیبیند.
- باید برای هر کلاس نمونهی دادههای مناسب و با حجم مناسب داشته باشیم تا مدل بتواند درست آموزش ببیند.
- طبقهبندی کلانداده (Big Data) میتواند چالش باشد.
- آموزش یادگیری با ناظر به زمان محاسباتی زیادی نیاز دارد.
خلاصهی مطالب
در این مقاله یادگیری با ناظر (Supervised Learning) را معرفی کردیم و دیدیم در این نوع یادگیری ما ماشین را با استفاده از دادههایی که برچسبدارند، یعنی مشخص است که در کدام دسته یا کلاس قرار دارند، آموزش میدهیم تا درنهایت برای داده ورودی جدید پیشبینی درستی انجام دهند.
یادگیری با ناظر سادهترین زیرمجموعهی یادگیری ماشین است که بسیاری از متخصصان در شروع کار خود بهسراغ یادگیری آن میروند. درواقع این نوع یادگیری رایجترین شکل یادگیری ماشین است و با توجه به نتایج مطلوبی که داشته، ثابت کرده است که گزینهی بسیار خوبی برای حل مسائل مختلف در حوزهی هوش مصنوعی (Artificial Intelligence) و یادگیری ماشین است.
برای آشنایی بیشتر با یادگیری ماشین این مطلب را مطالعه کنید:
۹ کاربرد یادگیری ماشین در زندگی روزمره را بشناسید!
آموزش علم داده یا دیتا ساینس و یادگیری ماشین با کلاسهای آنلاین کافهتدریس
اگر به یادگیری علم داده و یادگیری ماشین علاقه دارید، کلاسهای آنلاین علم داده کافهتدریس به شما امکان میدهد این دانش را بهصورت مقدماتی و پیشرفته یاد بگیرید.
کلاسهای آنلاین آموزش علم داده کافهتدریس بهصورت کاملاً تعاملی و پویا برگزار میشود و مبتنی بر پروژههای واقعی دیتا ساینس است.
شما در کلاسهای آنلاین آموزش علم داده کافهتدریس به جامعترین و بهروزترین آموزش دیتا ساینس دسترسی خواهید داشت.
برای آشنایی بیشتر با کلاسهای آنلاین آموزش علم داده مقدماتی و پیشرفته کافهتدریس و مشاوره رایگان برای شروع یادگیری روی این لینک کلیک کنید:
دو زیرمجموعه اصلی یادگیری با ناظر چه نام دارند؟
دو زیرمجموعهی، آن یعنی طبقهبندی و رگرسیون
یکی از معایب یادگیری با ناظر چیست؟
درصورتیکه برای یک کلاس خاص نمونهای در مجموعهی آموزشی وجود نداشته باشد، مدل بهدرستی آموزش نمیبیند.
باید برای هر کلاس نمونهی دادههای مناسب و با حجم مناسب داشته باشیم تا مدل بتواند درست آموزش ببیند.
طبقهبندی کلانداده (Big Data) میتواند چالش باشد.
آموزش یادگیری با ناظر به زمان محاسباتی زیادی نیاز دارد
یادگیری ماشین را چگونه میتوان تعریف کرد؟
یادگیری ماشین (ML) رشتهای از زیرمجموعههای هوش مصنوعی (AI) است که به ماشینها توانایی یادگیری خودکار از روی دادهها و تجربیات گذشته را میدهد و در عین حال الگوهایی را برای پیشبینی با کمترین مداخله انسانی شناسایی میکند.
سلام و احترام
پاسخ سوالات
۱- طبقه بندی و رگرسیون
۲- آموزش یادگیری با ناظر به زمان محاسباتی زیادی نیاز دارد.
۳- مدل یادگیری ماشین کامپیوتری است که به دادهها برای شناسایی الگوها نگاه میکند و سپس از آن الگوها و بینشهایی که به دست آورده برای تکمیل بهتر وظایف محول شده خود استفاده میکند.
سوال ۳:
یادگیری ماشین (ML) رشتهای از زیرمجموعههای هوش مصنوعی (AI) است که به ماشینها توانایی یادگیری خودکار از روی دادهها و تجربیات گذشته را میدهد و در عین حال الگوهایی را برای پیشبینی با کمترین مداخله انسانی شناسایی میکند. درواقع هدف از به کارگیری یادگیری ماشین فراهم کردن امکان یادگیری به ماشینها به همان شکلی است که انسانها یاد میگیرند.
سوال۲:
آموزش یادگیری با ناظر به زمان محاسباتی زیادی نیاز دارد
سوال ۱:
یادگیری با ناظر:
(Classification) و
رگرسیون (Regression)
دیدگاه ریگرسیون با کلاسیفکشن برای من نامبهمه یعنی میشه کاری کرد از دسته ریگرسیون و بعد بیایم با دسته بندی کلاسیفکیشن با نظارت با ماشین بردار پشتیبان اون رو بهینه تر کنیم؟
بله، ترکیب دو مدل یا روش مختلف، یعنی اجرای رگرسیون و کلاسیفیکیشن به صورت متوالی یا ترکیبی، یه رویکرد معموله که بهش “رگرسیون با کلاسیفیکیشن” یا “رگرسیون و کلاسیفیکیشن ترکیبی” گفته میشه. این رویکرد ممکنه در بعضی مواقع برای بهبود عملکرد مدل و دقت پیشبینی استفاده شه.
ایده اصلی اینکه اول از یه مدل رگرسیون برای پیشبینی یه مقدار پیوسته (مثل یک عدد حقیقی) استفاده کنیم. بعد، این مقدار پیشبینی شده رو به عنوان ورودی به یه مدل کلاسیفیکیشن بدیم و خروجی کلاس متناظر با این مقدار پیشبینی شده رو تولید کنیم. برای مطالعه بیشتر و رایگان درمورد مطالبی که گفتین براتون مبهمه، میتونین پست های کانال تلگراممون به آیدی @Data_ML رو مطالعه کنین.
سلام روزتون بخیر چقدر زمان می خوادتا در زمینه data science بتونیم وارد بازار کار بشیم به طور نرمال و اینک آیا برای شروع در این زمینه با توجه به داشتن علم مقدماتی در این زمینه سن و سال مهم نیست مثلا میشه در سن ۴۴ سالگی شروع کرد و به نتیجه رسید به درامد
سلام و روز بخیر. معمولا زمان یادگیری به خود شخص خیلی بستگی داره، اینکه چقدر زمان میذاره برای یادگیری و مستمر پیش میره یا نه، دانش اولیهش چقدره و سرعت یادگیریش. اما اگه بخوایم یه زمان تقریبی مشخص کنیم، معمولا ۹ ماه تا ۱ سال زمان لازمه. درمورد سن هم هیچوقت برای یادگیری مهارتهای جدید دیر نیست.
مطالب ساده و قابل درک است ولی بهتر است بخشی را برای مزایا ومعایب مشخص شود
ممنون از اشتراک نظر شما.
من خیلی نگران مبحث رگرسیون ها در علم داده بودم اما استاد شکرزاد با بیان شفافشون این مبحث رو به خوبی تدریس کرده بودند
خیلی ممنون از شما استاد عزیز
ممنون از توجه شما. موفق باشین.
مقاله خوبی بود .شاخه های یادگیری ماشین به خوبی توضیح داده شده . ممنون از تیم حرفه ای کافه تدریس و استاد شکرزاد عزیز
سپاس از توجه شما
آموزش رگرسیون هم در دوره علم داده مقدماتی انجام شده؟
بله در دوره علم داده ۱ با رگرسیون هم آشنا خواهید شد.
در مقاله فرمودید که در یادگیری با ناظر با خروجی های صحیح بررسی میشه. زمانی که به خروجی دسترسی داشته باشیم چرا باید از این موضوع استفاده کنیم ؟
برای آموزش مدل ابتدا به خروجیهای درست احتیاج داریم تا در نهایت روی دادهی تست مدل خودش پیشبینی رو انجام بده.
بدون یادگیری رگرسیون ها امکان مباحث یادگیری بدون ناظر نیست ؟ رگرسیون برای من خیلی پیچیده هست
اگر یادگیری باناظر مدنظرتون بوده، خیر. رگرسیون مبحث بسیار مهمی تو یادگیری ماشینه و اگه علاقه به یادگیری و کار تو این حوزه دارین باید این مفهوم رو کاملا درک کنین. در مورد رگرسیون به طور مفصل در این مقاله صحبت کردیم:
http://ctdrs.ir/ds0027
یک نمونه یادگیری با ناظر رو به صورت ساده مثال میزنید ؟
مثالی که در مقاله از رگرسیون خطی زده شده، دقیقا مثالی از یادگیری باناظره.
دستد دردنکنه.عالی بود
ممنون از توجه شما
چقدر خوب توضیح داده شده، ممنونم واقعا
خوشحالیم که مفید بوده براتون