ویژگی و استخراج ویژگی چیست؟
چرا باید ویژگی استخراج کنیم؟
مشخصات ویژگی خوب چیست؟
در شناسایی آماری الگو، ویژگی به یک مشخصه یا خصوصیت قابل اندازهگیری از یک پدیدهای که مشاهده میکنیم گفته میشود. از هر پدیده ویژگیهای مختلفی را اندازهگیری میکنیم که به آن پروسه استخراج ویژگی گفته میشود.
سپس ویژگیهای استخراج شده را کنار هم قرار میدهیم که به آن بردار ویژگی گفته میشود.
برای اینکه مدل یاد بگیرد ما نیاز به داده داریم، از چهرههای مختلفی که قراره سیستم ما چهره آن را تشیخص دهد داده جمعآوری میکنیم.
حال نوبت این رسیده است که دادهها را به مدل ارائه دهیم تا مدل یاد بگیرد. اگر بخواهیم از شدت روشنایی هر پیکسل تصویر به عنوان ویژگی استفاده کنیم و خود تصویر به عنوان ورودی به مدل ارائه دهیم، یعنی اطلاعات خود تصویر را مستقیماً به مدل ارائه دهیم، لازم است که در ابتدا تصویر را به یک بردار تبدیل کنیم تا بردار ویژگی آن تصویر ساخته شود و بعد به مدل ارائه دهیم. توجه داشته باشیم که مدل یادگیری ماشین ورودی بردار میگیرد نه ماتریس!فرض کنید تصویر ورودی شما یک ماتریس 4*4 است، در این صورت به صورت زیر به یک بردار 1*16 تبدیل میشود.
خب اگر تصویر ما یک ماتریس 50*50 باشد در آن صورت بردار ویژگی ما یک بردار 2500*1 خواهد شد! یک عدد بسیار بزرگ! حال اگر اندازه تصویر بزرگتر شود که این اندازه خیلی بزرگتر هم خواهد شد!
ایراد ارائه مستقیم داده خام به مدل در چیست؟
هرچقدر تعداد ویژگی زیاد شود، هزینه محاسباتی افزایش مییابد و همچنین مدل مجبور است رابطه بین خروجی و یک ورودی که ابعاد بسیار بالایی دارد را پیدا کند، که کار بسیار سختی است و رابطه مناسبی پیدا نخواهد کرد. اگر فرض بر این باشد که تمام ویژگیها خوب هستند و ما توانایی افزایش تعداد نمونهها را داریم شاید بتوان با افزایش تعداد نمونهها تا حدودی رابطه دقیقتری بین ورودی و خروجی پیدا کرد.
اطلاعات داده خام وابسته به تغییرات است یعنی در واقع ویژگیهای استخراج شده که در اینجا اطلاعات هر پیکسل تصویر است به پارامترهای زیادی وابسته است و با تغییر کوچک این پارامترها مقادیر پیکسلها تغییر میکنند و در نتیجه مدل ما درست کار نخواهد کرد برای مثال اگر شخص ریش داشته باشد! دیگر پیکسلها مقادیر قبیلی را نخواهند داشت! تغییراتی همچون جابجایی، چرخش، نویز، اندازه و غیره تأثیر مستقیمی بر مقادیر پیکسلها دارند و در نتیجه مدل ما هیچ وقت درست کار نخواهد کرد.
به جای اینکه از خود تصویر استفاده کنیم، یا به عبارت دیگر به جای اینکه داده ورودی را مستقیماً وارد سیستم کنیم، از ویژگیهای آن استفاده کنیم. یعنی یک سری ویژگی که نماینده خوبی برای داده ورودی باشند و در عین حال وابسته به تغییرات نباشند را استخراج کنیم و به عنوان ورودی به مدل ارائه دهیم.
در این صورت هم مشکل پیچیدگی محاسباتی حل میشود و هم ویژگیهایی استخراج میکنیم که وابسته به تغییرات نباشند که این وابسته به شما خواهد بود که چه روشی را برای استخراج ویژگی استفاده کنید.
چه ویژگیهایی استخراج کنیم و مشخصات ویژگی خوب چیست؟
ویژگی خوب باید سه شرط زیر را داشته باشد:
یعنی رابطه مستقیمی با خروجی داشته باشد، مثلاً در تشخیص چهره دمای اتاق یا رنگ پیراهن هیچ ربطی به خروجی ندارند و نباید استخراج شوند.
ویژگی باید مقادیر متفاوتی بین کلاسها داشته باشد. در حالت کلی ویژگی خوب ویژگیای است که واریانس درون کلاسی آن حداقل (یعنی بین نمونههای مشابه مقدار یکسان و یا نزدیکی بهم داشته باشند) و واریانس بین کلاسی آن حداکثر (بین نمونههای سایر کلاسها مقدار متفاوتی داشته باشند) داشته باشند.
ویژگیها اگر مستقل نباشند درواقع بحث افزونگیپیش میآید که باعث کاهش عملکرد سیستم میشود. ما ممکن است ویژگیهای خوبی استخراج کنیم، ولی این ویژگیها کنار هم اصلاً نمیتوانند خوب عمل کنند و در نتیجه کارایی مدل کاهش مییابد.
استخراج ویژگی یکی از مهمترین مراحل یادگیری ماشین است و اگر ما ویژگی خوبی استخراج نکنیم، الگوریتم تصمیم گیرنده ما هرچقدر هم که خوب باشد نمیتواند عملکرد خوبی داشته باشد پس باید حوسمان باشد که ویژگیهای خوبی به مدل تصمیم گیرنده ارائه بدهیم.
در یادگیری ماشین، الگوریتمهایی داریم که کارشان تشخیص ویژگی خوب هست، پس تا جایی که میتوانید شما ویژگی استخراج کنید و کاری به خوب یا بد بودن آن نداشته باشید، در واقع کورکورانه هر ویژگیای که میتوانید استخراج کنید بعداً این الگوریتمهای انتخاب ویژگی، ویژگیهای خوب را انتخاب کرده و به کلاسبند ارائه میدهند. در یادگیری ماشین برای تشخیص چهره و یا هر وظیفه شناسایی چه سیگنال و چه تصویر از مدل زیر استفاده میکنند.
پس در مرحله استخراج ویژگی، ویژگیای که استخراج شده لزوماً ویژگی خوبی نیست و باید در مرحله انتخاب ویژگی، ویژگیهای خوب حفظ و ویژگیهای بد حذف شوند.
[1]. Queiros, C.E. and Gelsema, E.S., On feature selection. In: Proceedings of Seventh International Conference on Pattern Recognition, 1:128–130, July-Aug 1984.
[2]. Ichino, M. and Sklansky, J., Feature selection for linear classifier. In: Proceedings of the Seventh International Conference on Pattern Recognition, volume 1, 124–127, July–Aug 1984.
[3]. Ichino, M. and Sklansky, J., Optimum feature selection by zero-one programming. IEEE Trans. on Systems, Man and Cybernetics, SMC-14(5):737–746, September/October 1984.