Satura rādītājs:

Galveno komponentu analīze: 4 soļi
Galveno komponentu analīze: 4 soļi

Video: Galveno komponentu analīze: 4 soļi

Video: Galveno komponentu analīze: 4 soļi
Video: КАК НАСТРОИТЬ L4D2 2024, Novembris
Anonim
Galveno komponentu analīze
Galveno komponentu analīze

Galveno komponentu analīze ir statistiska metode, kas, iespējams, savstarpēji korelēto mainīgo kopumu pārvērš lineāri nekorelētu vērtību kopā, izmantojot ortogonālas transformācijas. Vienkārši sakot, ņemot vērā datu kopu ar vairākām dimensijām, tas palīdz samazināt dimensiju skaitu, tādējādi padarot datus vieglāk lasāmus.

1. darbība: sākotnējie plāni

Es ienācu šajā klasē ar domu, ka vēlos saprast un, cerams, uzrakstīt algoritmu, kas spētu veikt sejas atpazīšanu, ja to piegādātu kopā ar attēliem. Man nebija iepriekšējas pieredzes vai zināšanu par sejas atpazīšanu, un man nebija ne jausmas, cik grūti ir sasniegt kaut ko līdzīgu. Pēc sarunas ar profesoru Mallohu es sapratu, ka man ir jāapgūst daudzas lietas, lai varētu pilnībā izprast uzdevumu, kuru es beidzot plānoju sasniegt.

Pēc neliela pētījuma es beidzot nolēmu, ka vairāk par visu, kas man vajadzīgs, lai apgūtu lineāro algebru un dažus mašīnmācīšanās pamatus, un apmetos uz PCA (galveno komponentu analīze), kas ir mans šīs klases mērķis.

2. solis: izpēte

Pētījumi
Pētījumi

Pirmais solis bija apmeklēt bibliotēku un atrast jebkuru grāmatu, kas mani iepazīstināja ar mašīnmācīšanos un precīzāk attēlu apstrādi. Tas izrādījās daudz grūtāk, nekā es domāju, un es no tā neko daudz nedarīju. Pēc tam es nolēmu pajautāt draugam, kurš strādāja Vision Lab, kurš lūdza mani izpētīt lineāro algebru un precīzāk īpatnējos vektorus un īpatnējās vērtības. Man bija zināma pieredze ar lineāro algebru no klases, kuru biju apguvusi otrajā kursā, bet nesapratu, kā īpatnējie vektori vai īpatnējās vērtības varētu būt noderīgas, strādājot ar attēliem. Pētot vairāk, es sapratu, ka attēli nav nekas cits kā milzīgas datu kopas, un tāpēc tos var uzskatīt par matricām, un man kļuva mazliet skaidrāk, kāpēc īpatnējie vektori ir saistīti ar to, ko es daru. Šajā brīdī es nolēmu, ka man vajadzētu iemācīties lasīt attēlus, izmantojot python, jo es plānoju izmantot python savam projektam. Sākumā es sāku, izmantojot attēlu CV2.imread, lai lasītu attēlus, taču tas izrādījās ļoti lēns, un tāpēc es nolēmu to izmantot glob un PIL.image.open, jo tas ir daudz ātrāk. Šis process uz papīra šķiet salīdzinoši laikietilpīgs, bet patiesībā aizņēma daudz laika, jo man bija jāiemācās instalēt un importēt dažādas bibliotēkas PyCharm (IDE) un pēc tam izlasīt katras bibliotēkas tiešsaistes dokumentāciju. To darot, es arī uzzināju, kā komandu uzvednē izmantot pip install paziņojumus.

Pēc tam nākamais solis bija izdomāt, ko tieši es vēlos darīt un iemācīties attēlu apstrādē, un sākotnēji es plānoju veikt veidņu saskaņošanu, bet, pētot to, es uzzināju par PCA un atklāju, ka tas ir interesantāk, tāpēc es nolēmu tā vietā izmantojiet PCA. Pirmais termins, kas parādījās, bija K-NN (K-tuvākais kaimiņš) algoritms. Šī bija mana pirmā saskare ar mašīnmācīšanās algoritmu. Es uzzināju par apmācības un testēšanas datiem un to, ko nozīmē algoritma “apmācība”. Izpratne par K-NN algoritmu bija arī izaicinoša, taču bija ļoti patīkami beidzot saprast, kā tā darbojas. Pašlaik strādāju pie tā, lai K-NN kods darbotos, un esmu ļoti tuvu pabeigšanai.

3. solis: grūtības un gūtās atziņas

Pirmās lielās grūtības bija paša projekta apjoms. Tas vairāk bija vērsts uz pētniecību, nevis uz fizisku. Nedēļām ejot, es paskatījos uz progresu, ko paveica vienaudži, un man šķita, ka es nedaru pietiekami daudz vai ka es nepadarīju pietiekami ātru progresu, un tas dažreiz bija ļoti demotivējoši. Saruna ar profesoru Mallohu un tikai mierināšana, ka es patiešām mācos lietas, kas man bija ļoti jaunas, palīdzēja man turpināt. Vēl viena problēma bija tā, ka zināt teorētiskas lietas un tās pielietot ir divas dažādas lietas. Lai gan es zināju, kas man bija jādara, patiesībā to kodēt python bija cits stāsts. Tieši šeit tikai dokumentu lasīšana tiešsaistē un draugu jautāšana, kuri par to zināja vairāk, palīdzēja beidzot izdomāt rīcības plānu.

Es personīgi domāju, ka lielāka grāmatu un dokumentu bibliotēka M5 varētu palīdzēt cilvēkiem, kuri strādā pie projektiem. M5 ir laba ideja arī reāllaika digitālo ierakstu par projektiem, ko veic studenti, lai citi studenti un darbinieki varētu to aplūkot un iesaistīties, ja tas viņus interesē.

Kad projekts beidzas, es tik īsā laika posmā esmu iemācījies tik daudz. Esmu ieguvis ļoti noderīgas zināšanas par mašīnmācīšanos un jūtu, ka esmu spēris pirmos soļus, lai tajā vairāk iesaistītos. Esmu sapratusi, ka man patīk datora redze un ka es varētu vēlēties to sasniegt arī nākotnē. Vissvarīgākais esmu uzzinājis, kas ir PCA, kāpēc tā ir tik svarīga un kā to izmantot.

4. darbība. Nākamās darbības

Man tas bija tikai kaut kas daudz plašāka un mūsdienu pasaulē ļoti svarīga, piemēram, mašīnmācīšanās, virsmas saskrāpēšana. Tuvākajā laikā plānoju apmeklēt kursus, kas saistīti ar mašīnmācīšanos. Es arī plānoju veidot savu ceļu līdz sejas atpazīšanai, jo ar to sākās viss šis projekts. Man ir arī idejas par drošības sistēmu, kas izmanto kombinētas funkcijas (viena no tām ir personas seja), lai padarītu to patiešām drošu, un es vēlos strādāt pie tā, kad man būs plašāka izpratne par lietām.

Ikvienam, piemēram, man, kurš interesējas par mašīnmācīšanos un attēlu apstrādi, bet kuram nav iepriekšējas pieredzes, es ļoti ieteiktu vispirms apgūt un izprast lineāro algebru kopā ar statistiku (īpaši sadalījumu). Otrkārt, es ieteiktu izlasīt Kristofera M. Bišopa paraugu atpazīšanu un mašīnmācīšanos. Šī grāmata man palīdzēja saprast pamatus, kādos es iekļuvu, un tā ir ļoti labi strukturēta.

Ieteicams: