مبحثِ یادگیری (چه یادگیریماشین و چه دادهکاوی) را از ابعاد گوناگون میتوان نگاه کرد. یکی از این ابعاد میتواند تفاوت بین یادگیریِ دستهای یا همان batch Learning و در مقابلِ آن، یادگیریِ برخط یا همان online learning باشد. در واقع درک تفاوت این دو روش، میتواند به حل مسائلِ مختلفِ این حوزه کمک کند.
تفاوتِ این دو دسته یادگیری را میتوان با یک مثال ساده توضیح داد. فرض کنید یک دانش آموز میخواهد آمار و احتمالات را فرا بگیرد. در نوع اول یادگیری، این دانشآموز میتواند یک مجموعه کتابِ آمار و احتمالات را تهیه کند، چند بار بخواند و یاد بگیرد. بعد از اینکه از این مجموعه کتابِ آمار، یادگیریِ خود را انجام داد، دیگر مطلبِ جدیدی یاد نگیرد و از این به بعد فقط از دانستههای خود استفاده کند. این روش یادگیری، نوعی یادگیریِ دستهای (batch learning) است. در این روش یادگیری، تمامیِ دادهها در هنگام آموزش در دسترس هستند و بعد از فازِ آموزش، دیگر یادگیری نخواهیم داشت. اما یادگیریِ دوم یا همان یادگیریِ برخط (online learning) مانندِ این است که این دانشآموز ابتدا کتابهای خود را مطالعه کند و از آنها یاد بگیرد و سپس در حین استفاده از دانستههای خود، هر گاه کتاب جدیدی در حوزهی آمار و احتمالات مشاهده کرد، تهیه کرده و با خواندنِ آن، یادگیریِ خود را بهبود ببخشد.
دادههایی که معمولا در دوره دادهکاوی، دوره طبقهبندی و دوره خوشهبندی بر روی آنها بحث میکردیم، دادههایی از نوع دسته ای (batch) بودند به این معنی که در زمانِ یادگیری (train)، تمامی دادهها در اختیار الگوریتم بودند و الگوریتم به هر نحوی میتوانست بر روی دادهها عملیاتِ یادگیری را انجام دهد. اما نوع دیگری از یادگیری نیز وجود دارد. برخی اوقات دادهها به صورت جریانداده میآیند و یا اینکه نیاز دارند به صورت مرتب یاد گرفته شوند.
پس یادگیریِ دستهای مانند این است که شما یک مجموعه کتاب دارید و باید این کتابها را یاد بگیرید چون فردا امتحان دارید. تمام منبع شما همین کتابها است و در واقع تمامیِ دادهها را در اختیار دارید. اما فرض کنید در مسیر زندگی قرار دارید و روزانه با اطلاعات جدیدی که به شما داده میشود میبایستی هر روز چیزهای جدید را یاد گرفته و به دانش قبلیِ خود اضافه کنید. این موردِ دوم یادگیریِ برخط است، یعنی هنگامی که تمامی دادهها در حالِ حاضر موجود نیستند. در یادگیریِ برخطْ یک مدل ساخته میشود و بعد با رسیدن دادههای جدیدتر، این مدل بهروزرسانی میشود.
مدل یادگیری بر خط یا همان online learning دو مزیت اساسی دارد:
۱. با این روش میتوان دادههایی با حجم بسیار بالا را آموزش داد. برای مثال دادههایی که به دلیل حجم بالای خود در حافظه جا نمیشوند.
۲. تغییراتی که ممکن است در ذات دادهها به وجود بیاید با این روش پوشش داده میشود. فرض کنید گوگل برای سیستمِ ایمیلِ خود یک الگوریتم توسعه داده باشد که ایمیلهای هرزنامه (spam) را به صورت هوشمند با الگوریتمهای یادگیریماشین تشخیص بدهد. همانطور که حدس میزنید محتوای ایمیلهای هرزنامه مدام در حال تغییر است و انسانهایی که ایمیلهای spam میفرستند هر روز خود را در مقابل این الگوریتمهای گوگل، بهینه میکنند. پس الگوریتمِ تشخیص ایمیلِ spam در گوگل میتواند به صورتِ برخط (online) یادگیری را انجام دهد تا بتواند ایمیلهایی را که در گذرِ زمان تغییر کردهاند و spam هستند تشخیص دهند. در واقع یادگیریِ الگوریتم، با تغییر محتوا و شکل ایمیلهای spam، بروز شده و مدلِ یادگرفته شده را مقاومتتر میکند.
- ۱ » دادهکاوی (Data mining) چیست؟
- ۲ » یادگیری ماشین (Machine Learning) چیست؟
- ۳ » تفاوت هوش مصنوعی، یادگیری ماشین، دادهکاوی، یادگیری عمیق و علم داده
- ۴ » طبقهبندی (Classification) چیست؟
- ۵ » خوشهبندی (Clustering) چیست؟
- ۶ » تفاوت طبقهبندی (Classification) و خوشهبندی (Clustering)
- ۷ » منظور از دادههای آموزشی (Training Sets) در طبقهبندی چیست؟
- ۸ » سیستم توصیه گر (Recommendation System) چیست؟
- ۹ » کاربرد دادهکاوی و یادگیری ماشین در پردازش متن (Text Processing)
- ۱۰ » معرفی چند نرم افزار کاربردی برای عملیات دادهکاوی
- ۱۱ » ویژگی (Feature) یا همان بُعد (Dimension) در دادهکاوی چیست؟
- ۱۲ » بررسی چند الگوریتم یادگیری ماشین (Machine Learning)
- ۱۳ » یادگیری دستهای (Batch Learning) و یادگیری برخط (Online Learning)
- ۱۴ » یادگیری فعال (Active Learning) در یادگیری ماشین
- ۱۵ » انتخاب ویژگی (Feature Selection) چیست؟
- ۱۶ » تفاوت داده ساختاریافته (Structured) با غیرساختاریافته (Unstructured) چیست؟
- ۱۷ » منظور از متغیر وابسته (Dependent) و مستقل (Independent)
- ۱۸ » مجموعه دادههایی با ابعاد زیاد (High Dimensional)
- ۱۹ » مجموعه دادهی نامتوازن (Imbalance) چیست؟
- ۲۰ » فرآیند کریسپ (CRISP) جهت انجام پروژههای دادهکاوی
- ۲۱ » رانش یا گذار در دادهها (Data Drift)
سلام میخواستم چگونگی ارتباط اندازه دسته یا batch size با نرخ یادگیری یا learning rate را بدونم ممنوم میشم