روش PCA(Principal Component Analysis) یک روش کاهش ابعاد غیرنظارتی(unsupervised) خطی است. منظور از غیرنظارتی بودن اینست که کاهش ابعاد بدون در نظر گرفتن برچسب دادهها انجام میشود و منظور از خطی بودن اینست که ویژگیهای جدید هرکدام یک ترکیب خطی از ویژگیهای اولیه هستند.
معمولا اگر دادهها در راستای یک ویژگی دارای پراکندگی بیشتری باشند، احتمالا در آن راستا بهتر میتوان دادهها را از هم جدا کرد.
مثلا اگر تعدادی سیب داشته باشیم و وزن همه آنها تقریبا برابر باشد، احتمالا جداسازی سیبهای با کیفیت از سیبها بیکیفیت بر اساس وزن خیلی ساده نخواهد بود. اما اگر تفاوت رنگ در این سیبها خیلی زیاد باشد، شاید بتوان بر این اساس جداسازی بهتری را انجام داد. البته این موضوع همواره درست نیست و گاهی ممکنست پراکندگی در راستای یک ویژگی کم باشد ولی همان ویژگی معیار بسیار مناسبی برای جداسازی دادهها باشد.
بخاطر همین نکته آخر در حذف ویژگیها به روش PCA باید دقت زیادی کرد و به عبارت دیگر باید خسیس بود.
فرض کنید n داده داریم که هرکدام دارای d ویژگی هستند. هدف پیدا کردن یک ترکیب خطی از این d ویژگی است به طوری که پراکندگی دادهها در آن راستا حداکثر باشد. اگر این راستا را با بردار u نشان دهیم و ویژگیها را به ترتیب با f_1 تا f_d نامگذاری کنیم، ویژگی مطلوب به صورت زیر است:
که با ضرب در بردار ویژگی به صورت زیر در میآید:
بنابراین مساله به صورت فرمال ریاضی به صورت زیر خواهد بود:
در رابطه بالا سیگما ماتریس کواریانس دادهها در راستای بردار u است که به صورت زیر محاسبه میشود:
با نوشتن معادله لاگرانژین برای مساله بهینه سازی مشروط گفته شده و مشتق گرفتن از آن به روابط زیر میرسیم:
با توجه به رابطه فوق میتوان نتیجه گرفت که u بردار ویژه ماتریس کواریانس دادههاست و با توجه به اینکه هرچقدر لامبدا بزرگتر باشد واریانس در راستای u بیشتر میشود، میتوان نتیجه گرفت که حداکثر واریانس به ترتیب در راستای بردار ویژه متناظر با بزرگترین مقدار ویژه است.