من خلال ممارسة التحليل PCA تخفيض أبعاد متعمقة

نظرة عامة

وتصف هذه الورقة وسيلة للحد من البعد، PCA (الرئيسي تحليل المكونات الرئيسية تحليل مكون). تخفيض الأبعاد إلى عنوان ثلاثة أسئلة:

  • تخفيض أبعاد قد تخفف من لعنة مشكلة الأبعاد.
  • يسمح تخفيض أبعاد فقدان المعلومات مع تقليل البيانات المضغوطة.
  • تقدر أن هيكل البيانات صعبة عدة مئات من أبعاد صغيرة تصور البيانات البعد أسهل للفهم.

هنا، من التشكيل الجانبي، وتحسب الخطوة، فهم دور التطبيقات PCA تخفيض الأبعاد في ثلاثة مجالات.

PCA الملف الشخصي

في فهم ميزة استخراج ومعالجة المشاكل التي تنطوي على ناقلات ميزة الأبعاد عالية غالبا ما يكون من السهل الوقوع لعنة الأبعاد. مع زيادة أبعاد مجموعة البيانات، عدد العينات المطلوب التعلم زيادات خوارزمية أضعافا مضاعفة. في بعض التطبيقات، واجه مثل هذه البيانات الكبيرة هو سلبي جدا والتعلم من مجموعات البيانات الكبيرة تتطلب المزيد من الذاكرة وقوة المعالجة. وبالإضافة إلى ذلك، مع زيادة في البعد، تبعثر البيانات آخذ في الازدياد. وركزت نفس استكشاف قواعد البيانات على استكشاف أكثر صعوبة مما كانت عليه في نفس البيانات المتناثرة في الفضاء العالي الأبعاد النواقل.

تحليل المكون الرئيسي، كما يشار Karhunen - وفكين تحويل (Karhunen-Loeve تحويل) ، وهي تقنية تستخدم لاستكشاف هيكل البيانات الأبعاد عالية. يستخدم PCA عادة في مجال الاستكشاف والتصور من مجموعات البيانات الأبعاد عالية. ويمكن أيضا أن تستخدم لضغط البيانات، وغيرها من البيانات وتجهيزها. PCA يمكن ربط قد يكون ارتفاع الاصطناعية متغير الأبعاد الخطية منخفض المتغير المستقل الأبعاد، ودعا العنصر الرئيسي (المكونات الرئيسية). انخفاض الأبعاد الجديدة جمع الخام متغيرات الاحتفاظ بالبيانات ممكن البيانات.

البيانات PCA الإسقاط إلى انخفاض فضاء جزئي البعد المنخفضة للالأبعاد أدركت. على سبيل المثال، تشير البيانات ثنائية الأبعاد هي للحد من أبعاد المتوقعة في خط، لكل مجموعة بيانات العينة أن تكون ممثلة قيمة، لا القيمتين. مجموعة البيانات ثلاثي الأبعاد يمكن تخفيضها إلى ثنائي الأبعاد، يتم تعيين المتغير إلى الطائرة. بشكل عام، مجموعة البيانات يمكن تخفيض فضاء جزئي NN الأبعاد إلى ك ك من قبل رسم الخرائط، حيث kn.

إذا كنت البستنة مصور أداة الكتيب، كنت اطلاق النار غلاية. غلاية هي ثلاثية الأبعاد، ولكن الصورة ثنائية الأبعاد، من أجل إظهار أكثر بالكامل غلاية للعميل، تحتاج لاطلاق النار على عدد قليل من الصور من زوايا مختلفة. هذا الرقم هو أن تأخذ من أربعة اتجاهات صور:

يمكن أن ينظر إلى الرقم الأول في الجزء الخلفي من غلاية، ولكن ليس أمام. يتم اطلاق النار على الخريطة الثانية في الجبهة، ويمكنك ان ترى صنبور، هذه الصورة قد يكون التخطيط الأول يوفر المعلومات الناقصة، ولكن وعاء لرؤيتها. من وجهة نظر العلوي في المركز الثالث لا يمكن أن نرى ارتفاع في وعاء. خريطة الرابعة هي ما تريد حقا، ارتفاع غلاية، الجزء العلوي من صنبور وعاء واضحة للعيان.

PCA تصميم مماثل لهذا، فمن الممكن لتعيين مجموعات البيانات عالية الأبعاد لمساحة منخفضة الأبعاد في نفس الوقت، قدر الإمكان الإبقاء على المزيد من المتغيرات. PCA مجموعات البيانات دوران تتماشى مع عنصر الأساسي، الإبقاء على معظم المتغير إلى العنصر الرئيسي الأول. لنفترض أن لدينا مجموعة من البيانات كما هو موضح أدناه:

وضع البيانات تبدو مثل القطع الناقص ممدود شقة تمتد من أصل إلى الزاوية اليمنى العليا. للحد من أبعاد مجموعة البيانات بالكامل، ويجب أن نشير إلى تعيين خط. هذا الرقم هو سطرين من مجموعة البيانات قد يتم تعيينها، خط رسم الخرائط حيث تغيير الحد الأقصى من العينة؟

ومن الواضح أن يتم تعيين العينات إلى الأسود التغييرات خط منقط هو أكبر بكثير من الخريطة لتغيير الخطوط المنقطة الحمراء. في الواقع، وهذا هو أول المكون الرئيسي للخط أسود منقط. يجب أن يكون العنصر الثاني متعامد إلى المكون الرئيسي الأول، وهذا هو يجب أن يكون العنصر الرئيسي الثاني مستقلة إحصائيا، فإنه يظهر في عمودي الاتجاه إلى المكون الرئيسي الأول، ويتضح كما يلي:

كل واحد من وراء المكون الرئيسي قدر الإمكان ستحتفظ المتغيرات المتبقية، والشرط الوحيد هو أن كل يتطلب المكون الرئيسي وما سبق المكونات الرئيسية المتعامدة. وإذا افترضنا الآن أن مجموعة البيانات ثلاثية الأبعاد تبدو مؤامرة مبعثر مثل قرص دوار على طول محور واحد.

هذه النقاط يمكن إجراء بتدوير القرص، وتحولت إلى ثنائي الأبعاد تحويل. الآن هذه النقاط يشبه شكل بيضاوي، ليس هناك متغيرات الأساسية في البعد الثالث، فإنه يمكن تجاهلها. عندما التباين في مجموعة البيانات على أبعاد مختلفة من التوزيع غير المتكافئ ، PCA هو الأكثر فائدة. (إذا كان هو كروية على شكل قذيفة مجموعة من البيانات، PCA لا يمكن أن تعمل بشكل فعال بسبب التباين في كل اتجاه متساوون، لا تضيع الكثير من البعد المعلومات لا يمكن تجاهلها).

PCA خطوة حساب

من PCA المهم فهم المفاهيم الأساسية هي الثلاثة التالية: التباين، التغاير ومصفوفة التغاير

فرق (الفروق) هو مقياس لدرجة تشتت مجموعة من البيانات. التباين هو مربع من الفرق بين كل عينة ومتوسط العينة ومتوسط:

التغاير (التغاير) هو مقياس للتغيرات في اثنين من المتغيرات على درجة من التزامن، وهو مقياس لدرجة الاعتماد خطية اثنين من المتغيرات.

إذا كان التغاير اثنين من المتغيرات هو 0، يعتبر مستقلة خطيا اثنين دلالة إحصائية. علما بأن اثنين من المتغيرات المستقلة ليست مستقلة تماما، ولكن ليس هناك علاقة خطية فقط. وتحسب على النحو التالي:

إذا كان التباين هو أكبر من 0 يشير إلى المتغير سوف يزيد متغير آخر زيادة، أي علاقة إيجابية، التغاير أقل من 0 إلى زيادة المتغير هو انخفاض متغير آخر، أي سلبية.

مصفوفة تغاير (التغاير المصفوفة) من مجموعة البيانات في الثانية والعشرين تكوين التغاير متغير. من (ط، ي) (ط، ي) عشر عنصر من المصفوفة هو مجموعة بيانات ثانيا وعناصر ي ي التغاير. على سبيل المثال، ثلاثي الأبعاد التغاير بيانات المصفوفة كما يلي:

دعونا حساب مصفوفة التغاير جدول البيانات:

