مفهوم ویژگی، استخراج ویژگی ، بردار ویژگی و مشخصات ویژگی خوب

مفهوم ویژگی ، بردار ویژگی و استخراج ویژگی چیست؟

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

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

استخراج ویژگی در یادگیری ماشین

فرض کنید در مثال بالا از هر ماهی عرض و شدت روشنایی ماهی را به عنوان ویژگی در نظر بگیریم، این دو تا ویژگی را از تصویر ثبت شده ماهی اندازه گیری می کنیم و کنار هم قرار میدهیم که در واقع به آن بردار ویژگی می گوییم. سوال اینجاست که چرا باید ویژگی استخراج کنیم؟ آیا نمیتوان داده را مستقیما به مدل ارائه کرد؟ داده ای که تمام اطلاعات داخل آن هست!

بیان مثال برای استخراج ویژگی

اجازه بدهید با یک مثال این مسئله را توضیح بدهم. فرض کنید شما میخواهید یک ماشینی طراحی کنید که کارش تشخیص چهره باشد!

 اگر خیلی ساده به مسئله نگاه کنیم در حالت ایده آل ما به چنین سیستمی نیاز داریم:

شناسایی چهره

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

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

فرض کنید تصویر ورودی شما یک ماتریس 4*4 است، در این صورت به صورت زیر به یک بردار 1*16 تبدیل می‌شود.

تبدیل ماتریس به بردار

خب اگر تصویر ما یک ماتریس 50*50 باشد در آن صورت بردار ویژگی ما یک بردار 2500*1  خواهد شد! یک عدد بسیار بزرگ! حال اگر اندازه تصویر بزرگتر شود که این اندازه خیلی بزرگتر هم خواهد شد!

خب ایراد ارائه مستقیم داده خام به مدل در چیست ؟

  • افزایش پیچیدگی محاسباتی: هرچقدر تعداد ویژگی زیاد شود، هزینه محاسباتی افزایش می یابد و همچنین مدل مجبور است رابطه بین خروجی و یک ورودی که ابعاد بسیار بالایی دارد را پیدا کند، که کار بسیار سختی است و رابطه مناسبی پیدا نخواهد کرد. اگر فرض بر این باشد که تمام ویژگی ها خوب هستند و ما توانایی افزایش تعداد نمونه ها را داریم شاید بتوان با افزایش تعداد نمونه ها تا حدودی رابطه دقیق تری بین ورودی و خروجی پیدا کرد. ولی در عمل ما تعداد نمونه ی کمی داریم و محدودیت داده داریم!
  • وابستگی ویژگی ها به تغییرات: اطلاعات داده خام وابسته به تغییرات است! یعنی در واقع ویژگی های استخراج شده که در اینجا اطلاعات هر پیکسل تصویر است به پارامترهای زیادی وابسته است و با تغییر کوچک این پارامترها مقادیر پیکسلها تغییر می کنند و در نتیجه مدل ما درست کار نخواهد کرد! برای مثال اگر شخص ریش داشته باشد! دیگر پیکسلها مقادیر قبیلی را نخواهند داشت! تغییراتی همچون جابجایی، چرخش، نویز، اندازه و غیره تاثیر مستقیمی بر مقادیر پیکسل ها دارند و در نتیجه مدل ما هیچ وقت درست کار نخواهد کرد.

2- وابستگی ویژگی ها به تغییرات

راهکار

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

کلاس بندی

برای مثال در تصویر زیر فاصله های بین نقاط کلیدی تصویر را به عنوان ویژگی در نظر بگیریم.

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

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

چه ویژگی هایی استخراج کنیم؟ مشخصات ویژگی خوب چیست؟

ویژگی خوب باید سه شرط زیر را داشته باشد:

  • Informative باشد. یعنی رابطه مستقیمی با خروجی داشته باشد، مثلا در تشخیص چهره دمای اتاق یا رنگ پیراهن هیچ ربطی به خروجی ندارند و نباید استخراج شوند.
  • Discriminant باشد. ویژگی باید مقادیر متفاوتی بین کلاس ها داشته باشد. در حالت کلی ویژگی خوب ویژگی ای است که واریانس درون کلاسی آن حداقل(یعنی بین نمونه های مشابه مقدار یکسان و یا نزدیکی بهم داشته باشند) و واریانس بین کلاسی آن حداکثر(بین نمونه های سایر کلاسهاد مقدار متفاوتی داشته باشند) داشته باشند.

ویژگی های خوب و بد در یادگیری ماشین

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

چطور ویژگی خوب استخراج کنیم؟

استخراج ویژگی یکی از مهمترین مراحل یادگیری ماشین است و اگر ما ویژگی خوبی استخراج نکنیم، الگوریتم تصمیم گیرنده ما هرچقدر هم که خوب باشد نمی تواند عملکرد خوبی داشته باشد! پس باید حوسمان باشد که ویژگی های خوبی به مدل تصمیم گیرنده ارائه بدهیم. ولی خب سوال اینجاست که من چگونه ویژگی خوب استخراج کنم؟؟ جواب: گوناگون(مزاح بود)

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

;کلاس بندی

پس در مرحله استخراج ویژگی، ویژگی ای که استخراج شده لزوما ویژگی خوبی نیست و باید در مرحله انتخاب ویژگی، ویژگی‌های خوب حفظ و ویژگی های بد حذف شوند!

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


 


اولین سایت آموزش  دروس مربوط به رشته ی مهندسی پزشکی و هوش مصنوعی

لینک کانال

لینک اینستاگرام 

سوالات و دیدگاه خود را درباره ی این جلسه با ما درمیان بگذارید.

مشاهده همه افزودن یک یادداشت
شما
دیدگاه خود را وارد کنید
 

با ما همراه باشید

تمام حقوق مادی و معنوی این سایت مربوط به آکادمی آنلاین مهندسی پزشکی و هوش مصنوعی می باشد
X