تحليل المكون الرئيسي: 4 خطوات
تحليل المكون الرئيسي: 4 خطوات
Anonim
تحليل المكون الرئيسي
تحليل المكون الرئيسي

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

الخطوة 1: الخطط الأصلية

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

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

الخطوة الثانية: البحث

بحث
بحث

كانت الخطوة الأولى هي زيارة المكتبة والعثور على أي كتاب عرفني بالتعلم الآلي ومعالجة الصور بشكل أكثر تحديدًا. اتضح أن هذا أصعب بكثير مما كنت أتخيل وانتهى بي الأمر بدون أي شيء. ثم قررت بعد ذلك أن أسأل صديقًا كان يعمل في Vision Lab الذي طلب مني النظر في الجبر الخطي وبشكل أكثر تحديدًا المتجهات الذاتية والقيم الذاتية. كانت لدي بعض الخبرة في الجبر الخطي من فصل دراسي كنت قد درسته في سنتي الثانية ولكني لم أفهم كيف يمكن أن تكون المتجهات الذاتية أو القيم الذاتية مفيدة عند التعامل مع الصور. عندما بحثت أكثر ، فهمت أن الصور ليست سوى مجموعات بيانات ضخمة ويمكن بالتالي معاملتها كمصفوفات وأصبح الأمر أكثر وضوحًا بالنسبة لي حول سبب ارتباط المتجهات الذاتية بما كنت أفعله. في هذه المرحلة ، قررت أنني يجب أن أتعلم كيفية قراءة الصور باستخدام Python لأنني كنت سأستخدم Python في مشروعي. في البداية ، بدأت باستخدام CV2.imread لقراءة الصور ولكن تبين أن ذلك كان بطيئًا حقًا ، وبالتالي قررت استخدام glob و PIL.image.open للقيام بذلك لأن هذا أسرع بكثير. يبدو أن هذه العملية على الورق لا تستغرق وقتًا طويلاً نسبيًا ولكنها في الواقع استغرقت وقتًا طويلاً حيث كان علي تعلم كيفية تثبيت واستيراد مكتبات مختلفة إلى PyCharm (IDE) ثم قراءة الوثائق عبر الإنترنت لكل مكتبة. أثناء القيام بذلك ، تعلمت أيضًا كيفية استخدام عبارات تثبيت النقطة في موجه الأوامر.

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

الخطوة الثالثة: الصعوبات المواجهة والدروس المستفادة

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

أنا شخصياً أعتقد أن وجود مكتبة أكبر من الكتب والوثائق في M5 يمكن أن يساعد الأشخاص الذين يعملون في المشاريع. يعد امتلاك سجل رقمي في الوقت الفعلي للمشاريع التي يقوم بها الطلاب حتى يتمكن الطلاب والموظفون الآخرون من الاطلاع عليها والمشاركة إذا كان ذلك يثير اهتمامهم فكرة جيدة لـ M5.

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

الخطوة 4: الخطوات التالية

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

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