Mundarija:

Asosiy komponentlar tahlili: 4 qadam
Asosiy komponentlar tahlili: 4 qadam

Video: Asosiy komponentlar tahlili: 4 qadam

Video: Asosiy komponentlar tahlili: 4 qadam
Video: BİR O'ZİNGİZ KO'RİNG / DUNYODAGİ ENG G'ALATİ ER-XOTİNLAR / Buni Bilasizmi? 2024, Noyabr
Anonim
Asosiy komponentlar tahlili
Asosiy komponentlar tahlili

Asosiy komponentlar tahlili - bu ortogonal transformatsiyalar yordamida o'zaro bog'liq bo'lishi mumkin bo'lgan o'zgaruvchilar to'plamini chiziqli bog'liq bo'lmagan qiymatlar to'plamiga aylantiradigan statistik usul. Oddiy so'zlar bilan aytganda, bir nechta o'lchovli ma'lumotlar to'plami, bu o'lchovlar sonini kamaytirishga yordam beradi, shuning uchun ma'lumotlarni o'qishni osonlashtiradi.

1 -qadam: original rejalar

Men bu sinfga rasmlar bilan ta'minlanganda yuzni tanib oladigan algoritmni tushunmoqchiman va yozmoqchiman degan fikr bilan keldim. Menda yuzni aniqlash bilan bog'liq hech qanday tajriba va bilim yo'q edi va shunga o'xshash narsaga erishish qanchalik qiyinligini bilmasdim. Professor Malloch bilan gaplashgandan so'ng, men oxir -oqibat rejalashtirgan vazifamni to'liq tushunishim uchun ko'p narsalarni o'rganishim kerakligini angladim.

Biroz izlanishlardan so'ng, men nihoyat chiziqli algebra va mashinani o'rganishning ba'zi asoslarini o'rganishim kerak bo'lgan narsadan ko'proq narsani qaror qildim va PCA (asosiy komponentlar tahlili) ni bu sinf uchun maqsad qilib qo'ydim.

2 -qadam: tadqiqot

Tadqiqot
Tadqiqot

Birinchi qadam kutubxonaga tashrif buyurib, meni mashinani o'rganish va aniqrog'i tasvirni qayta ishlash bilan tanishtirgan kitobni topish edi. Bu men o'ylagandan ko'ra qiyinroq bo'lib chiqdi va men bundan hech narsaga erisholmadim. Keyin men Vizion laboratoriyasida ishlaydigan do'stimdan so'rashga qaror qildim, u mendan chiziqli algebra va aniqrog'i o'z vektorlari va o'z qiymatlarini ko'rib chiqishni so'radi. Men ikkinchi kursda o'qigan, lekin tasvirlar bilan ishlashda o'z vektorlari yoki o'z qiymatlari qanday foydali bo'lishi mumkinligini tushunmagan chiziqli algebra bo'yicha tajribaga ega bo'ldim. Ko'proq izlanishlar olib borganimda, tasvirlar katta ma'lumotlar to'plamidan boshqa narsa emasligini, shuning uchun ularni matritsa sifatida ko'rib chiqish mumkinligini tushundim va nima uchun o'z vektorlari nima qilayotganim bilan bog'liqligi menga biroz tushunarli bo'ldi. Shu nuqtada men o'z loyiham uchun pythondan foydalanmoqchi bo'lganim uchun tasvirlarni python yordamida o'qishni o'rganishim kerak deb qaror qildim. Dastlab, men rasmlarni o'qish uchun CV2.imread -dan boshladim, lekin bu juda sekin bo'lib chiqdi va shuning uchun glob va PIL.image.open -dan foydalanishga qaror qildim, chunki bu tezroq. Qog'ozdagi bu jarayon nisbatan ko'p vaqt talab qilmaydi, lekin men ko'p vaqt talab qildim, chunki PyCharm (IDE) ga turli kutubxonalarni o'rnatish va import qilishni o'rganishim kerak edi, so'ngra har bir kutubxona uchun hujjatlarni onlayn o'qishim kerak edi. Bu jarayonda men shuningdek, buyruq satrida pip install bayonotlaridan foydalanishni o'rgandim.

