Probability : Naive Bayes classifier ภาคทฤษฎี

แนวคิด (Basic idea)

เป้าหมายของ Bayes classifier คือการประมาณค่าความน่าจะเป็นของเหตการณ์ y ภายใต้เงื่อนไขการเกิดขึ้นของเหตุการณ์ x จากเรื่อง conditional probability เราทราบว่า

(1.0)p(yx)=p(yx)p(x)(1.1)p(yx)=p(y)p(xy)p(x)

ตัวอย่างข้อมูลของสายพันธุ์ดอก Iris (รูปที่ 1)  

รูปที่ 1 ตัวอย่างข้อมูลการแบ่งกลุ่มดอก Iris

รูปที่ 2 คุณลักษณะของดอก Iris ที่นำไปใช้ในการแบ่งสายพันธุ์

ถ้าให้ y แทนเหตุการณ์ที่ข้อมูลในแต่ละแถวจะเป็นสายพันธุ์ (class) ของดอก ค่าที่เป็นไปได้ของ  y คือ  ["setosa", "vericolor" , "verginica" ]

x1 แทนเหตุการณ์ของ sepal length ที่วัดได้

x2 แทนเหตุการณ์ของ sepal width ที่วัดได้

x3 แทนเหตุการณ์ของ petal length ที่วัดได้

x4 แทนเหตุการณ์ของ petal width วัดได้

จะเห็นว่าค่าของ y จะเป็นค่าใดขึ้นกับค่าของ x1,x2,x3,x4 ที่เกิดขึ้น เช่น  
  • ถ้า x1=5.1,x2=3.5,x3=1.4,x4=0.2 แล้ว y เป็น 'setosa' หรือ 
  • ถ้า x1=6.7,x2=3.0,x3=5.2,x4=2.3 แล้ว y เป็น 'verginica' 

สามารถเขียนความสัมพันธุ์ระหว่าง x1,x2,x3,x4 กับ y ตามแบบ conditional probability ได้ดังนี้

p(y=sentosax1=5.1,x2=3.5,x3=1.4,x4=0.2)1.0p(y=verginicax1=6.7,x2=3.0,x3=5.2,x4=2.3)1.0

หมายความว่า ถ้าเราทราบการแจกแจงค่าความน่าจะเป็นของ x1,x2,x3,x4  ของ Iris แต่ละสายพันธุ์แล้ว ภายหลังเมื่อเราได้ข้อมูลใหม่เข้ามาในรูปของ x1,x2,x3,x4 แล้ว เราจะสามารถพยากรณ์ได้ว่า ข้อมูลชิ้นนั้นเป็นของ Iris สายพันธุ์ใดได้ (คือการหาค่าใน (1.0) หรือ (1.1) )

หมายเหตุ เราอาจเขียน (x1,x2,x3,x4) ในรูปของ x แทนได้ 

จาก (1.1) เป็นการประมาณค่าความน่าจะเป็นของ y เมื่อทราบเงื่อนไข x  

(1.2)P(yx)=P(y)P(xy)P(x)

ในทางปฏิบ้ติมีข้อคำนึงอยู่คือ

  1. เราสามารถหาค่าของ P(y) ได้โดยการแจงนับจากข้อมูลตัวอย่างที่เก็บมา
  2. P(xy) นั้นไม่สามารถทำได้โดยตรงจากการแจงนับ ต้องมีการตั้งสมมุติฐานขึ้นมาก่อนเพื่อให้สามารถใช้กฏของความน่าจะเป็นได้เพื่อประมาณค่าได้
  3. เพื่อการ predict เราอาจละการทำ scaling หรือ การหารด้วย P(x) ออกไปได้ เพราะไม่ได้ทำให้ความหมายเปลี่ยนแปลงในเชิงเปรียบเทียบ เช่น เราทราบว่า 9>6 เป็นจริง ในทำนองเดียวกันหากทำ scale ด้วย 3 , 93>63 ก็ยังเป็นจริงอยู่  ดังนั้น (1.3)P(yx)P(y)P(xy)


สมมุติฐาน (Naive Assumption)

1. Independent : ภายใต้สมมุติฐานข้อนี้ให้ถือว่า x1,x2,x3,...,xj เป็นอิสระต่อกัน ไม่เป็นเงื่อนไขต่อกัน ผลคือทำให้นำเอาหลักการ probability dependency มาใช้ได้ [1]

2. Equal : ภายใต้สมมุติฐานข้อนี้ให้ถือว่า x1,x2,x3,...,xj  มีความสำคัญเท่ากัน หรือมีน้ำหนักเท่ากัน การคำนวณค่าความน่าจะเป็นของ P(yx) ต้องนำเอาค่าของทุก xj มาคำนวณร่วมด้วย 

หมายเหตุ บางครั้งจะเห็นเรียกสมมุติฐาน 2 ข้อนี้ว่า naive Bayes assumption สมมุติฐานนี้ตั้งขึ้นเพื่อให้ง่ายต่อการคำนวณ ซึ่งอาจไม่ได้ผลในโลกความจริง


Conditional dependency

จากสมมุติฐานข้างต้นว่า การหาค่า P(xy)  ใน (1.3) หาได้จากหลักการของ conditional dependency [3] ที่ว่า 

เมื่อ x1,x2,x3,...,xj เป็นอิสระต่อกันแล้ว

P(x1,x2,x3,...,xjy)=P(x1y)P(x2y)P(x3y)P(xjy)(1.4)P(xy)=P(x1y)P(x2y)P(x3y)P(xjy)


นำ (1.4) ไปแทนใน (1.3) จะได้


(1.5)P(yx)P(y)P(x1y)P(x2y)P(xjy)


ในความเป็นจริงแล้ว y1,y2,...,yi ย่อมเป็นอิสระต่อกัน แต่ค่าของ xj จะขึ้นกับ yi ดังนั้นใน (1.5) จะต้องถูกคิดแยกกันของแต่ละ yi 


(1.6)P(yixi)=P(yi)P(xi1yi)P(xi2yi)P(xi3yi)P(xijyi)

เมื่อ xi=(xi1,xi2,xi3,...,xij)


รูปที่ 3


จากที่กล่าวมาอาจสรุปความเข้าใจดังนี้  สมมุติว่าข้อมูลที่จัดแบ่งเป็น 2 กลุ่ม y1,y2 โดยในแต่ละกลุ่มมี features x1,x2,x3เช่นเดียวกัน แต่มีการแจกแจงต่างกัน   (รูปที่ 3)  ค่าความน่าจะเป็นของแต่ละ features แทนด้วยขนาดของวงกลมภายในพื่้นที่ของแต่ละกลุ่ม


รูปที่ 4


ถ้าได้รับข้อมูลชิ้นใหม่เข้ามาเป็น (x1q,x2q,x3q)  และเรานำมาหาค่าความน่าจะเป็นเพื่อดูการแจกแจงในทั้งสองกลุ่ม (รูปที่ 4)  นำไปเทียบกับที่ทราบก่อนมาก่อนแล้ว (รูปที่ 3) จะเห็นว่า ข้อมูลชิ้นใหม่มีความน่าจะเป็นที่จะจัดอยู่กลุ่ม y1 มากกว่า y2 ด้วยหลักคิดนี้ เราเรียกว่าการหา "maximum likelihood"[4]  

ในตอนนี้ได้กล่าวถึงภาคทฤษฎีที่โยงกันน่าจะครบแล้ว ตอนต่อไปจะนำเอาทฤษฎีไปสู่การปฏิบัติ ดูจาก ตัวอย่างที่ 1 และ ตัวอย่างที่ 2


ความคิดเห็น