در زندگی تنها تغییر است که ثابت میماند – change is the only constant in life
آیا محلهای که در کودکی در آنجا زندگی میکردید طی ۲۰ سال گذشته تغییر کرده است؟ پاسخ احتمالاً مثبت خواهد بود. جهان در حال تغییر است و دادهها نیز در همین جهان زندگی میکنند، پس دادهها ممکن است پس از گذشت مدت زمانی تغییر کنند. این تغییرات در دادهها منجر به تغییر در الگوها نیز شده و احتمالاً مدلهایی که قبلاً بر روی دادهها یادگیری یا دادهکاوی را انجام میدادند، با گذشت زمان، دقتی به مراتب پایینتر خواهند داشت.
رانش یا گذار در دادهها (data drift)، به تغییرات ذاتی در دادهها با گذشت زمان گفته میشود. برای مثال فرض کنید یک الگوریتمِ دادهکاوی یا یادگیری ماشین دارید که میتواند از روی متن پیامک، تشخیص دهد که این پیام هرز (spam) هست یا خیر؟ (اگر با مفهوم دادهکاوی یا یادگیری ماشین آشنایی ندارید این درس را مطالعه کنید). برای انجام این کار، مجموعهای از پیامکها (مثلاً ۱۰هزار پیامک) را انتخاب کرده و توسط یک متخصص هرزشناسی (spam detector) هر کدام از این پیامکها را برچسب میزنیم. چیزی شبیه به جدول زیر:
مجموعهی بالا یک مجموعه دادههای آموزشی (training dataset) است که الگوریتمهای دادهکاوی و یادگیری ماشین از روی این دادهها یادگیری را انجام داده و سپس میتوانند پیامکهای جدید را به صورت خودکار برچسبزنی کنند.
فرض کنید الگوریتم بر روی این دادهها یادگیری را انجام داده و شما یک نرمافزار تشخیص پیامک هرز، با استفاده از همین الگوریتم ایجاد میکردید. بعد از گذشت چند ماه/یا چند سال، متن پیامکها توسط شرکتهای تبلیغاتی که پیامک ارسال میکنند، تغییر میکرد و یا ادبیات جدید وارد حوزهی پیامکی بین مردم میشد. این تغییر در محتوا و متن پیامکها باعث میشود که الگوریتمی که بر روی دادههای قبلی (مجموعهی آموزشی بالا) یادگیری را انجام داده، دیگر نتواند بر روی دادههای جدید با همان دقت عمل کند. در واقع الگوریتم نتوانسته است تغییر یا همان رانش یا گذار در دادهها را تحمل کرده و همین امر باعث کاهشِ دقت الگوریتم بر روی دادهها (معمولاً بعد از گذشت مدت زمانی) میشود. این همان مفهوم رانش داده (data drift) است.
برای مقابله با رانش دادهها روشهای مختلف و متعددی موجود است. برای مثال میتوان الگوریتم را با استفاده از روشهای بر خط (online) بر روی دادهها برازش کنیم. در مورد یادگیری برخط (online learning) در درس مربوطه صحبت کردهایم. همچنین با استفاده از راهکارهای آماری و مقایسهی توزیع دادهها با روشهایی مانند KL Divergence یا جنسون شنون (Jenson Shannon) نمونهای از دادههای جدید را به صورت دورهای با دادههای قبلی (که الگوریتم بر روی آنها یادگرفته شده است)، مقایسه کرده تا بفهمیم که آیا دادهها دچار رانش شده است یا خیر. با این کار میتوانیم به صورت دورهای یک مجموعهی دادهی آموزشی (مانند شکل بالا) ایجاد کرده و الگوریتم را هر چند وقت یک بار بر روی دادههای جدید برازش کنیم.
- ۱ » دادهکاوی (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)
عالی بود .
با تشکر از زحمات شما.
عالی ، کل مطالب این دوره رو خوندم و شروع خوبیه
ممنونم خیلی ساده و کوتاه درس میدین
کاش دانشگاه ها هم از این روش ها الگو بگیرند