Vad är skillnaden mellan gles vektor och tät vektor i maskininlärning?


Bästa svaret

Konceptuellt är det samma. Bara en vektor.

Datastrukturen bakom den är annorlunda än den. Att vara gles betyder att den inte innehåller uttryckligen varje koordinat. Jag ska förklara.

Tänk på annonsdimensionsvektorn u \ i I \! R ^ d, u = (u\_1, …, u\_d),

Du vet ibland att din vektorn kommer att ha mycket u\_i = 0 värde. Då kanske du vill, för att undvika slöseri med minne, lagra värden som inte är 0, och sedan, och betrakta, andra värden som noll. Detta är oerhört användbart när one-hot används.

Vanligtvis representeras gles vektor med en tuple (id, värde) såsom: u\_i = värden [j] om id [j] = i; u\_i = 0 annars (om i inte finns i id)

Från en dev-synpunkt blir det gles vektor från tät vektor är som att göra:

sparse\_vec = {“id”: [], “values”: []}

d = len(dense\_vec)

for i in range(0, d):

if d[i] != 0:

sparse\_vec["id"].append(i)

sparse\_vec["values"].append(d[i])

Och till exempel representeras en tät vektor (1, 2, 0, 0, 5, 0, 9, 0, 0) som {(0,1,4,6), (1, 2, 5, 9)}

pltrdy

Svar

Vektor hänvisar till varje fysisk storlek som har storlek och riktning. Förutom detta bör det följa lagen om vektortillsättning.

Exempel: kraft, hastighet, förskjutning, moment momentun, acceleration, elektrifierad etc.

Positionsvektorn är också en vektor som lokaliserar positionen för en partikel med avseende på referensramens ursprung. Det betecknas med \ vec {r} = x \ hat {i} + y \ hat {j} + z \ hat {k}.

Var \ hat {i}, \, \ hat { j} och \ hat {k} är enhetsvektorn längs x-, \, y- och z-axlarna. Och (x, \, y, \, z) är koordinaterna för en partikels position w.r.t ursprung till referensramen.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *