با سلام 

خب در این قسمت قصد داریم استفاده از تکنیک PCA را توی یه پروژه توضیح بدیم :

فرض کنید شما تو فاز استخراج ویژگی، یه سری ویژگی رو بدست آوردین، الان میخواین ابعاد این ویژگی ها رو کاهش بدین. خب شروع میکنید به نوشتن یه تابع برای PCA و بردار ویژگی هاتون رو هم به عنوان ورودی بهش میدین. 

حالا داخل تابع چی بنویسیم؟ فاز اول میانگین گیری هستش، از چی؟ از همون بردار ویژگی که به عنوان ورودی بهش دادین. بعد از این باید اختلاف بردار ویژگی رو از بردار میانگین بدست بیارین.

فاز دوم محاسبه ی کواریانس، ماتریس کواریانس یه ماتریس N*N هستش، میتونیم از این ماتریس K تا بردار ویژه رو بدست بیاریم. واسه همین از تابع eig استفاده میکنیم، چون ایشون بردار ویژه و مقادیر ویژه رو از یه ماتریس واسمون فرآهم میکنن. 

فاز سوم تغییر مختصات، الان ما بردار ویژه و مقادیر ویژه رو داریم، پس داده هامون رو میبریم به مختصات جدید، پس از دستور diag استفاده میکنین. 

خب پس در کل به این نتیجه رسیدیم که بردارهای ویژگی N بعدی براساس K بردار مشخصه، به فضای K بعدی نگاشت میشن. 

حالا خروجی تابع PCA، به عنوان ورودی به شبکه عصبی (مثلا تو پروژتون از شبکه عصبی استفاده کردین) داده میشه واسه آموزش شبکه. 

راستی یه فیلم آموزشی فارسی در زمینه ی PCA هست، که میتونین از لینک زیر تهیه کنید :

http://faradars.org/courses/mvrnn9102mn-principal-component-analysis-pca-in-matlab