موضوع مقاله: یادگیری ماشین برخط | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # یادگیری ماشین برخط | مقدمه: بسیاری از برنامه‌های مبتنی بر یادگیری ماشین، داده‌های از قبل جمع‌آوری شده را به عنوان ورودی (مانند محتویات جداول پایگاه داده) از یک فایل می‌گیرند و سپس به صورت پیوسته بر روی این مجموعه داده‌ها پردازش انجام می‌دهند که در یادگیری ماشین برخط نحوه دریافت داده ورودی متفاوت است. | ## بخش 1: یادگیری ماشین برخط | در یادگیری ماشین داده‌های ورودی باید ثابت و مشخص باشند (از قبل جمع‌آوری شده) تا بتواند مدل مورد نظر را بر روی این مجموعه داده‌ها آموزش بدهد که این روش یادگیری در بسیاری از کاربردها در برابر داده‌هایی که در لحظه گرفته می‌شوند، قابلیت آموزش مدل در لحظه را ندارد و باید تا انتهای زمانی که داده‌ها گرفته می‌شوند صبر کند و داده‌ها جمع شوند و در ادامه مدل را آموزش دهد که این از لحاظ زمانی به صرفه نیست. حال برای حل این مشکل (عدم توانایی آموزش لحظه ای مدل برای داده‌های لحظه ای) ایده یادگیری ماشین بر خط ارائه شده‌است که توانایی آموزش لحظه ای مدل برای داده‌های لحظه ای را دارد.L. الگوهای یادگیری ماشین اغلب در یک یادگیری گروهی کار می‌کنند که در آن یک مدل توسط برخی از الگوریتم‌های یادگیری بر روی کل داده‌ها یک بار آموزش داده می‌شوند و سپس مدل آموزش داده شده بر روی داده‌های جدید مورد ارزیابی قرار می‌گیرد. امروزه با افزایش حجم داده‌ها، کاربرد یادگیری ماشین به دلیل محدودیت در حافظه پردازشی محدودتر می‌شوند، به ویژه هنگامی که داده‌های به صورت برخط رشد و توسعه می‌یابند. ایجاد یادگیری ماشین مقیاس پذیر برای داده‌های حجیم و همچنین یادگیری برای داده‌های لحظه ای در هوش مصنوعی تبدیل به یک چالش بزرگ شده‌است. یادگیری ماشین برخط یک قسمتی از یادگیری ماشین است که شامل یک خانواده مهم از تکنیک‌های یادگیری است که برای یادگیری مدل‌ها بر روی داده‌های لحظه ای طراحی شده‌است. یادگیری ماشین برخط، نقاط ضعف یادگیری ماشین را برطرف می‌کند که در آن پارامترهای یادگیری مدل می‌تواند فوراً و به‌طور مؤثر توسط یک یادگیرنده برخط هنگامی که داده‌های آموزشی جدید وارد می‌شوند، به روزرسانی شود. علاوه بر این، الگوریتم‌های یادگیری ماشین برخط به دلیل فهم آسان به راحتی قابل پیاده‌سازی می‌باشند. یادگیری ماشین برخط در زمینه‌های مختلف از جمله ی داده کاوی، آمار، بهینه‌سازی، ریاضی کاربردی، هوش مصنوعی و علوم داده استفاده می‌شود."Kismet". تفاوت یادگیری دسته ای و یادگیری برخط مبحثِ یادگیری (چه یادگیری‌ماشین و چه داده‌کاوی) را از ابعاد گوناگون می‌توان نگاه کرد. در نوع اول یادگیری، این دانش‌آموز می‌تواند یک مجموعه کتابِ آمار و احتمالات را تهیه کند، چند بار بخواند و یاد بگیرد. بعد از این‌که از این مجموعه کتابِ آمار، یادگیریِ خود را انجام داد، دیگر مطلبِ جدیدی یادنگیرد و از این به بعد فقط از دانسته‌های خود استفاده کند. اما یادگیریِ دوم یا همان یادگیریِ برخط (Online Learning) مانندِ این است که این دانش‌آموز ابتدا کتاب‌های خود را مطالعه کند و از آن‌ها یاد بگیرد و سپس در حین استفاده از دانسته‌های خود، هر گاه کتاب جدیدی در حوزهٔ آمار و احتمالات مشاهده کرد، تهیه کرده و با خواندنِ آن، یادگیریِ خود را تجدید کند و بهبود ببخشد. داده‌هایی که معمولاً در دوره داده‌کاوی، دوره طبقه‌بندی و دوره خوشه‌بندی، داده‌هایی از نوع دسته ای (Batch) بودند به این معنی که در زمانِ یادگیری(Train)، تمامی داده‌ها در اختیار الگوریتم بودند و الگوریتم به هر نحوی می‌توانست بر روی داده‌ها عملیاتِ یادگیری را انجام دهد. | ## بخش 2: یادگیری ماشین برخط | برخی اوقات داده‌ها به صورت جریان‌داده می‌آیند یا اینکه نیاز دارند به صورت مرتب یادگرفته شوند. همان‌طور که گفتیم یادگیریِ دسته‌ای مانند این است که شما یک کتاب دارید و باید این کتاب را یاد بگیرید چون فردا امتحان دارید. اما فرض کنید در مسیر زندگی قرار دارید و روزانه با اطلاعات جدیدی که به شما داده می‌شود می‌بایستی هر روز چیزهای جدید را یادگرفته و به دانش قبلیِ خود اضافه کنید. در یادگیریِ برخط یک مدل ساخته می‌شود و بعد با رسیدن داده‌های جدیدتر، این مدل به‌روزرسانی می‌شود. فرض کنید گوگل برای سیستمِ ایمیلِ خود یک الگوریتم توسعه داده باشد که ایمیل‌های هرزنامه (spam) را به صورت هوشمند با الگوریتم‌های یادگیری‌ماشین تشخیص بدهد. همان‌طور که حدس می‌زنید محتوای ایمیل‌های هرزنامه مدام در حال تغییر است و انسان‌هایی که ایمیل‌های spam می‌فرستند هر روز خود را در مقابل این الگوریتم‌های گوگل، بهینه می‌کنند. مثال‌هایی از وظایف یادگیری برخط عبارتند از: نظارت بر وظایف یادگیری: الگوریتم‌های یادگیری برخط را برای وظایف یادگیری تحت نظارت توسعه داده شده‌است. یکی از شایع‌ترین وظایف، طبقه‌بندی است که هدف آن پیش‌بینی گروهی برای یک نمونه داده جدید است که بر اساس مشاهدات نمونه‌های آموزش داده شده‌است که برچسب‌های دسته‌بندی شده آنها ارائه می‌شود. به عنوان مثال، یک کار متداول مطالعه شده در یادگیری برخط، طبقه‌بندی دوتایی برخط است (به عنوان مثال، فیلتر کردن ایمیل‌های هرزنامه) که تنها شامل دو دسته می‌شود ("ایمیل‌های هرزنامه" و "غیرهرزنامه")؛ سایر انواع وظایف طبقه‌بندی نظارت شده عبارتند از طبقه‌بندی چند کلاس، طبقه‌بندی چند لایه و طبقه‌بندی چند نمونه ای و غیره.Bottou, Léon (1998). تکنیک‌های یادگیری برخط به‌طور طبیعی برای انجام وظایف تحلیل رگرسیون، مانند تحلیل سری زمانی در بازارهای مالی که نمونه‌های داده به‌طور طبیعی به صورت پیوسته وارد می‌شوند، به کار می‌رود. علاوه بر این، یک برنامه کاربردی دیگر برای یادگیری برخط با داده‌های سری زمانی مالی، بخش نمونه کارهای برخط است که در آن یک یادگیرنده برخط با هدف یافتن یک راهبرد خوب (به عنوان مثال، سودآور و کم خطر) برای ایجاد یک سری تصمیم‌گیری برای انتخاب نمونه کارها انجام می‌دهد. الگوریتم‌های یادگیری برخط همچنین می‌توانند برای کارهای یادگیری بدون نظارت استفاده شوند. به عنوان مثال در خوشه بندی یا تجزیه و تحلیل خوشه‌ها می‌باشد، که فرایند دسته‌بندی اشیاء به طوری که اشیاء در یک گروه (خوشه) بیشتر شبیه به یکدیگر هستند تا اشیاء در خوشه‌های دیگر. خوشه بندی برخط، هدف آن تجزیه و تحلیل خوشه ای افزایشی در یک توالی داده ورودی می‌باشد. | ## بخش 3: یادگیری ماشین برخط | کاربردهای دیگر: یادگیری برخط همچنین می‌تواند برای سایر انواع وظایف یادگیری ماشین مانند یادگیری برای سیستم‌های توصیه گر، یادگیری به رتبه‌بندی یا یادگیری تقویتی استفاده شود. برای مثال، فیلتر کردن مشارکتی با یادگیری برخط می‌تواند رای بهبود وظایف فیلتراسیون مشترک به صورت پیوسته از جریان مداوم اطلاعات از کاربران استفاده شود. یکی این است که بهبود بهره‌وری و مقیاس پذیری در روش‌های یادگیری ماشین دسته ای که در آن مجموعه کامل داده‌های آموزشی باید قبل از آموزش در دسترس قرار گیرند. سناریو دیگر الگوریتم‌های یادگیری برخط است که به‌طور مستقیم با وظایف تجزیه و تحلیل داده جریان برخط مواجه شوند، در صورتی که داده‌ها به‌طور طبیعی به شیوه ای متوالی وارد شوند. طبقه‌بندی برای کمک به خوانندگان در درک ادبیات یادگیری برخط به‌طور کلی، ما تلاش می‌کنیم تا طبقه‌بندی روش‌ها و تکنیک‌های یادگیری برخط را به شکل زیر خلاصه کنیم. به‌طور کلی، از دیدگاه نظری، روش‌های یادگیری از سه انجمن نظری عمده: نظریه یادگیری، نظریه بصری و نظریه بازی تشکیل شده‌است. از دیدگاه الگوریتم‌های خاص، می‌توانیم تکنیک‌های یادگیری برخط موجود در دسته‌های مختلف را با توجه به اصول یادگیری خاص گروه‌بندی کنیم. به‌طور خاص، با توجه به نوع اطلاعات بازخورد و انواع نظارت در وظایف یادگیری، تکنیک‌های یادگیری برخط را می‌توان به سه دسته عمده زیر تقسیم کرد:Bertsekas, D. یادگیری تحت نظارت برخط این مربوط به وظایف یادگیری نظارت است که اطلاعات کامل بازخورد همیشه در پایان هر دوره یادگیری برخط به یادگیرنده نشان داده می‌شود. این را می‌توان به دو گروه مطالعات تقسیم کرد: (۱) «نظارت بر یادگیری» که روش و اصول اساسی یادگیری را تشکیل می‌دهد؛ و (۲) «یادگیری برخط کاربردی» که بیشتر یادگیری تحت نظارت برخط را تشکیل می‌دهد، جایی که رویکردهای بنیادی به‌طور مستقیم نمی‌توانند مورد استفاده قرار گیرند و الگوریتم‌ها به‌طور مناسب مطابق با شرایط یادگیری برخط طراحی شده‌اند. یادگیری برخط با بازخورد محدود این مربوط به وظایفی است که در آن یک یادگیرنده برخط، اطلاعات بازخورد جزئی از محیط را در طی فرایند یادگیری برخط دریافت می‌کند. به عنوان مثال، یک کلاس طبقه‌بندی چندرسانه ای برخط را در یک دور خاص در نظر بگیرید، یادگیرنده یک پیش‌بینی از برچسب کلاس برای یک نمونه ورودی را پیش می‌گیرد و سپس بازخورد جزئی را نشان می‌دهد که آیا پیش‌بینی درست است یا خیر، به جای درست بودن واقعی برچسب کلاس به صراحت برای چنین وظایف، یادگیرنده برخط اغلب مجبور است تا به روز رسانی‌هایی را با تلاش برای دستیابی به برخی توافق بین بهره‌برداری از دانش افشا شده و جستجو اطلاعات ناشناخته با محیط، به دست آورد.Goldberg AB, Zhu X, Furger A, Xu JM. یادگیری بدون نظارت برخط این مربوط به وظایف یادگیری برخط است که در آن یادگیرنده برخط فقط دنباله ای از نمونه داده‌ها را بدون هیچگونه بازخورد اضافی (مثلاً برچسب کلاس واقعی) در طول وظایف یادگیری برخط دریافت می‌کند. یادگیری برخط بدون نظارت می‌تواند به عنوان یک یادگیری بدون نظارت توسعه داده شده برای برخورد با جریان‌های داده مورد توجه قرار گیرد، که به‌طور معمول در شیوه یادگیری گروهی مورد مطالعه قرار می‌گیرد. | ## جمع‌بندی | نمونه‌هایی از یادگیری برخط بدون نظارت عبارتند از خوشه بندی برخط، کاهش ابعاد برخط و وظایف تشخیص ناهنجاری برخط و غیره می‌باشد.