رفتن به محتوای اصلی
توضیح کوهستانکاهش ابعادتوضیح الگوریتم۱۱ شهریور ۱۴۰۵، ۶:۲۴· 5 دقیقه مطالعه· در تحلیل داده

مکانیسم تحلیل مؤلفه‌های اصلی (PCA): کاهش ابعاد چگونه کار می‌کند و چه زمانی باید از آن استفاده کرد

تحلیل مؤلفه‌های اصلی (PCA) با شناسایی جهت‌های حداکثر واریانس، مجموعه‌داده‌های عظیم را فشرده می‌کند و به الگوریتم‌ها اجازه می‌دهد هزاران متغیر را بدون از دست دادن الگوهای زیربنایی پردازش کنند. در حالی که این روش «نفرین ابعاد» را حل می‌کند، به طور قاطع قابلیت تفسیر انسانی را فدای سرعت محاسباتی می‌کند.

به قلم ساناز امامی

مهندسان یادگیری ماشین 40%کارشناسان حوزه و تحلیلگران 35%آمارشناسان و محققان 25%
مهندسان یادگیری ماشین
اولویت‌دهی به کارایی محاسباتی و حذف هم‌خطی چندگانه برای ساخت خطوط لوله پیش‌بینی سریع‌تر و پایدارتر.
کارشناسان حوزه و تحلیلگران
ارزش قائل شدن برای قابلیت تفسیر ویژگی‌ها و هشدار در مورد کاهش ابعاد زمانی که ذینفعان نیاز به درک متغیرهای خاص محرک پیش‌بینی مدل دارند.
آمارشناسان و محققان
تمرکز بر مفروضات ریاضی الگوریتم، به ویژه اتکای آن به خطی بودن و حساسیت به داده‌های پرت مقیاس‌بندی نشده.

نکات کلیدی

  1. PCA تعداد متغیرها را در یک مجموعه‌داده کاهش می‌دهد، در حالی که حداکثر واریانس آماری را حفظ می‌کند.
  2. این الگوریتم ابتدا نیاز به استانداردسازی داده دارد، زیرا نسبت به مقیاس اندازه‌گیری‌های اصلی بسیار حساس است.
  3. ویژگی‌های جدیدی به نام مؤلفه‌های اصلی ایجاد می‌شوند که کاملاً با یکدیگر همبستگی ندارند و هم‌خطی چندگانه را از بین می‌برند.
  4. این فرآیند قابلیت تفسیر انسانی را از بین می‌برد، زیرا مؤلفه‌های جدید ترکیبی ریاضی از تمام متغیرهای اصلی هستند.
  5. PCA برای خطوط لوله یادگیری ماشین پیش‌بینی‌کننده ایده‌آل است اما برای مدل‌های تشخیصی که در آن‌ها باید علل خاصی توضیح داده شوند، نامناسب است.

تحلیل مؤلفه‌های اصلی (Principal Component Analysis یا PCA) یک الگوریتم ریاضی است که تعداد متغیرها را در یک مجموعه‌داده کاهش می‌دهد، در حالی که حداکثر اطلاعات اصلی ممکن را حفظ می‌کند. به زبان ساده، این الگوریتم یک فضای با ابعاد بالا—تصور کنید یک صفحه گسترده با هزاران ستون—را می‌گیرد و با یافتن مهم‌ترین زوایای دید به داده‌ها، آن را به مجموعه‌ای کوچک‌تر و متراکم‌تر از ویژگی‌ها تبدیل می‌کند. این روش راه‌حل استاندارد ریاضی برای «نفرین ابعاد» (curse of dimensionality) است، پدیده‌ای که در آن افزودن متغیرهای بیشتر به یک مدل یادگیری ماشین، حجم فضای داده را به صورت تصاعدی افزایش داده، آن را پراکنده می‌کند و باعث بیش‌برازش (overfit) الگوریتم‌ها می‌شود.[1][2]

برای درک نحوه عملکرد PCA، ابتدا باید واریانس را درک کرد. واریانس میزان پراکندگی مجموعه‌ای از نقاط داده را اندازه‌گیری می‌کند. این الگوریتم بر اساس اصل بنیادی عمل می‌کند که جهت‌هایی در داده‌ها که دارای بالاترین واریانس هستند، حاوی حیاتی‌ترین اطلاعات یا سیگنال هستند، در حالی که جهت‌های با واریانس کم عمدتاً نویز محسوب می‌شوند. با جداسازی این جهت‌های با واریانس بالا، الگوریتم می‌تواند بقیه را کنار بگذارد بدون اینکه شکل و روابط اساسی مجموعه‌داده را از دست بدهد.[1][4]

