01204472/การทดลองเกี่ยวกับเวกเตอร์

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
การทดลองนี้เป็นส่วนหนึ่งของวิชา 01204472

เวกเตอร์และมุม

เรามีข้อมูลสำหรับทดลอง 2 ชุด ดังนี้

  • ชุดที่ 1 มีบทความ 2 กลุ่มคือ กลุ่มของบทความในหมวด Association Football 1236 บทความ และบทความในหมวด Diets อีก 307 บทความ ดาวน์โหลด

เมื่อกระจายแฟ้มข้อมูลออกมา ในนั้นจะมีแฟ้มข้อมูล นามสกุล dat อยู่ โดยแฟ้มมีหมายเลข 1xxxx.dat จะเป็นของกลุ่มแรก และ 2xxxx.dat จะเป็นของกลุ่มที่สอง แต่ละแฟ้มจะเก็บข้อมูลของ 1 เวกเตอร์ ในรูปแบบต่อไปนี้

  • บรรทัดแรกเก็บขนาดของเวกเตอร์
  • บรรทัดที่สองจะเป็นสมาชิกในเวกเตอร์ ไล่ไปทีละตัว สำหรับข้อมูลชุดนี้จะมีแค่ 0 กับ 1 เท่านั้น

ในการจัดการกับเวกเตอร์นั้น numpy มีโครงสร้างข้อมูลแบบ array ที่ทำให้เราสามารถประมวลผลได้ง่าย เราสามารถสร้างอาร์เรย์จากลิสต์ โดยสั่ง

u = array([1,2,3,4])

เราสามารถหา inner product ได้ง่าย และสามารถเรียกฟังก์ชัน norm เพื่อหา Euclidean norm ได้

หมายเหตุ เพื่อความสะดวกอย่าลืม import pylab ก่อน โดยสั่ง from pylab import *

ตัวอย่างโค้ดอ่านข้อมูลจากไฟล์มาใส่ array

def read_vector(filename):
    lines = open(filename).readlines()
    return array([float(s) for s in lines[1].strip().split()])

ส่วนที่วนลูปอ่าน vector 300 เวกเตอร์แรกของแต่ละกลุ่ม

fnums = range(10001,10301) + range(20001,20301)

vectors = {}
for f in fnums:
    vectors[f] = read_vector("%d.dat" % f)

การกระจายของมุม

ในส่วนแรกสำหรับข้อมูลแต่ละชุดเราจะวาดกราฟแสดงการกระจายของมุมที่เวกเตอร์แต่ละเวกเตอร์กระทำกับเวกเตอร์อันใดอันหนึ่ง เพื่อความรวดเร็วอาจจะใช้เวกเตอร์แค่ 300 เวกเตอร์แรกของแต่ละกลุ่มก็ได้

เราจะเลือกเวกเตอร์ในแฟ้ม 10001.dat มาเพื่อเป็นเวกเตอร์หลัก จากนั้นเราจะคำนวณมุมของ กับเวกเตอร์อื่น ๆ โดยให้วาดกราฟแสดงการกระจายของมุมระหว่างเวกเตอร์จากเอกสารในกลุ่มเดียวกัน (ในแฟ้ม 10002.dat - 10301.dat) เพื่อเปรียบเทียบกับเวกเตอร์ที่ได้จากเอกสารอีกกลุ่ม (ในแฟ้ม 20001.dat - 20301.dat)

หมายเหตุ การวาดกราฟแสดงการกระจายสามารถทำได้หลายแบบ โดยอาจจะเขียนเป็น histogram หรือนำข้อมูลมา sort แล้ว plot ตามปกติก็ได้

ให้ลองเปรียบเทียบความแตกต่างที่พบระหว่างเวกเตอร์กลุ่มที่ 1 และ 2 ในข้อมูลทั้งสองชุด

มุมเฉลี่ย

สำหรับข้อมูลแต่ละชุด เราจะคำนวณมุมเฉลี่ยระหว่าง

  • เวกเตอร์ในกลุ่ม 1 กับเวกเตอร์ในกลุ่ม 1 เอง
  • เวกเตอร์ในกลุ่ม 2 กับเวกเตอร์ในกลุ่ม 2 เอง
  • เวกเตอร์ในกลุ่ม 1 กับเวกเตอร์ในกลุ่ม 2

ให้ใช้วิธีการคำนวณมุมโดยคำนวณโดยตรง จากนั้นเปรียบเทียบ "ความแตกต่าง" ของมุมเฉลี่ยทั้ง 3 แบบ ที่ได้จากข้อมูลชุด 1 กับชุดที่ 2

มุมเฉลี่ย: sparse vector

เวกเตอร์ที่เราสนใจมีลักษณะพิเศษ กล่าวคือ ถืงแม้เวกเตอร์จะมีขนาดใหญ่ แต่สมาชิกในเวกเตอร์แทบทั้งหมดคือ 0 ดังนั้น การคำนวณโดยตรงกับเวกเตอร์ประเภทนี้โดยมากจึงกลายเป็นงานสูญเปล่า

ให้เปลี่ยนวิธีการเก็บเวกเตอร์สำหรับการหา inner product โ� ... \n

An Incredible Graduation Gift from Dad

Brenna Martins dad evidently doesnt like last-minute shopping. Bryan Martin a purchased a gift for his daughters high school graduation -- which happened earlier this month -- thirteen years ago. He managed to keep it hidden this whole time, and his "moving, touching, nostalgic, and thoughtful" present (her words) brought Brenna to tears when dad finally gave it to her last week.

[An Incredible Graduation Gift from Dad]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

Journey to the End of the Earth

I realized quickly, after just having traveled to various villages in rural India, that distance is relative. Hailing from a city like San Francisco, going even a few hours outside of town is far but twelve hours outside of a major city? I half expected to run into another country.

[Journey to the End of the Earth]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

Rats Walking Again After Spinal Cord Injury

Scientists in Switzerland have restored full movement to rats paralyzed by spinal cord injuries in a study that spurs hope that the techniques may hold promise for someday treating people with similar injuries.

[Rats Walking Again After Spinal Cord Injury]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

Three Qualifications for the New Politician

There are plenty of politicians who genuinely desire to serve their communities and nations with humility and integrity, dedicating their lives to the cultivation of a wisdom that will benefit society at large; sadly, they are a minority.

[Three Qualifications for the New Politician]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

5 Great Lessons You Can Learn From Life

Life isnt meant to be easy, its meant to be lived..sometimes happy, other times rough. But with every up and down you learn lessons that make you strong.Can you step back from your own mind for a little while and realize that life is not as bad as you think it is?

[5 Great Lessons You Can Learn From Life]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]