Shundan so'ng, keyingi qadam aynan nima qilishni va tasvirni qayta ishlashni o'rganishni xohlayotganimni aniqlash edi, men shablonlarni moslashtirishni rejalashtirgandim, lekin uni tadqiq qilishda men PCA haqida bilib oldim va uni yanada qiziqarli deb topdim, shuning uchun men qaror qildim. Buning o'rniga PCA bilan boring. K-NN (K- eng yaqin qo'shni) algoritmi paydo bo'la boshladi. Bu mening mashinani o'rganish algoritmiga birinchi marta ta'sir qilishim edi. Men mashg'ulotlar va test ma'lumotlari va algoritmni "o'rgatish" nimani anglatishini bilib oldim. K-NN algoritmini tushunish ham qiyin edi, lekin nihoyat uning qanday ishlashini tushunish juda mamnun edi. Men hozirda K-NN kodi ustida ishlayapman va men tugatishga juda yaqinman.

3 -qadam: duch kelgan qiyinchiliklar va olingan saboqlar

Birinchi katta qiyinchilik loyihaning o'zi edi. Bu fizikadan ko'ra ko'proq tadqiqotga qaratilgan edi. Haftalar o'tishi bilan men tengdoshlarim qanday yutuqlarga erishayotganini ko'rib chiqardim va men etarlicha harakat qilmayotganimni, etarlicha tez harakat qilmayotganimni his qilardim. Professor Malloch bilan gaplashib, men uchun haqiqatan ham men uchun yangilik bo'lgan narsalarni o'rganayotganimga o'zimni ishontirish menga davom etishimga yordam berdi. Yana bir muammo shundaki, nazariy narsalarni bilish va uni qo'llash ikki xil narsadir. Men nima qilishim kerakligini bilsam -da, aslida uni pitonda kodlash - bu boshqa hikoya. Bu erda faqat hujjatlarni Internetda o'qish va bu haqda ko'proq biladigan do'stlardan so'rab olish, nihoyat, harakat rejasini aniqlashga yordam berdi.

Menimcha, M5 -da kitoblar va hujjatlarning kattaroq kutubxonasi bo'lishi, loyihalar ustida ishlayotgan odamlarga yordam berishi mumkin. Boshqa talabalar va xodimlar unga qarashlari va qiziqishlari bo'lsa, ishtirok etishlari uchun talabalar tomonidan amalga oshirilayotgan loyihalarning real vaqtda raqamli rekordiga ega bo'lish M5 uchun yaxshi g'oya.

Loyiha tugashi bilan men qisqa vaqt ichida juda ko'p narsalarni o'rgandim. Men mashinani o'rganish bo'yicha juda yaxshi bilimlarga ega bo'ldim va o'zimni unga ko'proq jalb qilish uchun birinchi qadamlarni qo'ygandek his qilyapman. Men kompyuterni ko'rishni yaxshi ko'raman va kelajakda ham shunday bo'lishni xohlayman. Eng muhimi, men PCA nima ekanligini, nima uchun bu juda muhimligini va undan qanday foydalanishni bilib oldim.

4 -qadam: Keyingi qadamlar

Men uchun bu shunchaki kengroq narsaning sirtini chizish edi va hozirgi dunyoda juda muhim narsa, ya'ni mashinani o'rganish. Yaqin kelajakda men mashinani o'rganish bilan bog'liq kurslarni o'tashni rejalashtirmoqdaman. Men, shuningdek, butun yuzni tanib olish yo'lini qurishni rejalashtirmoqdaman. Menda xavfsizlik tizimi haqida g'oyalarim bor, u kombinatsiyalangan xususiyatlardan foydalanadi (ulardan biri - bu odamning yuzi), uni haqiqatan ham xavfsiz qilish uchun va men kelajakda narsalarni kengroq tushunganimda ishlashni xohlayman..

Men kabi mashinani o'rganish va tasvirni qayta ishlashga qiziqqan, lekin hech qanday tajribaga ega bo'lmaganlar uchun men birinchi navbatda chiziqli algebrani, statistikani (ayniqsa taqsimotlarni) o'rganish va tushunishni tavsiya qilaman. Ikkinchidan, men Kristofer M. Bishopning "Pattern Recognition and Machine Learning" ni o'qishni taklif qilaman. Bu kitob menga nimalarga kirishayotganimni tushunishga yordam berdi va juda yaxshi tuzilgan.

Tavsiya: