google analytic
  • سوالی دارید؟
  • ۰۹۳۵-۲۲۳-۶۲۷۲
  • info@icc-aria.ir

هیچ نتیجه ای یافت نشد ! ...

پایپلاین یادگیری ماشین چیست؟

The Machine Learning Pipeline

بسیاری از متخصصان داده جوان، آموزش خود را برای یادگیری ماشین شروع می کنند و می خواهند بلافاصله وارد مدل سازی و تنظیم مدل شوند. آنها نمی توانند درک کنند که ایجاد سیستم های یادگیری ماشین موفق چیزهای زیادی بیش از انتخاب بین مدل جنگل تصادفی و مدل ماشین بردار پشتیبان است. از انتخاب سازوکار مناسب جمع آوری تا پاکسازی داده ها و مهندسی ویژگی ها ،همه مراحل اولیه در پایپلاین یادگیری ماشین به اندازه انتخاب مدل مهم هستند. همچنین توانایی اندازه گیری و نظارت صحیح بر عملکرد مدل شما در تولید و تصمیم گیری در مورد زمان و چگونگی بازآموزی مدل ها می تواند تفاوت بین بدست آمدن نتایج عالی و نتایج متوسط باشد. با پیشرفت علم داده ، انتظارات از آن بیشتر می شود و منابع داده ها متنوع تر ، حجیم تر (از نظر اندازه) و بسیار زیاد (از نظر تعداد) می شوند و پایپلاین و جریان کار یادگیری ماشین پیچیده تر می شوند، این باعث می شود که بیشتر داده هایی که انتظار می رود پردازش شوند ماهیتی بلادرنگ ( real-time ) به خود نگیرند. به وبلاگ ها ، داده های لینک های کلیک شده ، معاملات تجارت الکترونیکی و  داده های ورودی اتومبیل خودران فکر کنید. ورود داده ها از این سیستم ها بسیار سریع و وحشتناک است و ما باید روش هایی داشته باشیم که بتواند اطلاعات را سریعتر از دریافت آنها پردازش کند.

راه حل های یادگیری ماشین بسیاری برای اجرای این پایپلاین وجود دارد که می توان پایپلاین های یادگیری ماشین ابتداعی را فقط با استفاده از زبان های Python یا R تنظیم کرد. برخی از ابزارهایی که پایپلاین ها معمولاً از آنها استفاده می کنند عبارتند از:

  • Hadoop
  • Spark
  • Spark Streaming
  • Kafka
  • Azure
  • AWS
  • Google Cloud Platform
  • R
  • SAS
  • Databricks
  • Python

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

مراحل اصلی در پایپلاین یادگیری ماشین عبارتند از:

تعریف مسئله : 

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

جمع آوری داده ها:

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

آماده سازی داده ها:  

در این مرحله باید داده ها را با استفاده از روش هایی مانند موارد زیر پردازش و آماده کنید.

  • مقادیر از دست رفته را بازیابی کنید
  • موارد تکراری را حذف کنید
  • مقادیر را نرمال سازی کنید (مقادیر عددی را برای استفاده از مقیاس مشترک در یک مجموعه داده تغییر دهید)
  • نوع دیگری از پاکسازی یا نگاشت را انجام دهید
  • استخراج کامل ویژگی ها
  • حذف ویژگی های همبسته
  • انجام مهندسی ویژگی ها

تفکیک داده ها: 

برای آموزش یک مدل با استفاده از داده های پردازش شده ، توصیه می شود داده ها را به دو زیر مجموعه تقسیم کنید:

  • داده های آموزشی
  • داده های آزمایشی

و گاهی اوقات به سه:

  • داده های آموزشی 
  • داده های اعتبار سنجی
  • داده های آزمایشی

سپس می توانید مدل را بر روی داده های آموزشی آموزش دهید تا بعداً داده های آزمون را پیش بینی کنید. مجموعه داده های آموزش برای مدل قابل مشاهده است و با استفاده از این داده ها مدل آموزش داده می شود. این آموزش یک موتور استنتاج ایجاد می کند که بعداً می تواند در نقاط داده ای جدید که مدل قبلاً آن را مشاهده نکرده است ، اعمال شود. مجموعه (یا زیرمجموعه) داده های آزمایشی این داده های دیده نشده را نشان می دهد و می توان از آن برای پیش بینی این داده های دیده نشده قبلی استفاده کرد.

آموزش مدل: 

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

ارزیابی مدل کاندید : 

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

استقرار مدل: 

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

 

نظارت بر عملکرد: 

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

اشتراک گذاری:
ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
0دیدگاه