مکانیسم با استانداردسازی آغاز می‌شود، که یک پیش‌نیاز سخت‌گیرانه است. از آنجا که PCA نسبت به مقیاس متغیرهای اولیه بسیار حساس است، همه ویژگی‌ها باید قبل از انجام هر گونه محاسبه‌ای، به یک مقیاس مشترک نرمال‌سازی شوند. اگر یک مجموعه‌داده شامل «سن» باشد که در ده‌ها اندازه‌گیری شده و «درآمد» که در ده‌ها هزار اندازه‌گیری شده باشد، الگوریتم به اشتباه درآمد را به عنوان مهم‌ترین ویژگی شناسایی می‌کند، صرفاً به این دلیل که واریانس مطلق آن از نظر ریاضی بزرگ‌تر است. استانداردسازی همه متغیرها را مجبور می‌کند تا میانگین صفر و انحراف معیار یک داشته باشند و زمین بازی را برابر می‌کند.[2][5]

هنگامی که داده‌ها مقیاس‌بندی شدند، الگوریتم یک ماتریس کوواریانس محاسبه می‌کند. این یک شبکه ریاضی مربعی است که محاسبه می‌کند چگونه هر متغیر در مجموعه‌داده در رابطه با هر متغیر دیگری تغییر می‌کند. اگر دو متغیر با هم افزایش یابند، کوواریانس مثبت دارند؛ اگر یکی افزایش یابد در حالی که دیگری کاهش یابد، کوواریانس منفی دارند. این ماتریس کل شبکه روابط خطی درون داده‌ها را به تصویر می‌کشد و به عنوان نقشه بنیادی برای مرحله بعدی عمل می‌کند.[1][5][6]

چهار مرحله ریاضی مورد نیاز برای تبدیل متغیرهای خام به مؤلفه‌های اصلی.

موتور اصلی PCA، تجزیه مقادیر ویژه (eigendecomposition) است. الگوریتم دو شیء ریاضی را از ماتریس کوواریانس استخراج می‌کند: بردارهای ویژه (eigenvectors) و مقادیر ویژه (eigenvalues). بردارهای ویژه جهت‌های فضای ویژگی جدید—محورهای جدیدی که داده‌ها در امتداد آن‌ها تصویر خواهند شد—را نشان می‌دهند. مقادیر ویژه بزرگی واریانسی را که در امتداد هر یک از آن محورهای جدید وجود دارد، نشان می‌دهند. این جفت‌ها با هم، «مؤلفه‌های اصلی» مجموعه‌داده را تعریف می‌کنند.[1][3][4]

الگوریتم دو شیء ریاضی را از ماتریس کوواریانس استخراج می‌کند: بردارهای ویژه (eigenvectors) و مقادیر ویژه (eigenvalues).

سپس این مؤلفه‌های اصلی بر اساس مقادیر ویژه خود به ترتیب نزولی مرتب می‌شوند. اولین مؤلفه اصلی (PC1) تنها خطی است که از میان داده‌ها عبور می‌کند و حداکثر مطلق واریانس را به خود اختصاص می‌دهد. دومین مؤلفه اصلی (PC2) کاملاً متعامد—با زاویه دقیق ۹۰ درجه—نسبت به PC1 ترسیم می‌شود و حداکثر واریانس باقی‌مانده را به خود اختصاص می‌دهد. این الزام متعامد سخت‌گیرانه تضمین می‌کند که مؤلفه‌های جدید کاملاً با یکدیگر همبستگی ندارند و مشکل هم‌خطی چندگانه (multicollinearity) را که بسیاری از مدل‌های رگرسیون را آزار می‌دهد، از بین می‌برد.[2][4]

مرحله نهایی تصویرسازی (projection) است. مجموعه‌داده اصلی در بردارهای ویژه انتخاب شده ضرب می‌شود تا متغیرهای اصلی به فضای ابعادی جدید و کاهش‌یافته تبدیل شوند. ممکن است یک دانشمند داده با ۵۰۰ متغیر اصلی شروع کند، اما متوجه شود که ۱۰ مؤلفه اصلی اول، ۹۵ درصد از کل واریانس را توضیح می‌دهند. با حذف ۴۹۰ مؤلفه باقی‌مانده، بار محاسباتی به شدت کاهش می‌یابد، در حالی که سیگنال پیش‌بینی تقریباً به طور کامل حفظ می‌شود.[3][5]

