Sadržaj:

Analiza glavnih komponenti: 4 koraka
Analiza glavnih komponenti: 4 koraka

Video: Analiza glavnih komponenti: 4 koraka

Video: Analiza glavnih komponenti: 4 koraka
Video: Состав слова. Как сделать разбор слова по составу? 2024, Studeni
Anonim
Analiza glavnih komponenti
Analiza glavnih komponenti

Analiza glavnih komponenti je statistička metoda koja pretvara skup moguće koreliranih varijabli u skup linearno nekoreliranih vrijednosti pomoću ortogonalnih transformacija. Jednostavnim riječima dat je skup podataka s više dimenzija, pomaže u smanjenju broja dimenzija i time olakšava čitanje podataka.

Korak 1: Izvorni planovi

Došao sam u ovaj razred s idejom da želim razumjeti i nadam se da ću napisati algoritam koji će moći izvršiti prepoznavanje lica kada se isporuči sa slikama. Nisam imala nikakvo prethodno iskustvo niti znanje o bilo čemu što ima veze s prepoznavanjem lica i nisam imala pojma koliko je teško postići ovako nešto. Nakon razgovora s profesoricom Malloch shvatio sam da moram naučiti mnogo stvari prije nego što mogu potpuno razumjeti zadatak koji sam na kraju planirao postići.

Nakon malo istraživanja, konačno sam odlučio da mi je cilj više od svega što sam trebao naučiti linearnu algebru i neke osnove strojnog učenja te sam se odlučio za PCA (analiza glavnih komponenti).

Korak 2: Istraživanje

Istraživanje
Istraživanje

Prvi korak bio je posjetiti Knjižnicu i pronaći bilo koju knjigu koja me upoznala s strojnim učenjem i točnije obradom slika. Ispostavilo se da je ovo mnogo teže nego što sam mislio i na kraju nisam imao ništa posebno. Tada sam odlučio pitati prijatelja koji je radio u Vision Lab -u koji me zamolio da pogledam linearnu algebru i točnije vlastite vektore i vlastite vrijednosti. Imao sam određeno iskustvo s linearnom algebrom iz razreda koji sam pohađao na drugoj godini, ali nisam razumio kako bi vlastiti vektori ili vlastite vrijednosti mogle biti korisne pri bavljenju slikama. Kako sam više istraživao, shvatio sam da slike nisu ništa drugo do ogromni skupovi podataka i da se stoga mogu tretirati kao matrice, pa mi je postalo malo jasnije zašto su vlastiti vektori relevantni za ono što radim. U ovom sam trenutku odlučio da bih trebao naučiti čitati slike pomoću pythona jer ću koristiti python za svoj projekt. U početku sam počeo koristiti CV2.imread za čitanje slika, ali pokazalo se da je to jako sporo, pa sam odlučio koristiti glob i PIL.image.open jer je to puno brže. Čini se da ovaj postupak na papiru relativno ne oduzima puno vremena, ali zapravo mi je oduzeo dosta vremena jer sam morao naučiti kako instalirati i uvesti različite knjižnice na PyCharm (IDE), a zatim pročitati dokumentaciju na mreži za svaku knjižnicu. Pritom sam naučio i kako koristiti naredbe pip install u naredbenom retku.

Nakon toga, sljedeći korak je bio shvatiti što točno želim raditi i naučiti u obradi slika, a u početku sam planirao raditi podudaranje predložaka, no istražujući to, naučio sam o PCA -i i otkrio da je to zanimljivije pa sam odlučio umjesto toga idite s PCA -om. Prvi pojam koji se stalno pojavljivao bio je K-NN (K-najbliži susjed) algoritam. Ovo je bila moja prva izloženost algoritmu strojnog učenja. Naučio sam o podacima o obuci i testiranju te što znači 'obuka' algoritma. Razumijevanje K-NN algoritma također je bilo izazovno, ali bilo je jako zadovoljstvo napokon shvatiti kako on radi. Trenutno radim na tome da kod za K-NN radi i vrlo sam blizu završetka.

Korak 3: Suočavanje s poteškoćama i naučene lekcije

Prva velika poteškoća bio je opseg samog projekta. Ovo je više bilo istraživačko nego fizičko. Kako su tjedni prolazili, ponekad bih pogledao napredak mojih vršnjaka i osjetio da ne radim dovoljno ili da ne napredujem dovoljno brzo, a to je ponekad bilo vrlo demotivirajuće. Razgovor s profesorom Mallochom i samo uvjeravanje sebe da zaista učim stvari koje su mi bile jako nove pomoglo mi je da nastavim. Drugi je problem bio što su poznavanje teorijskih stvari i njihova primjena dvije različite stvari. Iako sam znao što moram, zapravo kodiranje u pythonu bila je druga priča. Ovdje je samo čitanje dokumentacije na internetu i traženje prijatelja koji su znali više o tome puno pomoglo da se konačno smisli plan akcije.

Osobno mislim da bi veća knjižnica knjiga i dokumenata u M5 mogla pomoći ljudima koji rade na projektima. Dobra ideja za M5 je i imati digitalni zapis o projektima koje studenti rade u stvarnom vremenu kako bi ih drugi studenti i osoblje mogli pogledati i uključiti se ako ih to zanima.

Kako se projekt bliži kraju, toliko sam naučio u tako kratkom roku. Stekao sam vrlo radno znanje o strojnom učenju i osjećam se kao da sam poduzeo prve korake kako bih se više uključio u to. Shvatio sam da volim računalni vid i da bih se time želio baviti čak i u budućnosti. Ono što je najvažnije naučio sam što je PCA, zašto je toliko važna i kako je iskoristiti.

Korak 4: Sljedeći koraci

Za mene je ovo bilo samo grebanje po površini nečeg mnogo opsežnijeg i nečega što je vrlo važno u današnjem svijetu, tj. Strojno učenje. Planiram u bliskoj budućnosti pohađati tečajeve vezane za strojno učenje. Također planiram izgraditi svoj put do prepoznavanja lica jer je tu počeo cijeli ovaj projekt. Također imam ideje za sigurnosni sustav koji koristi kombinirane značajke (jedna od njih je lice osobe) kako bi bio zaista siguran i to je nešto na čemu želim raditi u budućnosti kada budem imao šire razumijevanje stvari.

Za svakoga poput mene koji je zainteresiran za strojno učenje i obradu slika, ali nema prethodno iskustvo, toplo bih predložio prvo učenje i razumijevanje linearne algebre zajedno sa statistikom (osobito distribucijama). Drugo, predložio bih čitanje Prepoznavanje uzoraka i Strojno učenje od Christophera M. Bishop. Ova mi je knjiga pomogla da shvatim osnove onoga u što se upuštam i vrlo je dobro strukturirana.

Preporučeni: