Basic Data Science : Linear classifier

Hyperplane คือ subspace ที่มีจำนวน dimension น้อยกว่าสภาพแวดล้อมอยู่ 1 dimension

Linear equation :

รูปแบบทั่วไปของสมการเส้นตรงในวิชาพีชคณิตที่มองเส้นตรงในรูปแบบของความสัมพันธ์ระหว่างตัวแปร คือ
 y=ax+b(1)

ถ้าใน calculus จะมองในรูปแบบของฟังก์ชั่น จะเขียนในรูปแบบคือ
f(x)=ax+b(2)

จาก (1) เราสามารถเขียนในรูปแบบที่ไม่มีตัวแปร y อยู่ได้ โดยแทน y ด้วย  x2 และ x แทนที่ด้วย x1  จะได้เป็น

x2=ax1+b(3)
ax1x2+b=0(4)

และถ้ากำหนดให้   W=[a1],X=[x1x2] แล้ว เราอาจเขียนสมการเส้นตรงในรูปแบบของ Matrix ได้แบบนี้

WX+b=0(5)


ข้อดีของการเขียนสมการเส้นตรงในรูปแบบ (5) คือ สามารถกำหนดจำนวน dimension ให้กับ Matrix ได้ตามที่ต้องการ

พิจารณาอีกครั้ง  ถ้ากำหนดให้ W=[w1w2],X=[xy] แล้วนำแทนใน (5) จะได้

[w1w2][xy]+b=0
w1x+w2y+b=0
w2y=w1xb
y=w1w2xbw2(6) 

เมื่อนำไปเทียบกับ y=ax+c จะได้ slope คือ w1w2 และจุดตัดแกน y คือ bw2


ดูตัวอย่าง ถ้าเรามีข้อมูลคู่อันดับอยู่ชุดหนึ่งดังนี้ 

data=[(1,3),(2,5),(2,7),(4,4),(4,6),(4,8),(4,10),(7,5),(7,10),(8,3),(8,7),(9,6),(9,7),(10,10)]

นำไป plot จะได้ดังรูปที่ 1

รูปที่ 1

พิจารณาด้วยสายตาเห็นได้ว่าข้อมูลมีแนวโน้มของการรวมกลุ่มกันเป็นสองกลุ่ม หากเราทดลองลากเส้นตรงหนึ่งเส้นเพื่อแบ่งกลุ่มข้อมูล อาจได้ดังรูปที่ 2

รูปที่ 2


คำนวณหาสมการเส้นตรงได้เป็น

 y=0.4x+9  
y+0.4x9=0

นำไปเทียบกับ (6) จะได้

W=[0.41.0],X=[xy] และ b=9.0
 สมการที่ได้คือ
WX9=0

ในการแยกกลุ่มข้อมูล เพื่อให้รู้ว่าข้อมูลแต่ละชิ้นจะไปอยู่ในกลุ่มไหน เราจำเป็นต้องกำหนด function ขึ้นมาใหม่อีกหนึ่ง เรียกว่า hypothesis function  โดยที่

h(xi)={1if WX901if WX9<0

จะเห็นได้ว่าเรากำหนดค่าของ h(xi) มีเพียงสองค่าคือ 1,-1 จึงเหมือนกับเป็นการว่าคู่ลำดับใดควรอยู่กลุ่มไหนโดยดูจากค่าของh(xi) นั่นเอง


ขั้นตอนต่อไป เอาค่าของข้อมูลที่มีอยู่ (มองดูแล้วจะเห็นว่าข้อมูลอยู่ในรูป coordinate หรือ vector) มาแทนค่าลงในสมการเส้นตรง แล้วพิจารณาผลของ hypothesis function (h)

DataWX9h(xi)
[1 3]-5.6-1
[2 5]-3.2-1
[2 7]-1.2-1
[4 4]-3.4-1
[4 6]-1.4-1
[7 5]-1.2-1
[8 3]-2.8-1
[4 8]0.61
[ 4 10]2.61
[ 7 10]3.81
[7 9]2.81
[8 8]2.21
[9 7]1.61
[10 10]5.01


จากที่กล่าวมา จะเห็นได้ว่าการรวมกันระหว่าง linear equation กับ hypothesis function สามารถนำมาเพื่อแบ่งกลุ่มข้อมูล โดยที่เราจะเรียก hypothesis function  ว่าเป็น  Linear classifier เรียก linear equation ว่าเป็น Hyperplane equation

เพื่อลดความสับสนเราจะเติม 1 เข้าไปในข้างหน้าหรือท้ายของ x=(x1,x2,x3,...,xn) ซึ่งจะกลายเป็น x=(1,x1,x2,x3,...,xn) หรือ x=(x1,x2,x3,...,xn,1) เปลี่ยนสัญญลักษณ์เป็น x^

และเติม b เข้าไปใน w ในตำแหน่งเดียวกับ 1 ได้เป็น w=(b,w1,w2,w3,...,wn) หรือ w=(w1,w2,w3,...,wn,b) เปลี่ยนสัญญลักษณ์เป็น w^
การเติมสมาชิกเข้าไปในลักษณะนี้ทำให้ค่าคงที่ในรูปแบบสมการ (1) นั้นหายไป ได้รูปใหม่ของสมการเป็น

w^x^=0

และ hypothesis function :
h(xi^)=sign(w^xi^)(7)





ความคิดเห็น