[AVSP] Gradivo
glider
Može netko objasniti ili na papiru riješiti kako dobiju ovu modularnost za mali primjer? nakon brisanja brida 3-4 i 2-5 ja dobijem modularnost 0.3047 a njima je 0.124?
Sipa31
toblerone imao sam isti problem, poslao mail njima i ispada da se ne brišu težine bridova kada se brišu bridovi iz grafa. Drugim riječima, varijabla A_uv u formuli za modularnost se odredi prema početnom grafu i ne mijenja se. Jedina varijabla koja se mijenja iz iteraciju u iteraciju je delta funkcija koja označava jesu li čvorovi u i v u istoj zajednici.
Prošle godine je bio identičan labos i 0.3047 je bio točan rezultat, a nisu uopće promijenili tekst labosa, što je meni dos čudno. Izgleda da su promijenili rad algoritma, nezz.
pushPop
Sipa31
Mozes molim te jos malo pojasnit ako nije problem?
Ja s postavljanjem tezine izbacenih bridova na 0 dobivam: 0.3047 (kako si napisao).
Ali BEZ postavljanja tezina na 0 dobivam: 0.3595? Jesi mozda jos nesta izmijenio jer samo s ovom promjenom meni nije 0.124?
Hvala.
PS: za info, bridovi koji se izbacuju su mi ok, modularnosti nisu ok
Sipa31
Sipa31
pushPop Tu je post od prošle godine u kojem je netko dobio ispravno rješenje od 0.124 : Jimothy
Tada je to bilo neispravno rješenje, a sada je ispravno jer su eto promijenili rezultat. Znači, 0.3047 je prije bilo ispravno, sada je 0.124 točno, ignoriraj druge postove nakon i prati sliku. Skontat češ kako implementirat brzo, nije nešto teško.
Par stvari što si možda zeznuo:
- varijable m, Ku, i Kv se isto ne mijenjaju, određuju se za prvi, izvorni graf i to je to. Jedina varijabla koja se mijenja pri uklanjaju bridova je delta funkcija
- kad iteriraš kroz čvorove, parovi čvorova se dvaput zbrajaju. Drugim riječima, zbrojit ćeš par (1, 2) i kasnije par (2, 1). Parovi kao (1, 1) se ne zbrajaju dvaput, jer je riječ o istom čvoru.
- nemoj zaboravit zaokružit modularnost na 4 decimalna mjesta
Amon
Atem Ispiti imaju svoj prag, labosi imaju svoj. Ne možeš nadoknadit labose sa ispitima
pushPop
Sipa31
E hvala ti puno, sad su svi izlazi ok. Jedino u vecem primjeru, ne znam zasto, modularnosti su mi na pocetku OK, a dalje se pocinju pomalo razilaziti. Na kraju izracuna za svaku particiju redom napravim ovo:
- ako je abs(Q) < 1e-5: postavim Q = 0
- napravim Q = round(Q, 4)
Jel tebi ispadaju sve (i one kasnije) modularnosti iste?
Sipa31
pushPop meni su sve identične modularnosti. Modularnosti ne ulazi u ispis, pa u teoriji ako ti sada prolazi integracijski test postoji šansa da dobiješ sve bodove, ako je razlika veoma mala
pushPop
Sipa31
E super hvala ti puno. Vidio sam jedan skoro pa neuocljivi bug - prije sam zbog nekog razloga preskakao zajednice sa samo 1 članom u izračunu Q, a zapravo i one ulaze (samo što je Auv = 0, ali ostatak je ≠ 0). Sad je i meni sve 100% isto.
Hvala ti puno još jednom!
chuuya
Zna li netko kako se rješavaju ovakvi zadatci?
tonkec
import numpy as np
import sklearn.decomposition
A = np.array([[1, 1], [1.5, 2], [2, 2], [3, 3], [3.5, 3], [4, 4], [5, 5]])
V = np.array([[np.sqrt(2) / 2, np.sqrt(2) / 2],
[np.sqrt(2) / 2, -np.sqrt(2) / 2]])
a_mean = np.mean(A, axis=0)
A_new = A - a_mean
transformed = A_new @ V.T
reconstructed = transformed @ V.T + a_mean
print(reconstructed)
pca = sklearn.decomposition.PCA()
pca.fit(A)
transformed = pca.transform(A)
reconstructed = np.dot(pca.transform(A), pca.components_) + a_mean
print(reconstructed)
Ručno, ali i preko libraryja se dobije jednak odgovor tako da je ovaj odgovor, koji je navodno točan, u pdfu na materijalima kriv.
chuuya
tonkec Možeš li prepisat/slikat ručni postupak?
Audaces
Ako je netko napisao pseudokod, bio bih zahvalan
a_ko_si_ti
Audaces Ovdje se prostorno ne može bolje od O(n)?
Vremenski bi se poboljšalo sa cahce (python dict) sa amo rec zadnjih 2000 temperatura pa bi to dalo prostorno O(n + cache_size), i onda vremenski O(1) za cahce hit, a O(n) inače.