فهرست مطالب
1- مقدمه3
2- روشهای مبتنی بر استخراج ويژگی 5
2-1- Discrete Fourier Transform ( DFT) 6
2-2- Discrete Wavelet Transform ( DWT) 9
2-3- Principal Component Analysis ( PCA) 12
2-3-1- مفاهيم مقدماتي مورد نياز در PCA. 13
2-3-2- الگوريتم PCA. 15
2-4- Factor Analysis (FA)20
3- روشهای مبتنی بر انتخاب ويژگی 23
3-1- تعاريف. 23
3-2- روشهاي مختلف انتخاب ويژگي. 26
3-2-1- توابع توليد کننده 26
3-2-2- تابع ارزيابي . 27
3-2-3- دسته بندي و تشريح الگوريتم هاي مختلف انتخاب ويژگي 30
3-2-4- جمع بندي روشهاي انتخاب ويژگي . 43
4- فهرست منابع و مراجع 45
1- مقدمه
پيشرفتهاي بوجود آمده در جمع آوري داده و قابليتهاي ذخيره سازي در طي دهههاي اخير باعث شده در بسياري از علوم با حجم بزرگي از اطلاعات روبرو شويم. محققان در زمينههاي مختلف مانند مهندسي، ستاره شناسي، زيست شناسي و اقتصاد هر روز با مشاهدات بيشتر و بيشتري روبرو ميشوند. در مقايسه با بسترهاي دادهاي قديمي و كوچكتر، بسترهاي دادهاي امروزي چالشهاي جديدي در تحليل دادهها بوجود آوردهاند. روشهاي آماري سنتي به دو دليل امروزه كارائي خود را از دست دادهاند. علت اول افزايش تعداد مشاهدات (observations) است، و علت دوم كه از اهميت بالاتري برخوردار است افزايش تعداد متغيرهاي مربوط به يك مشاهده ميباشد.
تعداد متغيرهايي كه براي هر مشاهده بايد اندازه گيري شود ابعاد داده ناميده ميشود. عبارت ” متغير ” (variable) بيشتر در آمار استفاده ميشود در حالي كه در علوم كامپيوتر و يادگيري ماشين بيشتر از عبارات “ويژگي” (feature) و يا “صفت” (attribute) استفاده ميگردد.
بسترهاي دادهاي كه داراي ابعاد زيادي هستند عليرغم فرصتهايي كه به وجود ميآورند، چالشهاي محاسباتي زيادي را ايجاد ميكنند. يكي از مشكلات دادههاي با ابعاد زياد اينست كه در بيشتر مواقع تمام ويژگيهاي دادهها براي يافتن دانشي كه در دادهها نهفته است مهم و حياتي نيستند. به همين دليل در بسياري از زمينهها كاهش ابعاد داده يكي از مباحث قابل توجه باقي مانده است.
روشهاي كاهش ابعاد داده به دو دسته تقسيم ميشوند:
- روشهاي مبتني بر استخراج ويژگي: اين روشها يك فضاي چند بعدي را به يك فضاي با ابعاد كمتر نگاشت ميكنند. در واقع با تركيب مقادير ويژگيهاي موجود، تعداد كمتري ويژگي بوجود ميآورند بطوريكه اين ويژگيها داراي تمام (يا بخش اعظمي از) اطلاعات موجود در ويژگيهاي اوليه باشند. اين روشها به دو دستهي خطي و غير خطي تقسيم ميشوند.
- روشهاي مبتني بر انتخاب ويژگي: اين روشها سعي ميكنند با انتخاب زيرمجموعهاي از ويژگيهاي اوليه، ابعاد دادهها را كاهش دهند. در پارهاي از اوقات تحليلهاي دادهاي نظير طبقهبندي برروي فضاي كاسته شده نسبت به فضاي اصلي بهتر عمل ميكند.
در تهيه اين گزارش كمتر به اثباتهاي رياضي پرداخته شده و بيشتر به مفاهيم و كاربرد روشها توجه شده است. در فصل دوم از اين گزارش، به مطالعهي روشهاي مبتني بر استخراج ويژگي پرداختهايم. در تهيهي مطالب اين فصل سعي كردهايم با ارائهي مثالهاي مناسب، خواننده را در درك بهتر مفاهيم مربوطه ياري رسانيم. در اين فصل، چهار روش ارائه شده است كه همگي از نوع خطي هستند. بدليل حجم زياد مطالب، مجالي براي پرداختن به روشهاي ديگر خطي و روشهاي غير خطي باقي نماند. اميد است در آينده مطالب اين فصل توسط اينجانب يا دانشجويان ديگر كاملتر شود.
در فصل سوم روشهاي مبتني بر انتخاب ويژگي ارائه شده است. ميتوان گفت در اين فصل يك مطالعه اجمالي برروي تمامي روشهاي انتخاب ويژگي انجام شده است. در تهيهي مطالب اين فصل، از گزارش “معرفي روشهاي مختلف انتخاب ويژگي” توسط صادق سليمانپور استفاده شده است كه جا دارد در همينجا از ايشان تشكر نمايم.
2- روشهای مبتنی بر استخراج ويژگی
همانطور كه در فصل اول اشاره شد روشهاي مبتني بر استخراج ويژگي، يك فضاي چند بعدي را به يك فضاي با ابعاد كمتر نگاشت ميدهند. اين روشها به دو دستهي خطي و غيرخطي تقسيم ميشوند. روشهاي خطي كه سادهترند و فهم آنها راحتتر است بدنبال يافتن يك زيرفضاي تخت عمومي[1] هستند. اما روشهاي غيرخطي كه مشكلترند و تحليل آنها سختتر است بدنبال يافتن يك زيرفضاي تخت محلي[2] ميباشند.
از روشهاي خطي ميتوان به DFT، DWT، PCA و FA اشاره كرد كه آنها را به ترتيب در ادامهي همين فصل توضيح خواهيم داد. روشهاي ديگر غيرخطي عبارتند از:
- Projection Pursuit (PP) : برخلاف روشهاي PCA و FA ميتواند اطلاعات بالاتر از مرتبهي دوم را تركيب نمايد. بنابراين روش مناسبي است براي بسترهاي دادهاي غير گاوسي.
- Independent Component Analysis (ICA) : اين روش نيز يك نگاشت خطي انجام ميدهد اما بردارهاي اين نگاشت لزوماً بر يكديگر عمود نيستند، در حالي كه در روشهاي ديگر مانند PCA اين بردارها بر هم عمودند.
- Random Projection (PP) : يك روش ساده و در عين حال قدرتمند براي كاهش ابعاد داده است كه از ماتريسهاي نگاشت تصادفي براي نگاشت دادهها به يك فضاي با ابعاد كمتر استفاده ميكند.
از روشهاي غيرخطي نيز ميتوان به موارد زير اشاره كرد:
- Principal Curves
- Self Organizing Maps
- Vector Quantization
- Genetic and Evolutionary Algorithms
- Regression
مسئلهي كاهش ابعاد داده را بطور رياضي ميتوان به اينصورت بيان كرد: يك متغير تصادفي p-بعدي داريم. ميخواهيم متغير k-بعدي را به گونهاي پيدا كنيم كه اولاً k ≤p باشد و ثانياً s محتوياتي كه در x وجود دارد را بر اساس معياري خاص دارا باشد. روشهاي خطي سعي ميكنند هر يك از اين k مؤلفه را از تركيب خطي p مؤلفهي اوليه بدست آورند.
كه Wk×p ماتريس وزنهاي نگاشت خطي ميباشد.
در مقاله [3] نگاهي اجمالي به كليهي روشهاي كاهش ابعاد دادهي مبتني بر استخراج ويژگي شده است. در بخش 2-1 تبديل فوريه گسسته و در بخش 2-2 تبديل wavelet گسسته را شرح خواهيم داد. براي تهيهي بيشتر مطالبي كه در اين دو بخش ارائه شده از منبع [4] كه يك پايان نامه دكتري در زمينهي دادهكاوي برروي سريهاي زماني ميباشد استفاده شده است. در بخش 2-3 روش PCA كه بهترين تبديل خطي به حساب ميآيد را بيان خواهيم كرد. براي تهيهي اين بخش نيز از منبع [5] استفاده كردهايم كه يك tutorial بسيار عالي ميباشد. در بخش 2-4 روش Factor Analysis را بيان كردهايم. مطالب اين بخش نيز از سايت اينترنت زير تهيه شده است.
http://en.wikipedia.org/wiki/Factor_analysis
2-1- Discrete Fourier Transform (DFT)
در بسياري از کاربردها مرسوم است که از ترکيب توابع پايهاي براي تقريب يک تابع استفاده شود. به عنوان مثال هر تابع پيوسته را ميتوان توسط مجموعهاي از توابع چند جملهاي نمايش داد. تبديل فوريه نوعي تبديل است که يک تابع را بصورت توابع پايهاي سينوسي که هر کدام در مقاديري ضرب شدهاند نشان ميدهد (شکل 1). از تبديل فوريه در بسياري از زمينههاي علمي مانند فيزيک، هندسه، آمار و پردازش سيگنال استفاده ميشود.
شکل 1- تبديل فوريه سعي ميکند يک تابع را بصورت توابع پايهاي سينوسي نشان دهد
تبديل فوريه يک تبديل برگشت پذير است. اين تبديل ميتواند به دو صورت پيوسته يا گسسته انجام شود. در کامپيوتر و بخصوص در پردازش سيگنال معمولاً از تبديل فوريهي گسسته (DFT) استفاده ميشود. خوشبختانه الگوريتمهاي سريعي تحت عنوان FFT[3] براي تبديل فوريهي گسسته به وجود آمده است. در اين بخش ميخواهيم کاربرد DFT را در کاهش ابعاد داده مورد بررسي قرار دهيم.
تعريف DFT– بردار را در نظر بگيريد. تبديل فوريه گسستهي اين بردار از رابطهي زير بدست ميآيد.
که در آن:
معکوس تبديل فوريه گسسته نيز از اين رابطه بدست ميآيد:
توجه داشته باشيد که دو بردار و هماندازه هستند.
اگر بردار را مقادير يک سري زماني در نظر بگيريم، که x(t) مقدار مشاهده شده در زمان t است، تبديل فوريه برروي اين بردار، مقادير آن را از دامنهي زماني به دامنهي فرکانسي منتقل ميکند. ضرايب بدست آمده از تبديل فوريه به گونهاي مرتب شده قرار ميگيرند بطوريکه ضرايب پر اهميت در سمت چپ و ضرايب کم اهميتتر در سمت راست قرار ميگيرند. بنابراين پر اهميتترين ضريب در X(0) و کم اهميتترين ضريب در X(N-1) ذخيره شده است. هرچه يک ضريب پر اهميتتر باشد، بدان معني است که آن ضريب حاوي اطلاعات مهمتري (کليتري) از بردار ميباشد.
براي کاهش ابعاد داده ميتوان ابتدا را بدست آورده و سپس ضرايب کم اهميت را حذف نمود. بعنوان مثال بردار که سري زماني مربوط به قيمت روزانهي سهام شرکت IBM در سال 2001 ميباشد را در نظر بگيريد. اين بردار که از 256 مؤلفه تشکيل شده است را در شکل زير نشان دادهايم.
شکل 2- قيمت روزانه سهام شرکت IBM در سال 2001
اکنون بردار را محاسبه ميکنيم. مسلماً نيز داراي 256 مؤلفه خواهد بود. اگر فقط 10 ضريب پر اهميتتر در را نگه داشته و بقيه را حذف نماييم، نموداري شبيه به اولين نمودار در شکل 2 بدست خواهيم آورد. در اين شکل مشاهده ميکنيد که هرچه تعداد ضرايب بيشتري را نگه داري نماييم، جزئيات نمودار بيشتر حفظ خواهد شد.
شکل 3- بازسازي نمودار قيمت روزانه سهام شرکت IBM با ضرايب بدست آمده از DFT
اين نمودارها از بالا به پايين به ترتيب با حفظ 10، 20، 40 و 80 ضريب DFT بدست آمدهاند
2-2- Discrete Wavelet Transform (DWT)
تبديل DWT براي اولين بار توسط شخصي به نام Alfred Haar بوجود آمد. تا کنون نسخههاي مختلفي براي DWT ارائه شده است، مانند Haar Wavelet، Newland Transform و Undecimated Wavelet Transform. اين تبديل نيز همانند تبديل فوريه بسيار پرکاربرد است و در بسياري از زمينههاي علوم و مهندسي مورد توجه قرار گرفته است. تبديل Haar Wavelet بدليل سادگي در پياده سازي و سرعت اجراي بالا، از محبوبيت بيشتري نسبت به ساير نسخههاي DWT برخوردار است.
اين تبديل به اينصورت است که يک توالي به طول 2n در ورودي داريم. اين اعداد بصورت جفت جفت با هم جمع شده و اين حاصل جمعها به مرحلهي بعد فرستاده ميشوند. همچنين اختلاف هر جفت نيز محاسبه و ذخيره ميشود. دوباره اين مرحله تکرار ميشود با اين تفاوت که در ورودي، حاصل جمع جفتهاي مرحلهي قبل قرار ميگيرد. اين فرايند بطور بازگشتي تکرار ميشود تا در نهايت يک عدد که حاصل جمع کل اعداد است بدست آيد. اين عدد به همراه 2n-1 اختلاف جفتها که در مراحل مختلف الگوريتم محاسبه شده بعنوان خروجي اين تبديل بازگردانده ميشود.
بعنوان مثال فرض کنيد ميخواهيم تبديل Haar Wavelet را برروي رشته S بطول 8 اعمال نماييم.
S = (1, 3, 5, 11, 12, 13, 0, 1)
ابتدا اين اعداد را بصورت جفت جفت با هم جمع ميکنيم.
(4, 16, 25, 1)
همچنين اختلاف اين جفتها را نيز محاسبه ميکنيم.
(-2, -6, -1, -1)
واضح است که با استفاده از حاصل جمع جفتها و نيز اختلاف جفتها ميتوان رشته S را بدون از دست دادن هيچ اطلاعاتي دوباره بازسازي کرد. اکنون با اختلاف جفتها کاري نداريم و فقط آنها را ذخيره ميکنيم. سپس همين مراحل را برروي اين چهار حاصل جمع تکرار ميکنيم. درخت تجزيهي تبديل Haar Wavelet براي يک رشته به طول 8 در شکل زير نشان داده شده است.
شکل 4- مراحل اجراي تبديل Haar Wavelet برروي يک رشته به طول 8
مراحل اجراي اين تبديل برروي رشته S را ميتوانيد در شکل زير مشاهده کنيد.
شکل 5- مراحل اجراي تبديل Haar Wavelet برروي رشته S
حاصل جمع بدست آمده در آخرين مرحله، به همراه حاصل تفريقهايي که در تمام مراحل ذخيره شده، بعنوان خروجي اين تبديل در نظر گرفته ميشود. بنابراين:
DWT(S) = (46, -6, -12, 24, -2, -6, -1, -1)
ميتوان ديد که پيچيدگي زماني اين الگوريتم براي يک رشته به طول n برابر با O(n) ميباشد.
اما چگونه ميتوان با استفاده از تبديل DWT ابعاد داده را کاهش داد؟ در اينجا نيز همانند تبديل فوريه، ضرايب بدست آمده به ترتيب پر اهميت تا کم اهميت مرتب شدهاند. در واقع ضرايب کم اهميت همانهايي هستند که در مراحل اوليه الگوريتم بدست ميآيند (مثلاً در شکل 5 کم اهميتترين ضرايب مربوط به Resolution=3 هستند، يعني -2، -6، -1 و -1). با حذف ضرايب کم اهميت ميتوان حجم دادهها را کاهش داد. البته مقدار کمي از اطلاعات نيز از بين ميرود.
براي اينکه درک شهودي بهتري نسبت به حذف ضرايب کم اهميت و تأثير آن در از دست رفتن اطلاعات داشته باشيد به شکل 6 توجه کنيد. در اين شکل يک سري زماني را که با نقطه چين نشان داده شده، به همراه تبديل Haar Wavelet با حذف ضرايب کم اهميت را مشاهده ميکنيد.
شکل 6- کاهش ابعاد يک سري زماني توسط تبديل Haar Wavelet
از بالا به پايين، سطح resolution به ترتيب برابر است با 3، 4، 5 و 6
2-3- Principal Component Analysis (PCA)
تکنيک PCA بهترين روش براي کاهش ابعاد داده به صورت خطي ميباشد. يعني با حذف ضرايب کماهميت بدست آمده از اين تبديل، اطلاعات از دست رفته نسبت به روشهاي ديگر کمتر است. البته کاربرد PCA محدود به کاهش ابعاد داده نميشود و در زمينههاي ديگري مانند شناسايي الگو و تشخيص چهره نيز مورد استفاده قرار ميگيرد. در اين روش محورهاي مختصات جديدي براي دادهها تعريف شده و دادهها براساس اين محورهاي مختصات جديد بيان ميشوند. اولين محور بايد در جهتي قرار گيرد که واريانس دادهها ماکسيمم شود (يعني در جهتي که پراکندگي دادهها بيشتر است). دومين محور بايد عمود بر محور اول به گونهاي قرار گيرد که واريانس دادهها ماکسيمم شود. به همين ترتيب محورهاي بعدي عمود بر تمامي محورهاي قبلي به گونهاي قرار ميگيرند که دادهها در آن جهت داراي بيشترين پراکندگي باشند. در شکل زير اين مطلب براي دادههاي دو بعدي نشان داده شده است.
شکل 7- انتخاب محورهاي جديد براي دادههاي دو بعدي
روش PCA به نامهاي ديگري نيز معروف است. مانند:
- Singular Value Decomposition (SVD)
- Karhunen Loeve Transform (KLT)
- Hotelling Transform
- Empirical Orthogonal Function (EOF)
قبل از اينکه به جزئيات اين روش بپردازيم ابتدا مفاهيم رياضي و آماري مرتبط با اين روش را بطور مختصر بيان ميکنيم. اين مفاهيم شامل انحراف از معيار استاندارد، کواريانس، بردارهاي ويژه و مقادير ويژه ميباشد.
2-3-1- مفاهيم مقدماتي مورد نياز در PCA
2-3-1-1- مفاهيم آماري
فرض کنيد X رشتهاي از مقادير است. ميانگين اين مقادير از رابطه زير بدست ميآيد.
انحراف از معيار نيز از رابطه زير محاسبه ميشود.
علت اينکه در مخرج رابطه فوق از عبارت n-1 استفاده شده (و نه n) اينست که فرض شده X شامل تمام مقادير موجود نيست بلکه تعدادي از اين مقادير انتخاب شدهاند و در X قرار گرفتهاند. يعني X مجموعه نمونه است و نه کل دادهها. با اين فرض اگر از n-1 در رابطه فوق استفاده شود، انحراف از معيار بدست آمده به انحراف از معيار دادههاي واقعي نزديکتر خواهد بود نسبت به اينکه از n استفاده شود. اگر اين توضيح شما را قانع نميکند ميتوانيد به سايت زير مراجعه کرده و با ديدن مثال ارائه شده، دليل استفاده از n-1 را بهتر درک نماييد. البته اگر X شامل تمام دادهها باشد آنگاه بايد از n استفاده شود.
http://mathcentral.uregina.ca/RR/database/RR.09.95/weston2.html
با بتوان 2 رساندن انحراف از معيار، واريانس بدست ميآيد.
معيارهايي که در بالا ذکر شد فقط اطلاعات مربوط به يک بُعد را ارائه ميکنند و دانشي در مورد ارتباط بين ابعاد مختلف به ما نميدهند. با استفاده از کواريانس ميتوانيم ارتباط بين ابعاد مختلف دادهها را پيدا کنيم. فرض کنيد يک رشته ديگر از اعداد داريم که آن را با Y نشان ميدهيم. کواريانس بين X و Y از رابطه زير بدست ميآيد.
مقداري که از رابطه بالا بدست ميآيد در بازه [-1,1] قرار خواهد داشت که يکي از سه حالت زير را بوجود ميآورد:
- اگر مقدار بدست آمده مثبت باشد آنگاه X و Y با هم افزايش يا کاهش مييابند.
- اگر مقدار بدست آمده منفي باشد آنگاه با افزايش X مقدار Y کاهش مييابد و بالعکس.
- اگر مقدار بدست آمده صفر باشد آنگاه X و Y از يکديگر مستقلند.
کواريانس بين تمامي ابعاد دادهها را ميتوان دوبهدو محاسبه کرده و در يک ماتريس ذخيره کرد. به اين ماتريس، ماتريس کواريانس ميگويند. ماتريس کواريانس يک ماتريس مربعي متقارن است. مثلاً اگر سه بعد به نامهاي x، y و z داشته باشيم، ماتريس کواريانس آنها برابر است با:
2-3-1-2- مفاهيم جبر ماتريسها
در اين بخش مفهوم بردار ويژه و مقادير ويژه را بيان ميکنيم. همانطور که ميدانيد براي اينکه بتوان دو ماتريس را در يکديگر ضرب کرد، آن دو بايد از نظر اندازه با هم سازگار باشند. بردارهاي ويژه نوع خاصي از ضرب ماتريسها را ارائه ميکنند. به مثال زير توجه کنيد.
در مثال اول بردار بدست آمده مضرب صحيحي از بردار اوليه نيست. اما در مثال دوم، بردار بدست آمده چهار برابر بردار اوليه ميباشد. ماتريس 2×2 که در اين دو بردار ضرب کردهايم را ميتوان يک ماتريس تبديل[4] در نظر گرفت که با ضرب آن در يک بردار ميتوان اندازه و راستاي آن بردار را تغيير داد. در ميان تمام بردارهايي که ميتوان ماتريس تبديل را در آنها ضرب کرد، بردارهايي وجود دارد که پس از تبديل راستاي آنها تغيير نميکند و فقط اندازه آنها ممکن است عوض شود، مانند بردار [3;2] در مثال فوق. اين بردارها را بردارهاي ويژه مينامند. براي هر بردار ويژه يک مقدار ويژه نيز وجود دارد که بيان ميکند اندازه آن بردار (و تمام بردارهاي ديگر که در راستاي آن بردار هستند) پس از تبديل، چند برابر خواهد شد. در مثال فوق مقدار ويژه براي بردار [3;2] و البته تمام بردارهاي هم راستا با آن مانند [6;4] برابر با 4 ميباشد.
بردارهاي ويژه و مقادير ويژه فقط براي ماتريسهاي مربعي معني پيدا ميکنند. يک ماتريس n×n ميتواند داراي n بردار ويژه باشد. به منظور استاندارد کردن بردارهاي ويژه، پس از يافتن بردارهاي ويژه اندازه آنها را به گونهاي تغيير ميدهند تا طول آنها برابر با يک شود. مثلاً براي بردار [3;2] داريم:
ويژگي مهم بردارهاي ويژه اينست که آنها برهم عمودند. مثلاً ماتريس تبديل زير را در نظر بگيريد.
با ضرب ماتريس A در هر بردار ميتوان قرينه آن بردار نسبت به خط y=0 را بدست آورد. بردارهاي ويژهي اين ماتريس عبارتند از [1;0] و [0;1]. مقادير ويژهي اين بردارها نيز به ترتيب -1 و 1 ميباشد. همانطور که گفتيم اين دو بردار ويژه برهم عمودند.
بدست آوردن بردارهاي ويژه براي ماتريسهاي بزرگتر از 3×3 کار نسبتاً دشواري است. اين کار توسط يک الگوريتم بازگشتي انجام ميشود که توضيح آن خارج از حوصلهي اين گزارش (و نيز حوصلهي نويسنده) است. براي اطلاعات بيشتر در اين رابطه ميتوانيد به کتاب [2] مراجعه کنيد.
2-3-2-الگوريتم PCA
در اين بخش الگوريتم PCA را با ذکر يک مثال توضيح ميدهيم.
مرحله 1– انتخاب داده
در اينجا ما قصد داريم PCA را برروي يک مجموعه دادهي دو بعدي اعمال کنيم. اين دادهها در شکل زير نشان داده شده است.
شکل 8- دادههاي دوبعدي اوليه که قرار است PCA برروي آنها اعمال شود
مرحله 2– کم کردن ميانگين از دادهها
در اين مرحله، ميانگين هر بُعد را از مقادير آن بُعد کم ميکنيم تا ميانگين دادهها در هر بُعد صفر شود.
مرحله 3– محاسبهي ماتريس کواريانس
ماتريس کواريانس را به طريقي که در بالا ذکر شد براي دادهها بدست ميآوريم. براي مثال ما اين ماتريس، يک ماتريس 2×2 است:
مرحله 4– محاسبهي بردارهاي ويژه و مقادير ويژه
اکنون بردارهاي ويژه و مقادير ويژهي ماتريس کواريانس را محاسبه ميکنيم. ماتريس کواريانس، يک ماتريس نيمه قطعي مثبت متقارن[5] است. طبق قضاياي جبر خطي، يک ماتريس متقارن n×n داراي n بردار ويژهي مستقل و n مقدار ويژه ميباشد. همچنين يک ماتريس نيمه قطعي مثبت، داراي مقادير ويژهي غير منفي است. اين مقادير براي مثال ما برابر است با:
توجه داشته باشيد که اين دو بردار ويژه به گونهاي انتخاب شدهاند که طول هر دو برابر با 1 باشد. اما اين دو بردار چه چيزي به ما ميدهد؟ ما راستاي اين دو بردار را در شکل 9 نشان دادهايم. همانطور که ميبينيد يکي از اين دو بردار در جهتي قرار گرفته است که دادهها در آن جهت بيشترين پراکندگي را دارند. بردار ديگر نيز عمود بر بردار اول است. و اما مقادير ويژه چه چيزي ارائه ميدهند؟ در اين مثال برداري که در راستاي بيشترين پراکندگي دادهها قرار گرفته داراي مقدار ويژه 1.284 و بردار ديگر داراي مقدار ويژه 0.049 ميباشد. در واقع مقادير ويژه ميزان پراکندگي دادهها در راستاي بردار ويژهي مربوطه را نشان ميدهد. ميتوان گفت بردار ويژهاي که داراي بزرگترين مقدار ويژه است مؤلفهي اصلي[6] دادههاي موجود ميباشد.
شکل 9- دادههاي نرمالسازي شده (با کم شدن ميانگين) به همراه بردارهاي ويژگي ماتريس کواريانس
مرحله 5– انتخاب مؤلفهها و ساختن Feature Vector
در اين مرحله مفهوم کاهش ابعاد داده وارد ميشود. بردارهاي ويژهاي که در مرحلهي قبل بدست آورديم را بر اساس مقادير ويژهي آنها از بزرگ به کوچک مرتب ميکنيم (توجه داشته باشيد که مقادير ويژهي ماتريس کواريانس همگي بزرگتر يا مساوي صفر هستند). بدين ترتيب مؤلفههاي دادهها از پر اهميت به کم اهميت مرتب ميشوند. در اينجا اگر بخواهيم ابعاد دادهها را کاهش دهيم ميتوانيم مؤلفههاي کم اهميت را حذف نماييم. البته اين کار با از دست دادن مقدار کمي اطلاعات همراه است.
کاري که بايد در اين مرحله انجام دهيم ايجاد يک Feature Vector است که در واقع ماتريسي از بردارها ميباشد. اين ماتريس شامل آن بردارهاي ويژگياي است که ما ميخواهيم آنها را نگه داريم.
اگر همهي بردارهاي ويژگي را در اين ماتريس قرار دهيم، هيچ اطلاعاتي از دست نخواهد رفت و دوباره ميتوانيم دقيقاً همان دادههاي اوليه را بدست آوريم. در ادامهي مثال فوق، Feature Vector را برابر با مقدار زير در نظر ميگيريم.
مرحله 6– بدست آوردن دادههاي جديد
در آخرين مرحله از PCA فقط بايد ترانهادهي ماتريس Feature Vector که در مرحلهي قبل بدست آورديم را در ترانهادهي دادههاي نرمالسازي شده ضرب نماييم.
که RowFeatureVector ماتريسي است که بردارهاي ويژه در سطرهاي آن به ترتيب مقادير ويژه از بالا به پايين قرار گرفتهاند، و RowDataAdjust ماتريسي است که شامل دادههايي است که ميانگين هر بُعد از آن بُعد کم شده است. در اين ماتريس، دادهها در ستونهاي آن ذخيره شده و هر سطر آن مربوط به يک بُعد است. در مثال ذکر شده بدليل اينکه ما فقط يکي از بردارهاي ويژه را انتخاب کرديم دادههاي بدست آمده از PCA، دادههاي يک بُعدي ميباشند.
شکل 10- دادههاي بدست آمده از تبديل PCA با انتخاب مهمترين بردار ويژگي
با استفاده از رابطهي زير ميتوانيم مقاديري که از تبديل PCA بدست آوردهايم را به دادههاي اوليه که مقدار ميانگين از آنها کم شده بازگردانيم.
بدليل اينکه ماتريس RowFeatureVector حاوي بردارهاي ويژهي يکه است، معکوس آن با ترانهادهي آن برابر است. بنابراين:
با اضافه کردن ميانگين، دادههاي اوليه را خواهيم داشت:
در شکل زير دادههايي که پس از تبديل PCA بازيابي شدهاند را مشاهده ميکنيد. همانطور که ميبينيد مقدار کمي اطلاعات از بين رفته است و باعث شده دادهها همگي در امتداد يک خط راست قرار گيرند.
شکل 11- دادههاي بازيابي شده از تبديل PCA با انتخاب مهمترين بردار ويژگي
2-4- Factor Analysis (FA)
FA يکي از روشهاي آماري است که ميتواند چندين متغير تصادفي مشاهده شده را توسط تعداد کمتري متغير تصادفي (که در داده ها پنهان هستند) نمايش دهد. اين متغيرهاي تصادفي پنهان، فاکتور (factor) ناميده مي شوند. اين روش سعي مي کند متغيرهاي تصادفي مشاهده شده را توسط ترکيب خطي فاکتورها بعلاوهي مقداري خطا مدلسازي نمايد. روش FA از رشته هوش سنجي سرچشمه گرفته و در زمينههاي علوم اجتماعي، بازاريابي، مديريت توليد، تحقيق در عمليات و علوم کاربردي ديگر که با حجم بزرگي از دادهها سروکار دارند مورد استفاده قرار گرفته است. اين روش براي اولين بار حدود 100 سال پيش توسط يک روانشناس به نام Charles Spearman ابداع شد. اين شخص نظريهاي به نام g theory ارائه داد و در آن ادعا کرد که تمام توانمنديهاي ذهني افراد مانند مهارتهاي رياضي، مهارتهاي هنري، دايره لغات، توانايي استدلالهاي منطقي و غيره را ميتوان توسط يک فاکتور به نام هوش عمومي[7] بيان کرد. البته اين نظريه امروزه رد شده و تحقيقات انجام شده نشان ميدهد که توانمنديهاي ذهني حداقل از سه فاکتور به نامهاي توانائي رياضي، توانائي شفاهي و توانائي منطقي تشکيل شده است. روانشناسان زيادي بر اين باورند که علاوه بر اين سه فاکتور، فاکتورهاي ديگري وجود دارد که ميتواند بر توانمنديهاي ذهني افراد تأثيرگذار باشد.
اجازه بدهيد با يک مثال اين موضوع را ادامه دهيم. فرض کنيد يک روانشناس نظريهاي ارائه داده و در آن ادعا کرده که دو نوع هوش به نامهاي هوش شفاهي[8] و هوش رياضي[9] وجود دارد. اين نظريه از بررسي نمرات 1000 دانشجو در 10 درس مختلف بدست آمده است. اگر يک دانشجو را از اين مجموعه بطور تصادفي انتخاب نماييم، 10 نمرهي مربوط به آن دانشجو، متغيرهاي تصادفي محسوب ميشوند. نظريهي اين روانشناس ميگويد ميانگين هر يک از اين 10 درس براي دانشجوياني که داراي هوش شفاهي در يک سطح خاص و نيز هوش رياضي در يک سطح خاص هستند برابر است با يک عدد مشخص ضرب در سطح هوش شفاهي بعلاوهي يک عدد مشخص ديگر ضرب در هوش رياضي. بعبارت ديگر اين مقادير را ميتوان از ترکيب خطي دو فاکتور هوش شفاهي و هوش رياضي بدست آورد. بر طبق ادعاي اين نظريه، اعدادي که در هر يک از اين دو نوع هوش ضرب شدهاند، براي تمامي دانشجويان يکسان است. به اين اعداد factor loadings ميگويند. بعنوان مثال ميانگين (اميد رياضي) نمره يک دانشجو در درس کالبد شناسي ميتواند از رابطه زير بدست آيد:
{10 × the student’s verbal intelligence + 6 × the student’s mathematical intelligence}
اعداد 10 و 6، factor loadingهاي درس کالبد شناسي ميباشند. دروس ديگر ممکن factor loadingهاي متفاوتي داشته باشند. دو دانشجو که داراي هوش شفاهي برابر و نيز هوش رياضي برابر هستند لزوماً داراي نمره يکساني در درس کالبد شناسي نيستند. زيرا تک نمره با ميانگين نمرات فرق ميکند. به اين اختلاف، خطا (error) ميگوييم.
در اين مثال دادههايي که قرار است FA برروي آنها اعمال شود عبارتست از 10 نمره براي هر يک از 1000 دانشجو، يعني مجموعاً 10000 عدد که دادههاي ما را تشکيل ميدهند. مقادير factor loading براي هر درس و سطح هر يک از دو نوع هوش براي هر دانشجو بايد از اين دادههاي موجود استخراج شود. حتي تعداد فاکتورهاي موجود در دادهها (که در اين مثال برابر با 2 است) را بايد از اين دادهها بدست آورد.
مدل رياضي براي مثال فوق را ميتوان به اين صورت نوشت:
به ازاي i=1,…,1000 ، نمرات دانشجوي شماره i برابر است با
که در آن:
- xk,i : نمرهي دانشجوي i در درس k
- vi : هوش شفاهي دانشجوي i
- mi: هوش رياضي دانشجوي i
- Lk,j : مقدار factor loading براي درس k، به ازاي j=1,2
- k,iε : اختلاف بين نمرهي دانشجوي شماره i در درس k و ميانگين نمرات تمام دانشجوياني که داراي هوش شفاهي و رياضي در همان سطح دانشجوي i هستند در درس k
عبارات فوق را با استفاده از عبارات ماتريسي ميتوان به اين صورت نوشت:
X = µ + LF + ε
که در آن:
- X : يک ماتريس 10×1000 از متغيرهاي تصادفي مشاهده شده (در اينجا نمرات دانشجويان)
- µ : يک ماتريس ستوني 10×1 از ثابتهاي پنهان (در واقع اين ماتريس را بايد يک ماتريس 10×1000 در نظر گرفت که در آن مقاديري که در يک سطر قرار گرفته اند با هم برابرند)
- L : يک ماتريس 10×2 که حاوي مقادير factor loading است
- F : يک ماتريس 2×1000 که حاوي ميزان هوش رياضي و شفاهي هر يک از دانشجويان است
- ε : يک ماتريس 10×1000 که حاوي مقادير خطا است.
ماتريسهاي L، µ و واريانس خطاها در ε را بايد از ماتريس X بدست آورد.
بر روی هر تصویر کلیک کنید تا توضیحات کامل هر قسمت را مشاهده فرمایید