حزم الثعبان نمباي بحساب التغاير نفسه و:

استيراد نمباي كما أرستها

X = ، ، ، >

طباعة (np.mean (X، محور = 0))

طباعة (np.cov (np.array (X) .T))

يعني من ثلاث عينات المتغيرات التي تم الحصول عليها هي 2.125،0.075 و-1.275، مصفوفة تغاير:

المتجهات الذاتية والقيم الذاتية

سهم التوجيه وجود حجم (ضخامة) والتوجه (الاتجاه) من المفاهيم الهندسية.

المتجهات الذاتية (بالمتجه الذاتي) هو متجه غير صفرية التي حصل عليها يرضي مصفوفة الصيغة التالية:

حيث v هي ناقلات ميزة، A هو مصفوفة مربعة، هو القيمة الذاتية. بعد ما زال ثمة اتجاه تحويل ميزة ناقلات دون تغيير، ولكن يتم تغيير حجمها القيم الذاتية متعددة. وهذا هو، واحد متجه الميزة بعد ضرب مصفوفة يساوي متساوي القياس ناقلات ميزة التحجيم (تحجيم). إيجين الألمانية معنى كلمة "... أو ... الانتماء الملكية (تابعة لأو غريبة ل)". بالمتجه الذاتي بيانات المصفوفة وناقلات مجموعة تابعة لوصف هيكل.

المتجهات الذاتية والقيم الذاتية يمكن أن تستمد فقط من الساحة، وليس لديها جميع ناقلات ميزة ومصفوفة القيم الذاتية. إذا كان هناك مصفوفة من المتجهات الذاتية والقيم الذاتية، ثم أن لديها زوج من كل البعد ناقلات ميزة والقيم الذاتية. المكون الرئيسي للمصفوفة مصفوفة التغاير من المتجهات الذاتية والقيم الذاتية التي تم الحصول عليها وفقا لحجم المقابلة من هذا القبيل. أكبر القيم الذاتية هي أول المكون الرئيسي، ثاني أكبر القيمة الذاتية هو العنصر الرئيسي الثاني، وهلم جرا.

حساب المصفوفة التالية من القيم الذاتية والمتجهات الذاتية:

يتم ضرب AA بواسطة الصيغة سبق بالمتجه الذاتي يجب أن يساوي قيمة مميزة مضروبا المتجهات الذاتية. لقد وضعنا المعادلة المميزة لحل:

وكما يتبين من المعادلة المميزة، المصفوفة وحدة والمنتج مصفوفة من القيم الذاتية من المحددات مصفوفة 0، وهي:

اثنين من القيم الذاتية تساوي -1. الآن ثم قيمة مميزة حل بالمتجه الذاتي. و = -1 إلى:

أيضا:

لذلك هناك:

أي تلبية المعادلة

ناقلات صفرية (مأخوذة

) ويمكن استخدام ناقلات ميزة:

PCA يتطلب المتجهات الذاتية وحدة، أي L2 القاعدة

1 يساوي ناقلات مميزة.

وهكذا المتجهات الذاتية وحدة هي:

وهكذا المتجهات الذاتية وحدة هي:

هنا يمكنك التحقق من الفرز اليدوي للناقلات الميزة الصحيح نمباي. وظيفة EIG ترجع القيم الذاتية والمتجهات الذاتية من المجموعات:

> > > استيراد نمباي كما أرستها

> > > ث، ت = np.linalg.eig (np.array (، >))

> > > طباعة ( 'القيم المميزة: {} \ ن المتجهات الذاتية: {} ". شكل (ث، الخامس))

الإخراج (الفرق هنا هو قيمة مميزة، بسبب بيانات الفاصلة العائمة مترجم الثعبان الدقة بسبب):

القيمة الذاتية:

المتجهات الذاتية: 0.707106780.70710678 0.707106780.70710678

مع تخفيض البعد PCA

دعونا نستخدم طريقة PCA إلى البيانات ثنائية الأبعاد في الجدول أسفل إلى الأبعاد واحد:

PCA الخطوة الأولى هي طرح متوسط العينة مع بيانات عينة:

ثم، نحسب البيانات المكونة الرئيسية. يذكر أن المكون الرئيسي للمصفوفة هو أن المتجهات الذاتية للمصفوفة التغاير تم الحصول عليها من قيمة الميزة المقابلة لحجم من هذا القبيل. يمكن احتساب المكون الرئيسي بواسطة طريقتين: الطريقة الأولى هي لحساب مصفوفة التغاير من البيانات. منذ مصفوفة التغاير هي مصفوفة مربعة، يمكننا حساب القيم الذاتية والمتجهات الذاتية باستخدام الطريقة السابقة. الأسلوب الثاني هو العثور على الجذر التربيعي للالقيم الذاتية والمتجهات الذاتية للمصفوفة التغاير باستخدام تجزئ القيمة المنفردة (المفرد قيمة التحلل) مصفوفة البيانات. نحن لأول مرة في الطريقة الأولى، ثم قدم PCA تحقيق scikit-يتعلم، وهو الأسلوب الثاني. شرح مصفوفة التغاير من مجموعات البيانات المذكورة على النحو التالي:

مع أسلوب أوضح في وقت سابق، و0.033981231.25057433 القيم الذاتية، وحدة المتجهات الذاتية هي:

نحن هنا خريطة البيانات إلى المكون الرئيسي. المكون الرئيسي الأول هو بالمتجه الذاتي المقابلة لأكبر القيمة الذاتية، لذلك لدينا لبناء مصفوفة التحويل، المتجهات الذاتية في كل عمود هو المكون الرئيسي. إذا كنا نريد لإسقاط البيانات 5-الأبعاد إلى ثلاثي الأبعاد، ثم سنفعل مع 3 الابعاد مصفوفة مصفوفة التحويل. في هذا المثال، ونحن في بياناتنا ثنائي الأبعاد تم تعيينه في ذات بعد واحد، ونحن بحاجة فقط استخدام المكون الرئيسي الأول مثل المصفوفة ميزة ناقلات التحول. وأخيرا، ونحن نستخدم الحق في مصفوفة البيانات الضرب تحويل المصفوفة. هنا هو أول الرئيسية نتائج المسح المكونة:

الدعوة التي نفذتها مجموعة نمباي مصفوفة على النحو التالي:

استيراد نمباي كما أرستها

س = np.mat (،

>)

س = x.T

T = س - x.mean (المحور = 0)

C = np.cov (x.T)

ث، ت = np.linalg.eig (C)

V_ = np.mat (ت ) # المقابلة لقيمة كل سمة من سمات كل ميزة مصفوفة ناقلات العمود

V_ = v_.T # افتراضي متجه التوالي تخزين، وتحويلها إلى شكل صيغة ناقلات العمود

ذ = T * V_

طباعة (ص)

استخدام PCA

التصور من البيانات الأبعاد عالية

اثنين أو ثلاثة بيانات الأبعاد تصور أكثر سهولة وضع الاكتشاف. ومجموعات البيانات الأبعاد عالية لا يمكن أن يكون تمثيل رسومي، ولكن يمكننا وضعها بطريقة تصور البيانات ثنائي الأبعاد أو ثلاثي الأبعاد للحد من أبعاد. Fisher1936 50 بيانات العينة (ايريس البيانات): Setosa، Virginica، Versicolour. هو مقياس بتلات التفسيرية المتغيرات (بتلات) وكأسية (كأسية) الطول والعرض، والرد هو نوع من الزهور. وغالبا ما تستخدم مجموعة بيانات القزحية لاختبار نموذج التصنيف، scikit-يتعلم أيضا. مجموعة البيانات القزحية دعونا أسفل لتسهيل التصور من البيانات ثنائية الأبعاد:

Matplotlib مضمنة

matplotlib.pyplot استيراد كما معاهدة قانون البراءات

من sklearn.decomposition PCA استيراد

من sklearn.datasets load_iris استيراد

أولا، نحن استيراد مجموعة القزحية البيانات وPCA مقدر. عدد المعلمة عظمى تستند PCA-كعنصر رئيسي، والبعض مقدر، مصفوفة العوائد PCA البيانات مع fit_transform تخفيض البعد ():

البيانات = load_iris ()

ذ = data.target

X = data.data

PCA = PCA (n_components = 2)

reduced_X = pca.fit_transform (X)

وأخيرا، وضعنا الرسومات مرسومة:

red_x، red_y = ،

blue_x، blue_y = ،

green_x، green_y = ،

لأنني في مجموعة (ليون (reduced_X)):

إذا ذ  == 0:

red_x.append (reduced_X )

red_y.append (reduced_X )

أليف ذ  == 1:

blue_x.append (reduced_X )

blue_y.append (reduced_X )

آخر:

green_x.append (reduced_X )

green_y.append (reduced_X )

plt.scatter (red_x، red_y، ج = 'ص'، علامة = 'س')

plt.scatter (blue_x، blue_y، ج = 'ب'، علامة = 'D')

plt.scatter (green_x، green_y، ج = 'ز'، علامة = '.')

plt.show ()

انخفاض البيانات الأبعاد كما هو مبين في الشكل. كل مجموعة بيانات مع ثلاث فئات مختلفة من الرموز. من هذه البيانات الرقم ثنائي الأبعاد من الواضح أن هناك فئة من تداخل مع ويفصل تماما فئتين أخرى. هذه النتيجة يمكن أن تساعدنا في اختيار نموذج التصنيف.

التعرف على الوجوه

الآن دعونا استخدام التعرف على الوجه PCA من أجل حل المشكلة. التعرف على الوجه مهمة تصنيف أشرف، عن الصور تعترف شخص. في هذا المثال، ونحن نستخدم AT & T لدينا قاعدة بيانات مختبرات كامبريدج من وجوه مجموعة البيانات ( فإن البيانات مجموعة الجميع يحتوي على 40 الفردية 10 صور. تم التقاط الصور في ظروف الإضاءة المختلفة، كل نظرة مختلفة الصورة. الصور بالأبيض والأسود، وحجم 92 112 بكسل. في حين أن هذه الصور ليست كبيرة، ولكن هذا الترتيب وفقا للكثافة بكسل لكل ناقلات ميزة صورة لديها (92 112 =) 10304 البعد. قد تستغرق هذه البيانات الأبعاد عالية التدريب العديد من العينات من أجل تجنب الإفراط في تركيب. ونحن حجم العينة ليست كبيرة، كل نحسب بعض من المكونات الرئيسية المستخدمة PCA لتمثيل هذه الصور.

يمكننا وضع قوة من الصور مصفوفة بكسل في ناقلات، ثم كل الصور ناقلات تدريبية لبناء مصفوفة. كل صورة هي تركيبة خطية من المكونات الرئيسية لمجموعة البيانات. في نظرية التعرف على الوجه، تسمى هذه المكون الرئيسي eigenfaces (eigenfaces). ويمكن رؤية وجه تطبيع صفها بأنها جزء من الوجه. قد يتم إنشاء كل مجموعة من البيانات وجهه من قبل بعض مزيج من وجه معيار بها، أو التي هي الأكثر تقريب مهم من تركيبة خطية من eigenfaces.

من نظام التشغيل استيراد المشي، مسار

استيراد نمباي كما أرستها

mahotas استيراد كما MH

من sklearn.cross_validation train_test_split استيراد

من sklearn.cross_validation cross_val_score استيراد

من sklearn.preprocessing على نطاق واستيراد

من sklearn.decomposition PCA استيراد

من sklearn.linear_model انحدار لوجستي استيراد

من sklearn.metrics classification_report استيراد

X =

ذ =

دعونا الصور وضعت في نمباي مجموعة، ومن ثم تحويلها إلى ناقلات مصفوفة بكسل:

لdir_path، dir_names، file_names في المشي ( 'C: / المستخدمين / HLB / سطح المكتب / أول بلوق / att_faces /'):

وظيفة #walk () هو المسار المطلق وتخزين البيانات، مع إيلاء الاهتمام لاتجاه مائل.

لFN في file_names:

إذا FN == 'PGM':

image_filename = path.join (dir_path، الجبهة الوطنية)

X.append (مقياس (mh.imread (image_filename، as_grey = صحيح) .reshape (10304) .astype ( 'float32')))

y.append (dir_path)

X = np.array (X)

نحن ثم مراجعتها مع إنشاء مجموعات التدريب والاختبار، مع مجموعة التدريب على PCA:

X_train، X_test، y_train، y_test = train_test_split (X، Y)

PCA = PCA (n_components = 150)

نضع جميع العينات وصولا الى 150 البعد، ومن ثم تدريب المصنف الانحدار اللوجستي. يتضمن مجموعة البيانات 40 درجة، scikit-يتعلم السياسة الأساسية تلقائيا إنشاؤها من قبل واحد مقابل كل مصنف ثنائي:

X_train_reduced = pca.fit_transform (X_train)

X_test_reduced = pca.transform (X_test)

طباعة ( 'البعد الأصلي للبيانات التدريب هو: {} ". شكل (X_train.shape))

طباعة ( 'تخفيض البعد PCA بعد مجموعة التدريب البيانات: {} ". شكل (X_train_reduced.shape))

المصنف = انحدار لوجستي ()

دقتها = cross_val_score (المصنف، X_train_reduced، y_train)

أبعاد تدريب مجموعة البيانات الأصلية هي: (300، 10304) بعد بيانات التدريب تخفيض البعد مجموعة PCA: (300، 150)

وأخيرا، ونحن نستخدم عبر التحقق من صحة واختبار مجموعة لتقييم أداء المصنف. متوسط شامل المصنف مؤشر التقييم (F1 درجة) هو 0.88، ولكن الحاجة إلى قضاء مزيد من الوقت للتدريب في تطبيق أكثر المثال التدريب قد يكون أبطأ.

طباعة ( 'دقة عبر التحقق من الصحة: {} \ ن {}'. شكل (np.mean (دقتها)، دقتها))

classifier.fit (X_train_reduced، y_train)

التنبؤات = classifier.predict (X_test_reduced)

طباعة (classification_report (y_test، التوقعات))

النتائج النهائية:

موجز

وتصف هذه الورقة مشكلة PCA تخفيض الأبعاد. بيانات عالية الأبعاد لا يمكن تصور بسهولة. التدريب مقدر مجموعات الأبعاد عالية البيانات، وأبعاد أيضا كارثة محتملة. التخفيف من حدة هذه المشاكل من خلال تحليل المكون الرئيسي، والمتغيرات ذات الصلة قد تفسر مجموعات البيانات الأبعاد عالية عن طريق تعيين البيانات إلى فضاء جزئي منخفضة الأبعاد، خطيا مستقل للحد من الأبعاد إلى مجموعة البيانات منخفضة الأبعاد. وأخيرا، التوسع PCA البيانات رباعية الابعاد مجموعة من قزحية أسفل إلى البيانات المرئية ثنائية الأبعاد، PCA واستخدامها في نظام التعرف على الوجه.

YOLO التعلم العميق فهم متعمق لهدف طريقة الكشف

ونحن لا يمكن أن تقبل! بريد إلكتروني الصغير أخيرا الضمير، وعدد منصة العام على خط الابهار بهدوء الميزات، المستخدمين مرحبا

على شو Haiqiao "ابنتي الوطن"، وقدم باقة من الزهور وو شين، بدا وو أبي ابتسامة سعيدة جدا

المجرمين نانجينغ خبى لاخفاء، خداع الجمهور "Jiaotusanku" لا يزال القبض

ترقية شاملة من الدورة الثانية للمعرض صناعة كرة القدم، مساعدة الممارسين استكشاف 800 مليار مساحة السوق

في عصر الكهربائية نحتاج إلى غدزيلا!

قتال عنيف: تصنيف ممارسة الخوارزميات وكيفية الاستفادة من أدوات بيثون

كيا مفهوم السيارة 21 شاشات الهاتف شاشة كبيرة في السيطرة

جاكي هيونغ الأم تباهى هايدن في البرنامج، وقال قوه الأب أيضا ست كلمات لرتبة والملف، حميمة جدا

فرنسا لتعزيز "الرغيف الفرنسي" نقش، اعترف الأرز الدبق

فتحت كرة السلة للرجال الصيني الجديد وراء انتصار، كرة السلة المنتخب الوطني تعمل ودورة عمل جديدة تصل إلى آفاق جديدة

سانديسك أقوى U القرص النشر: الكتابة بسرعة تصل إلى SSD 380MB / ثانية مقارنة!