Discrete: ผลคูณภายใน และ การถ่วงน้ำหนัก
ขอเบนประเด็นมานิดนึงนะ แต่หัวข้อใหญ่อันเดิม ใครที่อ่านสองตอนที่แล้วไม่รู้เรื่อง ช่างมันไปก่อนก็ได้ ครั้งนี้ง่ายมาก ๆ นะ (เน้นแต่เรื่องการตีความกับการใช้งาน)
มาลองดูสิ่งที่เราเรียกว่า "ผลคูณภายใน" (Inner Product หรือ Dot Product น่ะนะ) ของเวกเตอร์สองตัวกัน
สมมติว่า u และ v เป็นเวกเตอร์ที่มีโดเมนเป็น {1, 2, 3, ..., n} (เรียกง่าย ๆ ว่า เวกเตอร์ n มิติ :D) ผลคูณภายในของ u กับ v ก็คือ
u⋅v = u1v1 + u2v2 + u3v3 + ... + unvn
หรือเขียนในรูป Σ ได้เป็น
Σ1≤x≤n (uxvx)
แล้ว ... ผลคูณภายในมันเอาไปใช้ทำอะไรหละ? ลองดูนี่นะ
"สมมติว่า เปิดก๊อกน้ำด้วยอัตรา 1 ลิตรต่อนาที นาน 4 นาที จากนั้นเปลี่ยนอัตราการไหลเป็น 5 ลิตรต่อนาที ทิ้งไว้ 6 นาที แล้วก็หมุนก๊อกเป็น 10 ลิตรต่อนาที ทิ้งไว้อีก 3 นาที จะได้น้ำกี่ลิตร?"วิธีคิดก็ง่าย ๆ คือ
น้ำทั้งหมด = 1⋅4 + 5⋅6 + 10⋅3 = 64
แต่ ลองสังเกตดูนิดนึง ก็จะเห็นว่า
1⋅4 + 5⋅6 + 10⋅3 = (1, 5, 10)⋅(4, 6, 3)
แล้วถ้าถามต่อว่า
"อัตราการไหลเฉลี่ยเป็นเท่าไหร่?"จะคิดยังไง?
ก็หารด้วยเวลาทั้งหมดใช่มะ ... ใช่สิ แล้วมันคือเท่าไหร่หละ?
4 + 6 + 3 = 13
สังเกตแบบเดิมอีกที...
4 + 6 + 3 = 1⋅4 + 1⋅6 + 1⋅3 = (1, 1, 1)⋅(4, 6, 3)
โอ้ว ... ขอหยุดเรื่องค่าเฉลี่ยแป๊บนะ ... เราได้ข้อสรุปอะไรบางอย่างละ
ถ้าให้ v เป็นเวกเตอร์ n มิติ โดยที่ vi = อัตราการไหลในช่วงเวลาที่ i
และ u เป็นเวกเตอร์ n มิติ โดยที่ ui = ความยาวของช่วงเวลาที่ i
จะรู้ว่า
u⋅v = ปริมาณน้ำทั้งหมด
(1, 1, 1, ..., 1)⋅v = เวลาทั้งหมด
อัตราการไหลเฉลี่ย = u⋅v/(1, 1, 1, ..., 1)⋅v
และ u เป็นเวกเตอร์ n มิติ โดยที่ ui = ความยาวของช่วงเวลาที่ i
จะรู้ว่า
(1, 1, 1, ..., 1)⋅v = เวลาทั้งหมด
อัตราการไหลเฉลี่ย = u⋅v/(1, 1, 1, ..., 1)⋅v
ได้ค่าเฉลี่ยละ :D ... คราวนี้ สมมติว่าเราไม่รู้จัก v เลยนะ สมมติว่ารู้จักแต่ u (ก็คือ รู้แต่ว่ามีอัตราการไหลเท่าไหร่บ้าง)
u⋅(1, 1, 1, ..., 1) = อัตราการไหลรวม
(ก็คือ ปริมาณรวมเมื่อหมุนก๊อกเปลี่ยนทุก 1 นาที)
(ก็คือ ปริมาณรวมเมื่อหมุนก๊อกเปลี่ยนทุก 1 นาที)
อันนี้ มันก็คือผลรวมของ ui น่ะแหละ ส่วนอัตราการไหลเฉลี่ยก็คือ ค่าเฉลี่ยของ ui ซึ่งเท่ากับ
u⋅(1, 1, 1, ..., 1)/n
ซึ่ง ... สังเกตอีกแล้ว จะเห็นว่า
n = 1⋅1 + 1⋅1 + 1⋅1 + ... + 1⋅1 จำนวน n ตัว
สรุปละนะ!!! สำหรับเวกเตอร์ตัวเดียว
u เป็นเวกเตอร์ ซึ่ง ui = ค่าของข้อมูลตัวที่ i
และ (1, 1, 1, ..., 1) = α
และ (1, 1, 1, ..., 1) = α
จะได้ว่า
α⋅α = จำนวนข้อมูล
u⋅α = ผลรวมค่าของข้อมูลทั้งหมด
ค่าเฉลี่ย (เลขคณิต) = u⋅α / α⋅α
u⋅α = ผลรวมค่าของข้อมูลทั้งหมด
ค่าเฉลี่ย (เลขคณิต) = u⋅α / α⋅α
แล้วถ้ามีเวกเตอร์สองตัว
u เป็นเวกเตอร์ ซึ่ง ui = ค่าของข้อมูล 1 ตัวในกลุ่มที่ i
v เป็นเวกเตอร์ ซึ่ง vi = จำนวนข้อมูลที่อยู่ในกลุ่มที่ i
และ (1, 1, 1, ..., 1) = α
v เป็นเวกเตอร์ ซึ่ง vi = จำนวนข้อมูลที่อยู่ในกลุ่มที่ i
และ (1, 1, 1, ..., 1) = α
จะสรุปได้ว่า
α⋅v = จำนวนข้อมูล
u⋅v = ผลรวมค่าของข้อมูลทั้งหมด
ค่าเฉลี่ย = u⋅v / α⋅v
u⋅v = ผลรวมค่าของข้อมูลทั้งหมด
ค่าเฉลี่ย = u⋅v / α⋅v
เราเรียก v ว่าเป็น เวกเตอร์ถ่วงน้ำหนัก หรือ ฟังก์ชันถ่วงน้ำหนัก
คราวนี้ ... อะไรคือ "เวกเตอร์ตั้งฉากกัน"?
จากนิยามที่เราน่าจะคุ้น ๆ กันมาก่อน...
"u⋅v ก็ต่อเมื่อ u ตั้งฉากกับ v"
จริง ๆ ใน 2 มิติกับ 3 มิติ เราก็เห็นภาพว่ามันเป็นยังไงนะ แต่ใน n มิติหละ? ... ก็เอามาจากข้อสรุปเมื่อกี๊ไง
ผลรวมค่าของข้อมูลทั้งหมด = 0
2 Comments:
ดีจังครับ มีความรู้แบ่งปันกันด้วย ขอบคุณมาก
เออ...ผมรออ่านบทความกึ่งวิชาการคุณอยู่ดีมากๆเลย
Post a Comment
<< Home