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

انواع تشخیص الگو

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

تشخیص آیتم‌های واقعی

این ممکن است به عنوان تشخیص سنسوری معرفی شود که تشخیص الگوهای سمعی و بصری را دربر می‌گیرد.

تشخیص الگوهای زمانی و فضایی

این فرایند تشخیص، شناسایی و دسته‌بندی الگوهای فضایی و الگوهای زمانی را در بر می‌گیرد. مثال‌هایی از الگوهای فضایی کارکترها، اثر انگشت‌ها، اشیاء فیزیکی و تصاویر هستند. الگوهای زمانی شامل فرم‌های موجی گفتار، سری‌های زمانی و … هستند.

الگوها و کلاس‌های الگوها

تشخیص الگو می‌تواند به عنوان دسته‌بندی داده‌ها ی ورودی در کلاس‌های شناخته شده به وسیلهٔ استخراج ویژگیهای مهم یا صفات داده تعریف شود. یک کلاس الگو، یک دستهٔ متمایز شده به وسیلهٔ برخی صفات و ویژگی‌های مشترک است. ویژگی‌های یک کلاس الگو، صفات نوعی هستند که بین همهٔ الگوهای متعلق به آن کلاس مشترک هستند. ویژگی‌هایی که تفاوت‌های بین کلاس‌های الگو را بیان می‌کنند اغلب به عنوان ویژگی‌های اینترست شناخته می‌شوند. یک الگو، توصیفی از یکی از اعضای دسته است که ارائه دهندهٔ کلاس الگو می‌باشد. برای راحتی، الگوها معمولاً به وسیلهٔ یک بردار نمایش داده می‌شوند. مانند:

مسائل اساسی در طراحی سیستم تشخیص الگو

به طور کلی طراحی یک سیستم تشخیص الگو چندین مسئلهٔ اصلی را در بر می‌گیرد: ۱)طریقه نمایش داده‌ها ۲)استخراج ویژگی ۳)تعیین رویه تصمیم بهینه

طریقه نمایش داده‌ها

اول از همه، ما بایستی در مورد نمایش داده‌های ورودی تصمیم بگیریم.

استخراج ویژگی

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

تعیین رویه تصمیم بهینه

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

یادگیری و تمرین دادن

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

تشخیص الگوی نظارت شده و بدون نظارت

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

کلیات یک سیستم تشخیص الگو

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

الگوریتم‌ها

الگوریتم انتخابی برای تشخیص الگو، به نوع خروجی، آموزش با ناظر یا بدون ناظر و پویا یا ایستا بودن طبیعت الگوریتم بستگی دارد. الگوریتم‌های ایستا به دو دسته generative وdiscriminative تقسیم می‌شوند.

الگوریتم‌های کلاس بندی (الگوریتم‌های با ناظر پیشگو)

  • درخت تصمیم و لیست تصمیم
  • ماشین‌های بردار پشتیبانی
  • شبکه‌های عصبی
  • پرسپترون
  • k-نزدیکترین همسایگی

الگوریتم‌های خوشه ساری (الگوریتم‌های بدون ناظر پیشگو)

  • مدل‌های دسته‌بندی ترکیبی
  • خوشه سازی سلسله مراتبی
  • Kernel PCA

الگوریتم‌های مبتنی بر رگرسیون

با ناظر

  • رگرسیون خطی
  • شبکه‌های عصبی
  • Gaussian process regression

بدون ناظر

  • Principal Components Analysis= PCA
  • LCA

کاربردها

  • تشخیص صدا
  • تشخیص چهره
  • تشخیص اثر انگشت
  • تشخیص امضا
  • تشخیص دی ان ای
  • تشخیص شبکه چشم
  • تشخیص مردمک چشم
  • تشخیص دست خط
  • دسته‌بندی متون به گروه‌های مختلف (به عنوان نمونه، نامه‌های الکترونیکی شامل هرزنامه و بدون هرزنامه)
  • تشخیص خودکار کدهای پستی دست‌نویس روی پاکت‌های نامه
  • تشخیص خودکار چهره افراد[۱][۲]