ผลต่างระหว่างรุ่นของ "01204472/การทดลองเกี่ยวกับ SVD"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 9: แถว 9:
 
  plot(x,y,'o')
 
  plot(x,y,'o')
  
จากนั้นสร้างเวกเตอร์ของจุดเหล่านี้
+
สร้างรายการของเวกเตอร์จากลิสต์ x และ y
  
  v = matrix(zip(x,y))
+
  vs = [matrix([[xx],[yy]]) for xx,yy in zip(x,y)]
 +
 
 +
จากนั้นให้สร้างเมตริกซ์ M ขนาด 2x2 ขึ้นมา  สำหรับเวกเตอร์ v แต่ละเวกเตอร์ใน vs ให้หา Mv และรวมเป็นรายการ mvs
 +
 
 +
ให้นำจุดเหล่านั้นในลิสต์ mvs มา plot ที่เดียวกับจุดจากรายการ vs ที่เรา plot ตอนแรก ดังตัวอย่างด้านล่าง (รูปอาจจะไม่เหมือน ขึ้นกับเมตริกซ์ M)
 +
 
 +
[[image:Cir-eig.png]]
  
 
== เมตริกซ์ที่มี Low rank ==
 
== เมตริกซ์ที่มี Low rank ==

รุ่นแก้ไขเมื่อ 02:28, 6 กันยายน 2555

ทดลองเกี่ยวกับ eigenvectors

ก่อนอื่นเราจะสร้างรายการของจุดบนวงกลมรัศมี 1 หน่วย

ang = arange(0,2.*pi,pi/10.)
x = [cos(a) for a in ang]
y = [sin(a) for a in ang]
plot(x,y,'o')

สร้างรายการของเวกเตอร์จากลิสต์ x และ y

vs = [matrix([[xx],[yy]]) for xx,yy in zip(x,y)]

จากนั้นให้สร้างเมตริกซ์ M ขนาด 2x2 ขึ้นมา สำหรับเวกเตอร์ v แต่ละเวกเตอร์ใน vs ให้หา Mv และรวมเป็นรายการ mvs

ให้นำจุดเหล่านั้นในลิสต์ mvs มา plot ที่เดียวกับจุดจากรายการ vs ที่เรา plot ตอนแรก ดังตัวอย่างด้านล่าง (รูปอาจจะไม่เหมือน ขึ้นกับเมตริกซ์ M)

Cir-eig.png

เมตริกซ์ที่มี Low rank

การประมาณเมตริกซ์ ด้วย Low rank เมตริกซ์

Collaborative filtering

อ่านเพิ่มเติม: http://www.netflixprize.com/community/viewtopic.php?id=1043