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