نمودار اسکری (Scree Plot) با نشان دادن واریانس تجمعی توضیح داده شده، به دانشمندان داده کمک می‌کند تا تعیین کنند چند مؤلفه اصلی را حفظ کنند.

با این حال، این کارایی ریاضی با یک هزینه جدی همراه است: از دست دادن کامل قابلیت تفسیر انسانی. یک مؤلفه اصلی ترکیبی خطی از تمام ویژگی‌های اصلی است که با هم ترکیب شده‌اند. اگر یک مدل پیش‌بینی‌کننده تشخیص دهد که یک بیمار بر اساس «PC1» در معرض خطر بالای بیماری قرار دارد، یک پزشک نمی‌تواند به PC1 نگاه کند و بداند که آیا این خطر ناشی از فشار خون، سن، یا کلسترول است. متغیرهای جدید از نظر ریاضی خالص هستند اما از نظر عملی برای استدلال انسانی مبهم هستند.[2][3][7]

این مبادله دقیقاً تعیین می‌کند که چه زمانی باید از PCA استفاده شود. شواهد به شدت از استفاده از آن در خطوط لوله مدل‌سازی پیش‌بینی‌کننده حمایت می‌کنند، جایی که دقت و سرعت محاسباتی تنها معیارهای موفقیت هستند، مانند تشخیص تصویر، توالی‌یابی ژنومیک، یا الگوریتم‌های معاملات با فرکانس بالا. در این حوزه‌ها، متغیرهای خام برای پردازش کارآمد توسط الگوریتم‌ها بسیار زیاد هستند و تفسیر انسانی ویژگی‌های فردی به ندرت مورد نیاز است.[6][7]

مبادله اساسی PCA: سرعت محاسباتی به قیمت مستقیم قابلیت تفسیر ویژگی‌ها به دست می‌آید.

در مقابل، PCA اساساً برای مدل‌سازی تشخیصی یا تحلیل‌های تجاری که در آن‌ها ذینفعان نیاز به درک «چرایی» پشت یک پیش‌بینی دارند، نامناسب است. اگر یک تیم بازاریابی نیاز دارد بداند کدام متغیر جمعیتی خاص باعث ریزش مشتری می‌شود، تبدیل آن متغیرها به مؤلفه‌های اصلی غیرقابل تفسیر، کاربرد تحلیل را از بین می‌برد. علاوه بر این، از آنجا که PCA فقط روابط خطی را به تصویر می‌کشد، در فشرده‌سازی داده‌هایی که ساختار زیربنایی آن‌ها بسیار غیرخطی است، شکست خواهد خورد و نیاز به تکنیک‌های پیچیده‌تر یادگیری منیفولد مانند t-SNE یا UMAP برای حفظ ساختارهای محلی دارد.[4][6][7]

بررسی عمیق دیدگاه‌ها

مهندسان یادگیری ماشین

اولویت‌دهی به کارایی محاسباتی و حذف هم‌خطی چندگانه برای ساخت خطوط لوله پیش‌بینی سریع‌تر و پایدارتر.

برای مهندسانی که مدل‌های پیش‌بینی‌کننده می‌سازند، داده‌های خام اغلب بیش از حد نویزی و حجیم هستند که به طور کارآمد پردازش شوند. یک مجموعه‌داده با ۱۰,۰۰۰ ویژگی—مانند پیکسل‌ها در یک تصویر یا ژن‌ها در یک توالی—باعث می‌شود اکثر الگوریتم‌ها بیش‌برازش شوند یا به سادگی حافظه کم بیاورند. از این منظر، PCA یک ابزار فشرده‌سازی ضروری است. با کاهش ۱۰,۰۰۰ ویژگی به ۱۰۰ مؤلفه اصلی که همچنان ۹۵ درصد از واریانس را به خود اختصاص می‌دهند، مهندسان می‌توانند مدل‌ها را به صورت تصاعدی سریع‌تر آموزش دهند. علاوه بر این، از آنجا که مؤلفه‌های اصلی کاملاً متعامد هستند، هم‌خطی چندگانه را از بین می‌برند و ریاضیات زیربنایی مدل‌های رگرسیون را بسیار پایدارتر می‌کنند.

