شناسایی آماری الگو | آموزش جامع و رایگان


در این مطلب از مجله فرادرس، مفهوم و روشهای شناسایی آماری الگو به صورت جامع و رایگان مورد بررسی قرار گرفته است. منظور از شناسایی الگو که به آن تشخیص الگو و بازشناسی الگو نیز گفته میشود، شناسایی خودکار الگوها و قواعد موجود در دادهها است. تشخیص الگو، در آمار، «تحلیل داده» (Data Analysis)، «پردازش سیگنال» (Signal Processing)، «تحلیل تصاویر» (Image Analysis)، «بازیابی اطلاعات» (Information Retrieval)، «بیوانفورماتیک» (Bioinformatics)، فشردهسازی دادهها، گرافیک کامپیوتری و «یادگیری ماشین» (Machine Learning) کاربرد دارد. در ادامه، ضمن معرفی مفهوم تشخیص الگو و شناسایی آماری الگو به تفاوت این موارد با تطبیق الگو پرداخته میشود. سپس، ارتباط شناسایی آماری الگو و یادگیری ماشین بررسی و در ادامه، به طور جامع به شناسایی آماری الگو پرداخته میشود.
تفاوت تشخیص الگو و شناسایی آماری الگو با تطبیق الگو
عموما، هدف الگوریتمهای تشخیص الگو و شناسایی آماری الگو فراهم کردن پاسخی منصفانه برای همه ورودیهای ممکن و انجام محتملترین «تطبیق» برای ورودیها با در نظر گرفتن تنوع آماری آنها است. این مورد، برعکس الگوریتمهای «تطبیق الگو» (Pattern Matching) است که به دنبال موارد دقیقا مطابق با یک الگوی از پیش تعیین شده، در میان دادهها میگردند. به عنوان مثالی از الگوریتمهای تطبیق الگو میتوان به تطبیق «عبارات با قاعده» (Regular Expressions) اشاره کرد که به دنبال الگوی مشخص داده شدهای، در یک داده متنی میگردد.
از عبارات با قاعده در قسمت جستجوی بسیاری از «ویرایشگرهای متن» (Text Editors | Linear Discriminant Analysis) و «پردازشگرهای کلمات» (Word Processors) استفاده شده است. برخلاف بازشناسی الگو، تطبیق الگو عموما نوعی از یادگیری ماشین نیست. شایان توجه است که الگوریتمهای تطبیق الگو (به ویژه برای الگوهایی که به طور مناسبی عمومی هستند و به دقت مشخص شدهاند) گاهی میتوانند در فراهم کردن خروجی درست با کیفیت مشابه خروجیهای تولید شده توسط الگوریتمهای تشخیص الگو کار کنند.
شناسایی آماری الگو و یادگیری ماشین
ریشههای بازشناسی الگو به آمار و مهندسی بازمیگردد و شناسایی آماری الگو مبحثی بسیار قدیمی محسوب میشود. این در حالی است که برخی از رویکردهای مورد استفاده در بحث شناسایی الگو، در حوزه یادگیری ماشین محسوب میشوند. دلیل این امر، افزایش حجم دادهها و در واقع تولید «کلان دادهها» (Big Data) و افزایش روزافزون قدرت پردازش است.
اگرچه بحث شناسایی آماری الگو و شناسایی الگو در یادگیری ماشین را میتوان به عنوان دو چهره یک زمینه کاربردی واحد دید که طی سالهای مدید، رشد و تغییر پیدا کرده است. تعریف مدرن بازشناسی الگو به صورت زیر است:
حوزه شناسایی الگو پیرامون کشف خودکار قواعد در دادهها با استفاده از الگوریتمهای کامپیوتری و استفاده از این قواعد برای انجام اقداماتی مانند دستهبندی دادهها به رستههای مختلف است.
در واژهشناسی یادگیری ماشین، دستهبندی به عنوان «یادگیری نظارت شده» (یادگیری با ناظر | Supervised Learning) و یا در واقع، یادگیری بر اساس مجموعهای از مشاهدات که دسته آنها به درستی تشخیص داده شده است (و برچسبگذرای شدهاند)، گفته میشود. سیستمهای تشخیص الگو در اغلب موارد با استفاده از دادههای «برچسبگذاری شده» (Labeled) (یادگیری نظارت شده) آموزش میبینند. اما هنگامی که هیچ داده برچسبگذاری شدهای موجود نباشد، انواع دیگری از الگوریتمها برای حل مسئله قابل استفاده هستند (یادگیری نظارت نشده | یادگیری بدون نظارت | یادگیری بیناظر | Unsupervised Learning).
یادگیری ماشین ارتباط تنگاتنگی با تشخیص الگو و شناسایی آماری الگو دارد و ریشههای هر دو این موارد به «هوش مصنوعی» (Artificial Intelligence) میرسد. این در حالی است که «کشف دانش از داده» (Knowledge Discovery from Data) و یا همان «دادهکاوی» (Data Mining)، تمرکز زیادی روی روشهای یادگیری نظارت نشده و ارتباط قویتری با کاربردهای کسب و کار دارد. تشخیص الگو بیشتر روی بحث سیگنالها، تصاویر و متون متمرکز است.
در یادگیری ماشین، بازشناسی الگو در واقع تخصیص برچسب به یک مقدار ورودی داده شده است. در آمار، «تحلیل افتراقی» (Discriminant Analysis | آنالیز تشخیصی خطی | Linear Discriminant Analysis) با هدف مشابهی، در سال ۱۹۳۶ معرفی شد. به عنوان مثالی از تشخیص الگو میتوان به دستهبندی (Classifier) اشاره کرد که تلاش میکند تا مقادیر ورودی داده شده را به یکی از دستههای از پیش مشخص شده، تخصیص دهد (برای مثال، یک ایمیل هرزنامه است یا خیر). هر چند، تشخیص الگو مسئله عمومیتری است که شامل دیگر انواع ورودیها نیز میشود. مثال دیگری در این رابطه، «رگرسیون» (Regression) است که خروجیهای دارای مقدار حقیقی را به هر ورودی تخصیص میدهد.
هدف تشخیص الگو و شناسایی آماری الگو
کار اصلی و در واقع هدف «تشخیص الگو» (Pattern Recognition) و شناسایی آماری الگو، انجام «دستهبندی نظارت شده» (Supervised Classification) یا «دستهبندی نظارت نشده» (Unsupervised Learning) روی دادههای موجود است. در میان چارچوبهایی که در آنها تشخیص الگو به روش سنتی فرمولهسازی شده است، رویکرد آماری، مورد مطالعه و بررسیترین و همچنین، مورد استفادهترین روشی است که در عمل مورد استفاده قرار گرفته است.
طراحی یک سیستم بازشناسی الگو و شناسایی آماری الگو نیازمند توجه به مسائلی مانند تعریف کلاسهای الگو، سنجش محیط، ارائه الگو، استخراج و انتخاب ویژگی (Feature Extraction and Selection)، تحلیل خوشه، طراحی دستهبند و یادگیری، انتخاب نمونههای یادگیری و تست و ارزیابی کارایی است.
علیرغم آنکه بیش از ۵۰ سال است که در این حوزه پژوهش و توسعه انجام میشود، مسئله عمومی تشخیص الگوهای پیچیده با جهتگیری، موقعیت و مقیاس دلخواه، همچنان حل نشده باقی مانده است. کاربردهای نوظهوری مانند «دادهکاوی» (Data Mining)، «جستجوی وب» (Web Searching)، «بازیابی دادههای چند رسانهای» (Retrieval of Multimedia Data)، «بازشناسی چهره» (Face Recognition) و «بازشناسی دستخط» (Handwriting recognition | HWR | Handwritten Text Recognition | HTR)، همه و همه نیازند روشهای تشخیص الگوی موثر و مستحکم هستند.
هدف از نگارش مطلب شناسایی آماری الگو، آشنایی با مبحث تشخیص الگو و شناسایی آماری الگو و معرفی کلی برخی از روشهای به خوبی شناخته شده مورد بررسی در سطوح مختلف سیستم بازشناسی الگو است. کلمات کلیدی که به خاطر سپردن آنها به مخاطب کمک میکند تا در سرتاسر این مطلب مباحث را به شکل بهتری دنبال کنند، عباتند از: «شناسایی آماری الگو» (Statistical Pattern Recognition)، «دستهبندی» (Classification)، «خوشهبندی» (Clustering)، «استخراج ویژگی» (Feature Extraction)، «انتخاب ویژگی» (Feature Selection)، «تخمین خطا» (Error Estimation)، «ترکیب دستهبند» (Classifier Combination) و «شبکههای عصبی» (Neural Networks).
مقدمهای بر شناسایی آماری الگو
کودکان در طول پنج سالگی خود، میتوانند ارقام و حروف، کاراکترهای کوچک، کاراکترهای بزرگ، دستخط و موارد چاپ و چرخانده شده توسط دستگاه را تشخیص دهند. کاراکترها ممکن است روی یک صفحه پسزمینه برشخورده، برگه کاغذ مچاله شده و یا حتی کمی مخدوش شده باشند، اما کودک همچنان توانایی تشخیص آن را دارد. پژوهشگران از این مهارت در هنگامی که نیاز به آموزش دادن چگونگی انجام کار مشابهی توسط ماشین و به ماشینها است، استفاده میکنند.
بازشناسی الگو و شناسایی آماری الگو مطالعه چگونگی یادگیری ماشینها برای تمییز دادن الگوهای موجود از پسزمینه آنها (منظور دادههای موجود است) و انجام تصمیمگیریهای صحیح و منصفانه پیرامون دستههای الگوها است. علیرغم بیش از ۵۰ سال پژوهشی که تاکنون توسط پژوهشگران و علاقهمندان حوزه شناسایی آماری الگو انجام شده است، طراحی یک ماشین همه منظوره تشخیص الگو همچنان یک هدف اساسی محسوب میشود که به دست نیامده است.
بهترین تشخیصدهندههای الگو در اغلب مسائل و مثالها، انسانها هستند؛ هرچند که هنوز مشخص نیست انسانها چگونه الگوها را تشخیص میدهند. «آرون راس» (Arun Ross) دانشمند علوم کامپیوتر و کارشناس و پژوهشگر تشخیص الگو، با تاکید بر یافتههای دریافت کننده جایزه نوبل «هربرت الکساندر سایمون» (Herbert A. Simon) که یافتههای اصلی آن، این است که تشخیص الگو در اغلب وظایف انسانی امری حیاتی است، چنین میگوید:
هرچه الگوهای مرتبط بیشتری در دسترس باشند، تصمیمات شما بهتر خواهند بود. این خبر خوبی برای هوادارن هوش مصنوعی است؛ زیرا از کامپیوترها میتوان برای تشخیص الگوها استفاده کرد. در واقع، برنامههای کامپیوتری موفق میتوانند به بانکها برای رتبهدهی به متقاضیان کارتهای اعتباری، پزشکها برای تشخیص بیماری و همچنین، به خلبانها برای فرود هواپیما بسته به برخی از روشهای تشخیص الگو، کمک کنند. بشر نیازمند آن است که توجه بیشتری را معطوف آموزش دادن بازشناسی الگو کند.
هدف از این مطلب، معرفی بازشناسی الگو و شناسایی الگوی آماری به عنوان راهکاری برای به کارگیری حسگرهای در دسترس، پردازشگرها و دانش دامنه برای تصمیمگیری خودکار است.
تشخیص الگو چیست؟
تشخیص، توصیف، دستهبندی و گروهبندی الگوها، به صورت خودکار (ماشینی) در انواع مسائل علمی و مهندسی مانند زیستشناسی، روانشناسی، پزشکی، بازاریابی، «بینایی کامپیوتری» (Computer Vision)، «هوش مصنوعی» (Artificial Intelligence) و حسگرهای از راه دور انجام میشود و کاربرد دارد.
اما الگو چیست؟ «واتانابی» (Watanabe) پژوهشگر حوزه تشخیص الگو و شناسایی آماری الگو تعریف زیر را برای الگو ارائه میکند:
(الگو) معکوس آشوب (بینظمی | Chaos) است. (الگو) موجودیتی است که میتواند به طور مبهم تعریف شود و نامی به آن داده شود. برای مثال، یک الگو میتواند تصویر اثر انگشت، کلمات نوشته شده با دست خط، چهره انسان یا سیگنال مکالمه باشد. برای یک الگوی داده شده، بازشناسی/دستهبندی آن ممکن است شامل یکی از دو وظیفه زیر باشد:
- دستهبندی نظارت شده (تحلیل افتراقی) که در آن الگوی ورودی به عنوان عضوی از یک کلاس از پیش تعریف شده، تعیین میشود.
- دستهبندی نظارت نشده (خوشهبندی) که در آن الگو به کلاسی که تاکنون ناشناخته است، تخصیص داده میشود.
شایان توجه است که مسئله بازشناسی در اینجا به عنوان یک وظیفه «دستهبندی» (Classification) یا «رستهبندی» (Categorization) تعریف میشود که در آن، کلاسها به وسیله طراح سیستم (در دستهبندی نظارت شده) یا یادگیری انجام شده بر اساس مشابهت الگوها (در دستهبندی نظارت نشده یا همان خوشهبندی) مشخص و تعیین میشوند.
به دلیل کاربردهای قابل توجهی که بازشناسی الگو دارد، در سالهای اخیر، توجهات زیادی به این حوزه جلب شده است. این کاربردها نه تنها بسیار چالشبرانگیز هستند، بلکه تقاضای زیادی نیز برای آنها وجود دارد. این کاربردها شامل دادهکاوی (شناسایی یک الگو، برای مثال، همبستگی یا دورافتادگی در میان میلیونها الگوی چند بُعدی)، دستهبندی اسناد متنی (جستجوی موثر در میان اسناد متنی)، پیشبینی مالی، سازماندهی و بازیابی پایگاه دادههای چند رسانهای و زیستسنجهها (احراز هویت فردی بر مبنای خصیصههای فیزیکی مانند چهره، عنبیه و اثر انگشت) میشود.
«پیکارد» (Picard) پژوهشگر حوزه تشخیص الگو و شناسایی آماری الگو، کاربرد نابی از بازشناسی الگو را کشف کرده است که به آن «رایانش احساسی» (Affective Computing) گفته میشود. رایانش احساسی به کامپیوترها توانایی تشخیص و ابراز احساسات را برای پاسخدهی هوشمندانه به انسانها میدهد و مکانیزمی از عواطف را به کار میگیرد که در تصمیمسازی منطقی مورد استفاده قرار میگیرند.
یک خصیصه متداول از تعدادی از این کاربردها آن است که ویژگیهای موجود (معمولا در میان هزارتا) معمولا به وسیله کارشناسان دامنه پیشنهاد نمیشود؛ اما باید به وسیله رویههای «دادهمحور» (Data Driven) استخراج و بهینهسازی شود.
قدرت محاسباتی موجود که به طور دائم نیز در حال رشد و در دسترس قرار گرفتن است، امکان پردازش سریعتر مجموعه دادههای بزرگ را فراهم و همچنین، استفاده از روشهای دارای جزئیات بسیط و متنوع را برای تحلیلهای داده و دستهبندی فراهم میکند. به طور همزمان، تقاضا برای سیستمهای تشخیص الگوی خودکار به طور گستردهای به دلیل در دسترس قرار گرفتن «پایگاه دادهها» (Data Base) و نیازمندیهای کارایی دقیق (سرعت، صحت و هزینه)، افزایش پیدا میکند.
در بسیاری از کاربردهای بازشناسی الگو و شناسایی آماری الگو که امروزه ظهور پیدا کردهاند، واضح است که هیچ رویکرد مجزایی برای دستهبندی، «بهینه» نیست و روشها و رویکردهای چندگانه باید مورد استفاده قرار بگیرد. متعاقبا، ترکیب چندین روش سنجش و دستهبندها، در حال حاضر در حوزه تشخیص الگو امری بسیار متداول است.
طراحی یک سیستم تشخیص الگو شامل سه جنبه «اکتساب و پیشپردازش دادهها» (Data Acquisition and Pre-processing)، «ارائه دادهها» (Data Representation) و تصمیمسازی است. دامنه مسئله انتخاب حسگر(ها)، روشهای پیشپردازش، شمای ارائه و مدل تصمیمسازی را فراهم میکند. این موضوع به طور عمومی مورد پذیرش قرار گرفته است که مسئله بازشناسی محدود خوشتعریف (انواع کوچک درون کلاسی و انواع بزرگ بیرون کلاسی)، منجر به ارائه الگوی فشرده و یک استراتژی تصمیمسازی ساده میشود. یادگیری با استفاده از یک مجموعه از مثالها (مجموعه آموزش)، یک خصیصه مهم اغلب سیستمهای تشخیص الگو است. چهار مورد از بهترین رویکردهای شناخته شده برای تشخیص الگو و شناسایی آماری الگو عبارتند از:
- تطبیق قالب (Template Matching)
- دستهبندی آماری (بازشناسی آماری الگو)
- تطبیق نحوی یا ساختاری (Syntactic or Structural Matching)
- شبکههای عصبی
این مدلها لزوما از یکدیگر مستقل نیستند و گاهی یک روش تشخیص الگوی مشابه با تفاسیر متفاوتی وجود دارد. تلاشهایی برای طراحی یک سیستم ترکیبی شامل چندین مدل وجود دارد. توصیف و مقایسه کوتاهی از این روشهای تشخیص الگو و شناسایی آماری الگو در ادامه ارائه شده است.
تطبیق قالب
یکی از سادهترین و اولیهترین رویکردها برای تشخیص الگو و شناسایی آماری الگو، استفاده از «تطبیق قالب» (Template Matching) است. تطبیق یک عملیات عمومی در تشخیص الگو است که برای تعیین مشابهت بین دو موجودیت (نقاط، منحنیها یا اشکال) مورد استفاده قرار میگیرد.
در تطبیق قالب، یک قالب (معمولا یک شکل دوبُعدی) یا پیشنمونه از الگو برای سازماندهی شدن موجود است. الگویی که باید تطبیق داده شود، با قالب ذخیره شده تطبیق داده میشود، در حالی که همه حالات ممکن شامل ترجمه و چرخش و تغییرات مقیاس پذیرفته است و در راستای تطبیق قالب انجام میشود. در واقع، میتوان قالب ذخیره شده را چرخاند و مقیاس آن را تغییر داد و با الگوی مورد بررسی مقایسه کرد تا متوجه شد که یکی هستند یا خیر.
معیار مشابهت، معمولا یک همبستگی، ممکن است بر مبنای مجموعه داده موجود بهینهسازی شود. اغلب، خود الگو از مجموعه داده آموزش آموخته میشود. تطبیق الگو نیازمند محاسبات است، اما در دسترس بودن فرایندهای سریعتر، این رویکرد را امکانپذیر کرده است. تطبیق قالب سخت که در بالا به آن اشاره شده است، در حالی که در برخی از دامنههای کاربرد مفید است، دارای معایبی نیز هست.
برای مثال، در صورتی که در هنگام تصویربرداری، الگوها ناهموار و از شکل اصلی خود خارج شوند، نقطه نمایش تغییر کند یا انواع درون کلاسی بزرگی در میان الگوها وجود داشته باشد، تطبیق قالب با شکست مواجه میشود. «مدلهای قالب قابل تغییر شکل» (Deformable Template Models) یا «تغییر شکل رابرتشیت» (Rubber Sheet Deformation) میتوانند برای تطبیق الگو در هنگامی که تغییر شکل به سادگی قابل توصیف یا انجام نیست، استفاده شوند.
روشهای آماری
در رویکرد آماری برای تشخیص الگو و در واقع شناسایی آماری الگو هر الگو به صورت d ویژگی یا سنجه ارائه و به عنوان نقطهای در یک فضای d-بُعدی نمایش داده میشود. هدف، انتخاب ویژگیهایی است که به بردارهای الگوی متعلق به رستههای مختلف این امکان را میدهند تا مناطق فشرده و منفصل را در یک فضای ویژگی d-بُعدی اشغال کنند. موثر بودن فضای ارائه (مجموعه ویژگی) با توجه به اینکه الگوهای کلاسهای مختلف چقدر خوب از یکدیگر قابل جدا شدن هستند، تعیین میشوند.
در یک مجموعهی داده شده از الگوهای آموزش هر کلاس، هدف ایجاد مرزهای تصمیمگیری در فضای ویژگی است که الگوهای متعلق به کلاسهای مختلف را از یکدیگر جدا میکنند. در رویکرد نظریه تصمیم آماری، مرزهای تصمیم به وسیله توزیع احتمال الگوهای متعلق به هر کلاس تعیین میشود که باید تعیین یا یاد گرفته شوند.
فرد میتواند رویکرد مبتنی بر تحلیل افتراقی را برای دستهبندی برگزیند. در این راستا، ابتدا یک شکل پارامتریک از مرزهای تصمیم (برای مثال: خطی یا درجه دوم) تعیین میشوند. سپس، «بهترین» مرزهای تصمیم از شکل تعیین شده، بر اساس دستهبندی الگوهای آموزش تعیین میشوند. چنین مرزهایی با استفاده از برای مثال، معیار «میانگین مربعات خطا» (Mean Squared Error)، قابل ساختن هستند. رویکرد مستقیم ساخت مرزها به وسیله فلسفه «ولادیمیر وَپنیک» (Vladimir Vapnik) پشتیبانی میشود.
در صورتی که کاربر مقدار محدودی از اطلاعات را برای حل برخی از مسائل داشته باشد، باید برای حل مسئله به طور مستقیم تلاش کند و هیچ وقت نباید مسائل عمومیتر را به عنوان یک گام میانی حل کند. این امکان وجود دارد که اطلاعات موجود برای یک راهکار مستقیم مناسب باشند، اما برای حل یک مسئله متوسط عمومیتر نامناسب باشند.
رویکرد نحوی
در بسیاری از مسائل بازشناسی الگو شامل الگوهای پیچیده، پذیرش یک چشمانداز سلسله مراتبی که در آن یک الگو به عنوان ترکیبی از زیرالگوهای ساده که خود از زیرالگوهای سادهتری ساخته شدهاند دیده میشود، مناسبتر است. سادهترین/اولیهترین زیرالگوهایی که باید تشخیص داده شوند را «بدوی» (Primitives) میگویند و الگوی پیچیده داده شده به صورت روابط میان این بدویها ارائه میشود.
در تشخیص الگوی نحوی، یک تقلید رسمی بین ساختار الگوها و نحو یک زبان انجام میشود. الگوها به عنوان جملههایی که متعلق به یک زبان هستند و بدویها به عنوان الفبای زبان در نظر گرفته میشوند؛ همچنین، جملات مطابق با گرامر تولید می شوند. بنابراین، یک مجموعه پیچیده را میتوان با تعداد کمی از قواعد بدوی و گرامری توصیف کرد. گرامر برای هر کلاس الگو باید از نمونههای آموزش موجود استنباط شود.
تشخیص الگوی ساختاری، به لحاظ بصری جذاب است زیرا، علاوه بر دستهبندی، این رویکرد توصیفی از چگونگی آنکه یک الگوی داده شده از بدویها ساخته شده است را ارائه میکند. این پارادایم در موقعیتهایی که الگوها یک ساختار قطعی دارند که به صورت یک مجموعه از قواعد قابل ثبت است، مانند «شکل موج الکتروکاردیوگرام» (شکل موج نوار قلب | Electrocardiogram Waveform | EKG Waveform)، تصویر بافتدار و تحلیل شکل «کانتورها» (Contours) استفاده میشود. پیادهسازی رویکرد نحوی، منجر به سختیهای زیادی میشود که در درجه اول باید با بخشبندی الگوهای دارای نویز (نوفه | Noise) (به منظور تشخیص بدویها) و استنتاج گرامر از دادههای آموزش انجام شوند. «فو» (Fu)، مفهومی از گرامرهای نسبت داده شده را معرفی کرد که بازشناسی الگوی نحوی و آماری را متحد میکنند. رویکرد نحوی ممکن است منجر به «انفجار ترکیبی» (Combinatorial Explosion) احتمالاتی شود که باید اکتشاف شود و همچنین، نیازمند مجموعه آموزشهای بزرگ و تلاشهای محاسباتی بسیار زیاد باشد.
شبکههای عصبی
به «شبکههای عصبی» (Neural Network) میتوان به مثابه سیستمهای محاسباتی موازی انبوهی نگریست که شامل تعداد بسیار زیادی از پردازشگرهای ساده با اتصالات میان آنها هستند. مدلهای شبکههای عصبی در تلاش برای استفاده از اصول سازمانی (مانند یادگیری، عمومی سازی، پذیرش، تحمل خطا، ارائه توزیع شده و محاسبات) در شبکهای از گرافهای جهتدار وزندار هستند که در آنها گرهها نورونهای مصنوعی و یالهای جهتدار (با وزن)، اتصالات بین خروجیهای نورونها و ورودیهای نورون به شمار میآیند.
مشخصه اصلی شبکههای عصبی آن است که آنها توانایی یادگیری روابط بین ورودی-خروجیهای غیر خطی، استفاده از رویههای یادگیری ترتیبی و تطبیق خودشان با دادهها را دارند. متداولترین خانواده از شبکههای عصبی که برای وظایف دستهبندی الگو مورد استفاده قرار میگیرند، «شبکههای عصبی پیشخور» (Feed Forward Network) هستند که شامل شبکههای «پرسپترون چند لایه» (Multilayer Perceptron) و «تابع شعاعی پایه» (Radial-Basis Function | RBF) میشوند.
این شبکهها در لایههایی سازماندهی شدهاند و اتصالات غیرمستقیمی بین لایهها دارند. دیگر شبکه عصبی محبوبی که برای کار تشخیص الگو مورد استفاده قرار میگیرد، «نقشههای خود سازمانده» (Self Organizing Maps | SOM) یا «شبکه کوهنن» (Kohonen Network) هستند که اساسا برای خوشهبندی دادهها و نگاشت ویژگیها مورد استفاده قرار میگیرند. فرایند یادگیری، شامل به روز رسانی معماری شبکه و وزنهای اتصال است، بنابراین یک شبکه میتواند یک وظیفه دستهبندی/خوشهبندی را به طور موثری انجام دهند. افزایش شهرت مدلهای شبکههای عصبی برای حل مسائل تشخیص الگو اساسا به خاطر وابستگیهای کم آنها به دانش دامنه (وابسته به رویکردهای مبتنی بر مدل و مبتنی بر قاعده) و به دلیل در دسترس بودن الگوریتمهای یادگیری برای فعالان این حوزه به منظور استفاده از آنها است.
شبکههای عصبی یک مجموعه جدید از الگوریتمهای غیر خطی برای استخراج ویژگی (استفاده از لایههای پنهان) و دستهبندی (پرسپترون چند لایه) را فراهم میکنند. علاوه بر آن، الگوریتمهای دستهبندی و استخراج ویژگی موجود، روی معماری شبکههای عصبی برای پیادهسازی - سختافزاری - موثر قابل استفاده هستند. علیرغم آنکه به نظر میرسد اصول اساسی متفاوتی وجود دارد، اغلب مدلهای شبکههای عصبی به طور ضمنی معادل یا مشابه روشهای شناسایی آماری الگو است. «ریپلی» (Ripley)، «اندرسون» (Anderson) و همکاران، رابطه بین شبکههای عصبی و شناسایی آماری الگو را تشریح میکنند.
«اندرسون» (Anderson) و همکاران اشاره میکنند که شبکههای عصبی برای آماتورهای حوزه شناسایی آماری الگو و تشخیص الگو هستند. بیشتر شبکههای عصبی آمارها را از کاربر پنهان میکنند». علیرغم این مشابهتها، شبکههای عصبی مزایایی مانند رویکردهای یکپارچه برای استخراج ویژگی، دستهبندی و روالهای انعطافپذیر برای پیدا کردن راهکارهای غیر خطی استفاده میکنند. در ادامه این مطلب، روشهای آماری برای ارائه و دستهبندی الگو مورد بررسی قرار گرفتهاند که بر توسعههای اخیر تاکید دارند.
شناسایی آماری الگو
«شناسایی آماری الگو» (Statistical Pattern Recognition) به طور موفقیتآمیزی در طراحی تعدادی از سیستمهای تشخیص الگو تجاری مورد استفاده قرار گرفتهاند. در شناسایی آماری الگو (Statistical Pattern Recognition) یک الگو به وسیله مجموعهای از d ویژگی یا خصیصه، به وسیله بردار ویژگی d-بُعدی نمایش داده میشوند.
مولفههای به خوبی شناخته شده از نظریه تصمیم آماری برای ایجاد مرزهای تصمیم بین کلاسهای الگو به کار گرفته میشوند. سیستم شناسایی آماری الگو شامل فعالیتهایی مانند پیشپردازش برای بخشبندی الگو از پسزمینه، حذف نویز، نرمالسازی الگو و دیگر عملیات است. این موارد برای تعریف یک ارائه فشرده از الگو نقش دارند.
در مرحله آموزش مدل برای شناسایی آماری الگو ماژول استخراج/انتخاب ویژگی، ویژگیهای مناسب برای ارائه الگوهای ورودی و آموزش دستهبند برای تقسیمبندی فضای ویژگی را فراهم میکند. مسیر بازخورد به طراحان امکان بهینهسازی پیشپردازش و استراتژیهای استخراج/انتخاب ویژگی را میدهد. در حالت دستهبندی، دستهبند آموزش دیده الگوی ورودی را به یکی از کلاسهای الگو با مفروضاتی بر مبنای سنجههای اندازهگیری شده تخصیص میدهد.
فرایند تصمیم گیری در شناسایی آماری الگو به شکلی که در ادامه آمده، قابل تلخیص است: یک الگوی داده شده به یکی از رستههای C یعنی w1، w2 ...، wc، بر اساس برداری از d مقدار ویژگی (x = (x1, x2, ..., xd تخصیص پیدا کرده است. فرض میشود که ویژگیها دارای یک «تابع چگالی احتمال» (Probability Density) یا «تابع جرم احتمال» (Probability Mass) (بسته به پیوسته یا گسسته بودن توابع) هستند که مشروط به کلاس الگو است. بنابراین، یک بردار الگوی x متعلق به کلاس wi به عنوان مشاهدهای نمایش داده میشود که به طور تصادفی از تابع احتمال مشروط به کلاس (p(x,wi گرفته شدهاند.
تعدادی از قواعد تصمیمگیری به خوبی شناخته شده شامل «قواعد تصمیمگیری بیز» (Bayes Decision Rules)، «قاعده درستنمایی بیشینه» (Maximum Likelihood Rule) (که میتوان به آن به چشم حالت خاصی از قاعده بیز نگریست) و «قاعده نایمن پیرسون» (Neyman-Pearson Rule) برای تعریف مرزهای تصمیم در دسترس هستند. قاعده تصمیم بیز «بهینه» برای کمینه کردن خطا (مقدار مورد انتظار برای تابع زیان) (Expected Value of the Loss Function) به صورتی که در ادامه میآید، قابل بیان است. تخصیص الگوی ورودی x به کلاس wi که برای آن، «خطر مشروط» (Conditional Risk) که فرمول آن در ادامه آمده، کمینه است:
در فرمول بالا، (L(wi,wj زیان دخیل شده در تصمیمگیری wi برای هنگامی است که کلاس واقعی wj و (p(wj|x احتمال پسین (Posterior Probability) باشد. در حالت تابع زیان صفر تقسیم بر یک (به صورتی که در رابطه زیر آمده است)، خطر مشرط، احتمال شرطی دستهبندی نادرست میشود.
برای این انتخاب تابع زیان، قاعده تصمیمگیری بیز به صورتی که در ادامه بیان شده، قابل سادهسازی است (که به آن قاعده بیشینهگر احتمال پسین یا همان Maximum a Posteriori Rule گفته میشود). اگر رابطه زیر برقرار باشد، الگوی ورودی x را به wi تخصیص بده.
استراتژیهای گوناگونی بسته به نوع اطلاعات موجود پیرامون «چگالیهای کلاس مشروط» (Class-Conditional Densities)، برای طراحی یک دستهبند در شناسایی آماری الگو به کار گرفته میشوند. اگر همه چگالیهای کلاس مشروط به طور کامل تعیین شده باشند، تصمیم بیز بهینه برای طراحی یک دستهبند قابل استفاده است. اگرچه، چگالیهای کلاس مشروط معمولا در عمل شناخته شده نیستند و باید از الگوهای آموزش موجود یاد گرفته شوند.
اگر شکل چگالیهای کلاس مشروط شناخته شده باشد (برای مثال، چند متغیره، گاوسی یا دیگر موارد) اما برخی از پارامترهای چگالی (بردار میانگین و ماتریس کواریانس) ناشناخته باشند، یک مسئله تصمیم پارامتریک موجود است. یک استراتژی متداول برای حل این نوع از مسائل، جایگزینی پارامترهای ناشناخته در توابع چگالی به وسیله مقادیر تخمینزده شده آنها است که منجر به دستهبند بیز (Bayes Plug-In Classifier) میشود.
در این شرایط، استراتژی بیز بهینه نیازمند اطلاعات افزوده به شکل یک «توزیع پیشین» (Prior Distribution) روی پارامترهای ناشناخته است. اگر شکل چگالیهای کلاس مشروط شناخته شده نباشد، در حالت غیر پارامتری عمل میشود. در این حالت، باید تابع چگالی را تخمین زد (برای مثال، رویکرد پنجره پارزن یا همان Parzen Window Approach) یا به طور مستقیم مرزهای تصمیم بر اساس دادههای آموزش (قاعده k نزدیکترین همسایگی) ساخته شود. در حقیقت، پرسپترون چند لایه را میتوان به عنوان یک روش نظارت شده غیرپارامتری در نظر گرفت که مرزهای تصمیم را میسازد.
دوگانگی دیگر در بازشناسی الگوی آماری، یادگیری نظارت شده (نمونههای آموزش دیده برچسبگذاری شده) در مقابل یادگیری نظارت نشده (نمونههای آموزش برچسبگذاری نشده) است. برچسب الگوی آموزش، دستهای را که الگوها به آن متعلق هستند را نشان میدهد. در یک مسئله یادگیری نظارت نشده، گاهی تعداد کلاسها باید همراه با ساختار هر کلاس آموزش ببیند. دوگانگیهای متعددی که در بازشناسی الگوی آماری به وقوع میپیوندند، در ساختار درختی موجود در شکل زیر، نمایش داده شدهاند.
همگام با پیمایش درخت از بالا به پایین و چپ به راست، اطلاعات کمتری برای طراح سیستم فراهم میشود و در نتیجه، سختی مسئله دستهبندی افزایش پیدا میکند. به تعبیر دیگر، اغلب رویکردها در شناسایی آماری الگو (گرههای برگ در درخت موجود در شکل)، در تلاش برای پیادهسازی قانونی تصمیمگیری بیز هستند. در زمینه تحلیل خوشه، اساسا با مسائل تصمیمگیری در حالت غیر پارامتری و یادگیری غیرنظارت شده سروکار دارند.
علاوه بر این، در تحلیل خوشه، تعداد رستههای خوشهها ممکن است حتی تعیین نشده باشد (در صورت وجود). الگوریتمهای تحلیل خوشه همراه با روشهای زیاد برای بصریسازی و طرحریزی دادههای چندبُعدی نیز تحت عنوان «روشهای تحلیل اکتشافی دادهها» (Exploratory Data Analysis Methods) وجود دارند.
دوگانگی دیگری که در بازشناسی الگوی آماری وجود دارد، چنانکه در تصویر بالا نیز آمده، بر اساس آن است که آیا مرزهای تصمیم به طور مستقیم مشخص شدهاند (رویکرد هندسی) یا غیر مستقیم (رویکرد احتمالی چگالیمحور). رویکرد احتمالی نیازمند آن است که ابتدا تابع چگالی تخمین زده شود و سپس، تابعهای متمایز کننده ساخته شوند که مرزهای تصمیم را مشخص میکنند. از سوی دیگر، رویکرد هندسی معمولا مرزهای تصمیم را به طور مستقیم با بهینهسازی توابع هزینه (Cost Function) خاصی میسازد. شایان توجه است که تحت مفروضات خاصی روی تابع چگالی، دو رویکرد با یکدیگر برابر هستند. مثالهایی از هر دسته در بخشهای بعدی ارائه خواهد شد.
هیچ اهمیتی ندارد که کدام یک از قواعد دستهبندی یا تصمیمگیری مورد استفاده قرار بگیرند؛ این قاعده باید با استفاده از نمونههای آموزش موجود، آموزش ببیند. در نتیجه، کارایی دستهبند هم بستگی به تعداد نمونههای آموزش موجود و هم مقدار نمونهها دارد.
در آن واحد، هدف از طراحی یک سیستم بازشناسی، دستهبندی نمونههای آزمون بعدی است که احتمالا ار نمونههای تست مجزا هستند. بنابراین، بهینهسازی یک دستهبند برای بیشینهسازی کارایی آن روی مجموعه داده آموزش ممکن است همیشه منجر به کارایی مورد انتظار روی دادههای تست نشود. توانایی تعمیم دستهبند برای داشتن کارایی روی دادههای تستی که در طول مرحله آموزش مورد استفاده قرار نگرفتهاند مسئله بسیار مهمی است. توانایی ضعیف تعمیم دستهبند میتواند به دلیل هر یک از فاکتورهایی که در ادامه بیان میشوند، باشد:
- تعداد ویژگیها نسبت به تعداد نمونههای آموزش بسیار بزرگ است (طلسم ابعاد).
- تعداد پارامترهای ناشناخته تخصیص یافته با دستهبند بسیار بزرگ است (دستهبند چند جملهای یا شبکههای عصبی بزرگ).
- یک دستهبند بیش از اندازه روی مجموعه دادههای آموزش بهینه شده است. این مورد مشابه با پدیده «بیشبرازش» (Overfitting) در رگرسیون است که در آن، پارامترهای آزاد زیادی وجود دارد.
به طور نظری میتوان گفت که بیش برازش در دستهبندی، نرخ خطای آشکار را کمینه میکند (خطا روی مجموعه داده آموزش). پژوهشهای کلاسیک انجام شده توسط «کاور» (Cover) و «وپنیک» (Vapnik) روی ظرفیت و پیچیدگی دستهبند، درک خوبی را از مکانیزمهای موجود در پس بیشبرازش فراهم میکند. دستهبندهای پیچیده (برای مثال، مواردی که پارامترهای مستقل زیادی دارند) ممکن است ظرفیت بالایی داشته باشند؛ برای مثال، آنها قادر به ارائه دوگانگیهای زیادی برای یک مجموعه داده ارائه شده، هستند.
یک سنجه که به طور متداول برای ظرفیت در شناسایی آماری الگو مورد استفاده قرار میگیرد، سنجه ابعاد «وپنیک-شرونینکس» (Vapnik-Chervonenkis | VC) است. این نتایج، برای اثبات برخی از خصوصیات جالب توجه نیز قابل استفاده هستند؛ برای مثال، شمول دستهبندهای مشخصی. استفاده کاربردی از نتایج روی پیچیدگی دستهبند، به طور اولیه محدود شده است؛ زیرا مرزهای پیشنهاد شده روی تعداد نمونههای (آموزش) مورد نیاز، بسیار محافظه کارانه است. اگرچه، در توسعههای اخیر «ماشین بردار پشتیبان» (Support Vector Machine | SVM)، اثبات شده است که این نتایج بسیار کاربردی هستند. نقصهای بیشپذیرش برآوردگرها برای یک مجموعه داده ارائه شده، در چندین گام از سیستم تشخیص الگو، مانند کاهش ابعاد، تخمین چگالی و طراحی دستهبند مشاهد شده است.
یک راهکار آن است که همیشه از یک مجموعه داده مستقل (مجموعه داده تست یا آزمون) برای ارزیابی استفاده شود. به منظور اجتناب از لزوم داشتن چندین مجموعه داده تست مستقل، برآوردگرها معمولا بر مبنای مجموعه دادههای چرخانده شده (Rotated) دادهها هستند و از بخشهای مختلف دادهها برای بهینهسازی و ارزیابی مراقبت میکنند.
مثالهایی از این مورد، بهینهسازی «برآوردگرهای کوواریانس» (Covariance Estimators) برای «کرنل پارزن» (Parzen Kernel) و «تحلیل تمایز» (Discriminant Analysis) و استفاده از «بوتاسترپ» (Bootstrap) کردن، برای طراحی دستهبند و تخمین خطا است.
بازشناسی الگو و شناسایی آماری الگو از منظر یادگیری ماشین
شناسایی آماری الگو اصطلاحی است که برای پوشش دادن کلیه مراحل اکتشاف از فرمولهسازی مسئله و گردآوری دادهها گرفته تا متمایز کردن (افتراق) و دستهبندی، ارزیابی نتابج و تفسیر آنها استفاده میشود. برخی از مفاهیم و اصطلاحات مقدماتی شناسایی آماری الگو در ادامه مورد بررسی قرار گرفتهاند. همچنین، در ادامه شناسایی آماری الگو، رویههای مقدماتی بازشناسی الگو با کاربردهای آنها در مسائل جهان واقعی مورد بررسی قرار میگیرند.
تاکید در بحث شناسایی آماری الگو بیشتر بر نظریه تحلیل افتراقی (متمایزسازی) است، اما خوشهبندی نیز توجهاتی را به خود جلب کرده است. بنابراین، هنگامی که در کتب و مقالات از شناسایی آماری الگو صحبت میشود، محل تمرکز در یک کلمه یعنی «دستهبندی» (Classification) خلاصه میشود و هم شامل روشهای نظارت شده (استفاده از اطلاعات کلاس برای طراحی دستهبندی، برای مثال متمایزسازی) و هم نظارت نشده (تخصیص به گروهها بدون اطلاعات دستهبندی، برای مثال خوشهبندی) میشود.
بازشناسی الگو یک زمینه مطالعاتی است که در سال ۱۹۶۰ به طور موثری توسعه پیدا کرد. این مبحث، بیشتر یک زمینه میان رشتهای و شامل مباحث آماری، مهندسی، «هوش مصنوعی» (Artificial Intelligence | AI)، «علوم کامپیوتر» (Computer Science)، روانشناسی و فیزیولوژی است. اغلب افراد هنگامی به دنیای بازشناسی الگو و شناسایی آماری الگو وارد میشوند که باید یک مسئله جهان واقعی را حل کنند. ادعاهای زیاد و غیرواقعی نیز در زمینه بازشناسی الگو و شناسایی آماری الگو ارائه شده است و در برخی موارد، این حوزه رشدی قدرتمند و موازی با سیستمهای مبتنی بر دانش در ۱۹۷۰ و «شبکههای عصبی» (Neural Networks) در ۱۹۸۰ داشته است.
با این اوصاف، در این نواحی پیشرفتهای قابل توجهی رخ داده است که اساسا در جایی بودهاند که دامنه آنها با آمار و احتمال همپوشانی داشته است و در سالهای اخیر، توسعههای جدید و جالب توجهی هم در روشها و هم در کاربردهای شناسایی الگو و شناسایی آماری الگو رخ داده است. این توسعهها بر مبنای مستحکم پژوهشهای پیشین انجام شده است و از مزایای منابع کامپیوتری افزایش یافته که در حال حاضر وجود دارند استفاده میکند. این توسعهها برای مثال شامل روشهای مبتنی بر کرنل و روشهای محاسباتی بیزی میشود.
مباحثی که در ادامه این مطلب پیرامون شناسایی آماری الگو ارائه میشود را بیشتر میتوان تحت عنوان «یادگیری ماشین» (Machine Learning) توصیف کرد. در یادگیری ماشین، تمرکز بیشتر بر روشهای دارای محاسبات شدید و کمتر روی رویکردهای آماری است؛ اما همپوشانی محکمی بین پژوهشها در زمینه شناسایی آماری الگو و یادگیری ماشین وجود دارد.
با توجه به آنکه اغلب روشهای شناسایی آماری الگو که در اینجا نیز معرفی خواهند شد، بر مبنای اصول متنوعی هستند، تنوعی طبیعی از اصطلاحاتی که گاهی متناقض هستند نیز وجود دارد. از اصطلاح «الگو» (Pattern) برای مشخص کردن بردار داده p-بُعدی از اندازهها (T اشاره به ترانهاده بردارد دارد) است؛ در این فرمول، xi اندازه ویژگیهای یک شی است. بنابراین، ویژگیها متغیرهایی هستند که به وسیله محققها تعیین شدهاند و برای دستهبندی حائز اهمیت هستند.
در تحلی افتراقی، فرض میشود که C گروه یا کلاس وجود دارد که با نمایش داده شدهاند و با هر الگوی x مرتبط است که یک متغیر رستهای z است که کلاس یا گروه عضویت را نشان میدهد. اگر z = i باشد، الگو متعلق به است.
مثالهایی از الگوها، سنجههایی از شکل موج آکوستیک در مسئله بازشناسی گفتار هستند؛ از دیگر مثالها میتوان به سنجههایی روی یک بیمار که به منظور شناسایی یک بیماری (تشخیص طبی) ساخته شدهاند اشاره کرد که در آن، سنجهها روی بیمارها به منظور پیشبینی خروجی احتمالی (پیشبینی) هستند. مثالی دیگر از این موارد، سنجشهایی روی متغیرهای آب و هوایی (برای پیشبینی یا پیشگویی) و یک تصویر دیجیتالی شده برای بازشناسی کاراکتر هستند. بنابراین، میتوان مشاهده کرد که اصطلاح الگو به معنای فنی خود، الزاما به ساختارهای درون تصاویر اشاره ندارد.
اصطلاحات اساسی که در این بخش استفاده میشوند شامل گروهی از موارد مانند «طراحی دستهبند الگو» (Pattern Classifier Design) یا «افتراق» (Discrimination) یا «طراحی قاعده تخصیص» (Allocation Rule Design) است. بر اساس این موارد، منظور آن است که پارامترهای دستهبند الگو تعیین شود که شماتیک آن در تصویر زیر نمایش داده شده است. بنابراین، به محصول میرسد. این پاسخ، معمولا تخمینی از کلاسی است که الگو به آن تعلق دارد. فرض میشود که مجموعهای از الگوها از کلاس شناخته شده (مجموعه آموزش یا طراحی) وجود دارند که برای طراحی دستهبند از آنها استفاده میشود (برای راهانداری پارامترهای داخلی آن). هنگامی که این کار انجام شد، ممکن است عضویت در کلاس برای الگوی ناشناخته x تخمین زده شود.
شکل مشتق شده برای دستهبندی الگوها بستگی به فاکتورهای مختلفی دارد. این مورد بستگی به توزیع مجموعه دادههای آموزش، و فرضیاتی که توزیع آنها را در نظر میگیرد دارد. دیگر فاکتور مهم، هزینه دستهبندی نادرست و در واقع، هزینه گرفتن تصمیم اشتباه است. در بسیاری از کاربردها، کمیسازی هزینههای دستهبندی نادرست دشوار است، زیرا ترکیبی از مشارکت چندین هزینه مختلف شامل زمان و دیگر موارد موضوعی است. برای مثال، در تشخیص پزشکی، هر درمانی دارای هزینههای متفاوت مرتبط با آن است. این هزینهها شامل هزینه داروهای متفاوت، بیماری که محل انجام اقدامات است و خطای عوارض میشود.
شکل شماتیک ارائه شده در بالا، بیش از اندازه روال دستهبندی الگو را سادهسازی کرده است. دادهها ممکن است چندین مرحله تبدیل را پیش از رسیدن به خروجی نهایی داشته باشند. این تبدیلها (گاهی با اصطلاح پیشپردازش، انتخاب ویژگی یا استخراج ویژگی به آنها اشاره میشود) روی دادهها به شکلی عمل میکند که ابعاد آن را کاهش میدهد (تعداد ویژگیها را کاهش می دهد)، اطلاعات تکراری یا نامرتبط را حذف میکند و آن را به شکلی مناسبتر برای دستهبندی متعاقب مبدل کند.
اصطلاح «افتراق ذاتی» (Intrinsic Dimensionality) به حداقل تعداد متغیرهای مورد نیاز برای ثبت ساختار درون دادهها اشاره دارد. در مثال بازشناسی گفتار که در بالا به آن اشاره شد، یک گام پیشپردازش ممکن است تبدیل شکل موج باشد. آنچه در این راستا به وقوع میپیوندد، فرایند استخراج ویژگی (گرفتن ترکیب غیرخطی ممکن متغیرهای اصلی برای شکل دادن متغیرهای جدید) است. انتخاب ویژگی فرایند انتخاب زیرمجموعهای از مجموعه داده متغیرها است.
اصطلاحات مورد استفاده بین نویسندگان مختلف متفاوت است. گاهی اصطلاح «الگوی ارائه» (Presentation Pattern) برای برداری از سنجهها که روی یک حسگر ساخته شده است (برای مثال، تصویرگر اپتیکی، رادار) با اصطلاح «الگوی ویژگی» (Feature Pattern) برای مجموعه کوچکی از متغیرهای به دست آمده به وسیله تبدیل بردار اصلی سنجهها (با فرایند انتخاب ویژگی یا استخراج ویژگی) از بردار اصلی سنجهها مورد استفاده قرار میگیرند. در برخی از مسائل، اندازهگیری ممکن است مستقیما روی خود بردار ویژگیها باشد. در این شرایط، هیچ مرحله انتخاب ویژگی خودکاری وجود ندارد و کار انتخاب ویژگی به وسیله اکتشافگری که متغیرهای مهم برای یک مسئله دستهبندی مشخص را «میداند» (از طریق انجام آزمایش، دانش مطالعات قبلی و دامنه مسئله) انجام میشود. اگرچه، در بسیاری از موارد، نیاز به انجام یک یا تعداد بیشتری تبدیل برای دادههای سنجیده شده است.
در برخی از دستهبندهای الگو، هر یک از گامهای بالا ممکن است به عنوان عملیات مجزایی ارائه و تعریف شوند، در حالی که دیگر موارد ممکن است به این صورت نباشند. همچنین، در برخی از دستهبندها، گامهای اولیه گرایش به آن دارند که مختص مسئله باشند، همانطور که در مثال مربوط به بازشناسی گفتار که پیش از این به آن پرداخته شد نیز به همین صورت است. در ادامه مطلب شناسایی آماری الگو فرض بر این است که روشهای انتخاب و استخراج ویژگی و همچنین انجام تبدیلها، مختص یک کاربرد خاص نیستند. اگرچه این بدین معنا نیست که همه روشها برای کلیه کاربردها مناسب هستند، اما انجام پیشپردازشهای مبتنی بر دامنه، بر عهده خود پژوهشگر است.
گامهای موجود در شناسایی آماری الگو
کار شناسایی آماری الگو دارای چندین گام است که در ادامه توضیح داده شدهاند. همه این مراحل الزاما در همه مسائل انجام نمیشوند و همچنین، برخی از مراحل ممکن است با یکدیگر ادغام و پیادهسازی شوند؛ در این صورت، مرز بین گامهای ادغام شده با یکدیگر، مشخص نیست و نمیتوان آنها را از یکدیگر به طور کامل و دقیق تفکیک کرد. همچنین، روشهای پیشپردازش مختص دامنهای نیز وجود دارند که ممکن است در مراحلی که در ادامه به آنها اشاره شده است، بیان نشده باشند.
به طور کلی، آنچه در ادامه بیان میشود شمای کلی از کار شناسایی آماری الگو است.
- فرمولهسازی مسئله: این کار به معنای آن است که درک شفافی از اهداف اکتشاف حاصل شود و برای گامهای لازم برای انجام کار شناسایی آماری الگو برنامهریزی شود.
- گردآوری دادهها: انجام اندازهگیری روی متغیرهای مناسب و ثبت جزئیات از رویه گردآوری دادهها کاری است که در این مرحله انجام میشود.
- آزمودن مقدماتی دادهها: بررسی دادهها، محاسبه آمارهای خلاصه و تولید نمودارها به منظور کسب درکی از ساختار انجام میشود.
- انتخاب یا استخراج ویژگی: انتخاب متغیرها از سنجههای تنظیم شده برای انجام کار شناسایی آماری الگو لازم است. این متغیرهای جدید ممکن است به وسیله تبدیلهای خطی یا غیرخطی مجموعه داده اصلی به دست نیایند (استخراج ویژگی). در برخی از موارد، جداسازی فعالیتهای استخراج ویژگی و دستهبندی، کاری دشوار است.
- دستهبندی الگوی نظارت نشده یا خوشهبندی: به این مرحله میتوان به چشم تحلیل داده اکتشافی نگریست و این کار ممکن است یک نتیجهگیری خوب را ارائه کند. از سوی دیگر، این مورد ممکن است ابزاری برای پیشپردازش دادههای برای روال دستهبندی نظارت شده باشد.
- اعمال رویههای متمایزسازی یا رگرسیون متناسب با مسئله: دستهبندی با استفاده از مجموعهای از الگوهای آموزش تست انجام میشود.
- ارزیابی نتایج: این گام ممکن است شامل اعمال دستهبند آموزش دیده برای یک مجموعه داده مستقل «تست ست» (Test Set) از الگوهای برچسبگذاری شده باشد.
- تفسیر: تفسیر نتایج و خروجیهای حاصل شده از این مراحل محسوب میشوند.
مراحل بیان شده در بالا لزوما یک فرایند تکرار شونده هستند. تحلیل نتایج ممکن است منجر به فرضیههایی شود که نیازمند گردآوری دادههای بیشتر هستند. همچنین، چرخه ممکن است در مراحل گوناگون متوقف شود. پرسش مطرح شده ضمن طرح مسئله شناسایی آماری الگو و بازشناسی الگو، ممکن است که به وسیله آزمودن اولیه دادهها پاسخ داده شود و یا شاید نتوان از پاسخ آن پردهبرداری کرد و نیاز به فرمولهسازی مجدد مسئله باشد.
روشهای شناسایی آماری الگو
روشهای آماری برای شناسایی آماری الگو در فازهای «کاهش ابعاد» (Dimensionality Reduction) شامل «استخراج ویژگی» (Feature Extraction)، «انتخاب ویژگی» (Feature Selection) و مرحله بازشناسی الگو کاربرد دارند.
از جمله این روشها میتوان به موارد زیر اشاره کرد:
- سنجههای مبتنی بر فاصله (Distance Metrics)
- روشهای بیزی (Bayesian Methods)
- دستهبندهای ترتیبی (Sequential Classifiers)
- روشهای متمایزگر ویژگیها (Discriminating Feature Methods)
- روشهای فازی (Fuzzy Methods)
- روش k نزدیکترین همسایگی (K-Nearest Neighbor)
- توابع تمایزی خطی و مرتبه بالاتر (Linear and Higer Order Discriminant Functions)
- کمینه فاصله (Minimum Distance)
- فیوژن چند دستهبندی (Multi-classifier fusion)
- شبکههای عصبی و روشهای پرسپترون (Neural Network and Perceptron Methods)
- زمینه تصادفی مارکوف (Markov Random Field)
- الگوریتم ژنتیک (Genetic Algorithm)
- تخمین غیر پارامتری (Nonparametric Estimation)
- ماشین بردار پشتیبان (Support Vector Machine | SVM)
- بیشینه کردن امید ریاضی (Expectation Maximization | EM)
کاربردهای شناسایی آماری الگو
طیف وسیعی از کاربردها برای بازشناسی الگو از موضوعات کلاسیکتر مانند تشخیص کاراکتر خودکار گرفته تا مباحث جدیدتر در حوزه «دادهکاوی» (Data Mining) (مانند رتبهبندی کارتهای اعتباری، تحلیل خرید مشتریان و تحلیل تراکنشهای کارتهای اعتباری) توجهات زیادی را به خود جلب کردهاند و بنابراین، پژوهشهای زیادی پیرامون آنها انجام و روشهای متعددی برای آنها ارائه شده است. دیگر پژوهشگران نیز با توسعه ماشینهایی با کارایی «مغز مانند» که در برخی موارد میتوانند کارایی انسان را شبیهسازی کنند، انگیزه گرفتهاند. روشهای شناسایی آماری الگو در حوزههای گوناگونی شامل «بازشناسی چهره» (Face Recognition)، «بازشناسی دستخط» (HandWriting Recognition) و زمینههای دیگر کاربرد دارند.
معرفی منابع آموزش تشخیص الگو و شناسایی آماری الگو
با توجه به کاربردهای قابل توجهی که تشخیص الگو (بازشناسی الگو | Pattern Recognition) و شناسایی آماری الگو در زمینههای مختلف دارند، آموزشهای مخصوص دامنههای خاص شامل تشخیص چهره، تشخیص گفتار، تشخیص دست خط و دیگر موارد ارائه میشوند. در ادامه، آموزشهای ویدئویی به زبان فارسی در این راستا معرفی شدهاند.
آموزش طبقه بندی و بازشناسی الگو با شبکه های عصبی LVQ در متلب
طول مدت این دوره آموزشی ویدئویی دو ساعت و چهل و یک دقیقه و مدرس آن، دکتر سید مصطفی کلامی هریس است. در دوره آموزشی آموزش طبقه بندی و بازشناسی الگو با شبکه های عصبی LVQ در متلب، ابتدا مباحث تئوری الگوریتمهای LVQ۱ و LVQ۳ ،LVQ2.۱، LVQ۲ ،QLVQ۱ به طور کامل مورد بررسی قرار گرفته است. سپس، پیادهسازی این روشها در متلب و استفاده از آنها برای طبقهبندی و بازشناسی الگو به طور کامل تشریح شده است. از جمله سرفصلهای ارائه شده در این دوره آموزشی میتوان به موارد زیر اشاره کرد.
- تعریف مسئله Vector Quantization یا VQ
- بررسی مفهوم رقابت در VQ
- نمودار ورونو (Voronoi Diagram)
- ترسیم نمودار ورونو در متلب
- الگوریتم بهینه VQ برای یادگیری نظارت نشده
- الگوریتم LVQ1 برای یادگیری نظارت شده
- شباهت بین الگوریتمهای LVQ و نگاشت خود سازمانده (Self Organizing Map)
- الگوریتم بهینه شده QLVQ1
- الگوریتمهای LVQ2 و LVQ2.1 برای یادگیری نظارت نشده دیفرانسیلی (تفاضلی)
- الگوریتم LVQ3 برای یادگیری نظارت شده
- ایجاد شبکههای عصبی LVQ در متلب
- انجام پروژه شناسایی الگو با شبکه های عصبی از صفر تا صد روی مجموعه داده گل زنبق یا همان Iris Data Set (شامل پیشپردازش دادهها، آمادهسازی مدل، اعمال مدل روی دادهها، ارزیابی خروجیها)
- انجام پروژه شناسایی الگو با شبکه های عصبی برای تشخیص نوع تومور (خوشخیم/بدخیم) در سرطان سینه
- و بسیاری از دیگر مباحث
آموزش پروژه محور پردازش تصویر با OpenCV در ++C – تشخیص چهره
طول مدت این دوره آموزشی پنجاه و پنج دقیقه و مدرس آن مهندس میلاد شیخلر است. تشخیص چهره خود یکی از انواع مسائل و در واقع به نوعی، از کاربردهای تشخیص الگو به شمار میرود. در این آموزش ویدئویی و به زبان فارسی پروژه محور، چگونگی انجام تشخیص چهره با بهرهگیری از کتابخانه محبوب پردازش تصویر «اپنسیوی» (OpenCV) با بهرهگیری از زبان برنامهنویسی پایتون آموزش داده شده است. برخی از سرفصلهای ارائه شده در این مطلب، در ادامه بیان شده است:
- معرفی و نصب کتابخانه OpenCV
- کدنویسی برنامه پردازش تصویر با Open CV
- انجام یک پروژه تشخیص چهره از صفر تا صد