-
Notifications
You must be signed in to change notification settings - Fork 0
teodumitrescu/cat_or_not
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Dumitrescu Ioana-Teodora - 315CD ----------------------- PART 3: HOUSEHOLDER PREDICTION ----------------------- Timp de rulare: ~28 secunde Acuratete de predictie obtinuta: intre ~0,85 - 0,88 1. rgbHistogram Citesc imaginea sub forma de matrice tridimensionala, apoi tabloul aferent fiecarei culori e transformat in vector si ii este aplicata functia 'histc' cu intervalele formate de punctele date. Vectorii obtinuti se concateneaza pentru a forma vectorul solutie. 2. hsvHistogram Aplic acelasi algoritm ca la functia precedenta (pe intervalul [0,1]), dar folosesc o functie auxiliara "rgbHsvTransform" implementata dupa modelul prezentat, insa vectorizata pentru a nu mai fi nevoie de parcurgerea matricii pixel cu pixel (lucru care consuma foarte mult timp, mai ales pentru un numar mare de imagini procesate). Astfel, am lucrat cu toata matricea deodata, realizand transformarile pe toti pixelii care indeplineau conditia necesara, in mod simultan. 3. Householder Pentru factorizarea cu Householder folosesc unul din algoritmii de la labo- rator, de pe Moodle, care urmareste formulele specifice acestei factorizari. 4. SST Deoarece este vorba de o matrice superior triunghiulara, cel mai usor de calculat element este cel de pe ultimul rand, pe care il aflam impartind termenul liber la coeficientul sau. Restul necunoscutelor se afla cate una pe fiecare rand, din aproape in aproape, obtinandu-se prin scaderea din termenul liber a celorlalti termeni prezenti pe rand (aflati la pasul anterior) si impartirea cu coeficientul sau. 5. preprocess Salvez in doua variabile cale catre cele doua foldere cu imagini, apoi obtin doua matrici cu imaginile din cele doua foldere. calculez histograma ceruta pentru fiecare imagine din cele doua si adaug la rand vectorul de caracteristici obtinut in matricea X (intai pozele cu pisici, apoi pozele fara pisici). La fiecare pas, adaug si in y 1 sau -1 daca contine pisici sau nu poza respectiva. 6. learn Adaug o coloana de 1 la sfarsitul matricii X primite ca parametru, apoi folosesc Householder si SST implementate anterior pentru a rezolva sistemul de ecuatii necesar "invatarii" lui w. 7. evaluate Pentru rezolvarea acestei functii, folosesc functia "preprocess" pentru a obtine matricea si vectorul de caracteristici aferent setului de imagini. Pentru fiecare poza, voi folosi produsul scalar cu w ul gasit anterior, obtinand astfel y ul prezis. Compar valoarea obtinuta cu cea din preprocess si, daca produsul celor doua valori este mai mare ca 0, atunci inseamna ca au acelasi semn, deci raspunsul este corect. -------------------- PART 4: GRADIENT DESCENT PREDICTION --------------------- Timp de rulare: ~110 - 120s Acuratete de predictie obtinuta: ~0,60-0,63 1. learn Initializez cu ajutorul functiei "rand" vectorul w u valori intre [-0.1,0.1], scalez coloanele lui X si il formz pe X_tilde. Folosesc, apoi, functia "randperm" pentru a obtine valori intregi random intre 1 si numarul de linii ale lui X, valori ce vor fi considerate indicii random ai liniilor din X si y pentru batch. Apoi folosesc formula data pentru a-l obtine pe w. 2. evaluate Functia este aproape identica celei de la task-ul precedent, adaugandu-se doar scalarea coloanelor lui X.
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published