مراحل پروژه یادگیری ماشین — راهنمای کاربردی
تفاسیر گوناگونی برای چگونگی انجام پروژههای «یادگیری ماشین» (Machine Learning) وجود دارد (که البته از جهاتی نیز شباهت بسیاری به فرآیندی که در پروژههای «علمداده» (Data Science) یا «دادهکاوی» (data mining) به وقوع میپیوندد دارد). در این مطلب یکی از روشهای انجام پروژههای یادگیری ماشین که به صورت چک لیستی برای پروژه است مورد بررسی قرار خواهد گرفت.
مدل «فرآیند استاندارد صنعت متقابل برای دادهکاوی» (CRoss Industry Standard Process for Data Mining | CRISP – DM) از جمله روشهای مورد استفاده برای انجام فرآیند دادهکاوی است. از دیگر روشها میتوان به مدل ۴ مرحلهای «فرانسوا شولت» (Francois Chollet) که با هدف کتابخانه یادگیری عمیق «کِرَس» (Keras) پایتون طراحی شده ولی قابل تعمیم است، مدل ۷ مرحلهای «یوفنگ گو» (Yufeng Guo) و حتی مواردی که برای زمینههای مشخص و محدودی – مانند چارچوبهای پردازش متن – آماده شدهاند اشاره کرد.
در این مطلب، چشماندازی از چک لیست پروژه یادگیری ماشین «اورلیون ژئون» (Aurélien Géron) ارائه شده است. این مدل دارای شباهت زیادی به مدل هفت مرحلهای یوفنگ گو است، اما نسبت به آن سطح بالاتری دارد. مدل اورلیون ژئون به صورت چک لیستی از اقدامات نیازمند انجام در پروژه یادگیری ماشین ارائه شده و بنابراین کمتر به صورت چشماندازی و بیشتر توصیفی است. این مدل یادآوری محسوب میشود برای فعالیتهایی که ضمن پروژه دادهکاوی انجام میشوند. در ادامه، خلاصهای از چک لیست گرون ارائه شده است. مطالعه این مطلب به کلیه افرادی که پروژههای یادگیری ماشین، علم داده و دادهکاوی انجام میدهند توصیه میشود.
۱. قاببندی مساله
اولین گام در واقع جایی است که اهداف پروژه تعریف میشوند. در مدل گرون به این اهداف با اصطلاحات کسبوکاری ارجاع داده شده، اما این کار الزاما نیاز نیست. اگرچه، ایجاد درکی از اینکه راهکار یک سیستم یادگیری ماشین چگونه مورد استفاده قرار خواهد گرفت حائز اهمیت است. این گام جایی است که سناریوهای قابل مقایسه و راه حلهای فعلی مساله موجود تشریح، فرضیههای موجود تکمیل و درجه نیاز به کارشناسان انسانی تبیین میشود. دیگر آیتمهای فنی که باید در این گام قاببندی شوند شامل تعیین نوع مساله یادگیری ماشین (نظارت شده، نظارت نشده و دیگر موارد) و تبیین سنجههایی برای سنجش کارایی است.
۲. دریافت دادهها
این گام داده محور است و طی آن میزان دادههای مورد نیاز، نحوه دریافت دادهها، ارزیابی تعهدات قانونی که فرآیند کسب داده را متاثر میکنند و دریافت دادهها تعیین و انجام میشوند. هنگامی که دادهها در اختیار کارشناس قرار گرفتند، باید اطمینان حاصل کند که دادهها به خوبی ناشناسسازی شدهاند (در بحث حریم خصوصی و امنیت) و همچنین دادهها را از هر نوعی که هستند (سریهای زمانی، مشاهدات، تصاویر و دیگر موارد) به فرمتی که برای تحلیلها نیاز دارد تبدیل کند و مجموعههای آموزش، ارزیابی و تست را بسازد.
۳. کاوش دادهها
این گام در چک لیست در واقع مربوط به انجام کاری است که «تحلیل داده اکتشافی» (Exploratory Data Analysis | EDA) نامیده میشود. هدف، آزمودن و کسب بینش از دادهها پیش از انجام مدلسازی است. همانطور که در پیشتر در گام اول بیان شد، فرضیات پیرامون دادهها باید تبیین و کاوش شوند. این مرحله، زمان خوبی برای بررسی عمیقتر پیرامون این فرضیات است. کارشناسان انسانی میتوانند در این گام نقش اساسی ایفا کنند، و به پرسشهایی پیرامون همبستگیهایی که امکان دارد برای مدل یادگیری ماشین قابل درک نباشد پاسخ دهد. همچنین، مطالعه ویژگیها و مشخصههای آنها در این گام انجام میشود و به صورت بصریسازی ویژگیها و مقادیر آنها انجام میشود (واضح است که برای مثال تعیین دور افتادگیها با استفاده از نمودار جعبهای به مراتب از تشخیص آنها با بهرهگیری از مقادیر عددی دشوارتر است). مستندسازی یافتههای کاوش دادهها برای استفادههای آتی اقدامی مفید است.
۴. آمادهسازی دادهها
این مرحله برای اعمال تبدیلهایی است که در گام قبل تشخیص داده شده انجام آنها نیاز و البته ارزشمند و مناسب محسوب میشود. این گام همچنین شامل همه پاکسازیهای دادهای است که باید انجام شوند، هم در بحث انتخاب ویژگیها و هم در زمینه مهندسی ویژگیها.
۵. مدلسازی دادهها
در این مرحله، زمان مدلسازی داده ها فرا رسیده است و از میان مجموعهای از مدلها باید گزینهای که بهتر محسوب میشود را برگزید. (این کار شبیه اولین گام مدلسازی در فرآیند شولت است که طی آن مدل خوب به مدل خیلی خوب تبدیل میشود.) چنین تلاشهایی ممکن است شامل استفاده از برخی نمونهها از مجموعه داده کامل برای تسهیل زمان آموزش برای مدلهای اولیه باشد که باید در طیف گستردهای از دستهها قرار بگیرند (درختها، شبکههای عصبی، مدلهای خطی و دیگر موارد). مدلها باید ساخته، اندازهگیری و با یکدیگر مقایسه شوند و نوع خطاها برای هر مدل بررسی شود، ضمن اینکه مهمترین ویژگی برای هر الگوریتم باید استفاده شود. بهترین مدلهای در حال اجرا باید در لیستی کوتاه گردآوری و سپس به خوبی تنظیم شوند.
۶. تنظیم مدلها
در مرحله پیشین، مدلهایی که در میان سایر مدلها بهترین عملکرد را داشتهاند در لیست کوتاهی قرار گرفتند. این مدلها دارای «هایپرپارامترهایی» (hyperparameter) هستند که با تنظیم آنها میتوان خروجی مدل را بهبود بخشید. در این مرحله، مدلها در این سطح با یکدیگر مقایسه میشوند. کل مجموعه داده باید در این مرحله مورد استفاده قرار بگیرد. هیچ یک از مدلهای به خوبی تنظیم شده نباید بدون اعمال روی کل مجموعه داده و مقایسه شدن با سایر مدلها، به عنوان مدل «برنده» انتخاب شوند.
۷. ارائه راهکار
این مرحله، زمان ارائه راهکار است و کارشناس طی آن باید با بهرهگیری از مهارتهای بصریسازی، خروجیها را قابل ارائه کند. این مرحله نسبت به مراحل دیگر مهارت فنی کمتری را میطلبد، اگرچه حصول اطمینان از مستندسازی صحیح کلیه جنبههای فنی در این مرحله حائز اهمیت است. پاسخ دادن به پرسشهایی که در ادامه میآید نیز در این گام انجام میشود.
- آیا ذینفعان تصویر بزرگ ارائه شده را درک میکنند؟
- آیا این راهکار، اهداف مورد نظر پروژه را تامین میکند؟
- آیا مفروضات و محدودیتها اعمال شدهاند؟
این مرحله مانند فاز ارائه برای فروش محصول است، بنابراین باید اطمینان حاصل کرد که سیستم قابل اعتماد محسوب میشود. ارائه خروجیها به شکل قابل درک مساله بسیار مهمی است و باید گفت اگر نتایج قابل درک نباشند، انجام همه این کارها برای چه بوده؟
۸. راهاندازی سیستم یادگیری ماشین
در این مرحله، زمان آن فرا میرسد که سیستم یادگیری ماشین برای تولید آماده شود. این سیستم باید در سیستم یا استراتژی تولیدی بزرگتری قرار بگیرد و به عنوان یک راهکار نرمافزاری، تحت «تست واحد» (Unit Testing) قرار بگیرد. همچنین، باید به شیوه مناسبی در طی زمانی که در حال اجرا است مورد نظارت قرار بگیرد. آموزش دادن مجدد مدل روی دادههای تازه یا به روز رسانی شده، بخشی از این فرایند است و باید انجام شود، حتی اگر در گامهای پیشین نیز به این قضیه پرداخته شده باشد.
اگر نوشته بالا برای شما مفید بوده، آموزشهای زیر نیز به شما پیشنهاد میشود:
- مجموعه آموزشهای یادگیری ماشین و بازشناسی الگو
- مجموعه آموزشهای هوش محاسباتی
- مجموعه آموزشهای آمار، احتمالات و دادهکاوی
- مجموعه آموزشهای شبکههای عصبی مصنوعی
- مجموعه آموزش های برنامه نویسی پایتون
- آموزش برنامهنویسی R و نرمافزار R Studio
- مجموعه آموزشهای برنامه نویسی متلب (MATLAB)
مجموعه: هوش مصنوعی, یادگیری ماشینی برچسب ها: data science, Machine Learning, داده کاوی, دادهکاوی, علم داده