Ovu stranicu je najbolje pregledavati u modernom internet pregledniku s omogućenim JavaScriptom.

[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

Bono ovo se meni dogodilo, pogledaj Sipa31. Ukratko, nemoj mijenjati varijablu A{uv} kad uklanjaš bridove s gridova. Konkretno za tebe, kad izbrišes brid (2,5) u prvoj iteraciji, nemoj mijenjat A_{25}, tj. nemoj zamijenit težinu od brida (2,5) s nulom kao što sam ja radio.


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:

  1. ako je abs(Q) < 1e-5: postavim Q = 0
  2. 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

temari

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?


Svarog

pepelko

tonkec


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.


« Prethodna stranica Sljedeća stranica »