گام جدید رو به جلو در داده‌های مصنوعی

شکل ۱. گام جدید رو به جلو در داده‌های مصنوعی
شکل ۱. گام جدید رو به جلو در داده‌های مصنوعی
منتشر‌شده در: towardsdatascience به تاریخ ۱۲ ژوئن ۲۰۲۱
لینک منبع The new step forward in synthetic data

دیر یا زود در حرفه علم داده خود با مشکلی مواجه خواهید شد که در آن یک رویداد، معمولا رویدادی که شما سعی دارید پیش‌بینی کنید، کم‌تر از دیگری و یا دیگران تکرار می‌شود.

به هر حال، واقعیت مانند آن است -تصادفات ماشین یا افراد مبتلا به بیماری کمیاب هستند (خدا را شکر!) از مسیرهایی که توسط ماشین یا افراد سالم به اتمام رسیده است.

این نوع مشکل به عنوان داده‌های نامتعادل طبقه‌بندی می‌شود. و در حالی که عددی وجود ندارد که آن را تعریف کند، شما می‌دانید که داده‌های شما زمانی که توزیع کلاس شما کج است، نامتعادل است.

در این مرحله شما ممکن است فکر کنید، اگر داده‌های من واقعیت را نشان می‌دهد پس این چیز خوبی است. خب، الگوریتم های یادگیری ماشینی (ML) شما متفاوت هستند.

قصد ندارم وارد جزئیات مشکلات مربوط به طبقه‌بندی نامتعادل شوم (اگر می‌خواهید این موضوع خاص را که می‌توانید در اینجا در مورد آن بخوانید بیشتر بدانید) اما برای یک ثانیه با من همراه باشید:

تصور کنید که الگوریتمML شما نیاز به «دیدن» بیماران سالم ۱۰۰۰ بار برای تشخیص اینکه یک بیمار سالم چیست دارد، و نسبت افراد ناسالم به بیماران سالم ۱: ۱۰۰۰ است. اما شما می‌خواهید که بیماران مبتلا به بیماری را نیز تشخیص دهد، بنابراین شما باید ۱۰۰۰ بیمار ناسالم را نیز به او «تغذیه کنید». که به این معنی است که شما در واقع نیاز دارید یک پایگاه‌داده از ۱۰۰۰۰۰۰ بیمار داشته باشید به طوری که الگوریتم ML شما اطلاعات کافی برای تشخیص هر دو نوع بیمار را داشته باشد.

نکته: این فقط یک تصویر است، در زیر سرپوش چیزها دقیقا مثل آن اتفاق نمی‌افتد.

من شرط می‌بندم که شما کم‌کم دارید درک می‌کنید که چگونه این مشکل می‌تواند به سرعت بزرگ شود. خوشبختانه بهترین دوستان آماردانان ما روش‌هایی را برای کمک به حل این مساله به وجود آورده‌اند. در واقع، از دهه ۱۹۳۰ چندین روش وجود داشته‌است، هر کدام با مورد استفاده خود، از تست‌های جایگشت گرفته تا بوت استرپ، گزینه‌های زیادی وجود دارند.

و اگر شما برای علم داده جدید نیستید، به احتمال زیاد در حال حاضر برخی از تکنیک‌های نمونه‌برداری مجدد را در فرآیند آموزش مدل خود به کار گرفته‌اید، مانند اعتبارسنجی متقابل.

امروزه بوت استرپینگ یکی از رایج‌ترین روش‌ها است و:

ایده پشت بوت استرپ ساده است: اگر ما نقاط نمونه مجدد را با جایگزینی از داده‌های خود دوباره انتخاب کنیم، می‌توانیم مجموعه داده نمونه مجدد را به عنوان مجموعه داده جدیدی که در یک جهان موازی جمع‌آوری کرده‌ایم، در نظر بگیریم. — Manojit Nandi

و برای انجام این کار لازم است:

فرض کنید که هر مشاهده به طور تصادفی از جمعیت آن انتخاب شده‌است. به عبارت دیگر، هر مشاهده به طور مساوی انتخاب می‌شود، و انتخاب آن مستقل است. -نقاط ضعف

در میان چندین روش دیگر بسته به روش بوت استرپینگ خاص وجود دارد.

با این حال، این امر می‌تواند منجر به مقادیر تکراری شود، که در این ویدئو video توضیح داده شده‌است.

و از آنجایی که ما در حال تلاش برای اضافه کردن مثال‌های بیشتر از کلاس اقلیت هستیم، پس از همه ما از قبل به اندازه کافی از کلاس اکثریت داریم، داشتن مقادیر تکراری اطلاعات اضافی به مدل نمی‌دهد.

بنابراین چه می‌شود اگر ما بتوانیم مثال‌های جدید را ترکیب کنیم؟

این دقیقا همان چیزی است که SMOTE، مخفف تکنیک نمونه‌گیری پیشرفته اقلیت، انجام می‌دهد. SMOTE به احتمال زیاد پرکاربردترین روش برای ترکیب نمونه‌های جدید است و از الگوریتم خوشه‌بندیKNN برای موارد زیر بهره می‌برد:

مثال‌هایی را که در فضای ویژگی به هم نزدیک هستند انتخاب کنید، خطی بین مثال‌ها در فضای ویژگی رسم کنید و یک نمونه جدید را در یک نقطه در امتداد آن خط بکشید. - جیسون براونلی

