Photo OCR - Ceiling Analysis

تحلیل ceiling

تا الان بارها اشاره کردیم که در طراحی یک سیستم یادگیری ماشین یکی از با ارزش‌ترین منابعی که در اختیار دارید، زمان شما است و اینکه به عنوان برنامه‌نویس در قدم بعدی چه کاری باید انجام دهید. همچنین اگر به صورت یک تیم از مهندسان هم روی یک پروژه کار می‌کنید دوباره زمان یکی از ارزشمندترین دارایی‌های شما است و ناراحت کننده خواهد بود اگر بعد از صرف وقت زیادی روی یک مؤلفه بعداً متوجه شوید که تفاوتی چندانی در نتیجه نهایی شما ایجاد نمی‌کرد. به همین جهت در این بخش می‌خواهیم در مورد ceiling Analysis بحث کنیم. زمانی که روی یک pipeline یادگیری ماشین کار می‌کنید، این تحلیل، راهنمای بسیار قوی برای شما خواهد بود تا بدانید که کار کردن روی کدام بخش از pipeline بهترین استفاده از زمان است.

تخمین خطاهای مربوط به هر مؤلفه

تحلیل ceiling در حقیقت همان تخمین خطاهای مربوط به هر مؤلفه است. جهت باز شدن بحث از همان مثال photo OCR استفاده می‌کنیم.

سوال این است که جهت بهبود، بیشترین زمان را برای کدام بخش باید صرف کنید؟ به مانند آنچه که قبلاً هم بحث کرده بودیم برای تصمیم گیری در مورد گام بعدی داشتن یک عدد حقیقی برای ارزیابی الگوریتم بسیار مفید است. معیار سنجش شما می‌تواند چیزهای متفاوتی باشد مثلاً دقت تشخیص کاراکاکترهای موجود. پس از انتخاب معیار سنجش فرض کنید که دقت کلی ما در حدود ۷۲ درصد است.

مؤلفه دقت
دقت کلی سیستم 72%

ایده Ceiling Analysis به این شکل است که ابتدا سراغ مدول اول رفته و فرض می‌کنیم که دقت آن ۱۰۰ درصد باشد، با این شرایط می‌خواهیم ببینیم که تاثیر مدول اول بر نتیجه نهایی چگونه خواهد بود. برای ۱۰۰ درصد بودن دقت مدول اول که تشخیص متن است، بسیار ساده کافی است که به سراغ داده‌های تست برویم و به جای اینکه اجازه دهیم الگوریتم به صورت اتوماتیک مناطق حاوی متن را تشخیص دهد خودمان به صورت دستی این مناطق را مشخص کنیم. با داشتن چنین تشخیص متنی داده‌ را از سایر مدول‌ها عبور می‌دهیم و مثلاً مشاهده می‌شود که دقت کلی از ۷۲ درصد به 89 درصد افزایش پیدا می‌کند.

مؤلفه دقت
دقت کلی سیستم 72%
تشخیص متن 89%

حال علاوه بر تشخیص متن مدول دوم یعنی تقسیم‌بندی کاراکترها را هم به دقت ۱۰۰ درصد می‌رسانیم و با اجرای دوباره مشاهده می‌کنیم که دقت کلی به ۹۰ درصد افزایش پیدا می‌کند.

مؤلفه دقت
دقت کلی سیستم 72%
تشخیص متن 89%
تقسیم‌بندی کاراکترها 90%

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

مؤلفه دقت
دقت کلی سیستم 72%
تشخیص متن 89%
تقسیم‌بندی کاراکترها 90%
تشخیص کاراکترها 100%

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