کارشناسان حوزه و تحلیلگران

ارزش قائل شدن برای قابلیت تفسیر ویژگی‌ها و هشدار در مورد کاهش ابعاد زمانی که ذینفعان نیاز به درک متغیرهای خاص محرک پیش‌بینی مدل دارند.

تحلیلگران تجاری و کارشناسان حوزه اغلب PCA را به عنوان یک جعبه سیاه می‌بینند که کاربرد داده‌های آن‌ها را از بین می‌برد. در زمینه‌هایی مانند مراقبت‌های بهداشتی، مالی یا بازاریابی، هدف یک مدل به ندرت فقط انجام یک پیش‌بینی است؛ هدف درک محرک‌های پشت آن پیش‌بینی است تا بتوان اقدامی انجام داد. اگر یک مدل از PCA استفاده کند، نمی‌تواند به یک پزشک بگوید که «مصرف سدیم بالا» باعث ایجاد مشخصات خطر در بیمار شده است—فقط می‌تواند به «مؤلفه اصلی ۳» اشاره کند. از آنجا که PC3 ترکیبی ریاضی از سدیم، سن، وزن و ده‌ها عامل دیگر است، این بینش برای تصمیم‌گیرندگان انسانی کاملاً غیرقابل اجرا است.

آمارشناسان و محققان

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

آمارشناسان تأکید می‌کنند که PCA یک راه‌حل جادویی نیست، بلکه یک تبدیل خطی خاص با مفروضات سخت‌گیرانه است. آن‌ها هشدار می‌دهند که PCA فقط به دنبال همبستگی‌های خطی است؛ اگر داده‌ها روی یک منیفولد پیچیده و منحنی (مانند شکل رول سوئیسی) قرار داشته باشند، PCA در به تصویر کشیدن ساختار واقعی زیربنایی شکست خواهد خورد. علاوه بر این، آمارشناسان حساسیت شدید الگوریتم به داده‌های پرت و مقیاس را برجسته می‌کنند. اگر یک متغیر واحد در میلیون‌ها اندازه‌گیری شود در حالی که بقیه در اعشار باشند، و داده‌ها از قبل به طور دقیق استانداردسازی نشوند، PCA به اشتباه تمام «اهمیت» را به متغیری با بزرگ‌ترین اعداد مطلق اختصاص می‌دهد و تحلیل را خراب می‌کند.

چرا مهم است

با رشد مجموعه‌داده‌ها و شامل شدن هزاران متغیر—از توالی‌یابی ژنومیک گرفته تا داده‌های تیک مالی—پردازش خام آن‌ها از نظر محاسباتی غیرممکن و از نظر ریاضی ناپایدار می‌شود. PCA مبنای ریاضی را برای فشرده‌سازی این داده‌ها فراهم می‌کند و مدل‌های یادگیری ماشینی مدرن را در عین حفظ سیگنال اصلی، عملی می‌سازد.

منابع

پوشش منابع

7 منبع

3 دیدگاه شناسایی‌شده

مهندسان یادگیری ماشین 40%کارشناسان حوزه و تحلیلگران 35%آمارشناسان و محققان 25%
  1. [1]Wikipediaآمارشناسان و محققان

    Principal component analysis

    مطالعه در Wikipedia
  2. [2]IBMکارشناسان حوزه و تحلیلگران

    What Is Principal Component Analysis (PCA)?

    مطالعه در IBM
  3. [3]Keboolaمهندسان یادگیری ماشین

    A Guide to Principal Component Analysis (PCA) for Machine Learning

    مطالعه در Keboola
  4. [4]Towards Data Scienceآمارشناسان و محققان

    PCA clearly explained — How, when, why to use it and feature importance: A guide in Python

    مطالعه در Towards Data Science
  5. [5]Towards Data Scienceآمارشناسان و محققان

    Principal Component Analysis Made Easy: A Step-by-Step Tutorial

    مطالعه در Towards Data Science
  6. [6]Neuromatch Academyآمارشناسان و محققان

    Tutorial 2: Principal Component Analysis

    مطالعه در Neuromatch Academy
  7. [7]تیم سردبیری کوهستانکارشناسان حوزه و تحلیلگران

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان

نظرات

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

هر زاویه. هر روز.

دریافت تحلیل داده اخبار همراه با پوشش کامل منابع و تحلیل دیدگاه‌ها، مستقیم در صندوق ورودی شما.