با این حال، ما تنها به کلاس اقلیت نگاه می‌کنیم در حالی که داده‌های جدید تولید می‌کنیم، که به این معنی است که ما بر اثری که کلاس اکثریت ممکن است داشته باشد غلبه می‌کنیم، و در صورتی که همپوشانی کلاس‌ها وجود داشته باشد، به تولید مثال‌های مبهم ممکن پایان می‌دهیم.

نه تنها این، بلکه از آنجایی که ما با خوشه‌بندی، ابعاد و انواع متغیرها کار می‌کنیم، می‌تواند به یک مساله تبدیل شود، که دشواری مرحله آماده‌سازی را به منظور دستیابی به نتایج خوب افزایش می‌دهد.

چند تفاوت وجود دارد که می توان آن‌ها را به طریقی مورد توجه قرار داد (من توصیه می‌کنم نگاهی به مستندات علم-یادگیری برای درک بهتر چگونگی رسیدگی به این مسائل داشته باشید) با این حال همه آن‌ها یک چیز مشترک دارند که همه آن‌ها فرضیات را می‌سازند.

چه می‌شود اگر شما بتوانید داده‌های جدید را بدون هیچ فرضی ایجاد کنید؟

این جایی است که جدیدترین تکنیک وارد بازی می‌شود: شبکه‌های ارتباطی عمومی، یا به طور خلاصه GANs . اگر تا به حال اسم آن‌ها را نشنیده‌اید، وقت بگذارید و در اینجا بررسی کنید که آن‌ها چه هستند. اما اگر شما زمان کوتاهی دارید، یا درست مثل آن فقط برای خودتان ببینید که GANs چه کاری می‌تواند انجام دهد (و اگر شما فقط برای تماشای ویدئو توقف کردید: بله، شما افرادی را دیده‌اید که وجود ندارند).

ذهن را به باد می‌دهد درست است؟

اما چیزی که من اینجا هستم تا به شما بگویم این نیست که آن‌ها چه هستند، بلکه این است که آن‌ها چطور می‌توانند داده‌های جدیدی برای شما تولید کنند (بعد از این همه تصاویر فقط داده‌ها هستند)!

و از آنجا که آن‌ها بخش فرضیات را همانطور که بدون نظارت هستند خلاصه می‌کنند، قادر به تشخیص الگوهای جدید نادیده هستند در نتیجه تنوع بیشتری را در داده‌های تولید شده اضافه می‌کنند. تمام این موارد در حالی که قادر به مدیریت یک مقیاس بزرگ‌تر هستند.

نه تنها این، بلکه اجازه آزادی بیشتر در مرحله آماده‌سازی داده را نیز می‌دهند زیرا آن‌ها دارای تعداد کمی معماری متفاوت برای انطباق با مورد استفاده شما هستند.

خوب ، حالا ممکن است از خود بپرسید چگونه واقعاً می توانم از آنها استفاده کنم؟

خوب بیایید از این موارد شروع کنیم:

pip install ydata-synthetic

درست است، دوستان عزیز ما از داده‌های Ydata یک ابزار باز شده فرم پذیر را در Githbe منتشر کردند تا به شما در رسیدن به این هدف کمک کنند.

نه تنها این، بلکه آن‌ها این علاقه را به یک جامعه داده ترکیبی در اسلاک اضافه کردند که در آن می‌توانید در مورد این موضوع صحبت کنید و سوالات خود را در مورد این ابزار بپرسید.

بعد از نصب آن، شما می‌توانید هر کدام از معماری‌های که یک معماری بهتر با داده‌های شما متناسب است را انتخاب کرده و شروع به لذت بردن کنید:

ژیست با استفاده از مثال برایTimeGAN خلق شد.

و شما داده‌های جدیدی برای بازی کردن دارید، و در نهایت یک مجموعه داده متعادل برای «تغذیه» به الگوریتمML خود دارید.

بنابراین هر زمان که با یک وضعیت عدم تعادل اطلاعاتی مواجه شدید، فکر نکنید که کدام راه‌حل بهتر با نیازهای شما متناسب است و به سمت متعادل کردن آن پیش بروید.

شما باید به خاطر داشته باشید که تولید داده‌های ترکیبی یک راه‌حل جادویی برای داده‌های نامتعادل نیست، شما باید به یاد داشته باشید که:

اگر کلاس‌های هدف نامتعادل باشند و در عین حال به اندازه کافی نشان داده شوند، نمونه‌برداری مجدد می‌تواند عملکرد مدل را بهبود بخشد. در این مورد، مشکل واقعا کمبود داده است. نمونه‌برداری مجدد متعاقبا منجر به بیش از حد یا کم‌تر از حد تناسب به جای عملکرد بهتر مدل می‌شود. - مریت ویدمن

در نهایت، محدودیت‌ها و کاربردهای آن را بدانید و از آن با دقت و مسئولیت استفاده کنید.

و اگر می‌خواهید در مورد این موضوع بیشتر بحث کنید و یا بیشتر یاد بگیرید، من به وضوح توصیه می‌کنم که به جامعه داده‌های ترکیبی بپیوندید.

پی‌نوشت: صاحبان داده به من اجازه دادند تا از مثال آن‌ها در این مقاله استفاده کنم.

منابع آموزشی:

  1. روش‌های نمونه‌برداری مجدد.Resampling Methods
این متن با استفاده از ربات مترجم مقاله دیتاساینس ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است.در نتیجه می‌تواند دارای برخی اشکالات ترجمه باشد.
مقالات لینک‌شده در این متن می‌توانند به صورت رایگان با استفاده از مقاله‌خوان ترجمیار به فارسی مطالعه شوند.