Hoppa till innehållet
AI-grafen
D· AI-utvecklareLaboration· ca 40 min· wasm

Labb: skalärprodukt, norm och cosinuslikhet

Implementera vektoroperationerna för hand med listor, verifiera mot NumPy, och använda cosinuslikhet för att hitta det mest lika ordet.

Lär ut: vektorer · Kräver: python-listor-och-loopar

Teori

u·v = Σ uᵢvᵢ. ‖u‖ = √(u·u). cos(u,v) = u·v / (‖u‖‖v‖). Skalärprodukten är stor när vektorerna pekar åt samma håll — det är hela idén bakom embeddings.

Deluppgifter

  1. dot, norm — Implementera `dot(u, v)` och `norm(u)` med vanliga listor (ingen NumPy).
  2. cosinus — Implementera `cosinus(u, v)`.
  3. mest_lik — `mest_lik(q, ordvektorer)` returnerar nyckeln i dicten vars vektor har högst cosinuslikhet med q.

Logga in för att köra laborationen.

Förväntade resultat

dot([1,2,3],[4,-1,2]) = 8; norm([6,8]) = 10; cosinus([1,0],[1,1]) ≈ 0,707; mest_lik(kung, {...}) = 'drottning'.

Vanliga fel

  • zip stannar vid kortaste listan — kontrollera lika längd.
  • Division med noll för nollvektorn i cosinus.
  • Använder max() på dict utan key= och får nyckeln i bokstavsordning.