مشکل را درک کنید

برای درک مشکل، وظایف زیر را انجام دهید:

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

هدف را بیان کنید

با بیان هدف خود به صورت غیر ML شروع کنید. هدف پاسخ به این سوال است که "من در تلاشم تا به چه چیزی برسم؟"

جدول زیر به وضوح اهداف برنامه های فرضی را بیان می کند:

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

پاک کردن مورد استفاده برای ML

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

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

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

برای تأیید اینکه ML رویکرد درستی است، ابتدا بررسی کنید که راه حل فعلی غیر ML شما بهینه شده است. اگر راه حل غیر ML پیاده سازی نکرده اید، سعی کنید مشکل را به صورت دستی با استفاده از یک اکتشافی حل کنید.

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

  • کیفیت . به نظر شما راه حل ML چقدر می تواند بهتر باشد؟ اگر فکر می کنید یک راه حل ML ممکن است فقط یک پیشرفت کوچک باشد، ممکن است نشان دهد که راه حل فعلی بهترین راه حل است.

  • هزینه و نگهداری . راه حل ML در کوتاه مدت و بلند مدت چقدر گران است؟ در برخی موارد، از نظر منابع محاسباتی و زمان برای پیاده سازی ML هزینه بسیار بیشتری دارد. سوالات زیر را در نظر بگیرید:

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

درک خود را بررسی کنید

چرا قبل از تجزیه و تحلیل راه حل ML وجود یک راه حل غیر ML یا اکتشافی در محل مهم است؟
راه حل غیر ML معیاری برای اندازه گیری راه حل ML است.
راه حل های غیر ML به شما کمک می کنند تا تعیین کنید که راه حل ML چقدر هزینه دارد.

ML و داده های پیش بینی کننده

داده ها نیروی محرکه ML پیش بینی کننده هستند. برای پیش‌بینی خوب، به داده‌هایی نیاز دارید که دارای ویژگی‌هایی با قدرت پیش‌بینی باشد. داده های شما باید دارای ویژگی های زیر باشد:

  • فراوان . هرچه نمونه های مرتبط و مفید در مجموعه داده شما بیشتر باشد، مدل شما بهتر خواهد بود.

  • سازگار و قابل اعتماد . داشتن داده هایی که به طور مداوم و قابل اعتماد جمع آوری شده باشد، مدل بهتری را تولید می کند. به عنوان مثال، یک مدل آب و هوا مبتنی بر ML از داده‌های جمع‌آوری‌شده در طول سال‌های متمادی از همان ابزارهای قابل اعتماد بهره می‌برد.

  • مورد اعتماد بدانید که داده های شما از کجا می آیند. آیا داده‌ها از منابع مطمئنی که شما کنترل می‌کنید، مانند گزارش‌های مربوط به محصول شما، یا از منابعی خواهند بود که بینش زیادی نسبت به آنها ندارید، مانند خروجی یک سیستم ML دیگر؟

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

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

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

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

قدرت پیش بینی

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

برخی از ویژگی ها قدرت پیش بینی بیشتری نسبت به سایرین خواهند داشت. به عنوان مثال، در یک مجموعه داده آب و هوا، ویژگی‌هایی مانند cloud_coverage ، temperature ، و dew_point می‌توانند پیش‌بینی‌کننده‌های بهتری برای باران نسبت به moon_phase یا day_of_week باشند. برای مثال برنامه ویدیویی، می‌توانید فرض کنید که ویژگی‌هایی مانند video_description ، length و views ممکن است پیش‌بینی‌کننده خوبی برای ویدیوهایی باشند که کاربر می‌خواهد تماشا کند.

توجه داشته باشید که قدرت پیش بینی یک ویژگی می تواند تغییر کند زیرا زمینه یا دامنه تغییر می کند. به عنوان مثال، در برنامه ویدیویی، ویژگی مانند upload_date ممکن است - به طور کلی - با برچسب مرتبط باشد. با این حال، در زیر دامنه ویدیوهای بازی، upload_date ممکن است به شدت با برچسب مرتبط باشد.

تعیین اینکه کدام ویژگی ها دارای قدرت پیش بینی هستند می تواند فرآیندی زمان بر باشد. می‌توانید با حذف و اضافه کردن آن در حین آموزش یک مدل، قدرت پیش‌بینی یک ویژگی را به صورت دستی کشف کنید. می‌توانید با استفاده از الگوریتم‌هایی مانند همبستگی پیرسون ، اطلاعات متقابل تنظیم‌شده (AMI) و مقدار Shapley ، قدرت پیش‌بینی یک ویژگی را به‌طور خودکار پیدا کنید، که یک ارزیابی عددی برای تجزیه و تحلیل قدرت پیش‌بینی یک ویژگی ارائه می‌دهد.

درک خود را بررسی کنید

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

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

پیش بینی ها در مقابل اقدامات

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

برای مثال، مدلی که پیش‌بینی می‌کند آیا کاربر ویدیویی را مفید می‌بیند، باید به برنامه‌ای وارد شود که ویدیوهای مفید را توصیه می‌کند. مدلی که پیش‌بینی می‌کند باران خواهد آمد یا نه، باید به اپلیکیشن آب‌وهوا وارد شود.

درک خود را بررسی کنید

بر اساس سناریوی زیر، تعیین کنید که آیا استفاده از ML بهترین رویکرد برای مشکل است یا خیر.

یک تیم مهندسی در یک سازمان بزرگ مسئول مدیریت تماس های تلفنی دریافتی است.

هدف : اطلاع دادن به تماس‌گیرندگان با توجه به حجم تماس فعلی، چه مدت در انتظار منتظر بمانند.

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

احتمالاً اکتشافی آنها به تعداد کافی دقیق نمی رسد. آنها می توانند یک مجموعه داده با ستون های زیر ایجاد کنند: number_of_callcenter_phones ، user_issue ، time_to_resolve ، call_time ، time_on_hold .

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