56
1 Data mining—การทาเหมืองข้อมูล โดย ดร. โกเมศ อัมพวัน บทที6 การจาแนกประเภทและการทานายข้อมูล (Classification and Prediction) วัตถุประสงค์ ในบทนี้จะทาการศึกษาเกี่ยวกับเทคนิคต่างๆในการจาแนกประเภทของข้อมูล อาทิ เช่น การจาแนก ข้อมูลด้วยการสร้างต้นไม้ตัดสินใจ (Decision tree classifier) การจาแนกข้อมูลด้วยเบย์เซียนและเบย์เซียนบี - ลิฟเน็ทเวิร์ค ( Bayesian classifier and Bayesian belief networks) การจาแนกข้อมูลด้วยกฏ ( Rule- based classifiers) การจาแนกข้อมูลด้วยโครงข่ายประสาทเทียมและการส่งค่าย้อนกลับ (Neural network and backpropagation) การจาแนกข้อมูลจากกฏความสัมพันธ์ของข้อมูล ( Classification based on association rule mining) การค้นหาเพื่อนบ้านใกล้สุด k อันดับ (k-nearest-neighbor) และทาการศึกษา เกี่ยวกับการทานายข้อมูล ที่จะประกอบไปด้วยการถดถอยเชิงเส้นตรง (linear regression) และการถดถอยทีไม่เป็นเส้นตรง (Nonlinear regression) ท้ายสุด—เราจะทาการศึกษาเกี่ยวการวัดความถูกต้องและความ ผิดพลาดในการจาแนกข้อมูล รวมถึงส่วนต่อเติมหรือวิธีการเพิ่มประสิทธิภาพในแง่มุมต่างๆสาหรับการจาแนก และการทานายข้อมูล 6.1 นิยามเบื้องต้นของการจาแนกและการทานายข้อมูล ในการที่จะเข้าใจว่าการจาแนกข้อมูลคืออะไร ลองพิจารณาตัวอย่างดังต่อไปนี—1) พนักงานสินเชื่อ ของธนาคารต้องการที่จะทาการวิเคราะห์ข้อมูลเพื่อที่จะทาการศึกษาว่าการกู้ยืมในครั้งหนึ่งๆ มีครั้งไหนบ้างทีปลอดภัยและครั้งไหนบ้างที่มีความเสี่ยง 2) ผู้จัดการฝ่ายการตลาดของบริษัทขายอุปกรณ์ไฟฟ้าต้องการข้อมูล เพื่อช่วยในการคาดเดาว่า ลูกค้ามีคุณลักษณะอย่างไรที่จะทาการซื้อคอมพิวเตอร์จากบริษัท3) นักวิจัยทาง การแพทย์ต้องการที่จะวิเคราะห์ข้อมูลเกี่ยวกับมะเร็งเต้านมเพื่อที่จะทาการทานายว่าผู้ป่วยควรจะได้รับการ ดูแลด้วยวิธีใดภายใต้วิธีการรักษาทั้ง 3 วิธีที่ได้รับความนิยมอย่างแพร่หลาย จากตัวอย่างทั้ง 3 ข้างต้นจะ ต้องการการวิเคราะห์ข้อมูล ซึ่งก็คือ การจาแนกข้อมูล ( Classification) ที่ซึ่งจะทาการสร้างโมเดลหรือตัว จาแนกข้อมูล (Classifier) เพื่อทานายหมวดหมู่ของข้อมูล (Categories/Class) อาทิเช่น ปลอดภัย หรือ เสี่ยง ในการวิเคราะห์ข้อมูลสินเชื่อ วิธีการรักษา A หรือ B หรือ C ในการวิเคราะห์ข้อมูลของผู้ป่วยมะเร็งเต้านม เป็นต้น ในส่วนของการทานายข้อมูล ลองพิจารณาตัวอย่างดังต่อไปนีสมมติว่าผู้จัดการฝ่ายการตลาด ต้องการที่จะทานายหรือคาดเดาว่าลูกค้าคนหนึ่งๆจะทาการจ่ายเงินซื้อสินค้าจากบริษัทเป็นจานวนเท่าไหร่ การวิเคราะห์ข้อมูลลักษณะนี้จะเป็นส่วนของการทานายข้อมูลเชิงตัวเลข (Numeric prediction)

บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

  • Upload
    others

  • View
    62

  • Download
    0

Embed Size (px)

Citation preview

Page 1: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

1 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

บทท 6 การจ าแนกประเภทและการท านายขอมล (Classification and Prediction)

วตถประสงค

ในบทนจะท าการศกษาเกยวกบเทคนคตางๆในการจ าแนกประเภทของขอมล อาท เชน การจ าแนกขอมลดวยการสรางตนไมตดสนใจ (Decision tree classifier) การจ าแนกขอมลดวยเบยเซยนและเบยเซยนบ-ลฟเนทเวรค (Bayesian classifier and Bayesian belief networks) การจ าแนกขอมลดวยกฏ (Rule-based classifiers) การจ าแนกขอมลดวยโครงขายประสาทเทยมและการสงคายอนกลบ (Neural network and backpropagation) การจ าแนกขอมลจากกฏความสมพนธของขอมล (Classification based on association rule mining) การคนหาเพอนบานใกลสด k อนดบ (k-nearest-neighbor) และท าการศกษาเกยวกบการท านายขอมล ทจะประกอบไปดวยการถดถอยเชงเสนตรง (linear regression) และการถดถอยทไมเปนเสนตรง (Nonlinear regression) ทายสด—เราจะท าการศกษาเกยวการวดความถกตองและความผดพลาดในการจ าแนกขอมล รวมถงสวนตอเตมหรอวธการเพมประสทธภาพในแงมมตางๆส าหรบการจ าแนกและการท านายขอมล

6.1 นยามเบองตนของการจ าแนกและการท านายขอมล ในการทจะเขาใจวาการจ าแนกขอมลคออะไร ลองพจารณาตวอยางดงตอไปน—1) พนกงานสนเชอของธนาคารตองการทจะท าการวเคราะหขอมลเพอทจะท าการศกษาวาการกยมในครงหนงๆ มครงไหนบางทปลอดภยและครงไหนบางทมความเสยง 2) ผจดการฝายการตลาดของบรษทขายอปกรณไฟฟาตองการขอมลเพอชวยในการคาดเดาวา “ลกคามคณลกษณะอยางไรทจะท าการซอคอมพวเตอรจากบรษท” 3) นกวจยทางการแพทยตองการทจะวเคราะหขอมลเกยวกบมะเรงเตานมเพอทจะท าการท านายวาผปวยควรจะไดรบการดแลดวยวธใดภายใตวธการรกษาทง 3 วธทไดรบความนยมอยางแพรหลาย—จากตวอยางทง 3 ขางตนจะตองการการวเคราะหขอมล ซงกคอ การจ าแนกขอมล (Classification) ทซงจะท าการสรางโมเดลหรอตวจ าแนกขอมล (Classifier) เพอท านายหมวดหมของขอมล (Categories/Class) อาทเชน ปลอดภย หรอ เสยง ในการวเคราะหขอมลสนเชอ วธการรกษา A หรอ B หรอ C ในการวเคราะหขอมลของผปวยมะเรงเตานม เปนตน ในสวนของการท านายขอมล ลองพจารณาตวอยางดงตอไปน—สมมตวาผจดการฝายการตลาดตองการทจะท านายหรอคาดเดาวาลกคาคนหนงๆจะท าการจายเงนซอสนคาจากบรษทเปนจ านวนเทาไหร การวเคราะหขอมลลกษณะนจะเปนสวนของการท านายขอมลเชงตวเลข (Numeric prediction)

Page 2: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

2 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

การจ าแนกขอมลจะประกอบไปดวยสองกระบวนการหลก ดงแสดงตวอยางในรปท 6.1 ทเปนการก-ยมเงน โดยจากรปท 6.1(a) จะเปนกระบวนการสรางตวจ าแนกขอมลจากชดของขอมลทเปนอนพต ทซงแตละเรคคอรดของขอมลทท าการพจารณาจะประกอบไปดวยเซตของแอทรบวทบงบอกถงคณลกษณะของบคคลทท าการก-ยมเงน และหมวดหมของบคคลนนๆวามความปลอดภยหรอมความเสยงในการใหก-ยมเงนหรอไม โดยกระบวนการสรางตวจ าแนกขอมลมกถกเรยกวา ‘learning’ หรอ ‘training’ ทเกดจากการน าเอาขนตอนวธส าหรบการจ าแนกขอมลมาด าเนนการกบขอมล ขอมลเรคคอรด X หนงๆ ในชดขอมลทท าการพจารณา จะ

รปท 6.1 ตวอยางกระบวนการในการจ าแนกขอมล (a) การเรยนรจากขอมลเพอสรางตวจ าแนกขอมล (b) การทดสอบตวจ าแนกขอมลเพอวดความถกตอง

Page 3: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

3 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

ประกอบไปดวยเซตของแอทรบว 𝑋 = (x1, x2, … , x𝑛), 𝑛 แอทรบวทบงบอกถงคณลกษณะตางๆของขอมลเรค-คอรด 𝑋 นอกจากนนเรคคอรด 𝑋 ยงมขอมลอกหนงแอทรบวทบงบอกถงหมวดหมของขอมล (class label attribute) โดยแอทรบวหมวดหมขอมลจะเปนขอมลแบบไมตอเนอง (discrete-valued) โดยชดขอมลทเปนอนพตส าหรบท าการสรางตวจ าแนกขอมลจะถกเรยกวา “ชดขอมลส าหรบสอน (training data) ตวอยาง (samples/instances) ชดขอมล (data points) or สงของ (objects)” เปนตน หมายเหต—เนองจากแตละเรคคอรดในชดขอมลทเปนอนพตจะมแอทรบวหมวดหมขอมลแนบอยดวย ดงนน การจ าแนกขอมลดวยขอมลลกษณะนจะเรยกวา การเรยนรแบบมผสอน (Supervised learning—คอ การสรางตวจ าแนกขอมลจะถกสอนโดยแอทรบวหมวดหมขอมลตางๆทถกแนบอยในแตละเรคคอรดของชดขอมล โดยการเรยนรแบบมผสอนจะแตกตางกบการเรยนรแบบไมมผสอน (Unsupervised learning หรอ clustering) ทจะไมทราบถงหมวดหมของขอมล ตวอยางเชน ในการวเคราะหขอมลการก-ยมเงนทไมมหมวดหมขอมลทบงบอกวาการกยมครงหนงๆมความเสยงหรอไม เราจะสามารถวเคราะหขอมลไดจากการเชอมโยงเรคคอรดของการก-ยมเงนทมลกษณะใกลเคยงกนหรอเหมอนกนใหอยในกลมเดยวกน เปนตน

ขนตอนทสองของการจ าแนกขอมล (ดงแสดงในรปท 6.1(b)) จะเปนการเรยกใชตวจ าแนกขอมลทสรางขนจากขนตอนทหนงเพอท าการจ าแนกขอมล โดยในตอนเรมตน ตวจ าแนกขอมลจะถกทดสอบและประเมนคาความถกตอง (ถาเราใชชดขอมลส าหรบสอนในการทดสอบตวจ าแนกขอมลจะท าใหความถกตองจะมคาคอนขางสง เนองจากตวจ าแนกขอมลทสรางขนจะเหมาะกบขอมลชดนนเปนอยางมาก (overfit) แตถาเราใชชดขอมลทแตกตางออกไปในการทดสอบ (test set) โดยชดขอมลทใชจะตองมแอทรบวหมวดหมขอมลแนบอยดวย จะท าใหเราทราบคาความถกตองของตวจ าแนกขอมลได) โดยคาความถกตองของตวจ าแนกขอมลทถกสรางขนจะเปนเปอรเซนตของตวจ าแนกขอมลทสามารถจ าแนกขอมลไดอยางถกตอง (ตวจ าแนกขอมลบงบอกถงหมวดหมขอมลไดเหมอนกบหมวดหมขอมลทถกแนบมากบขอมลเรคคอรดหนงๆ)

เมอคาความถกตองของตวจ าแนกขอมลมคาทนาพงพอใจหรอยอมรบได เราจะใชตวจ าแนกขอมลในการจ าแนกหรอบงบอกถงหมวดหมขอมลทเขามาใหมทซงเราไมทราบหมวดหมขอมลมากอน (ขอมลทเขามาใหมจะถกเรยกวา ‘unknown’ หรอ ‘previously unseen’ data) ตวอยางเชน ตวจ าแนกขอมลทถกสรางขนในรปท 6.1(a) จะถกใชเพอตดสนใจการใหก-ยมเงนของเอกสารทยนเขามาใหมวาจะใหก-ยมหรอไม เปนตน

6.2 สงทตองค านงถงในการจ าแนกและการท านายขอมล ในการจ าแนกและท านายขอมลครงหนงๆจะมหลายปจจยทเราตองพจารณาและค านงถง แตอยางไรกตาม โดยทวไปเราจะตองพจารณา 2 ปจจยหลก ดงน

Page 4: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

4 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

6.2.1 การจดเตรยมขอมลส าหรบการจ าแนกและการท านายขอมล การท าความสะอาดขอมล (Data cleansing)—จะเกยวของกบการประมวลผลขอมลเบองตนทจะ

ลบหรอลดขอมลทมสงรบกวน (noise) ดวยการประยกตใชวธการปรบเรยบขอมลแบบตางๆ และจดการกบการขาดหายไปของขอมลดวยการแทนคาของขอมลทขาดหายไปดวยคาของขอมลทปรากฏบอยทสดหรอท าการแทนดวยคาของขอมลทมคาเชงสถตสงทสด เปนตน

ความเกยวเนองของขอมล (Relevance analysis)—จะท าการตรวจสอบขอมลแอทรบวตางๆวามความเกยวเนองหรอซ าซอนกนมากนอยเพยงใด ซงโดยปกตของชดขอมลจะมแอทรบวทซ าซอนกน ดงนน เพอทจะหลกเลยงความซ าซอนดงกลาว เราสามารถประยกตใชการวเคราะหสหสมพนธ (correlation analysis) เพอท าการตรวจสอบทางสถตวา 2 แอทรบวใดๆ (เลอกพจารณาทละคของแอทรบวจากแอทรบวทงหมด) มความเหมอนกนหรอแตกตางกนมากนอยเพยงใด ตวอยางเชน แอทรบว 𝐴1 และ 𝐴2 ทมความเหมอนกนคอนขางมากจะท าใหเราทราบวาเราควรทจะตองลบแอทรบวใดแอทรบวหนงออกจากเซตของแอทรบวทจะท าการพจารณา จากนนเราจะตองท าการเลอกแอทรบวทนาสนใจ (Attribute subset selection) เพอลดปรมาณแอทรบวทตองพจารณา อนน ามาซงการลดทรพยากรในการค านวณและอาจเปนการเพมความถกตองของการคนหาผลลพธไดอกดวย

การเปลยนแปลง/เปลยนรปขอมลและการลดจ านวนขอมล (Data transformation and reduction)—ขอมลทเปนอนพตอาจมชวงของขอมลหรอคาของขอมลทมระยะหางคอนขางมาก ดงนน เราอาจท าการเปลยนแปลง/เปลยนรปดวยวธการ normalization ทจะท าการปรบเปลยนคาในแอทรบวหนงๆใหอยในชวงทก าหนด อาทเชน ชวง -1.0 ถง 1.0 หรอ ชวง 0.0 ถง 1.0 เปนตน การปรบเปลยนชวงของขอมลจะชวยในเรองของการหาความแตกตางระหวางขอมลเรคคอรดตางๆ (distance measure) นอกจากนนการเปลยนแปลง/เปลยนรปขอมลยงสามารถท าไดดวยวธการ generalization ทซงจะท าใหขอมลมความละเอยดนอยลง ตวอยางเชน แอทรบวทบงบอกถงรายไดทเปนคาตอเนอง (คาเงนจรงทแตละบคคลไดรบในแตละเดอน) จะสามารถถกท า generalize ใหอยในชวงทไมตอเนองได อาทเชน low, medium และ high เปนตน ยงไปกวานน เรายงสามารถลดจ านวนขอมลทตองท าการพจารณาไดดวยการประยกตใช เทคนคตางๆ อาท เชน wavelet transformation แ ล ะ principle component analysis ร ว ม ถ ง เท ค น ค ก า ร ท า binning, histogram analysis และ clustering เปนตน

6.2.2 การเปรยบเทยบประสทธภาพวธในการจ าแนกและท านายขอมล ในการเปรยบเทยบประสทธภาพของวธในการจ าแนกและท านายขอมลเราจะท าการประยกตใชเกณฑดงตอไปน

Page 5: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

5 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

ความถกตอง (Accuracy)—จะเกยวของกบความสามารถของตวจ าแนกขอมลทถกสรางขนทจะสามารถจ าแนกขอมลทไมเคยพบเจอมากอนไดอยางถกตอง โดยในการวดความถกตองอาจประเมนไดจากการใชชดขอมลหนงๆ (หรอมากกวาหนงชดกได)ท แยกจากชดขอมลเรยนร (training dataset)

ความเรว (Speed)—จะเกยวของกบเวลาทใชในการค านวณทงในสวนของการสรางตวจ าแนกขอมลและการจ าแนก/ท านายขอมล

ความทนทาน (Robustness)—-จะเกยวของกบความสามารถของตวจ าแนกหรอตวท านายขอมลทจะท าการท านายไดอยางถกตองจากขอมลตงตนทมสงรบกวนหรอมการขาดหายไปของขอมล

ความยดหยนตอปรมาณขอมล (Scalability)—จะเกยวของกบความสามารถในการสรางตวจ าแนกขอมลหรอตวท านายขอมลไดอยางมประสทธภาพเมอมขอมลทตองพจารณาเปนปรมาณมาก

ความสามารถในการเขาใจ (Interpretability)—เกยวเนองกบระดบความสามารถทจะถกเขาใจในตวแจกแนกหรอท านายขอมลจากผใชงาน

6.3 การจ าแนกขอมลดวยตนไมตดสนใจ การจ าแนกขอมลดวยตนไมตดสนใจจะเปนกระบวนการสรางตนไมขนเพอใชในการตดสนใจจากขอมลทมหมวดหมขอมลแนบอยดวย ตนไมตดสนใจจะประกอบไปดวยโหนดตางๆ (ทไมใชโหนดใบ—nonleaf node) ทซงถกใชในการแสดงถงเงอนไขหรอแอทรบวหนงๆของขอมล โดยทแตละกงกานของโหนดหนงๆจะหมายถงคาทเปนไปไดจากการทดสอบกบแอทรบวนนๆ และจะประกอบไปดวยโหนดใบ (leaf node) ทซงจะมหมวดหมขอมลจดเกบอย โดยตวอยางตนไมตดสนใจจะถกแสดงในรปท 6.2 ทจะแสดงการท านายคณลกษณะของลกคาทจะท าการซอคอมพวเตอรจากรานขายอปกรณไฟฟา โดยโหนดตางๆทไมใชโหนดใบจะถกแทนดวยสเหลยม และโหนดใบจะถกแทนดวยวงร ตามล าดบ จากรปเราจะเหนวาโหนดใบจะเปนโหนดทบงบอกถงขอมลหมวดหมของค าตอบทเราตองการ อาท เชน “yes” หมายถง ลกคาจะซอคอมพวเตอร และ “no” หมายถงลกคาจะไมซอคอมพวเตอร โดยตนไมทถกสรางขนอาจเปนตนไมทมลกษณะเปนไบนารหรออาจจะไมเปนไบนารกได

หลงจากท าการสรางตนไมตดสนใจแลว เราจะสามารถใชตนไมตดสนใจในการจ าแนกขอมลได โดยจะท าการจ าแนกหมวดหมของขอมลเรคคอรดหนงๆ(ทประกอบไปดวยแอทรบวตางๆ แตเราจะไมทราบหมวดหมขอมลในเรคคอรดนนๆ) ดวยการเปรยบเทยบแอทรบวทอยในโหนดรากกบคาของแอทรบวในเรคคอรดทพจารณา โดยจะท าการเปรยบเทยบจากโหนดรากไปจนถงโหนดใบ เมอเราทราบถงโหนดใบจะท าใหเราทราบถงหมวดหมขอมลของเรคคอรดทท าการพจารณา

Page 6: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

6 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

รปท 6.2 ตวอยางตนไมตดสนใจส าหรบการจ าแนกคณลกษณะของลกคาทท าการซอคอมพวเตอร

การจ าแนกหมวดหมขอมลดวยตนไมตดสนใจไดรบความนยมเปนอยางมาก และถกประยกตใชในหลายๆงาน อาท เชน การผลตและการใชยา (medicine) การผลตสนคาตางๆ (manufacturing and production) การวเคราะหทางการเงน (Financial analysis) ดาราศาสตร (astronomy) อณชววทยา (molecular biology) เปนตน สาเหตทตนไมตดสนใจไดรบความนยมอนเนองมากจากเหตผลหลายประการดวยกน เชน 1) ไมตองการองคความรใดๆหรอการก าหนดคาพารามเตอรใดๆเพอทจะท าการสรางตนไมตดสนใจ 2) สามารถจดการกบขอมลทมหลายๆมตหรอขอมลทมหลายๆแอทรบวได 3) ผลลพธทไดจะเปนตนไมตดสนใจทอยในรปแบบทเขาใจงาย 4) ขนตอนการสรางตนไมตดสนใจคอนขางงายและสามารถท างานไดอยางรวดเรว และ 5) มกจะใหผลการจ าแนกขอมลทมความถกตองคอนขางสง ทซงอาจขนอยกบคณลกษณะของขอมลทเราท าการพจารณาดวยเชนกน

6.3.1 การสรางตนไมตดสนใจ ในชวงปลายของยค 1970 ไดมนกวจยทางดานการเรยนรของเครอง (machine learning) คอ J. Ross Quinlan ไดคดคนอลกอรทมส าหรบสรางตนไมตดสนใจทมชอวา ID3 (Iterative Dichotomiser) ตอมาเขาไดพฒนาตอยอด ID3 ไปเปน C4.5 ซงไดกลายมาเปนอลกอรทมพนฐานท ใชส าหรบเปรยบเทยบประสทธภาพการท างานของอลกอรทมตางๆทางดานการเรยนรแบบมผสอน (Supervised Learning)

ID3 และ C4.5 ไดท าการประยกตใชวธการเชงละโมภ (greedy approach) ในการสรางตนไมภายใตวธการแบบ “top-down recursive divide-and-conquer” โดยท าการพจารณาชดขอมลส าหรบเรยนร (training data, เซตของเรคคอรดของขอมลทแตละเรคคอรดจะประกอบไปดวยเซตของแอทรบวตางๆและแอทรบวทบงบอกถงหมวดหมของขอมลเรคคอรดนนๆ) ดวยการแบงขอมลออกเปนสวนยอยๆในระหวางกระบวนการสรางตนไม (ดงแดงรายละเอยดในรปท 6.3)

จากรปท 6.3 จะเปนการอธบายรายละเอยดตางๆของขนตอนการสรางตนไมตดสนใจ ทซงจะสามารถอธบายไดดงน

Page 7: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

7 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

อลกอรทมการสรางตนไมตดสนใจ จะตองการอนพต 3 อนพตดวยกนคอ 1) 𝐷 หมายถง ชดขอมลทจะท าการพจารณา โดยในตอนเรมตนของการท างาน ชดขอมล 𝐷 จะประกอบไปดวยขอมลทกเรค คอรด 2) ลสตของแอทรบว ทซงหมายถง เซตของแอทรบวทใชในการอธบายคณลกษณะของขอมลแตละเรคคอรดในชดขอมล และ 3) วธการในการเลอกแอทรบวทซงเปนวธการในการเลอกแอทรบว ทดทสดทสามารถแยกความแตกตางระหวางเรคคอรดตางๆในชดขอมลตามหมวดหมของขอมล วธการเลอกแอทรบวนจะใชตวชวดการเลอกแอทรบว เชน คาเกนความร (information gain) หรอ คาดชนจน (gini index) เปนตน โดยในการเลอกตวชวดการเลอกแอทรบว เราอาจตองพจารณาขอบงคบและคณลกษณะของตนไมดวย เชน คาดชนจนจะเปนตวชวดทจะสามารถท างานไดกบตนไมแบบไบนาร แตส าหรบคาเกนความรจะสามารถท างานไดกบตนไมทมหลายกงและยอมใหท าการแตกกงออกเปนหลายทศทาง (multi-way split)

การสรางตนไมจะเรมจากโหนด 𝑁 เพยงแตหนงโหนดเทานนทซงแสดงถงขอมลทงหมดในชดขอมล 𝐷 (ขนตอนท (1))

ในกรณทขอมลทกเรคคอรดในชดขอมล 𝐷 มหมวดหมของขอมลเดยวกน คอ 𝐶—โหนด 𝑁 จะกลายเปนโหนดใบ และจะมหมวดหม 𝐶 แนบอย (ขนตอนท (2) และ (3))—หมายเหต ขนตอนท (4) และ (5) คอ เงอนไขการจบการท างาน ในขนตอนท (6) จะท าการเรยกใชวธการเลอกแอทรบวทจะตดสนใจเลอกเกณฑในการแบงขอมล โดยผลลพธทไดจะเปนแอทรบวหนงๆทดทสดทสามารถแบงขอมลเรคคอรดตางๆพรอมกบหมวดหมของขอมลออกจากชดขอมล การเลอกแอทรบวยงสามารถบอกไดวากงใดจะเตบโตจากโหนด 𝑁 บาง ในการแบงขอมลออกเปนสวนๆ ถาสวนใดกตามทถกแบงมเรคคอรดทงหมดทมหมวดหมเดยวกบสวนของขอมลนนๆจะถกเรยกวา “pure partition” แตอยางไรกตามในการแบงขอมลอาจมการแบงขอมลทไมไดมหมวดหมเดยวกนอยในสวนเดยวกนกเปนได—โดยในการแบงขอมลเราจะตองพยายามใหสวนทถกแบงนนมเรคคอรดของขอมลทมหมวดหมเหมอนกนมากทสดเทาทจะมากได

โหนด 𝑁 จะถกตงชอดวยชอแอทรบวทไดจากขนตอนท (6) และแตละกงทเตบโตจากโหนด 𝑁 จะหมายถงการเตบโตจากคาทเปนไปไดในแอทรบวนนๆ โดยในการแบงขอมลและการเพมกงกานใหแกโหนด 𝑁 (ในขนตอนท (10) และ (11)) จะเกดขนภายใตเงอนไข 3 เงอนไขดงแสดงในรปท 6.4 โดยก าหนดให 𝐴 เปนแอทรบวทไดจากการเลอกหรอกลาวอกนยหนงวา 𝐴 เปน splitting_attribute โดยท 𝐴 มคาทเปนไปไดทงหมดทเกดขนในชดขอมล เปน {𝑎1, 𝑎2, … , 𝑎𝑣} o กรณท 𝐴 มคาแบบไมตอเนอง จะท าการแตกกงจากโหนด 𝑁 ไปตามคาทปรากฏในแอทรบว

𝐴 โดยกงหนงจะถกแทนดวยคา 𝑎𝑗 หนงๆในแอทรบว ดงแสดงในรปท 6.4(a) ทซงแอทรบว 𝐴 คอแอทรบวทบงบอกถงขอมลสของเรคคอรด โดยมสทเปนไปได 5 สดวยกนคอ สแดง เขยน น าเงน มวง และ สม ในกรณน—เราจะท าการแตกกงจากโหนด 𝑁 ออกตามคาทเปนไปได โดยในการแตกกงจากโหนด 𝑁 เราจะตองท าการแบงขอมลจากชดขอมล 𝐷 ออกเปนชดขอมลยอย {𝐷1, 𝐷2, … , 𝐷𝑣} โดยชดขอมลยอย 𝐷𝑗 ใดๆจะสอดคลองกบคา 𝑎𝑗 ท

Page 8: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

8 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

เกดขนในแอทรบว 𝐴 ทซงทกๆเรคคอรดในชดขอมลยอย 𝐷𝑗 จะมคา 𝑎𝑗 เกดขนในแอทรบว 𝐴 ดงนนเมอท าการแตกกงส าหรบโหนด 𝑁 (แอทรบว 𝐴) แลว แอทรบว 𝐴 จะไมถกพจารณาอกตอไป สามารถลบแอทรบว 𝐴 ออกจากลสตของแอทรบวทท าการพจารณาได (ขนตอนท (8) และ (9))

o กรณท 𝐴 มคาแบบไมตอเนอง จะท าการตรวจสอบโหนด 𝑁 ภายใต 2 เงอนไข โดยเราจะตองท าการหาจดแบงเงอนไข (split_point) ถาคาในเรคคอรดใดๆกตามทมคานอยกวาหรอเทากบจดแบงเงอนไข จะก าหนดใหคานนๆอยกลมของชดขอมลยอยทางฝงซาย แตถาคาในเรคคอรดมคามากกวาจดแบงเงอนไขจะก าหนดใหอยในกลมของชดขอมลยอยทางฝงขวา จดแบงเงอนไขจะไดมาจากการเรยกใช attribute_selection_method (โดยทวๆไป จดแบงเงอนไขมกเปนคากลางของคาทงหมดทเกดขนในแอทรบว เชน ในแอทรบวมคาเกดขนอยในชวงระหวาง 1 − 9 ดงนนเราจะสามารถน าคา 5 ซงเปนคากลางของขอมลมาใชเปนจดแบงเงอนไขได) ดงแสดงในรป 6.4(b) ขอมลรายไดของคนจะถกแบงตามจดแบงเงอนไขซงมคาเทากบ 42,000 ถาขอมลเรคคอรดใดๆกตามมคาเงนรายไดนอยกวาหรอเทากบ 42,000 เรคคอรดนนๆจะถกเกบไวในชดขอมลยอย 𝐷1 ในสวนกรณอนๆจะถกเกบอยในชดขอมลยอย 𝐷2 ตามล าดบ

o กรณท 𝐴 มคาแบบไมตอเนอง และเราตองการสรางตนไมใหอยในรปแบบของตนไมไบนาร (อาจจะเกดจากขอจ ากดของตวชวดการเลอกแอทรบวทสามารถสรางตนไมไดในลกษณะทเปนตนไมไบนารเทานน) เราจะตองมเซตของคาในแอทรบว 𝐴 ทใชในการแบงชดขอมลออกเปนสองสวน (เซต 𝑆𝐴 ซงถกเรยกวา splitting subset) โดยเซต 𝑆𝐴 จะไดมาจากการเรยกใช attribute_selection_method เซต 𝑆𝐴 จะประกอบไปดวยคาตางๆทเกดขนในแอทรบว 𝐴 จากตวอยางทแสดงในรป 6.4(c) เราจะเหนวาในเซต 𝑆𝐴 ทเปน splitting subset จะประกอบไปดวยสองแอทรบวดวยกนคอ สแดงและสเขยว ดงนน เมอท าการพจารณาเรคคอรดหนงๆแลว ถาคาในแอทรบว 𝐴 ของเรคคอรดนนๆมคาอยในเซต 𝑆𝐴 เราจะท าการจดเกบเรคคอรดนนไวในชดขอมลยอย 𝐷1 สวนในกรณอนจะเกบไวในชดขอมลยอย 𝐷2 ตามล าดบ

อลกอรทมการสรางตนไมตดสนใจจะใชกระบวนการแบบเวยนเกด (recursive) ในการสรางหรอแตกกงตนไม/แบงขอมลออกเปนชดขอมลยอยตอไปเรอยๆ (ขนตอนท (14))

การเวยนเกดจะเสรจสนกตอเมอการท างานผานเงอนไขเงอนไขหนงดงตอไปน o ทกๆเรคคอรดในชดขอมล 𝐷 ทก าลงพจารณาอยขณะทโหนด 𝑁 มหมวดหมของขอมล

เดยวกน (ขนตอนท (2) และ (3)) o ไมมแอทรบวใดเหลออยในลสตของแอทรบวทยงไมท าการพจารณา (ขนตอนท (4)) ในกรณน

เราจะท ากแตกกงทเปนโหนดใบใหแกโหนด 𝑁 แลวท าการแนบหมวดหมของขอมล 𝐶 ใหแกโหนดใบ โดยท 𝐶 ไดมาจากการใช majority vote (ขนตอนท (5))

Page 9: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

9 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

อลกอรทม การสรางตนไมตดสนใจ (Generate_decision_tree) อนพต - ชดขอมลส าหรบเรยนร (D) ทประกอบไปดวยเรคคอรดตางๆพรอมกบหมวดหมขอมล - ลสตของแอทรบว (attribute_list) ทอธบายถงคณลกษณะของขอมล - วธการเลอกแอทรบว (attribute_selection_method) เปนวธการในการตดสนวาจะเลอก แอทรบวใด (ทดทสด) ในการแบงขอมลออกตามหมวดหมของขอมล เอาทพต ตนไมตดสนใจ (1) สรางโหนด N (2) if ทกๆเรคคอรดในชดขอมล D มหมวดหม C เหมอนกนทงหมด then (3) return N ในฐานะทเปนโหนดใบทมหมวดหม C แนบอย (4) if attribute_list เปนเซตวาง then (5) return N ในฐานะทเปนโหนดใบทมหมวดหม C (โดย C มาจากการใช majority vote กบ หมวดหมของขอมลทท าการพจารณาทงหมด) (6) ประยกตใช Attribute_selection_method (D, attribute_list) เพอทจะหาแอทรบวทดทสด ทจะใชเปนจดแบงขอมล (find the “best” splitting_criterion) (7) ท าการก าหนดชอของโหนด N ตามชอแอทรบวทไดมาจากขนตอนท 6 (ตาม splitting_criterion) (8) if แอทรบวทไดจากขนตอนท 6 (splitting_attribute) มคาทเปนไปไดในแอทรบวแบบไมตอเนอง (discrete-valued) และ attribute_selection_method ยอมใหท าการแยกขอมลออกเปน หลายๆสวน (multi-way splits) (9) ลบรายชอแอทรบวทไดจากขนตอนท 6 ออกจากลสตของแอทรบว (attribute_list = attribute_list – splitting_attribute) (10) for แตละคาทเปนไปได j ของแอทรบวจากขนตอนท 6 (11) ก าหนดให Dj คอ เซตของเรคคอรดของขอมลใน D ทมคาในแอทรบวตรงกบคา j (คอการแบง ขอมลออกเปนสวนๆตามคาทเปนไปไดในแอทรบวทท าการพจารณา) (12) if Dj เปนเซตวาง (ไมมเรคคอรดใดเลยใน D ทมคาในแอทรบวตรงกบคา j) (13) ท าการสรางโหนดลกใหกบโหนด N โดยโหนดทสรางขนจะเปนโหนดใบทม หมวดหม C (โดย C มาจากการใช majority vote) (14) else ท าการสรางโหนดลกใหกบโหนด N ดวย Generate_decision_tree(Dj, attribute_list) (15) return N

รปท 6-3 อลกอรทมส าหรบการสรางตนไมตดสนใจ

Page 10: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

10 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

รปท 6-4 กรณทเปนไปไดทง 3 กรณในการแบงขอมลจากชดขอมล โดยก าหนดให A เปนแอทรบวทถกเลอก (splitting_attribute) (a) กรณท A มคาแบบไมตอเนอง จะท าการแตกกงตามคาทเกดขนใน A (b) กรณท A เปนคาแบบตอเนองจะท าการแตกกงออกเปน 2 กงทสอดคลองกบ A split_point และ A > split_point และ (c) กรณท A มคาแบบไมตอเนอง แตบงคบใหตองท าการสรางเฉพาะตนไมแบบไบนารเทานน ท าการเลอกคาทสนใจในเซต SA แลวท าการตรวจสอบวาคาในแอทรบว A ของเรคคอรดหนงๆอยในเซต SA หรอไม

o ไมมเรคคอรดใดๆเลยส าหรบชดขอมลยอย 𝐷𝑗 (ขนตอนท 12) ทไดหลงจากการแตกกงในกระบวนการสรางตนไม ในกรณน—โหนดใบจะท าถกสรางดวย majority vote ของหมวดหมของขอมล

ผลลพธทไดกคอตนไมตดสนใจทซงจะถกคนคาในขนตอนท (15)

จากอลกอรทมการสรางตนไมตดสนใจในรปท 6.3 เราสามารถค านวณความซบซอนของอลกอรทมการสรางตนไมจากชดขอมล 𝐷 ไดเปน 𝑂(𝑛 × |𝐷| × log(|𝐷|)) เมอ 𝑛 คอ จ านวนแอทรบวทงหมดทอธบาย

คณลกษณะของขอมลแตละเรคคอรดในชดขอมล 𝐷, |𝐷| คอ จ านวนเรคคอรดทงหมดในชดขอมล 𝐷 ทเปนขอมลส าหรบเรยนร

6.3.2 ตวชวดการเลอกแอทรบว (Attribute selection measure) ตวชวดการเลอกแอทรบว (attribute selection measure) หรอทรจกกนในนาม splitting rules คอ วธการ/เกณฑในการเลอกแอทรบว (splitting criterion) ทดทสดทจะถกใชเพอแบงสวนชดขอมล 𝐷 ออกเปนชดขอมลยอยๆ การแบงชดขอมลจะท าการแบงตามคาทเกดขนในแอทรบวหนงๆทถกเลอกมา ชดขอมลยอยหนงๆจะประกอบไปดวยเซตของเรคคอรดทมหมวดหมเหมอนกนมากทสด นอกเหนอจากการแบง

Page 11: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

11 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

ชดขอมลแลว ตวชวดการเลอกแอทรบวยงสามารถท าการจดล าดบของแอทรบวทใชในการอธบายชดขอมล โดยหลงจากท าการจดล าดบ—แอทรบวทมคาคะแนนสงสดจะถกเลอกไปเปนแอทรบวทใชแบงขอมล (splitting attribute)—ในกรณท splitting attribute มคาทเกดขนในแอทรบวแบบตอเนองหรอเราถกจ ากดใหสรางตนไมตดสนใจแบบไบนาร เราจะตองทราบถง split point หรอ splitting subset เพอทจะสามารถประมวลผลได

ในการทจะแบงชดขอมล เราจะใชนยามดงตอไปน—ก าหนดให 𝐷 คอ ชดขอมลสอนทประกอบไปดวยเซตของเรคคอรด ทซงแตละเรคคอรดจะประกอบไปดวยคาในแอทรบวตางๆทสามารถอธบายถงคณลกษณะของขอมลเรคคอรดนนๆ รวมถงคาในแอทรบวทบงบอกถงหมวดหมของขอมลในเรคคอรดนนๆ สมมตใหแอทรบวทเปนหมวดหมของขอมลมคาทเปนไปไดทงสน 𝑚 หมวดหม ดงนน ในเรคคอรดหนงจะมหมวดขอมลเปน 𝐶𝑖 (𝑖 = 1, 2, … , 𝑚) ก าหนดให 𝐶𝑖,𝐷 คอ เซตของเรคคอรดทอยในหมวดหม 𝑐𝑖 ก าหนดให |𝐷| และ |𝐶𝑖,𝐷| คอ จ านวนเรคคอรดทอยในชดขอมล 𝐷 และ 𝐶𝑖,𝐷 ตามล าดบ

คาเกนความร (Information gain)

คาเกนความรจะเปนตวชวดการแบงขอมลออกเปนชดขอมลยอยทไดรบความนยมอยางแพรหลาย โดยคานจะถกประยกตใชในอลกอรทม ID3 ทซงจะท าการเลอกแอทรบวส าหรบแบงขอมลจากแอทรบวทมคาเกนความรสงทสด ทซงจะเปนการเลอกแอทรบวทตองการขอมลทนอยทสดในการระบ/แบงขอมลออกเปนชดขอมลยอย ในการด าเนนงานเรมตน—เราจะตองเรมจากการค านวณหาคา 𝐼𝑛𝑓𝑜(𝐷) หรอทเรยกอกอยางหนงวา คาเอนโทรป (entropy of D) ทจะหมายถง คาเฉลยของปรมาณขอมลทตองการในการระบถงหมวดหมของขอมลเรคคอรดหนงๆในชดขอมลทจะขนกบอตราสวนของจ านวนเรคคอรดทสอดคลองกบแตละหมวดหม ทซงสามารถค านวณไดดงน

𝐼𝑛𝑓𝑜(𝐷) = − ∑ 𝑝𝑖𝑙𝑜𝑔2

𝑚

𝑖=1

(𝑝𝑖)

เมอ 𝑝𝑖 คอ คาความนาจะเปนทเรคคอรดหนงๆจะมหมวดหมของขอมลเปนหมวดหม 𝑐𝑖 ทซงสามารถค านวณ

ไดจาก |𝐶𝑖,𝐷|

|𝐷|

สมมตวาเราตองการทจะแบงชดขอมล 𝐷 ออกเปนชดขอมลยอยโดยใชแอทรบว 𝐴 ทมคาทเกดขนในชดขอมล 𝑣 คาทแตกตางกน ({𝑎1, 𝑎2, … , 𝑎𝑣}) ถาแอทรบว 𝐴 มคาทเกดขนเปนแบบไมตอเนอง เราจะพจารณาการแบงชดขอมลออกเปน 𝑣 ชดขอมลยอย โดยสามารถแบงไดเปน ({𝐷1, 𝐷2, … , 𝐷𝑣}) โดยท 𝐷𝑗 ใดๆจะบรรจไปดวยเซตของเรคคอรดทแอทรบว 𝐴 มคาเปน 𝑎𝑗 เปนตน โดยแตละชดขอมลยอยจะสอดคลองกบกงยอยทแตกออกจากโหนด 𝑁 ทก าลงท าการพจารณาอย ดงนนในการแบงชดขอมลยอย เราจะตองพยายามท าใหแตละชดขอมลยอยประกอบไปดวยเรคคอรดทมหมวดหมเหมอนกนทงหมด แตอยางไรกตาม

Page 12: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

12 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

มกจะเปนการยากทจะมเรคคอรดทมหมวดหมเหมอนกนมคาในแอทรบวเหมอนกน เนองจากในชดขอมลยอยทถกแบงมกจะมเรคคอรดทมหมวดหมทแตกตางกน ดงนนเราจะตองท าการพจารณาวาเรคคอรดทมคาในแอทรบวเหมอนกนนนมความเหมอนกนของหมวดหมเปนเชนไร โดยเราจะตองท าการค านวณคา 𝐼𝑛𝑓𝑜𝐴(𝐷) ทซงหมายถงจ านวนขอมลทคาดวาจะใชส าหรบท าการแบงชดขอมล 𝐷 ออกเปนชดขอมลยอย โดยท าการพจารณาแอทรบว 𝐴 ทซงสามารถค านวณไดดงน

𝐼𝑛𝑓𝑜𝐴(𝐷) = ∑|𝐷𝑗|

𝐷

𝑣

𝑗=1

× 𝐼𝑛𝑓𝑜(𝐷𝑗)

เมอ |𝐷𝑗|

|𝐷| หมายถง จ านวนเรคคอรดในชดขอมล 𝐷 ทมคาในแอทรบว 𝐴 เปน 𝑎𝑗 หารดวยจ านวนเรคคอรด

ทงหมดในชดขอมล 𝐷

หลงจากค านวณคา 𝐼𝑛𝑓𝑜(𝐷) และคา 𝐼𝑛𝑓𝑜𝐴(𝐷) คาเกนความรส าหรบการพจารณาแอทรบว 𝐴 จะสามารถค านวณไดจากคาความแตกตางระหวางปรมาณขอมลทตองการในการระบถงหมวดหมของขอมลส าหรบเรคคอรดหนงๆกบจ านวนขอมลทคาดวาจะใชส าหรบท าการแบงชดขอมล 𝐷 ออกเปนชดขอมลยอย โดยท าการพจารณาแอทรบว 𝐴 ทซงสามารถแสดงการค านวณไดดงน

𝐺𝑎𝑖𝑛(𝐴) = 𝐼𝑛𝑓𝑜(𝐷) − 𝐼𝑛𝑓𝑜𝐴(𝐷)

คา 𝐺𝑎𝑖𝑛(𝐴) จะบงบอกปรมาณเกนความรทเราจะไดรบดวยการพจารณาแอทรบว 𝐴 และการแบงชดขอมลออกเปนชดขอมลยอยตามการพจารณาแอทรบว 𝐴 ถาคา 𝐺𝑎𝑖𝑛(𝐴) เปนคาเกนความรทมคามากทสดในบรรดาคาเกนความรของแอทรบวทงหมด แอทรบว 𝐴 จะเปนแอทรบวทดทสดส าหรบการจ าแนก/แบงขอมลเปนชดขอมลยอย เนองจากแอทรบว 𝐴 ตองการปรมาณขอมลทนอยทสดทใชในการจ าแนกขอมล (minimal 𝐼𝑛𝑓𝑜𝐴(𝐷))

ตวอยาง การสรางตนไมตดสนใจดวยคาเกนความร ก าหนดใหชดขอมลสอน 𝐷 จากรานขายอปกรณไฟฟาประกอบไปดวยเซตของเรคคอรด 14 เรคคอรดดงแสดงในตารางท 6.1 ทซงเปนขอมลคณลกษณะของลกคาทจะท าการซอ/ไมซอคอมพวเตอรทประกอบไปดวยขอมลหลก 4 แอทรบวทมคาแบบไมตอเนอง คอ อาย รายได อาชพนกศกษาหรอไม และขอมลประวตเครดตทางการเงน และ 1 แอทรบวหมวดหมของลกคา ทประกอบไปดวย 2 หมวดหม คอ หมวดหมของลกคาทซอคอมพวเตอรจากรานคา และหมวดหมของลกคาทไมไดซอคอมพวเตอรจากรานคา เมอเราท าการสงเกตชดขอมล เราจะเหนวาม 9 เรคคอรดทเปนขอมลลกคาในหมวดหมของการซอคอมพวเตอร และม 5 เรคคอรดทเปนลกคาทไมซอคอมพวเตอร ตามล าดบ

Page 13: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

13 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

ตารางท 6.1 ตวอยางขอมลสอนจากรานขายอปกรณไฟฟา

RID Age Income student Credit_rating Class:buys_computer 1 youth High no fair no 2 Youth High no excellent no 3 middle_aged High no fair yes 4 senior medium No fair yes 5 senior Low yes fair yes 6 senior Low yes excellent no 7 middle_aged Low yes excellent yes 8 youth medium no fair no 9 youth Low yes fair yes 10 senior medium yes fair yes 11 youth medium yes excellent yes 12 middle_aged medium no excellent yes 13 middle_aged High yes fair yes 14 senior medium no excellent no

ขนตอนแรกของการสรางตนไมตดสนใจ คอ การสรางโหนด 𝑁 ส าหรบขอมลทงหมดในชดขอมล 𝐷 จากนนท าการคนหาเกณฑ/แอทรบวทใชในการแยกขอมลออกเปนชดยอยๆดวยการค านวณหาคาเกนความรของแตละแอทรบวในตารางท 6.1 (ท าการหาคาเกนความรของแอทรบวอาย รายได อาชพทเปนนกศกษาหรอไม และขอมลประวตเครดตทางการเงน) แตกอนทจะท าการหาคาเกนความรของแตละแอทรบว เราจะตองท าการค านวณคาเอนโทรปของชดขอมล 𝐷 เสยกอน ทซงสามารถค านวณไดดงน

𝐼𝑛𝑓𝑜(𝐷) = −9

14𝑙𝑜𝑔2 (

9

14) −

5

14𝑙𝑜𝑔2 (

5

14) = 0.940

ขนตอนตอไป เราจะท าการค านวณคาเกนความรของแตละแอทรบว โดยเรมท าการพจารณาแอทรบวอายเปนล าดบแรก จากนนเราจะพจารณาการกระจายของขอมลหมวดหมตางๆตามแตละคาทเปนไปไดของแอทรบวอายทมคาท เกดขน 3 คาดวยกนคอ ‘youth’, ‘middle_aged’ และ ‘senior’ ตามล าดบ เมอพจารณาชวงอายทเปน ‘youth’ เราจะเหนวาม 2 เรคคอรดทมคาอายเปน ‘youth’ และเปนลกคาทอยในหมวดหมทซอคอมพวเตอร และม 3 เรคคอรดทมคาอายเปน ‘youth’ และอยในหมวดหมทไมซอคอมพวเตอร ในสวนของชวงอายทเปน ‘middle_aged’ จะม 4 เรคคอรดทมคาอายเปน ‘middle_aged’ และเปนลกคาทอยในหมวดหมทซอคอมพวเตอร แตจะไมมลกคามคาอายเปน ‘middle_aged’ และอยในหมวดหมทไมซอคอมพวเตอรเลย และในสวนของชวงอายทเปน ‘senior’ จะม 3 เรคคอรดทมคาอายเปน ‘senior’ และเปนลกคาทอยในหมวดหมทซอคอมพวเตอร และ 2 เรคคอรดมคาอายเปน ‘senior’ และอยในหมวดหมทไมซอ

Page 14: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

14 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

คอมพวเตอร ตามล าดบ ดงนน เราสามารถค านวณการกระจายของขอมลหมวดหมตางๆตามแตละคาทเปนไปไดของแอทรบวอายไดเปน

𝐼𝑛𝑓𝑜𝑎𝑔𝑒(𝐷) = 5

14 × (−

2

5 𝑙𝑜𝑔2

2

5−

3

5 𝑙𝑜𝑔2

3

5)

+4

14 × (−

4

4𝑙𝑜𝑔2

4

4−

0

4𝑙𝑜𝑔2

0

4)

+5

14 × (−

3

5𝑙𝑜𝑔2

3

5−

2

5𝑙𝑜𝑔2

2

5)

= 0.694

จากคาการกระจายของขอมลหมวดหมตางๆตามแตละคาทเปนไปไดของแอทรบวอาย เราสามารถค านวณคาเกนความรของการแบงชดขอมลดวยแอทรบวอายไดเปน

𝐺𝑎𝑖𝑛(𝑎𝑔𝑒) = 𝐼𝑛𝑓𝑜(𝐷) − 𝐼𝑛𝑓𝑜𝑎𝑔𝑒(𝐷) = 0.940 − 0.694 = 0.246

หลงจากค านวณคาเกนความรของแอทรบวอายแลว เราจะตองท าการค านวณคาเกนความรของแอทรบวอนๆดวยทงหมดดวยวธการเดยวกบขางตน ทซงสามารถค านวณไดเปน 𝐺𝑎𝑖𝑛(𝑖𝑛𝑐𝑜𝑚𝑒) = 0.029, 𝐺𝑎𝑖𝑛(𝑠𝑡𝑢𝑑𝑒𝑛𝑡) = 0.151 และ 𝐺𝑎𝑖𝑛(𝑐𝑟𝑒𝑑𝑖𝑡_𝑟𝑎𝑡𝑖𝑛𝑔) = 0.048 ตามล าดบ และ เมอท าการเปรยบ เทยบคาเกนความรของทกแอทรบว เราจะสงเกตไดวาคาเกนความรของแอทรบวอายจะมคามากทสด ดงนน เราจะเลอกแอทรบวอายใหเปนแอทรบวส าหรบแบงชดขอมลออกเปนออกเปนชดขอมลยอย ดวยการแนบชอของโหนด 𝑁 ดวยชอของแอทรบวอาย และท าการแตกกงจากโหนด 𝑁 ตามคาทง 3 ทเกดขนในแอทรบว 𝑁 (‘youth’, ‘middle_aged’, และ ‘senior’) จากนนท าการแบงขอมลในชดขอมล 𝐷 ดงแสดงในรปท 6.5 จากรปเราจะสงเกตไดวาชวงอายท เปน ‘middle_aged’ จะมเฉพาะขอมลลกคาทอยในหมวดหมทซอคอมพวเตอร ดงนน เราจะท าการสรางโหนดใบในกงของชวงอายทเปน ‘middle_aged’ และก าหนดชอโหนดใหเปน ‘หมวดหมทซอคอมพวเตอร’ ตามล าดบ จากนนเราจะด าเนนการแบบเวยนเกดกบแตละกงของตนไมทไมใชโหนดใบ เมอด าเนนการสรางตนไมจนเสรจสน เราจะไดตนไมตดสนใจดงรปท 6.2

จากตวอยางขางตนเราจะสงเกตไดวาคาท เกดขนในทกๆแอทรบวจะมคาเปนแบบไมตอเนอง (หมายถงเปนคาทบงบอกถงหมวดหมทแนนอน ทซงไมใชคาทแสดงถงขอมลเชงปรมาณ) แตส าหรบแอทรบวทมคาแบบตอเนอง เราจะตองค านวณคาเกนความรในลกษณะทแตกตางออกไป เพอใหมความเขาใจมากขน ลองสมมตวาเรามแอทรบว 𝐴 หนงๆทมคาเปนแบบตอเนอง อาทเชน แอทรบวอายทซงบงบอกถงตวเลขอายของลกคาแตละราย จากคาทมลกษณะแบบตอเนอง เราจะตองท าการคนหาจดแบงทดทสด (“best” split-point) ส าหรบแอทรบว 𝐴 ทซงจดแบงจะท าหนาทเปรยบเสมอนคาขดแบงในการแบงยอยขอมลโดยใชแอทรบว 𝐴—ดงนน เพอทจะท าการหาจดแบงทดทสด เราจะเรมจากการเรยงล าดบคาทเกดขนในแอทรบว 𝐴 จากทกๆเรคคอรดในชดขอมลทท าการพจารณา โดยเรยงล าดบจากนอยไปมาก จากนนท าการคากลาง

Page 15: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

15 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

(midpoint) ระหวาง 2 คาใดทมคาตดกน โดยคา 𝑎𝑖 และ คา 𝑎𝑖+1 ใดๆจะถกพจารณาเพอค านวณคากลางไดดงน

𝑎𝑖 + 𝑎𝑖+1

2

คากลางทค านวณไดจะถกน ามาพจารณาเพอเปนจดแบงชดขอมล ดงนน ถาแอทรบว 𝐴 มคาทเกดขนในเรค คอรดทงหมด 𝑣 คา เราจะสามารถหาคากลางไดทงหมด 𝑣 − 1 คาดวยกน เมอเราค านวณคากลางทงหมดแลว เราจะตองท าการพจารณาวาคากลางใดเปนคาทเหมาะจะเปนจดแบงดวยการหาคา 𝐼𝑛𝑓𝑜𝐴(𝐷) เมอจ านวนกลมของขอมลทตองการแบงออกเปนชดขอมลยอยๆจะมคาเทากบ 2 ซงกคอ 1) กลมของเรคคอรดทมคาในแอทรบว 𝐴 นอยกวาหรอเทากบคากลางทท าการพจารณา และ 2) กลมของเรคคอรดทมคาในแอทรบว 𝐴 มากกวาคากลางทท าการพจารณา เมอท าการหาคา 𝐼𝑛𝑓𝑜𝐴(𝐷) ของทกๆคากลางแลว เราจะเลอกคากลางทมคา 𝐼𝑛𝑓𝑜𝐴(𝐷) นอยทสดเปนจดแบงส าหรบแอทรบว 𝐴 ตามล าดบ

รปท 6.5 การแบงชดขอมลออกเปนชดขอมลยอยดวยแอทรบวอาย

คาอตราสวนเกน (Gain ratio)

คาอตราสวนเกนจะเปนตวชวดการแบงชดขอมลออกเปนชดขอมลยอยทพฒนามาจากคาเกนความร โดยเมอเราใชคาเกนความรในการแบงชดขอมลจะท าใหเกดความเอนเอยงเกดขนเมอแอทรบวทท าการพจารณามคาทเกดขนเปนจ านวนมาก โดยในการใชคาเกนความรมกจะท าการเลอกแอทรบวทมคาทเกดขน

Page 16: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

16 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

เปนจ านวนมาก ตวอยางเชน ลองพจารณาแอทรบวรายการสนคาทมคาเปนรหสสนคาตางๆ (product_ID) ถาเราท าการแบงชดขอมลตามแอทรบวรายการสนคาจะท าใหมชดขอมลยอยเปนจ านวนมาก (ชดขอมลยอยจะมจ านวนเทากบรายการสนคาทงหมดทมในชดขอมล) โดยแตละชดขอมลยอยจะมขอมลเพยงหนงเรคคอรดเทานนและจะท าใหชดขอมลยอยนนๆมขอมลทมหมวดหมของขอมลเหมอนกนทงหมด (เพราะมเพยงหนงเรคคอรดเลยเหมอนกนทงหมดนนเอง) ทซงจะท าใหคา 𝐼𝑛𝑓𝑜𝑝𝑟𝑜𝑑𝑢𝑐𝑡_𝐼𝐷(𝐷) = 0 ทซงจะท าใหคาเกนความรมคาสง (𝐺𝑎𝑖𝑛(𝐴) = 𝐼𝑛𝑓𝑜(𝐷) − 𝐼𝑛𝑓𝑜𝐴(𝐷) = 𝐼𝑛𝑓𝑜(𝐷) − 0 = 𝐼𝑛𝑓𝑜(𝐷)) ดงนนแอทรบวทมลกษณะคลายกบแอทรบวรายการสนคามกจะถกเลอกเพอใชในการแบงชดขอมลเสมอ

จากความโนมเอยงทอาจเกดขนจากการใชคาเกนความร ไดมนกวจยพยายามทจะลดทอนความเอนเอยงลง โดยการพฒนาตวชวดการแบงขอมลใหม ทมชอวา อตราสวนเกน (gain ratio) ทจะประยกตใชการท านอรมลไลซคาเกนความรดวยการใชคา “split information” ทซงสามารถค านวณไดดงน

𝑆𝑝𝑙𝑖𝑡𝐼𝑛𝑓𝑜𝐴(𝐷) = − ∑|𝐷𝑗|

|𝐷| × 𝑙𝑜𝑔2(

|𝐷𝑗|

|𝐷|)

𝑣

𝑗=1

โดยคา 𝑆𝑝𝑙𝑖𝑡𝐼𝑛𝑓𝑜𝐴(𝐷) จะแสดงถงปรมาณขอมลทถกพจารณาโดยการแบงขอมลในชดขอมล 𝐷 ออกเปน 𝑣 ชดขอมลยอยตามคาในแอทรบว 𝐴 โดยหลงจากท าการค านวณหาคา 𝑆𝑝𝑙𝑖𝑡𝐼𝑛𝑓𝑜𝐴(𝐷) แลว เราจะสามารถค านวณหาคาอตราสวนเกนไดดงน

𝐺𝑎𝑖𝑛𝑅𝑎𝑡𝑖𝑜(𝐴) = 𝐺𝑎𝑖𝑛(𝐴)

𝑆𝑝𝑙𝑖𝑡𝐼𝑛𝑓𝑜(𝐴)

เมอท าการค านวณหาคาอตราสวนเกนของทกแอทรบวทท าการพจารณาแลว เราจะท าการเลอก แอทรบวทมคาอตราสวนเกนสงทสดเพอเปนแอทรบวส าหรบแบงชดขอมลออกเปนชดขอมลยอยตอไป (ขอสงเกต ถาในการค านวณคา 𝑆𝑝𝑙𝑖𝑡𝐼𝑛𝑓𝑜𝐴(𝐷) มคาเทากบ 0 จะท าใหการค านวณคาอตราสวนเกนของแอทรบว 𝐴 จะมคาไมแนนอน)

ตวอยาง การค านวณคาอตราสวนเกนส าหรบแอทรบวรายได จากขอมลขอมลสอนดงตารางท 6.1 ทซงเราจะท าการแบงขอมลออกเปน 3 ชดขอมลยอยตามคาทเกดขนในแอทรบวรายได ซงกคอ ‘low’, ‘medium’ และ ‘high’ ทซงแตละคาจะมเรคคอรดทมคานนๆทงสน 4, 6 และ 4 เรคคอรดตามล าดบ ดงนนเราสามารถค านวณคาอตราสวนเกนส าหรบแอทรบวรายได ไดเปน

𝑆𝑝𝑙𝑖𝑡𝐼𝑛𝑓𝑜𝑖𝑛𝑐𝑜𝑚𝑒(𝐷) = − ∑|𝐷𝑗|

|𝐷| × 𝑙𝑜𝑔2(

|𝐷𝑗|

|𝐷|)

𝑣

𝑗=1

𝑆𝑝𝑙𝑖𝑡𝐼𝑛𝑓𝑜𝑖𝑛𝑐𝑜𝑚𝑒(𝐷) = −4

14 × 𝑙𝑜𝑔2 (

4

14) −

6

14 × 𝑙𝑜𝑔2 (

6

14) −

4

14 × 𝑙𝑜𝑔2 (

4

14)

= 0.926

Page 17: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

17 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

จากตวอยางการค านวณคาเกนความร เราจะทราบวาคาเกนความรของแอทรบวรายไดจะมคาเทากบ 𝐺𝑎𝑖𝑛(𝑖𝑛𝑐𝑜𝑚𝑒) = 0.029 ดงนนเราสามารถค านวณหาคาอตราสวนเกนไดเปน

𝐺𝑎𝑖𝑛𝑅𝑎𝑡𝑖𝑜(𝑖𝑛𝑐𝑜𝑚𝑒) = 𝐺𝑎𝑖𝑛(𝑖𝑛𝑐𝑜𝑚𝑒)

𝑆𝑝𝑙𝑖𝑡𝐼𝑛𝑓𝑜𝑖𝑛𝑐𝑜𝑚𝑒(𝐷)

𝐺𝑎𝑖𝑛𝑅𝑎𝑡𝑖𝑜(𝑖𝑛𝑐𝑜𝑚𝑒) = 0.029

0.926= 0.031

ดชนจน (Gini index)

ดชนจนจะเปนตวชวดทจะท าการพจารณาความไมบรสทธของชดขอมล 𝐷 ทซงจะมเซตของเรคคอรดทมหมวดหมของขอมลไมเหมอนกนอย โดยเรมจากการค านวนหาคาความไมบรสทธของชดขอมล 𝐷 ดงน

𝐺𝑖𝑛𝑖 (𝐷) = 1 − ∑ 𝑝𝑖2

𝑚

𝑖=1

เมอ 𝑝𝑖 คอ คาความนาจะเปนทเรคคอรดหนงๆจะมหมวดหมของขอมลเปนหมวดหม 𝐶𝑖 ทซงสามารถค านวณ

ไดจาก |𝐶𝑖,𝐷|

|𝐷|

ในการแบงชดขอมลโดยใชดชนจนจะสามารถแบงชดขอมลออกเปน 2 ชดขอมลยอยเทานน เมอท าการพจารณาแอทรบว 𝐴 ใดๆทมคาท เกดขนเปนแบบไมตอเนองและมคาทแตกตางกนท งสน 𝑣 คา ({𝑎1, 𝑎2, … , 𝑎𝑣}) เราจะตองท าการคนหาการแบงชดขอมลทดทสดภายใตการพจารณาแอทรบว 𝐴 ดวยการพจารณาทกสบเซตท เปนไปไดของคาท เกดขนในแอทรบว 𝐴 ทจะถกจดอยในเซตยอย 2 เซตดวยกน ตวอยางเชน แอทรบวรายไดทมคาทเกดขนในแอทรบว 3 คาดวยกนคอ {𝑙𝑜𝑤, 𝑚𝑒𝑑𝑖𝑢𝑚, ℎ𝑖𝑔ℎ} ซงจากทง 3 คาทเกดขน เราจะสามารถแบงคาทง 3 ออกเปนเซตยอย 2 เซตไดดงตอไปน

{⟨{𝑙𝑜𝑤, 𝑚𝑒𝑑𝑖𝑢𝑚}, {ℎ𝑖𝑔ℎ}⟩, ⟨{𝑙𝑜𝑤, ℎ𝑖𝑔ℎ}, {𝑚𝑒𝑑𝑖𝑢𝑚}⟩, ⟨{𝑚𝑒𝑑𝑖𝑢𝑚, ℎ𝑖𝑔ℎ}, {𝑙𝑜𝑤}⟩,

⟨{𝑙𝑜𝑤}, {𝑚𝑒𝑑𝑖𝑢𝑚, ℎ𝑖𝑔ℎ}⟩, ⟨{𝑚𝑒𝑑𝑖𝑢𝑚}, {𝑙𝑜𝑤, ℎ𝑖𝑔ℎ}⟩, ⟨{ℎ𝑖𝑔ℎ}, {𝑙𝑜𝑤, 𝑚𝑒𝑑𝑖𝑢𝑚}⟩}

เมอท าการแบงคาทเกดขนออกเปน 2 เซตยอย เราจะน า 2 เซตใดๆทแบงไวแลว มาท าการค านวณคาน าหนกรวมของคาความไมบรสทธ โดยในการพจารณาแอทรบว 𝐴 ใดๆ เราจะท าการแบงชดขอมล 𝐷 ออกเปน 2 ชดขอมลยอย คอ 𝐷1 และ 𝐷2 ดงนน เราจะสามารถหาคาดชนจนเมอท าการพจารณาแอทรบว 𝐴 ภายใตการพจารณา 𝐷1 และ 𝐷2 ไดเปน

𝐺𝑖𝑛𝑖𝐴(𝐷) = |𝐷1|

|𝐷|𝐺𝑖𝑛𝑖(𝐷1) +

|𝐷2|

|𝐷| 𝐺𝑖𝑛𝑖(𝐷2)

เมอท าการค านวณคาดชนจนส าหรบ 2 เซตยอยใดๆภายใตแอทรบว 𝐴 2 เซต 𝐷1 และ 𝐷2 ใดทใหคา 𝐺𝑖𝑛𝑖𝐴(𝐷) นอยทสดจะถกเลอกเปนตวแทนของแอทรบว 𝐴

Page 18: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

18 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

ในกรณทแอทรบวทเราท าการพจารณามคาแบบตอเนอง เราจะด าเนนการดวยวธการเดยวกนกบการค านวณหาคาเกนความร ดวยการหาจดแบงทดทสด โดยท าการเรยงล าดบคาทงหมดจากนอยไปมาก แลวท าการหาคากลางระหวาง 2 คาใดๆ จากนนน าแตละคากลางมาพจารณาเปนจดแบง โดยคาใดๆกตามทมคานอยกวาหรอเทากบคากลางจะถกแบงไวในชดขอมลยอย 𝐷1 และคาใดกตามทมคามากกวาคากลางจะถกแบงไวในชดขอมลยอย 𝐷2 ตามล าดบ จากนนคากลางใดทใหคา 𝐺𝑖𝑛𝑖𝐴(𝐷) นอยทสดจะถกเลอกเปนตวแทนของ แอทรบว 𝐴

ขนตอนสดทายของการแบงชดขอมลดวยการใชคาดชนจน เราจะตองท าการค านวณสวนหกลบของความไมบรสทธ ซงกคอ ∆𝐺𝑖𝑛𝑖(𝐴) โดยเมอท าการค านวณคา ∆𝐺𝑖𝑛𝑖(𝐴) ส าหรบทกๆแอทรบวแลว แอทร-บวใดกตามทมคา ∆𝐺𝑖𝑛𝑖(𝐴) มากทสด (หรอมคา 𝐺𝑖𝑛𝑖𝐴(𝐷) นอยทสด) แอทรบวนนจะถกเลอกเพอเปน แอทรบวส าหรบแบงชดขอมลออกเปนชดขอมลยอย

∆𝐺𝑖𝑛𝑖(𝐴) = 𝐺𝑖𝑛𝑖(𝐷) − 𝐺𝑖𝑛𝑖𝐴(𝐴)

ตวอยาง การสรางตนไมตดสนใจดวยคาดชนจนจากขอมลสอนดงตารางท 6.1 ทจะประกอบไปดวยขอมล 9 เรคคอรดทมหมวดหมขอมลของลกคาทซอคอมพวเตอร และมขอมลอก 5 เรคคอรดทมหมวดหมขอมลของลกคาทไมซอคอมพวเตอร ดงนนเมอเราพจารณาทโหนด 𝑁 ทซงเปนโหนดเรมตน เราจะเรมจากการค านวนหาคาความไมบรสทธของชดขอมล 𝐷 ดงน

𝐺𝑖𝑛𝑖(𝐷) = 1 − (9

14)

2

− (5

14)

2

= 0.459

จากนนจงท าการพจารณาแตละแอทรบวเพอหาแอทรบวเพอใชในการแบงชดขอมล โดยถาเราเรมจากการพจารณาแอทรบว “รายได” ทซงมคาเปนแบบไมตอเนองและมคาทเกดขนเทากบ 3 คา ดงนนเราจะตองท าการแบงขอมลออกเปน 2 เซตใดๆ เชนถาเราแบงคาออกเปน 2 เซต คอ {𝑙𝑜𝑤, 𝑚𝑒𝑑𝑖𝑢𝑚} และ {ℎ𝑖𝑔ℎ} ทจะท าการแบงเปนชดขอมลยอย 𝐷1 และ 𝐷2 โดยในเซตแรก คอ {𝑙𝑜𝑤, 𝑚𝑒𝑑𝑖𝑢𝑚} จะมขอมลจ านวนทงสน 10 เรคคอรดทมคาเปน “low” หรอ “medium” แตในสวนของเซตทสอง คอ {ℎ𝑖𝑔ℎ} จะมขอมลจ านวนทงสน 4 เรคคอรดทมคาเปน “high” ดงนนเราจะสามารถค านวณคาดชนจนภายใต 2 เซตนไดดงน

𝐺𝑖𝑛𝑖𝑖𝑛𝑐𝑜𝑚𝑒∈{𝑙𝑜𝑤,𝑚𝑒𝑑𝑖𝑢𝑚}(𝐷)

=10

14 𝐺𝑖𝑛𝑖(𝐷1) +

4

14 𝐺𝑖𝑛𝑖(𝐷2)

=10

14 (1 − (

7

10)

2

− (3

10)

2

) +4

14 (1 − (

2

4)

2

− (2

4)

2

)

= 0.44

= 𝐺𝑖𝑛𝑖𝑖𝑛𝑐𝑜𝑚𝑒∈{ℎ𝑖𝑔ℎ}(𝐷)

Page 19: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

19 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

ตอมาเมอเราท าการค านวณคาดชนจนของ 2 เซตอนๆ เชน ⟨{𝑙𝑜𝑤, ℎ𝑖𝑔ℎ}, {𝑚𝑒𝑑𝑖𝑢𝑚}⟩ จะมคาดชนจนเทากบ 0.315 และ ⟨{𝑚𝑒𝑑𝑖𝑢𝑚, ℎ𝑖𝑔ℎ}, {𝑙𝑜𝑤}⟩ จะมคาดชนจนเทากบ 0.300 โดยหลงจากท าการค านวณคาดชนจนทงหมดจากทกเซตทแบงไดจากการพจารณาแอทรบว “รายได” แลว เราจะท าการเลอกเซต ⟨{𝑚𝑒𝑑𝑖𝑢𝑚, ℎ𝑖𝑔ℎ}, {𝑙𝑜𝑤}⟩ ทมคาดชนจนนอยทสดเปนเซตของคาทใชแบงขอมลออกเปนชดขอมลยอยภายใตการพจารณาแอทรบว “รายได” และจะสามารถค านวณ ∆𝐺𝑖𝑛𝑖(𝑖𝑛𝑐𝑜𝑚𝑒) ไดเทากบ 0.459 −

0.300 = 0.159

ตอมาเมอพจารณาแอทรบว “อาย” เราจะทราบวาเซต ⟨{𝑦𝑜𝑢𝑡ℎ, 𝑠𝑒𝑛𝑖𝑜𝑟}, {𝑚𝑖𝑑𝑑𝑙𝑒_𝑎𝑔𝑒𝑑}⟩ จะใหคาดชนจนภายใตการพจารณาแอทรบว “อาย” นอยทสดเทากบ 0.375 และเมอพจารณาแอทรบว “การเปนนกเรยน” และ “ประวตทางการเงน” ทซงจะเปนแอทรบวทมคาในแอทรบว 2 คาดวยกน ดงนนเราจะสามารถค านวณคาดชนจนของแตละแอทรบวไดเปน 0.367 และ 0.429 ตามล าดบ

เมอท าการค านวณสวนหกลบของความไมบรสทธ (∆𝐺𝑖𝑛𝑖(𝐴)) ของทกแอทรบวแลวเราจะทราบวาแอทรบว “รายได” ภายใตเซต ⟨{𝑚𝑒𝑑𝑖𝑢𝑚, ℎ𝑖𝑔ℎ}, {𝑙𝑜𝑤}⟩ จะมคาดชนจนมากทสด ดงนนเราจะเลอกแอทรบว “รายได” เปนแอทรบวส าหรบแบงขอมลเปนชดขอมลยอย ดงนน โหนด 𝑁 ทท าการพจารณาจะถกก าหนดใหเปนโหนดส าหรบแอทรบว “รายได” ทซงจะสามารถแตกกงเปนกงยอยได 2 กงคอ กงส าหรบ {𝑚𝑒𝑑𝑖𝑢𝑚, ℎ𝑖𝑔ℎ} และ กงส าหรบ {𝑙𝑜𝑤} ตามล าดบ

นอกเหนอจากตวชวดการเลอกแอทรบวทง 3 ทไดศกษาขางตน เราจะสงเกตไดวาคาเกนความรจะมความเอนเอยงกบแอทรบวทมคาทเกดขนหลายๆคา (multivalued attribute) คาอตราสวนเกนจะสามารถท างานไดดกบการแบงขอมลทไมสมดล กลาวคอ จะมชดขอมลยอยหนงๆทมเรคคอรดในชดขอมลยอยนนๆคอนขางนอย ดชนจนจะมความเอนเอยงกบแอทรบวทมคาทเกดขนหลายๆคา และจะประสบความยงยากในการด าเนนการกบขอมลทมหมวดหมขอมลคอนขางมากอกดวย จากปญหาดงกลาว ยงมตวชวดอนๆทไดรบความนยมอยางแพรหลาย อาทเชน χ2 ทซงจะท าการวดจากความไมขนแกกนของขอมล โดย χ2 จะไดรบความนยมเปนอยางมากในการสรางตนไมตดสนใจส าหรบขอมลทางการตลาด นอกจากนนยงมตวชวดอนๆอก อาท เชน C − SEP (ท างานไดดกวาค าเกนความรและคาดชนจน ในบางกรณ ) 𝐺 − 𝑠𝑡𝑎𝑡𝑖𝑠𝑡𝑖𝑐 (มประสทธภาพในการท างานใกลเคยงกบ χ2)และอกหนงตวชวดทส าคญ 𝑀𝑖𝑛𝑖𝑚𝑢𝑚 𝐷𝑒𝑠𝑐𝑟𝑖𝑝𝑡𝑖𝑜𝑛 𝐿𝑒𝑛𝑔𝑡ℎ (MDL) ทซงจะมความเอนเอยงนอยกบแอทรบวทมคาทเกดขนหลายๆคา (multivalued attribute) MDL จะใชเทคนคการเขารหสขอมลทซงจะสามารถระบถงตนไมตดสนใจทดทสดทซงจะตองการปรมาณขอมลนอยในการเขารหสขอมลได ย งไปกวานนยงมตวชวด อนๆทจะท าการพจารณา /เลอกหลายๆแอทรบ ว (Multivariate splits) ในครงหนงๆ ทซงจะท าการแบงขอมลออกเปนชดขอมลยอยตามกลมของแอทรบวทท าการพจารณา (น าคาตางๆมาประสมกนแลวจงแบงกลมจากคาเหลานน)

จากทกลาวมาทงหมดขางตน เรายงไมสามารถสรปไดวาตวชวดการเลอกแอทรบวใดทสามารถท างานไดดทสด โดยการทจะวดวาตวชวดใดท างานดหรอไมจะวดจาก 1) เปอรเซนตความถกตอง 2) เวลาประมวลผล

Page 20: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

20 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

ทเพมขนเมอความสงของตนไมเพมขนซงการการวดโดยเงอนไขตางๆ จะยงไมมตวชวดใดทสามารถท างานไดดในทกๆกรณ ทซงแตละตวชวดจะมบางกรณทตวชวดนนๆสามารถท างานไดดและกจะมบางกรณทไมสามารถท างานไดดดวยเชนกน

6.3.3 การตดเลมตนไมตดสนใจ (Tree pruning) ในระหวางการสรางตนไมตดสนใจ เราจะสามารถสงเกตไดวามหลายกงในตนไมทเปนสงผดปกตในชดขอมลสอนอนเนองมากจากขอมลทผดปกต ดวยเหตน เราจงจ าเปนทจะตองพยายามทจะตดเลมตนไมเพอไมใหเกดปญหาเกยวกบ ‘overfitting’ (ซงเปนเหตการณทตวจ าแนกขอมลสามารถเรยนรไดดมากกบชดขอมลสอนแตมความสามารถต าในการจ าแนกขอมลทไมเคยมากอน) โดยในการตดเลมตนไมจะใชมาตรวดเชงสถตมาตรวจวดแตละกงของตนไม และท าการตดเลมกงทมความนาเชอถอต าทสดออกจากตนไม

ดงแสดงในรปท 6.6 ทซงตนไมในฝงซายจะเปนตนไมทยงไมไดท าการจดเลม ในขณะทตนไมทางฝงขวาจะเปนตนไมทถกตดเลมแลว ทซงมกจะมขนาดเลกและความซบซอนนอยกวา รวมถงมความงายกวาในการท าความเขาใจในการจ าแนกขอมลจากตนไมนนๆ นอกจากนน ตนไมทถกตดเลมแลวจะสามารถจ าแนกขอมลไดอยางรวดเรวยงขนและยงใหผลของการจ าแนกขอมลทดยงขน โดยจะไมขนกบชดขอมลการสอนมากจนเกนไป

รปท 6.6 ตวอยางตนไมตดสนใจกอนและหลงการตดเลม

ในการตดเลมตนไมจะประกอบไปดวยวธการตดเลม 2 วธการดวยกนคอ

Prepruning—จะเปนขนตอนการตดเลมกงของตนไมในขณะทท าการสรางตนไม โดยจะท าการตดสนใจวาจะท าการสรางกงของตนไมตอไปหรอไม (ท าการตดสนใจวาจะท าการแบงขอมลเปนชดขอมลยอย/แตกกงออกตามคาทเกดขนในชดขอมลสอนหรอไม) โดยในกรณเกดการตดสนใจทจะหยดสรางตนไว โหนดทก าลงพจารณาอยจะเปลยนสภาพเปนโหนดใบ และเราจะท าการระบถงหมวดหมดวยการคนหาหมวดหมทมเรคคอรดทสงกดหมวดหมนนๆมากทสด โดยในระหวางการสร างตนไม

Page 21: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

21 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

ตวชวดตางๆ อาทเชน คาเกนความร คาดชนจน และอนๆ จะถกใชในการประเมนคาความนาจะเปนในการแบงขอมลออกเปนชดยอยๆ ทซง ณ ทโหนดใดๆกตาม ถาท าการแบงขอมลออกเปนชดยอยๆแลว ท าใหชดขอมลยอยมคาตามตวชวดนอยกวาคาขดแบงทก าหนดไวกอนหนา (prespecified thresholod) เราจะท าการหยดการแบงชดขอมล แตอยางไรกตาม การทจะสามารถก าหนดคาขดแบงใหมคาทเหมาะสมสามารถท าไดคอนขางยาก ถาคาขดแบงถกก าหนดใหมคาสงจะท าใหตนไมท าการแจกแนกขอมลอยางงายๆโดยไมสนใจความเปนจรงทเกดขน (oversimplified tree) แตส าหรบกรณทคาขดแบงก าหนดใหมคานอยจะท าใหตนไมมความซบซอนในการจ าแนกขอมลสง

Postprunning—จะเปนขนตอนการตดเลมกงของตนไมหลงจากทท าการสรางตนไมตดสนใจเสรจสน (หลงจากตนไมโตเตมทแลว) เมอท าการพจารณาโหนดใดๆกตามพรอมกบกงยอยทแตกออกจากโหนดนนๆ กระบวนการตดเลมตนไมจะท าการตดเลมกงยอยจากโหนดทพจารณาดวยการลบกงยอยออกทงหมดแลวปรบใหกงทท าการพจารณาเปลยนเปนโหนดใบ และจะท าการระบถงหมวดหมดวยการคนหาหมวดหมทมเรคคอรดทสงกดหมวดหมนนๆมากทสด เพอใหมความเขาใจมากขนลองพจารณาโหนด “A3” ในรปตนไมทางดานซายในรปท 6.6 ถาโหนด “A3” เปนโหนดทตองถกตดเลมและมขอมลทอยในหมวดหม ‘B’ เปนจ านวนมาก ดงนน กงยอยของโหนด “A3” จะถกตดเลมออกทงหมดและโหนด “A3” จะถกเปลยนเปนโหนดใบทมหมวดหมเปนหมวดหม ‘B’ ตามล าดบ

จากการตดเลมตนไมทงสองวธขางตน กอนทจะท าการประยกตใชวธการใดวธหนง เราควรทจะตองท าการพจารณาถงคาความซบซอนของวธการตดเลมตนไมเสยกอน โดยในการพจารณาคาความซบซอนจะพจารณาอตราการผดพลาดของการจ าแนกขอมลของตนไม (error rate) ทซงถกค านวนอยในรปของเปอรเซนต โดยในการพจารณาทโหนด 𝑁 ใดๆ เราจะท าการค านวณคาความซบซอนของกงยอยๆตางๆของโหนด 𝑁 และคาความซบซอนของโหนด 𝑁 แลวน ามาเปรยบเทยบกน ถาโหนด 𝑁 มคาความซบซอนนอยกวา เราจะท าการตดเลมกงยอยของขอมล แตถาโหนด 𝑁 มคาความซบซอนมากกวาเราจะไมท าการตดเลมกงของตนไมแตอยางใด โดยในการตดเลมตนไมเราอาจใชการผสมผสานกนระหวาง prepruning และ postpruning โดยเมอท าการพจารณาถงแตละขนตอนวธ เราจะสงเกตไดวาการตดเลมตนไมแบบ postpruning จะเสยเวลาในการค านวณมากกวา แตกน ามาซงความนาเชอถอทมากกวาดวยเชนกน ซง ณ ปจจบน เรายงไมสามารถบอกกลาวไดวาวธการใดสามารถท าการตดเลมตนไมไดดกวากน

แมวาตนไมทถกตดเลมจะมแนวโนมทจะมขนาดเลกกวาตนไมทยงไมไดรบการตดเลม แตทวา ตนไมทตดเลมแลวอาจยงมขนาดใหญและมความความซบซอนในการจ าแนกขอมลอย ตนไมตดสนใจอาจประสบความยากล าบากจาก ‘repetition’ และ ‘replication’ กเปนได (ดงแสดงในรปท 6.7(a) และ 6.7(b) ตามล าดบ) โดย repetition จะเกดขนเมอแอทรบวหนงๆถกท าการทดสอบซ าแลวซ าเลาเมอเราท าการพจารณากงหนงๆ ตวอยางเชน เมอเราท าการพจารณาเงอนไง “age < 60?” แลวตอมาเรายงคงท าการพจารณาเงอนไข “age < 45?” และอนๆ แตในสวนของ replication จะเปนเหตการณทตนไมมตนไมยอยซ ากน ดงแสดงในรปท 6.7(b) เราจะเหนวาตนไมจะมตนไมยอยทมลกษณะเหมอนกนทงหมด ทซงเมอเกด

Page 22: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

22 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

replication ขนจะท าใหความถกตองแมนย าของการจ าแนกขอมลถกลดทอนลง ดงนน เพอทจะท าการแกไขปญหาการเกด replication เราอาจอาศยการแตกกงโดยอาศยการพจารณาหลายๆแอทรบว (multivariate split) ทจะชวยใหไมเกดการซ าซอนกนของตนไมยอยได

รปท 6.7 ตวอยางตนไม (a) เกด repetition และ (b) เกด replication

6.4 การจ าแนกขอมลดวยวธการเบยเซยน (Baysian Classification) การจ าแนกขอมลดวยวธการเบยเซยนจะเปนการสรางตวจ าแนกขอมลดวยการประยกตใชคาทางสถตทซงจะสามารถบงบอกถงความนาจะเปนของขอมลเรคคอรดหนงทจะอยในหมวดหมของขอมลหนงๆ วธการจ าแนกขอมลนจะท าการประยกตใชทฤษฎของเบย (Bayes’ theorem) ทซงจะชวยใหสามารถจ าแนกขอมลไดอยางรวดเรวและมความแมนย าสงอกดวย

Page 23: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

23 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

6.4.1 ทฤษฎของเบย ทฤษฎของเบยถกคดคนขนโดย Thomas Bayes ทซง ก าหนดให 𝑋 คอ ขอมลเรคคอรดหนงๆทประกอบไปดวย 𝑛 แอทรบว ก าหนดให 𝐻 คอสมมตฐานทซงขอมลเรคคอรด 𝑋 จะมหมวดหมของขอมลเปน 𝐶 โดยในการจ าแนกขอมล เราจะตองท าการค านวณคาตางๆ 4 คาดวยกนคอ

คาความนาจะเปนของสมมตฐาน 𝐻 จะเปนจรง เมอท าการพจารณาขอมลเรคคอรด 𝑋 ทซงสามารถแทนไดดวย 𝑃(𝐻|𝑋) ตวอยางเชน ขอมลเรคคอรด 𝑋 ทประกอบไปดวย 2 แอทรบว คอ อายเทากบ 35 และ เงนเดอนเทากบ 40,000 บาท โดยสมมตฐาน 𝐻 จะเปนสมมตฐานทนาย 𝑋 จะท าการซอคอมพวเตอร โดย 𝑃(𝐻|𝑋) จะสะทอนถงความนาจะเปนทนาย 𝑋 จะท าการซอคอมพวเตอรเมอเราทราบถงอายและรายไดของนาย 𝑋

คาความนาจะเปนทขอมลทงหมดในชดขอมลจะอยในหมวดหม 𝐶 หนงๆซงกคอคา 𝑃(𝐻) ตวอยางคอ คาความนาจะเปนทลกคารายหนงจะท าการซอคอมพวเตอร โดยทเราไมตองท าการพจารณาถงอายและรายไดของลกคาคนนนๆเลย

คาความนาจะเปนทจะมเรคคอรดทมคาเทากบ 𝑋 เมอเราทราบถงเรคคอรดทอยในหมวดหม 𝐶 ซงกคอคา 𝑃(𝑋|𝐻) ตวอยางคอ ความนาจะเปนทจะมลกคาทมอายเทากบ 35 และ รายได 40,000 บาท จากลกคาทท าการซอคอมพวเตอรจากลกคาทมอาย 35 และมรายได 40,000 บาท ทงหมด

คาความนาจะเปนทจะเกดขอมลในเรคคอรด 𝑋 จากเรคคอรดทงหมด ซงกคอคา 𝑃(𝑋) ตวอยางคอ คาความนาจะเปนทจะมลกคาอายเทากบ 35 และ มเงนเดอนเทากบ 40,000 บาท

จากคาทง 4 ขางตน เราจะสามารถประเมนหรอค านวณหาคา 𝑃(𝐻), 𝑃(𝑋|𝐻) และ 𝑃(𝑋) ไดจากขอมลสอน โดยทฤษฎของเบยจะพยายามค านวณหาคา 𝑃(𝐻|𝑋) จากคา 𝑃(𝐻), 𝑃(𝑋|𝐻) และ 𝑃(𝑋) ทซงสามารถค านวณไดดงน

𝑃(𝐻|𝑋) = 𝑃(𝑋|𝐻)𝑃(𝐻)

𝑃(𝑋)

6.4.2 การจ าแนกขอมลดวยเบยเซยนแบบงาย (Naïve baysian classification) การจ าแนกขอมลดวยเบยเซยนแบบงายจะประกอบไปดวยขนตอนตางๆดงน

1. ก าหนดให 𝐷 คอ ชดขอมลสอนทประกอบไปดวยเซตของเรคคอรดของขอมลทมหมวดหมของขอมลแนบอยดวย โดยขอมลแตละเรคคอรด 𝑋 จะประกอบไปดวยคาในแอทรบวตางๆ 𝑛 แอทรบว 𝑋 =

(𝑥1, 𝑥2, … , 𝑥𝑛) 2. สมมตวาในชดขอมล 𝐷 จะมขอมลทงสน 𝑛 หมวดหม (𝐶1, 𝐶2, … , 𝐶𝑛) โดยท เมอท าการพจารณา

ขอมลเรคคอรด 𝑋 ตวจ าแนกขอมลจะท าการท านายวา 𝑋 จะมคาความนาจะเปนทจะมหมวดหมหนงๆโดยจะสามารถค านวณไดจาก

Page 24: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

24 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

𝑃(𝐶𝑖|𝑋) = 𝑃(𝑋|𝐶𝑖)𝑃(𝐶𝑖)

𝑃(𝑋)

โดยในการค านวณ เราจะตองพจารณาขอมลเรคคอรด 𝑋 แลวท าการหาคาความนาจะเปนกบทกๆหมวดหมของขอมล จากนน เราจะท าการค านวณหาคา 𝑃(𝐶𝑖|𝑋) ทมากทสด ทซงจะบงบอกถงความจะเปนทมากทสดทขอมลเรคคอรด 𝑋 จะมหมวดหมของขอมลเปน 𝐶𝑖

3. เมอท าการพจารณาคา 𝑃(𝑋) เราจะสงเกตไดวา คานจะมคาคงทกบทกๆหมวดหมของขอมล ดงนนเราอาจจะสามารถละเลยคานได โดยท าการพจารณาแคเพยงคา 𝑃(𝑋|𝐶𝑖)𝑃(𝐶𝑖) ทซงมคาสงทสดในบรรดาหมวดหมของขอมลทงหมด—คา 𝑃(𝐶𝑖) จะสามารถค านวณไดจาก |𝐶𝑖,𝐷|/𝐷 (คา |𝐶𝑖,𝐷| คอ จ านวนเรคคอรดในชดขอมล 𝐷 ทมหมวดหมเปน 𝐶𝑖 )

4. ในกรณทชดขอมลมจ านวนแอทรบวทตองท าการพจารณาเปนจ านวนมาก จะเปนเหตใหการค านวณคา 𝑃(𝑋|𝐶𝑖) จะใชเวลาคอนขางมาก โดยคา 𝑃(𝑋|𝐶𝑖) จะสามารถค านวณไดดงน 𝑃(𝑋|𝐶𝑖) = ∏ 𝑃(𝑥𝑘|𝐶𝑖)

𝑛𝑘=1

= 𝑃(𝑥1|𝐶𝑖) × 𝑃(𝑥2|𝐶𝑖) × … × 𝑃(𝑥𝑛|𝐶𝑖) โดยทแตละ 𝑥𝑘 จะหมายถงคาทเกดขนในแตละแอทรบว 𝐴𝑘 จากขอมลแตละเรคคอรด 𝑋 โดยคาทเกดขนในแตละแอทรบวอาจมคาเปนแบบไมตอเนองหรอเปนแบบตอเนอง โดยจะสามารถแบงเงอนไขการค านวณของแตละ 𝑃(𝑥𝑘|𝐶𝑖) ไดดงน

a. ถาแอทรบว 𝐴𝑘 มคาเปนแบบไมตอเนอง จะสามารถค านวณ 𝑃(𝑥𝑘|𝐶𝑖) ไดจากจ านวนเรค-คอรดทงหมดใน 𝐷 ทมหมวดหมเปน 𝐶𝑖 และ มคา 𝑥𝑘 ส าหรบแอทรบว 𝐴𝑘 หารดวย |𝐶𝑖,𝐷| (จ านวนเรคคอรดในชดขอมล 𝐷 ทมหมวดหมเปน 𝐶𝑖 )

b. ถาแอทรบว 𝐴𝑘 มคาเปนแบบตอเนอง เราจะตองท าการค านวณเพมขน โดยเราจะใช “Gaussian distribution” พรอมกบคาเฉลย 𝜇 และสวนเบยงเบนมาตราฐาน 𝜎 ทซงสามารถค านวนไดดงน

𝑔(𝑥, 𝜇, 𝜎) = 1

√2𝜋𝜎 𝑒

−(𝑥−𝜇)2

2𝜎2

ดงนน เราจะสามารถคา 𝑃(𝑥𝑘|𝐶𝑖) ไดเปน 𝑃(𝑥𝑘|𝐶𝑖) = 𝑔(𝑥𝑘, 𝜇𝐶𝑖

, 𝜎𝐶𝑖)

จากสมการขางตน เราจะตองท าการค านวณคา 𝜇𝐶𝑖 ทซงหมายถงคาเฉลยของคาทเกดขน

ทงหมดในแอทรบว 𝐴𝑘 ทอยในหมวดหม 𝐶𝑖 และตองท าการค านวณคา 𝜎𝐶𝑖 ทซงหมายถง

สวนเบยงเบนมาตราฐานของคาทเกดขนในแอทรบว 𝜎𝐶𝑖 ตามล าดบ เพอทจะเขาใจมากขน

ลองพจารณาตวอยางดงตอไปน ก าหนดให เรคคอรด 𝑋 ทท าการพจารณาจะมขอมลอายและเงนเดอนเปน 𝑋 = (35, $40,00) โดยเรคคอรด 𝑋 จะเปนขอมลทอยในหมวดหมการซอคอมพวเตอร (กลาวคอ “buy_computer = yes”) สมมตวาคาในแอรบวอายจะเปนขอมลแบบตอเนอง และสมมตวาจากชดขอมลสอน เราตองการทจะคนหาลกคาในชดขอมล 𝐷 ทท าการซอคอมพวเตอร โดยจะเปนลกคาทมอายเทากบ 38 ± 12 ทซงจากการค านวณเราจะไดคา 𝜇 = 38 และ 𝜎 = 12 ตามล าดบ จากนนเราสามารถค านวณหาคาความนาจะ

Page 25: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

25 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

เปน 𝑃(𝑎𝑔𝑒 = 35|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑦𝑒𝑠) ส าหรบลกคาทมอาย 35 ปและจะท าการซอคอมพวเตอรได

5. ในการทจะท านายหมวดหมของขอมลเรคคอรด 𝑋 ใดๆ เราจะตองท าการค านวณคา 𝑃(𝑋|𝐶𝑖)𝑃(𝐶𝑖) ส าหรบทกๆหมวดหม 𝐶𝑖 โดยผลลพธทไดจะเปนหมวดหมขอมลทมคา 𝑃(𝑋|𝐶𝑖)𝑃(𝐶𝑖) สงทสด

ตวอยาง การท านายหมวดหมของขอมลโดยใชการจ าแนกขอมลดวยเบยเซยนแบบงายจากขอมลสอนดงตารางท 6.1 โดยชดขอมลสอนทจะประกอบไปดวยขอมลหลก 4 แอทรบวทมคาแบบไมตอเนอง คอ อาย รายได อาชพนกศกษาหรอไม และ ขอมลประวตเครดตทางการเงน และ 1 แอทรบวหมวดหมของลกคา ทประกอบไปดวย 2 หมวดหม คอ หมวดหมของลกคาทซอคอมพวเตอรจากรานคา และหมวดหมของลกคาทไมไดซอคอมพวเตอรจากรานคา โดยในการค านวณ เราจะก าหนดให 𝐶1 หมายถง หมวดหมของลกคาทซ อคอมพวเตอร และ 𝐶1 หมายถง หมวดหมของลกคาทไมซอคอมพวเตอร ตามล าดบ โดยเรคคอรดทเราตองการทจะจ าแนกขอมลจะมลกษณะดงน

𝑋 = (𝑎𝑔𝑒 = 𝑦𝑜𝑢𝑡ℎ, 𝑖𝑛𝑐𝑜𝑚𝑒 = 𝑚𝑒𝑑𝑖𝑢𝑚, 𝑠𝑡𝑢𝑑𝑒𝑛𝑡 = 𝑦𝑒𝑠, 𝑐𝑟𝑒𝑑𝑖𝑡_𝑟𝑎𝑡𝑖𝑛𝑔 = 𝑓𝑎𝑖𝑟)

ดงนนเราตองการทจะหาคา 𝑃(𝑋|𝐶𝑖)𝑃(𝐶𝑖) ทสงทสด โดยจากตวอยางเราจะสงเกตไดวาจ านวนของหมวดหมขอมลทเปนไปไดจะม 2 หมวดหมดวยกนทซงจะสามารถค านวณหาคาความนาจะเปนของเรคคอรดหนงๆทจะมหมวดหมเปนซอคอมพวเตอรและไมซอคอมพวเตอรไดดงน

𝑃(𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑦𝑒𝑠) = 9/14 = 0.643

𝑃(𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑛𝑜) = 5/14 = 0.357

จากนนเราตองท าการค านวณคา 𝑃(𝑥𝑘|𝐶𝑖) ส าหรบแตละแอทรบวและแตละคาทเกดขนในเรคคอรด 𝑋 ทซงสามารถค านวณไดดงน

𝑃(𝑎𝑔𝑒 = 𝑦𝑜𝑢𝑡ℎ|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑦𝑒𝑠) = 2/9 = 0.222

𝑃(𝑎𝑔𝑒 = 𝑦𝑜𝑢𝑡ℎ|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑛𝑜) = 3/5 = 0.600

𝑃(𝑖𝑛𝑐𝑜𝑚𝑒 = 𝑚𝑒𝑑𝑖𝑢𝑚|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑦𝑒𝑠) = 4/9 = 0.444

𝑃(𝑖𝑛𝑐𝑜𝑚𝑒 = 𝑚𝑒𝑑𝑖𝑢𝑚|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑛𝑜) = 2/5 = 0.400

𝑃(𝑠𝑡𝑢𝑑𝑒𝑛𝑡 = 𝑦𝑒𝑠|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑦𝑒𝑠) = 6/9 = 0.667

𝑃(𝑠𝑡𝑢𝑑𝑒𝑛𝑡 = 𝑦𝑒𝑠|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑛𝑜) = 1/5 = 0.200

𝑃(𝑐𝑟𝑒𝑑𝑖𝑡_𝑟𝑎𝑡𝑖𝑛𝑔 = 𝑓𝑎𝑖𝑟|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑦𝑒𝑠) = 6/9 = 0.667

𝑃(𝑐𝑟𝑒𝑑𝑖𝑡_𝑟𝑎𝑡𝑖𝑛𝑔 = 𝑓𝑎𝑖𝑟|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑛𝑜) = 2/5 = 0.400

จากนนเราจะสามารถค านวณคา 𝑃(𝑋|𝐶𝑖) ของหมวดหมการซอคอมพวเตอรและไมซอคอมพวเตอรไดดงน

Page 26: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

26 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

𝑃(𝑋|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝒚𝒆𝒔) = 𝑃(𝑎𝑔𝑒 = 𝑦𝑜𝑢𝑡ℎ|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑦𝑒𝑠) ×

𝑃(𝑖𝑛𝑐𝑜𝑚𝑒 = 𝑚𝑒𝑑𝑖𝑢𝑚|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑦𝑒𝑠) ×

𝑃(𝑠𝑡𝑢𝑑𝑒𝑛𝑡 = 𝑦𝑒𝑠|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑦𝑒𝑠) ×

𝑃(𝑐𝑟𝑒𝑑𝑖𝑡_𝑟𝑎𝑡𝑖𝑛𝑔 = 𝑓𝑎𝑖𝑟|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑦𝑒𝑠) ×

= 0.222 × 0.444 × 0.667 × 0.667 = 0.044

𝑃(𝑋|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝒏𝒐) = 𝑃(𝑎𝑔𝑒 = 𝑦𝑜𝑢𝑡ℎ|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑛𝑜) ×

𝑃(𝑖𝑛𝑐𝑜𝑚𝑒 = 𝑚𝑒𝑑𝑖𝑢𝑚|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑛𝑜) ×

𝑃(𝑠𝑡𝑢𝑑𝑒𝑛𝑡 = 𝑦𝑒𝑠|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑛𝑜) ×

𝑃(𝑐𝑟𝑒𝑑𝑖𝑡_𝑟𝑎𝑡𝑖𝑛𝑔 = 𝑓𝑎𝑖𝑟|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑛𝑜) ×

= 0.600 × 0.400 × 0.200 × 0.400 = 0.019

ดงนนเราจะสามารถหาหมวดหมของขอมล 𝐶𝑖 ทใหคา 𝑃(𝑋|𝐶𝑖)𝑃(𝐶𝑖) ทสงทสด โดยสามารถค านวณไดดงน

𝑃(𝑋|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝒚𝒆𝒔)𝑃(𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝒚𝒆𝒔) = 0.044 × 0.643 = 0.028

𝑃(𝑋|𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝒏𝒐)𝑃(𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝒏𝒐) = 0.019 × 0.357 = 0.007

ดงนน จากการท านายโดยใชการจ าแนกขอมลดวยเบยเซยนแบบงายจะใหผลท านายวาขอมลเรคคอรด 𝑋 จะอยในหมวดหมการซอคอมพวเตอร (𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝒚𝒆𝒔)

ขอสงเกตในการค านวณ !!! ในการค านวณหาคา 𝑃(𝑋|𝐶𝑖) จะเกดจาก 𝑃(𝑥1|𝐶𝑖) × 𝑃(𝑥2|𝐶𝑖) × … ×

𝑃(𝑥𝑛|𝐶𝑖) ดงนน ถา 𝑃(𝑥𝑘|𝐶𝑖) ใดๆมคาเปน 0 กจะท าให 𝑃(𝑋|𝐶𝑖) มคาเปน 0 ไปดวย ยงไปกวานนจะท าให 𝑃(𝑋|𝐶𝑖)𝑃(𝐶𝑖) มคาเปน 0 ดวยเชนกน

ในการทจะแกไขปญหาดงกลาว เราสามารถประยกตใชวธการประมาณคาความนาจะเปน ทเรยกวา “Laplacian correction” หรอ “Laplacian estimation” ทจะท าการเพมจ านวนเรคคอรด 1 เรคคอรดใหแตละกรณของแตละคาทจะเกดขนในแอทรบวทพจารณา ตวอยางเชน สมมตวาชดขอมลสอน 𝐷 มขอมลทอยในหมวดหมการซอคอมพวเตอรทงสน 1,000 เรคคอรด โดยเมอพจารณาทแอทรบวรายได ปรากฏวาม 10 เรคคอรดทมรายไดสง ม 990 เรคคอรดทมรายไดปานกลางและไมมขอมลเรคคอรดใดเลยทมรายไดนอย (ม 0 เรคคอรด ถาเราไมท าการประยกตใช Laplacian correction จะท าใหเราไดคาความนาจะเปนเทากบ 0.010 (10/1000), 0.990 (990/1000) และ 0 ตามล าดบ แตเมอเราประยกตใช Laplacian correction ทซงจะท าการเพม 1 เรคคอรดใรทกๆคาทเกดขน ดงนน จ านวนเรคคอรดทมรายไดสงจะม 11 เรคคอรด รายไดปานกลางม 991 เรคคอรด และ รายไดนอยม 1 เรคคอรดตามล าดบ และ เมอเราท าการหาคาความนาจะเปนจะมคาเทากบ 0.011(11/1003), 0.988(991/1003) และ 0.001(1/1003) ตามล าดบ

Page 27: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

27 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

6.4.3 ขายงานความเชอเบย (Baysian belief networks) การจ าแนกขอมลดวยเบยเซยนอยางงายจะยดตดกบสมมตฐานทวา “แอทรบวตางๆแตละตวจะไมขนตอกน” ทซงจะท าใหเกดขอจ ากดในการท างาน ดวยเหตนจงมแนวคดทจะท าการพฒนาขายงานความเชอเบย (Baysian belief networks หรอทเรยกในชออนๆวา “belief networks”, “Bayesian networks” และ “probabilistic networks”) เพออธบายความขนตอกนระหวางเซตของแอทรบวตางๆ ดวยการแสดงออกในรปแบบกราฟฟค โดยขายงานความเชอเบยจะประกอบไปดวย 2 สวนหลกๆ คอ directed acyclic graph (DAG) และ conditional probability tables (ดงแสดงในรปท 6.8) แตละโหนดใน DAG จะแสดงถงคาตางๆทเกดขนในแอทรบวหนงทถกสมขนมา และ แตละเสนเชอมระหวางโหนดจะมขอมลความนาจะเปนของการขนแกกนแนบอย ถาโหนด Y และ โหนด Z มการเชอมโยงเขาหากน Y จะเปนโหนดพอแมหรอโหนดบรรพบรษของโหนด Z และ Z จะเปนโหนดลกโหนดหลานของ Y ตามล าดบ

ร ป ท 6.8 ต ว อ ย า ง Baysian belief network (a) Directed acyclic graph แ ล ะ (b) Conditional probability table ของแอทรบ ว LungCancer ท ม ค าความน าจะเป นแบบม เงอน ไขกบแอทรบ ว FamilyHistory และ Smoking ตามล าดบ

จากรปท 6.8(a) จะเปนขายงานทประกอบไปดวย 6 แอทรบว/โหนด ทมคาเปนแบบ boolean คอ ‘yes’ หรอ ‘no’ โดยเสนเชอมระหวางโหนดจะแสดงถงความขนแกกนของแอทรบวตางๆ ตวอยางเชน คนทเปนโรคมะเรงปอด (LungCancer, LC) อาจมสาเหตมาจากพนธกรรมทางบรรพบรษท เคยเปนโรคน (FamilyHistory, FH) หรอพฤตกรรมการสบบหรของบคคลนนๆ (Smoking, S) เปนตน ในขณะทผลการเอกซเรยทเปนบวก (PositiveXRay) จะไมขนกบสาเหตทางพนธกรรมทางบรรพบรษทเคยเปนโรคน หรอ พฤตกรรมการสบบหรของบคคลนนๆ นอกจากนนเสนเชอมระหวางโหนดยงแสดงใหเหนวาแอทรบวโรคมะเรงปอดไมไดขนกบอวยวะภายใน (Emphysema) เมอเราทราบถงโหนดพอแมของโหนดทงสอง

ในการพจารณาขายงานความเชอเบยเราจะตองท าการสรางตารางความนาจะเปนแบบมเงอนไข (conditional probability table, CPT) ส าหรบแตละแอทรบวทเราท าการพจารณา ทซงจะเปนการแสดงความขนแกกนระหวางแอทรบว 𝑌 กบแอทรบวทเกยวเนองกบแอทรบว 𝑌 ทซงเราอาจหมายถงแอทรบวทเปน

Page 28: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

28 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

โหนดพอแมของ 𝑌 โดยเราจะตองท าการคนหาคาความนาจะเปนแบบมเงอนไขของ 𝑌 และโหนดพอแมของ 𝑌

ทซงสามารถค านวณไดจาก 𝑃(𝑌|𝑃𝑎𝑟𝑒𝑛𝑡𝑠(𝑌)) โดยจากรป 6.8(b) จะแสดงถงตารางความนาจะเปนแบบมเงอนไขส าหรบแอทรบว LungCancer ทซงจะขนกบโหนดพอแมของแอทรบว LungCancer ซงกคอโหนดของ FamilyHistory และ Smoking โดยเราจะตองพจารณาถงความนาจะเปนของกรณทเปนไปไดทงหมดของทง 3 แ อ ท ร บ ว ซ ง ก ค อ 1) LungCancer = ‘yes’, FamilyHistory = ‘yes’, Smoking = ‘yes’, 2) LungCancer = ‘no’, FamilyHistory = ‘yes’, Smoking = ‘yes’, 3) LungCancer = ‘yes’, FamilyHistory = ‘yes’, Smoking = ‘no’, 4) LungCancer = ‘no’, FamilyHistory = ‘yes’, Smoking = ‘no’, 5) LungCancer = ‘yes’, FamilyHistory = ‘no’, Smoking = ‘yes’, 6) LungCancer = ‘no’, FamilyHistory = ‘no’, Smoking = ‘yes’, 7) LungCancer = ‘yes’, FamilyHistory = ‘no’, Smoking = ‘no’ และ 8) LungCancer = ‘no’, FamilyHistory = ‘no’, Smoking = ‘no’ ตามล าดบ โดยเมอเราพจารณาชองทางซายบนสดและขวาบนสดของตารางเราจะสงเกตไดวา

𝑃(𝐿𝑢𝑛𝑔𝐶𝑎𝑛𝑒𝑟 = ′𝑦𝑒𝑠′|𝐹𝑎𝑚𝑖𝑙𝑦𝐻𝑖𝑠𝑡𝑜𝑟𝑦 = ′𝑦𝑒𝑠′, 𝑆𝑚𝑜𝑘𝑒𝑟 = ′𝑦𝑒𝑠′) = 0.8 𝑃(𝐿𝑢𝑛𝑔𝐶𝑎𝑛𝑒𝑟 = ′𝑛𝑜′|𝐹𝑎𝑚𝑖𝑙𝑦𝐻𝑖𝑠𝑡𝑜𝑟𝑦 = ′𝑛𝑜′, 𝑆𝑚𝑜𝑘𝑒𝑟 = ′𝑛𝑜′) = 0.9

ดงนน เมอเราพจารณาขอมลเรคคอรด 𝑋 = (𝑥1, 𝑥2, … , 𝑥𝑛) หนงๆทซงถกอธบายไดดวยแอทรบว 𝑌1, 𝑌2, … , 𝑌𝑛 แลว เราจะตองท าการแยกแยะระหวางแอทรบวทไมขนแกกน โดยการสงเกตเสนเชอมในกราฟวามการเชอมโยงกนหรอไม จากนนเราจะตองท าการค านวณหาคาความนาจะเปนแบบมเงอนไขของคา 𝑥1, 𝑥2, … , 𝑥𝑛 ทปรากฏในเรคคอรด 𝑋 ทซงสามารถค านวณไดดงน

𝑃(𝑥1, 𝑥2, … , 𝑥𝑛) = ∏ 𝑃(𝑥𝑖|𝑃𝑎𝑟𝑒𝑛𝑡𝑠(𝑌𝑖))

𝑛

𝑖=1

เมอ 𝑃(𝑥1, 𝑥2, … , 𝑥𝑛) คอ ความนาจะเปนของการพจารณาทกๆคา 𝑥𝑖 ทปรากฏขนในเรคคอรด 𝑋 และ คา 𝑃(𝑥𝑖|𝑃𝑎𝑟𝑒𝑛𝑡𝑠(𝑌𝑖)) จะเปนคาความนาจะเปนแบบมเงอนไขของคา 𝑥𝑖 กบแอทรบวทเปนพอแมของ แอทรบวทท าการพจารณา

โหนดหนงๆในเครองขายทท าการพจารณาอาจถกเลอกเพอแสดงผล ทซงจะแสดงถงหมวดหมของขอมล โดยในการเลอกโหนดทแสดงผลเราอาจท าการเลอกไดมากกวาหนงโหนดกเปนได

6.5 การจ าแนกขอมลดวยกฎ (Rule-Based Classification) การจ าแนกขอมลดวยกฎจะเปนโมเดลทจะแสดงผลดวยเซตของกฎทมลกษณะแบบ ‘IF-THEN’ โดยกฎหนงๆจะถกแสดงอยในรปฟอรม ดงน

IF condition THEN conclusion

Page 29: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

29 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

ตวอยางเชน

R1: IF age = youth AND student = yes THEN buys_computer = yes

จากรปแบบฟอรมของกฎและตวอยางกฎ R1 ขางตน จะประกอบไปดวยขอมลสองสวนดวยกนคอ สวนแรก สวนเงอนไข ‘IF’ จะเปนสวนทเรยกวา ‘rule antecedent’ หรอ ‘precondition’ ประกอบไปดวยเซตของแอทรบวตางๆประกอบกนเปนเงอนไข ซงจากกฎ R1 จะประกอบไปดวยแอทรบวทบงบอกถงคณลกษณะของคน 2 แอทรบวดวยกน คอ อายอยในชวงหนมสาว (age = youth) และเปนนกเรยน (student = yes) โดยสวนเงอนไขของกฎจะท าการเชอมโยงแอทรบวตางๆเขาดวยกนดวยเครองหมาย AND ทซงจะเปนการบงบอกวาขอมลจะตองเปนไปตามเงอนไขทถกก าหนดไวทงหมด ในสวนทสอง จะเรยกวา ‘rule consequence’ ทจะมหมวดหมขอมลบรรจอย จากตวอยางกฎ R1 ขางตน เราจะท าการท านายวาลกคาทมคณลกษณะเชนไรทจะท าการซอคอมพวเตอร เปนตน

ในการเขยนกฎ เราสามารถเขยนกฎใหอยในอกรปแบบหนงทใชเครองหมายคณตศาสตรไดเปน

R1: (age = youth) (student = yes) (buys_computer = yes)

โดยจากกฎขางตน ถามขอมลเรคคอรด 𝑋 หนงๆเปนไปตามเงอนไขในสวนของ rule antecedent เราจะสามารถบอกไดวากฎ R1 คลอบคลม (Covers) ขอมลเรคคอรด 𝑋 หรอ เรคคอรด 𝑋 ถกคลอบคลมดวยกฎ R1 ดงนนเมอในชดขอมลประกอบไปดวยขอมลหลายเรคคอรด เราจะสามารถหาเปอรเซนตของเรคคอรดทงหมดในชดขอมลทถกครอบคลมโดยกฎ R1 ได ทซงเราจะเรยกคาเปอรเซนตของการคลอบคลมนนวา ‘Coverage’ ทซงสามารถค านวณได ดงน

𝑐𝑜𝑣𝑒𝑟𝑎𝑔𝑒 (𝑅) =𝑛𝑐𝑜𝑣𝑒𝑟𝑠

|𝐷|

เมอ 𝑛𝑐𝑜𝑣𝑒𝑟𝑠 คอ จ านวนเรคคอรดในชดขอมลทถกคลอบคลมโดยกฏ R และ |𝐷| คอ จ านวนเรคคอรดของขอมลทงหมดในชดขอมล

คา coverage ของกฎจะถกใชในการประเมนประสทธภาพการจ าแนกขอมลของกฎวากฎหนงๆทสรางขนมประสทธภาพอยางไร และมความถกตองของการจ าแนกขอมล (การบงบอกถงหมวดหมขอมล) เปนอยางไร โดยในการวดความถกตองในการจ าแนกขอมลของกฎ (Accuracy) จะสามารถค านวณได ดงน

𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 (𝑅) =𝑛𝑐𝑜𝑟𝑟𝑒𝑐𝑡

𝑛𝑐𝑜𝑣𝑒𝑟𝑠

เมอ 𝑛𝑐𝑜𝑟𝑟𝑒𝑐𝑡 คอ จ านวนเรคคอรดทถกจ าแนกไดอยางถกตองภายใตกฎ R

Page 30: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

30 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

ตวอยาง ลองพจารณาขอมลในตาราง 6.1 ทประกอบไปดวยขอมลคณลกษณะของลกคาทท าการซอและไมซอคอมพวเตอรจากรานจ าหนายอปกรณไฟฟา งานของเราคอการท านายวาลกคารายใดจะท าการซอคอมพวเตอรบาง ถาเราใชกฎ R1 ขางตนในการท านาย เราจะสามารถหาคา coverage และ accuracy ของกฎ R1 เทยบกบขอมลเรคคอรดตางๆในตาราง 6.1 ไดดงน

𝑐𝑜𝑣𝑒𝑟𝑎𝑔𝑒 (𝑅1) =2

14= 14.28%

𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 (𝑅1) =2

2 = 100%

เมอลองพจารณาขอมลจากตาราง 6.1 เราจะเหนวามขอมลทงสน 2 เรคคอรดจากทงหมด 14 เรค-คอรดทม ‘rule antecedent’ เหมอนกบกฎ R1 ดงนนเราจะสามารถค านวณคา coverage ของกฎ R1 ไดเทากบ 14.28% และเมอลองพจารณาขอมลอกครงหนง เราจะเหนวามขอมลทงสน 2 เรคคอรด ทม ‘rule antecedent’ และ ‘rule consequent’ เหมอนกบกฎ R1 จากเรคคอรดทงหมดทถกคลอบคลมดวยกฎ R1 ดงนนเราจะสามารถค านวณคา accuracy ของกฎ R1 ไดเทากบ 100% ตามล าดบ

ในขนตอนนเราจะท าการศกษาเกยวกบการประยกตใชการจ าแนกขอมลดวยกฎเพอท านายหมวดหมขอมลของเรคคอรด 𝑋 ใดๆ ถามกฎใดกฎหนงทสอดคลองกบขอมลเรคคอรด 𝑋 เราจะเรยกกฎนนวา ‘triggered’ ตวอยางเชน ถาเราก าหนดใหเรคคอรด 𝑋 มคาดงน

𝑋 = (𝑎𝑔𝑒 = 𝑦𝑜𝑢𝑡ℎ, 𝑖𝑛𝑐𝑜𝑚𝑒 = 𝑚𝑒𝑑𝑖𝑢𝑚, 𝑠𝑡𝑢𝑑𝑒𝑛𝑡 = 𝑦𝑒𝑠, 𝑐𝑟𝑒𝑑𝑖𝑡𝑟𝑎𝑡𝑖𝑛𝑔 = 𝑓𝑎𝑖𝑟)

เราตองการทจะระบ/จ าแนกหมวดหมของเรคคอรด ตามหมวดหมการซอคอมพวเตอร (buy_computer) เนองจาก 𝑋 สอดคลองกบกฎ 𝑅1 ถากฎ 𝑅1 เปนเพยงกฎเดยวทสอดคลองกบขอมลเรคคอรด 𝑋 เราจะคนคาหมวดหมของกฎ 𝑅1 ใหเปนหมวดหมของเรคคอรด 𝑋 แตถามกฎมากกวาหนงทสอดคลองกบ 𝑋 จะท าใหเกดปญหาเกดขนถากฎเหลานนมหมวดหมไมเหมอนกน หรออกกรณหนงคอไมมกฎทสอดคลองกบ 𝑋 เลยจะท าใหเกดปญหาเชนกน

ในการทจะแกไขปญหาแรก เราจะตองพจารณาถงกลยทธในการแกไขปญหาความขดแยงกน (ของกฎและหมวดหมทแตกตางกน) เพอทจะบงชไดวากฎใดเหมาะสม/สอดคลองกบ 𝑋 มากทสดและจะน าหมวดหมของกฎนนไปเปนค าตอบหมวดหมส าหรบ 𝑋 โดยกลยทธแยกความขดแยงจะมอยหลายกลยทธดวยกนแตจะมอย 2 กลยทธทนยมใชกนในวงกวางนนคอ ‘size ordering’ และ ‘rule ordering’ โดยวธการแบบ ‘size ordering’ จะท าการก าหนดความส าคญทสงทสดใหกบกฎทมจ านวนแอทรบวในฝงซายมากทสดทสอดกบ 𝑋 โดยจะท าการเลอกหมวดหมของกฎนนๆมาเปนค าตอบส าหรบหมวดหมของ 𝑋 แตส าหรบวธการแบบ ‘rule ordering’ จะท าการก าหนดความส าคญใหกบกฎกอนหนาทจะเปรยบเทยบกบ 𝑋 โดยในการก าหนดความส าคญ/เรยงล าดบกฎอาจจะเรยงล าดบตามความส าคญของหมวดหมหรอตามกฎกเปนได โดยในการเรยงล าดบตามหมวดหม กฎตางๆจะถกเรยงล าดบตามหมวดหม โดยหมวดหมทมความส าคญมากจะอยในล าดบตนๆไลเลยงมาตามล าดบความส าคญ (โดยความส าคญของแตละหมวดหมอาจหาไดจากการตอบหรอ

Page 31: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

31 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

จ าแนกขอมลผดเมอท าการเปรยบเทยบกบชดขอมลทดสอบกเปนได) โดยในการเรยงล าดบกฎตางๆ กฎทมหมวดหมเหมอนกนจะไมตองท าการเรยงล าดบ เนองจากกฎเหลานนอยในหมวดหมเดยวกนและจะไมท าใหเกดความขดแยงเกดขน แตส าหรบการเรยงล าดบตามกฎจะเปนการเรยงล าดบตามความส าคญของแตละกฎทซงจะสามารถวดไดจากคาความถกตอง (accuracy) คาเปอรเซนตของการคลอบคลม (coverage) จ านวนแอทรบวทอยทางฝงซายของกฎ หรอ อาจไดรบคาความส าคญจากผเชยวชาญกเปนได เมอท าการเรยงกฎเสรจสนแลว กฎใดกตามทมคาความส าคญสงทสดจะถกเลอกไปเปนค าตอบส าหรบหมวดหมของเรคคอรด 𝑋 โดยกฎอนๆจะถกตดทงออกจากการพจารณา

ในการทจะแกไขปญหาทสอง ซงกคอไมมกฎใดเลยทสอดคลองกบขอมลเรคคอรด 𝑋 จะสามารถแกไขดวยการก าหนดกฎทเปนปรยาย (default rule) ทซงจะมหมวดหมโดยปรยาย (default class) แนบอยดวย โดยหมวดหมปรยายนอาจจะมาจากผเชยวชาญ หรอาจะมาจากหมวดหมสวนใหญของขอมลสอนหรอเปนหมวดหมโดยสวนมากทไมสอดคลองกบกฎใดๆเลย

6.5.1 การสกดกฎจากตนไมตดสนใจ โดยสวนใหญของการสรางตนไมตดสนใจ ตนไมทถกสรางขนจะมขนาดคอนขางใหญ ซงอาจท าใหเกดความยงยากในการตความ ดวยเหตน การสกดกฎจากตนไมตดสนใจถกออกแบบเพอท าการสรางกฎจากตนไมตดสนใจทอยในรปแบบ ‘IF-THEN’ ทท าใหมนษยสามารถขาใจไดงาย โดยจะท าการสรางกฎหนงๆจากแตละกงของตนไมเรมจากโหนดรากไปจนถงโหนดใบ โดยแอทรบวตางๆทอยในกงจะอยในสวนของ ‘IF’ และโหนดใบจะอยในสวนของ ‘THEN’ ตามล าดบ

ตวอยาง การสกดกฎจากตนไมตดสนใจทแสดงในรปท 6.2 ทซงสามารถสกดออกเปนกฎทอยในรปแบบของ ‘IF-THEN’ ดวยการทองไปตามกงตางๆจากโหนดรากไปยงโหนดใบทซงจะไดกฎตางๆดงน

R1: IF age=youth AND student=no THEN buy_computer=no R2: IF age=youth AND student=yes THEN buy_computer=yes R3: IF age=middle_aged THEN buy_computer=yes R4: IF age=senior AND credit_rating=excellent THEN buy_computer=yes R5: IF age=senior AND credit_rating=fair THEN buy_computer=no

จากกฎทไดจากตนไมตดสนใจ เราจะสงเกตไดวาแตละกงจะหมายถงหนงกฎซงในตนไมตดสนใจจะมกงส าหรบทกกรณทเกดขน ดวยเหตนจะท าใหไมมการขดแยงกนเมอตองท านายหมวดหมของขอมลใดๆกตาม ดงนนในการสรางกฎจากตนไมตดสนใจ เราจะไมตองจดเตรยมกฎโดยปรยายและหมวดหมโดยปรยายแตอยางใด และยงไมตองท าการเรยงล าดบกฎแตอยางใดอกดวย แตอยางไรกตาม ดวยการทตนไมต ดสนใจมขนาดใหญและอาจมตนไมยอยทซ ากน (ดงแสดงในรปท 6.7) ทซงจะท าใหกฎทสกดไดจะมปรมาณมากและอาจมกฎ

Page 32: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

32 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

อลกอรทม การเรยนรกฎ IF-THEN จากชดขอมลสอน (Sequential covering) อนพต - ชดขอมลส าหรบเรยนร (D) ทประกอบไปดวยเรคคอรดตางๆแนบดวยหมวดหมขอมล - ลสตของแอทรบว (attr_vals) ทอธบายถงคณลกษณะตางๆของขอมล เอาทพต เซตของกฎทเปนแบบ IF-THEN (1) ก าหนดใหเซตของกฎ Rule_set = {} (2) for แตละหมวดหม c do (3) repeat (4) Rule = Learn_One_rule(D, attr_vals, c) (5) ลบเรคคอรดทถกครอบคลมดวยกฎ Rule ออกจากชดขอมล D (6) Until เงอนไขการหยด (7) เพมกฎ Rule เขาไปใน Rule_set (8) return Rule_set

ทไมเกยวของรวมถงมกฎทซ าซอนกนอยเปนจ านวนมาก ดวยเหตนเราอาจจ าเปนทจะตองท าการตดเลมกฎเพอใหกฎทนอยลงและเปนกฎทไมซ าซอนกน

6.5.2 การสรางกฎเพอจ าแนกขอมลดวยอลกอรทม Sequential covering ในการทจะสรางกฎเพอจ าแนกขอมลทอยในรปแบบของ ‘IF-THEN’ โดยตรงจากชดขอมลสอน (โดยไมท าการสรางตนไมตดสนใจ) เราจะสามารถท าไดโดยการใชอลกอรทม ‘sequential covering’ ทซงจะเกดจากแนวคดทจะท าการเรยนรหรอสรางกฎแบบมล าดบ โดยกฎทสรางไดจะเปนกฎทคลอบคลมขอมลบางเรค-คอรดในชดขอมล

รปท 6.9 จะแสดงรายละเอยดการท างานของอลกอรทม ‘sequential covering’ ทซงจะท าการพจารณาทละหมวดหมขอมลแลวท าการเรยนร/สรางกฎตางๆจากหมวดหมนนๆ โดยท เมอเราพจารณาหมวดหม 𝐶𝑖 เราจะตองการทจะสรางกฎทสามารถคลอบคลมขอมลเรคคอรดทงหมด (หรอสวนใหญ) ในชดขอมลสอนทมหมวดหมของขอมลเปนหมวดหม 𝐶𝑖 โดยกฎทท าการสรางขนควรจะเปนกฎทมคาความถกตองสง แตไมจ าเปนตองมคาเปอรเซนตของการคลอบคลมสง เนองจากในการพจารณาหมวดหมหนงๆของขอมล เราสามารถสรางกฎไดมากกวาหนงกฎ โดยกฎทแตกตางกนอาจคลอบคลมขอมลเรคคอรดทแตกตางกนกเปนได โดยการสรางกฎส าหรบหมวดหม 𝐶𝑖 ใดๆ จะเสรจสนกตอเมอ 1) ไมมเรคคอรดของขอมลทมหมวดหม 𝐶𝑖 ใหพจารณา หรอ 2) ไมสามารถหากฎทมคาความถกตองทมากกวาคาขดแบงทผใชก าหนด โดยในการหากฎแตละกฎเราจะประยกตใชฟงกชน Learn_One_Rule ทซงจะท าการหา “กฎทดทสด” ส าหรบหมวดหมทพจารณาจากชดขอมลเรคคอรดในหมวดหม 𝐶𝑖 ณ ขณะนน

รปท 6.9 อลกอรทม sequential covering พนฐาน

Page 33: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

33 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

ในการคนหากฎจะเรมจากการพจารณาแอทรบวทละแอทรบวแลวคอยเพมการพจารณาทละหนงไปเรอยๆ (ซงวธการนจะเรยกวา ‘general-to-specific’) ดงแสดงในตวอยางในรปท 6.10 ทจะแสดงถงชดขอมลส าหรบการกยมเงนทซงจะประกอบไปดวยขอมลเอกสารของผทยนเรองท าการก-ยมเงนแตละราย โดยขอมลแอทรบวตางๆทจะท าการพจารณาจะประกอบดวย อาย รายได การศกษา ทอย เครดต ระยะเวลาในการกยม และ ผลลพธของการกยมตามล าดบ (age, income, education level, residence, credit rating, loan term และ loan_decision ทซงเปนหมวดหมของขอมล) โดยในการจ าแนกขอมลเราจะท าการจ าแนกวาเอกสารใดทจะไดรบการอนมตหรอไมไดรบการอนมตเงนกบาง ซงจะมหมวดหมของขอมลเปน ‘accept’ และ ‘non-accept’ โดยในการพจารณาจะเรมจากการทพจารณาหมวดหมของขอมล ทซงจากรปเราจะเหนวาเราจะท าการพจารณาหมวดหมทไดรบการอนมต ซงเราจะไดกฎเปน IF THEN loan_decision=accept จากนนเราจะท าการเพมแตละแอทรบวทเปนไปได (attr, val) เขากบกฎขางตน โดยเราจะตองท าการพจารณาทกๆแอทรบวทอยในลสตของแอทรบวรวมถงทกๆคาทเกดขนในแตละแอทรบวดวย ตวอยางเชน กงซายสดของรปท 6.10 จะเปนการเพมการพจารณาแอทรบว ‘loan_term=short’ เขากบกฎขางตน ทซงจะท าใหกฎมเงอนไขมากขนคอ IF loan_term=short THEN loan_decision=accept ตามล าดบ โดยเมอท าการพจารณาทกๆแอทรบวและทกๆคาทเปนไปไดทงหมดแลว เราจะท าการเลอกกฎทมคณภาพมากทสดเพอท าการพจารณาตอไป โดยการวดคณภาพของแตละกฎอาจจะวดจากคาเปอรเซนตความถกตองของการจ าแนกขอมลในชดขอมลสอนไดอยางถกตองหรอเราอาจจะประยกตใชการวดคณภาพโดยใชมาตรวดอนๆกเปนได

รปท 6.10 ตวอยางวธการสรางกฎดวยวธการแบบ ‘general-to-specific’

โดยจากรปท 6.10 จะท าการเลอกกฎ IF income=high THEN loan_decision=accept ซงมคณภาพสงสดจากการพจารณาทกๆแอทรบวเพอเปนกฎทจะพจารณาตอไป ขนตอนตอไปเราจะท าการเพมแอทรบวทยงไมถกเลอกใหแกกฎทเลอกและท ากระบวนการซ าเดมเพอใหไดกฎทเราตองการ โดยในการเพมแอทรบวแตละครงเราจะท าการเลอกกฎทจะสามารถคลอบคลมขอมลเรคคอรดทเปนหมวดหมทไดรบการ

Page 34: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

34 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

อนมตไดมากขน แตเมอไรกตามทเราไมสามารถหากฎทมเปอรเซนตการคลอบคลมทมากขน เราจะหยดการเลอกแลวท าการตรวจสอบวากฎทไดนนผานเกณฑคณภาพทยอมรบไดหรอไม ถากฎผานเกณฑคณภาพเราจะท าการเกบกฎนนไวใน Rule_Set ตอไป

การวดคณภาพของกฎ (Rule quality measures)

ในการสรางกฎจากฟงกชน Learn_One_Rule เราจะตองท าการวดคณภาพของกฎในทกๆครงทมการเพมแอทรบวและคาทเกดขนเขาไปในกฎ โดยในการเลอกกฎครงหนงเราอาจประเมนจากคาความถกตองของกฎทจะสามารถจ าแนกขอมลได แตอยางไรกตามการใชคาความถกตองในการจ าแนกขอมลจากการเลอกกฎเพยงอยางเดยวอาจจะไมเพยงพอ เพอทจะเขาใจเกยวกบการใชคาความถกตองในการจ าแนกขอมลเพยงในการเลอกกฎเพยงมากขน ลองพจารณาตวอยางดงตอไปน

ตวอยาง การเลอกกฎโดยประเมนจากคาเปอรเซนตความถกตองในการจ าแนกขอมล โดยจะท าการพจารณากฎ 2 กฎดงแสดงในรปท 6.11 ทซงคอ กฎ R1 และ กฎ R2 ทซงจะเปนกฎทสามารถคลอบคลมขอมลเรค-คอรดทอยในหมวดหมของการกยมเงนส าเรจ โดยจากรปคา ‘a’ จะแสดงถงเรคคอรดทอยในหมวดหมของการกยมเงนส าเรจ และคา ‘r’ จะแสดงถงเรคคอรดทอยในหมวดหมของการกยมเงนไมส าเรจ ตามล าดบ โดยกฎ R1 จะสามารถจ าแนกขอมลไดอยางถกตองทงสน 38 เรคคอรดจากขอมล 40 เรคคอรดทกฎ R1 คลอบคลม และ กฎ R2 จะสามารถจ าแนกขอมลไดอยางถกตองเพยงแต 2 เรคคอรดจากจ านวนเรคคอรดทคลอบคลมทงหมด แตอยางไรกตาม เมอเราพจารณาถงคาเปอรเซนของความถกตองในการจ าแนกขอมล (เพยงอยางเดยว) เราจะเหนวากฎ R1 จะมคาเปอรเซนตความถกตองเทากบ 95% แตในสวนของกฎ R2 จะมคาเปอรเซนตความถกตองเทากบ 100% เมอเราใชเกณฑเปอรเซนตคาความถกตองในการเลอกกฎ เราจะท าการเลอกกฎ R2 ทจะมคาเปอรเซนตความถกตองมากกวา R1 แตอยางไรกตาม กฎ R2 นนไมไดดกวากฎ R1 เลยเนองจากคาเปอรเซนตความคลอบคลมขอมลนนมนอยมาก

รปท 6.11 ตวอยางกฎส าหรบการกยมทไดรบการอนมต (loan_decision=accept)

Page 35: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

35 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

จากตวอยางขางตนเราจะสงเกตไดวาการใชเพยงแคคาเปอรเซนตความถกตองในการจ าแนกขอมลจะไมเพยงพอส าหรบการวดคณภาพของกฎ โดยเมอเราเปลยนจากการใชคาเปอรเซนตความถกตองไปเปนคาความคลอบคลมขอมลกอาจจะไมเพยงพอเชนกน ดงนนในการทจะแกไขปญหาดงกลาว เราอาจท าการพจารณาคาทงสองรวมกนเพอใชในการวดคณภาพของกฎ หรอเราอาจจะพจารณาตวชวดคณภาพอนๆอาทเชน คาเอนโทรป ทซงจะเกยวเนองกบคาเกนความร หรออาจใชตวชวดทางสถตอนๆ โดยในการใชคาเอนโทรปในการวดคณภาพของกฎ เราจะท าการเลอกกฎทมคาเอนโทรปทมคานอยทสด โดยการประยกตใชคาเอนโทรปจะสามารถบอกไดถงปรมาณเรคคอรดทถกคลอบคลมโดยหมวดหมหนงๆ และปรมาณเรคคอรดทถก คลอบคลมดวยหมวดหมอนๆได

6.6 การจ าแนกขอมลดวยการสงคายอนกลบ (Classification by Backpropagation) การสงคายอนกลบจะเปนอลกอรทมเครอขายประสาทเทยม—ทซงคอ เซตของการเชอมตอกนระหวางโหนดของอนพตและเอาทพต โดยแตละการเชอมตอกนจะมคาน าหนกเกยวเนองดวย เมอท าการพจารณาชดขอมลสอน เราจะท าการสรางเครอขายดวยการปรบคาน าหนกทเชอมตอระหวางโหนดตางๆ เพอทจะสามารถคาดเดาหมวดหมของขอมลไดอยางถกตอง โดยในการปรบคาน าหนกจะใชเวลาคอนขางมาก เนองจากจะตองท าการปรบคาน าหนกหลายครง และในการสรางเครอขายจะตองการใหผใชท าการก าหนดคาพารามเตอรตางๆเพอก าหนดโครงสรางของเครอขายดวย

ขอดของเครอขายประสาทเทยม คอ 1) มความคงทนตอสงรบกวน (noise) สง 2) มความสามารถในการจ าแนกขอมลเมอยงไมไดน าขอมลมาสอน 3) สามารถใชในการการจ าแนกขอมลเมอทราบ/รบร/มความรเกยวเพยงเลกนอยเกยวกบความสมพนธระหวางแอทรบวตางๆกบหมวดหมตางๆ 4) สามารถท างานไดดกบขอมลอนพตและเอาทพตทมคาแบบไมตอเนอง 5) ถกประยกตใชอยางแพรหลายในงานหลายๆดาน อาทเชน การรจ ารายมอ การวเคราะหขอมลเกยวกบพยาธตางๆ และการสอนใหคอมพวเตอรออกเสยงภาษาองกฤษ เปนตน และ 6) สามารถน าไปพฒนาแบบขนาน (parallel, parallelization) ได เครอขายประสามเทยมไดถกพฒนาอยางตอเนองทซงท าใหมอลกอรทมถกคดคนขนเปนจ านวนมาก แตอยางไรกตาม มอลกอรทมหนงทไดรบความนยมเปนอยางมากและถกประยกตใชอยางแพรหลาย นนคอ อลกอรทมการสงคายอนกลบ (Backpropagation) ทซงเราจะไดศกษารายละเอยดการท างานในสวนน

6.6.1 โครงขายประสาทเทยมหลายล าดบชน อลกอรทมการสงคายอนกลบจะท าการเรยนรโดยใชเครอขายประสาทเทยมหลายล าดบชน ทซงจะ

ประกอบไปดวย 1 ล าดบชนส าหรบขอมลอนพ (input layer) 1 ล าดบชนหรอมากกวานนส าหรบ "hidden layer" และ 1 ล าดบชนส าหรบขอมลเอาทพต (output layer) ดงแสดงในรปท 6.12 จากรปเราจะสงเกตไดวาแตละล าดบชนจะประกอบไปดวยโหนดตางๆ โดยทอนพตส าหรบเครอขายจะสอดคลองกบแทรบวตางๆของเรคคอรดหนงๆจากชดขอมลสอน อนทตจะถกปอนเขาไปยงโหนดตางๆใน input layer จากนนอนพต

Page 36: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

36 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

เหลานนจะผาน input layer และดวยคาคน าหนกตางๆและเดนทางไปสล าดบชนตอไป ซงกคอ hidden layer โดยทเอาทพตของ hidden layer ล าดบชนหนงๆอาจเปนอนพตของ hidden layer ล าดบชนหนงๆกเปนได โดยจ านวนล าดบชนของ hidden layer จะมจ านวนเทาไรกได (แตโดยทวๆไปมกใชเพยงแคล าดบชนเดยว) เมอผานล าดบชนทเปน hidden layer แลวเราจะไดคาน าหนกทซงจะใชเปนอนพตส าหรบ output layer ทซงจะคนคาผลของการจ าแนก/ท านายหมวดหมของขอมลส าหรบเรคคอรดหนงๆทเปนอนพต โดยเมอเราพจารณาทโหนดตางๆใน output layer เราจะเหนวา แตละโหนดจะท าการรวมคาน าหนกทงหมดจากล าดบชนกอนหนา แลวท าการประยกตใช nonlinear (activation) function เพอท าการก าหนดคาน าหนก (ดงแสดงในรปท 6.13)

รปท 6.12 ตวอยางโครงขายประสาทเทยม

6.6.2 การก าหนดโครงสรางของเครอขาย กอนทจะท าการเรยนรโดยการประยกตใชโครงขายประสาทเทยม เราจะตองท าการก าหนดโครงสรางของโครงขายประสาทเทยมเสยกอน ทซงจะเปนการก าหนดจ านวนโหนดใน input layer จ านวนโหนดใน hidden layer และ จ านวนโหนดใน output layer ตามล าดบ โดยในการก าหนดโหนดใน input layer เราจะสามารถแบงการพจารณาออกเปน 2 กรณ ตามลกษณะของแอทรบวทท าการพจารณา โดยถาแอทรบวทพจารณามคาเปนแบบตอเนอง (มคาในเชงตวเลขทบงบอกถงปรมาณ) เราควรทจะตองท าการนอรมลไลซขอมลใหอยในชวง 0.0 – 1.0 เสยกอนเพอทจะชวยใหกระบวนการเรยนรนนเปนไปอยางรวดเรว และ เราอาจท าการก าหนดโหนดเพยงหนงโหนดส าหรบแอทรบวทมคาแบบตอเนองเทานน แตส าหรบแอทรบวทมคาแบบไมตอเนอง (มคาแบบหมวดหมหรอมคาเปนชวง) เราอาจท าการก าหนดใหแตละโหนดจะแทนคาทปรากฏขนในแอทรบวนน ตวอยางเชน แอทรบว 𝐴 มคาแบบไมตอเนองทซงจะมคาทปรากฏทงสน 3 คาดวยกนคอ {𝑎0, 𝑎1, 𝑎2} เราอาจท าการก าหนดโหนด 𝐼0, 𝐼1 และ 𝐼2 ส าหรบคาทปรากฏขนทง 3 คา โดยก าหนดใหโหนด

Page 37: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

37 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

ท 𝐼0 จะเปนโหนดส าหรบคา 𝑎0 โหนดท 𝐼1จะเปนโหนดส าหรบคา 𝑎1 และ โหนดท 𝐼2 จะเปนโหนดส าหรบคา 𝑎2 ตามล าดบ โดยในขนตอนเรมตนทกๆโหนดจะถกก าหนดใหมคาเปน 0

ในสวนของการก าหนดจ านวนโหนดใน hidden layer จะไมมกฎเกณฑทตายตว โดยเราจะสามารถก าหนดอยางไรกได แตจ านวนโหนดทก าหนดอาจสงผลกระทบตอความถกตองในการเรยนรของโครงขายประสาทเทยม นอกจากนนการก าหนดคาน าหนกเรมตนของแตละโหนดกสงผลตอความถกตองในการเรยนรดวยเชนกน แตอยางไรกตาม เมอเราท าการสรางโครงขายและท าการเรยนรแลว เราจะสามารถตรวจวดคาความถกตองของโครงขายวาเปนทยอมรบไดหรอไม ถาไมสามารถยอมรบได เราสามารถด าเนนการเรยนรใหมโดยการปรบเปลยนโครงสรางของโครงขายใหเหมาะสมมากยงขน

รปท 6.13 ตวอยางการเชอมตอระหวาง input layer ไปยง hidden layer และจาก hidden layer ไปยง output layer

6.6.3 อลกอรทมการสงคายอนกลบ การท างานของอลกอรทมการสงคายอนกลบจะท าการเรยนรโดยใชกระบวนการท าซ ากบชดขอมลสอนแลวท าการเปรยบเทยบการท านาย/คาดเดาหมวดหมของขอมลเรคคอรดหนงๆ โดยในการพจารณาขอมลเรคคอรดหนงๆจะท าใหคาน าหนกทโหนดหนงๆมคาเปลยนแปลงไป โดยจะเปลยนแปลงไปเพอทจะท าใหคาความผดพลาดนนนอยทสดเทาทจะเปนไปได โดยในการเปลยนแปลงคาน าหนกนนจะท าในทศทางยอนกลบ ทซงจะเรมจากการพจารณาท output layer แลวยอนกลบไปยง hidden layer ตามล าดบ โดยกระบวนการเรยนรจะสนสดเมอคาน าหนกไมเปลยนแปลง โดยการท างานของอลกอรทมการสงคายอนกลบจะสามารถอธบายไดดงน

การท างานของอลกอรทมการสงคายอนกลบจะเรมจาก 1) การก าหนดคาน าหนก จะเปนการก าหนดคาน าหนกดวยวธการสมใหมคานอยๆ (อาท เชน อย ในชวง -1.0 ถง 1.0 หรอ -0.5 ถง 0.5)

Page 38: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

38 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

นอกจากนนเราจะตองท าการก าหนดคาความเอยนเองของแตละโหนดดวยวธการสมใหมคานอยๆดวยเชนกน จากนนเมอท าการพจารณาแตละเรคคอรด 𝑋 เราจะตองท าการดงตอไปน

1) การพจารณาอนพตดวยการพจารณาไปขางหนา (Propagate the input forward)—จะเรมจากการพจารณาอนพตโดยท าการเทยบกบโหนดใน input layer เพอท าการสงตอไปยง hidden layer โดยการพจารณาอนพตของแอทรบว 𝐴 ในเรคคอรด 𝑋 เราจะท าการหาโหนดใน input layer 𝐼𝑗 ทมคาตรงกบคาทปรากฎในแอทรบว 𝐴 ทซงเราจะไดเอาทพต 𝑂𝑗 จากนนจะท าการค านวณคาทเปนอนพตและเอาทพตของแตละโหนดใน hidden layer เพอทจะเขาใจการค านวณคาทเปนอนพตและเอาทพตมากขน ลองพจารณารปท 6.13 ทซงแตละโหนดใน hidden layer จะไดรบอนพตมาจากโหนดใน input layer จากนนค านวณคาอนพตของ hidden layer ดวยการคณแตละคาเอาทพต 𝑂𝑗 ดวยคาน าหนกทสอดคลองกบโหนดนนๆแลวรวมไวจากนนบวกดวยคาความเอนเอยงอกครงหนง ทซงจะสามารถค านวณไดดงน

𝐼𝑗 = ∑ 𝑤𝑖𝑗𝑂𝑗 + 𝜃𝑗

𝑖

เมอคา 𝑤𝑖𝑗 คอ น าหนกของการเชอมตอระหวางโหนดท 𝑖 ในล าดบชนทก าลงพจารณากบโหนดท 𝑗 ในล าดบชนกอนหนา คา 𝑂𝑗 คอ คาเอาทพตจากโหนดท 𝑖 ในล าดบชนกอนหนา และคา 𝜃𝑗 คอ คาความเอนเอยงทซงท าหนาทคลายกบคาขดแบง (threshold) ทซงจะเปลยนแปลงกจกรรมของโหนดทพจารณา แตละโหนดใน hidden layer และ output layer จะท าการค านวณคาอนพตแลวท าการประยกตใช “activation function” กบคาอนพตทค านวณไวแลว (ดงแสดงในรปท 6.13 ทซงแสดงดวย “𝑓”) โดย “activation function” จะเปนสญลกษณของการกระตนการท างานของเซลลประสาทในสวนของโหนดนนๆ เมอท าการประยกตใช “activation function” แลวเราจะไดเอาทพตของโหนด 𝑗 ทท าการพจารณา ทซงสามารถค านวณไดดงน

𝑂𝑗 =1

1 + 𝑒−𝐼𝑗

เมอเราท าการค านวณคาเอาทพต 𝑂𝑗 ส าหรบแตละโหนดใน hidden layer และรวมถง output layer แลว ถาเราท าการเกบ/บนทกคาเอาทพตเหลานนไว ยอมจะเปนการดส าหรบการด าเนนการสงคาความผดพลาดยอนกลบทซงจะตองใชคาเหลานนอกครงหนง

2) การสงคาความผดพลาดยอนกลบ (Backpropagate the error)—คาความผดพลาดจะถกสงยอนกลบดวยการอพเดทคาน าหนกและคาความเอนเอยงทสงผลกระทบตอผลการท านายของโครงขายประสาทเทยม โดยส าหรบแตละโหนดท 𝑗 ใน output layer เราจะท าการค านวณคาความผดพลาด 𝐸𝑟𝑟𝑗 โดย

𝐸𝑟𝑟𝑗 = 𝑂𝑗(1 − 𝑂𝑗)(𝑇𝑗 − 𝑂𝑗)

Page 39: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

39 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

เมอ 𝑂𝑗 คอ คาเอาทพตจรงทไดจากโหนดท 𝑗 และคา 𝑇𝑗 จะเปนคาหมวดหม/คาเปาหมายของเรค คอรดในชดขอมลสอนทท าการพจารณา ในการทจะค านวณคาความผดพลาดของโหนดท 𝑗 หนงๆใน hidden layer เราจะท าการพจารณาคาน าหนกรวมของคาความผดพลาดของโหนดในล าดบชนถดไปทเชอมตอกบโหนด 𝑗 ทซงคาความผดพลาดของโหนดท 𝑗 จะสามารถค านวณไดจาก

𝐸𝑟𝑟𝑗 = 𝑂𝑗(1 − 𝑂𝑗) ∑ 𝐸𝑟𝑟𝑘𝑤𝑗𝑘

𝑘

เมอ 𝑤𝑗𝑘 คอ คาน าหนกของการเชอมตอระหวางโหนดท 𝑗 ใน hidden layer ทท าการพจารณากบโหนดท 𝑘 ในล าดบชนถดไป และคา 𝐸𝑟𝑟𝑘 คอ คาความผดพลาดของโหนดท 𝑘 คาน าหนกจะถกอพเดทเพอแพรกระจายความผดพลาด โดยคาน าหนกจะถกอพเดทดงน

Δ𝑤𝑖𝑗 = (𝑙)𝐸𝑟𝑟𝑗𝑂𝑖 𝑤𝑖𝑗 = 𝑤𝑖𝑗 + Δ𝑤𝑖𝑗

เมอคา Δ𝑤𝑖𝑗 คอ คาความเปลยนแปลงทจะเกดขนกบคาน าหนก 𝑤𝑖𝑗 และคา 𝑙 คอ คาอตราการเรยนรทซงมคาคงทอยระหวาง 0.0 ถง 1.0 คาความเอนเอยงจะถกอพเดทเพอแพรกระจายความผดพลาดดวยเชนกน โดยคาความเอนเอยงจะถกอพเดทดงน

Δ𝜃𝑗 = (𝑙)𝐸𝑟𝑟𝑗 𝜃𝑗 = 𝜃𝑗 + Δ𝜃𝑗

เมอคา Δ𝜃𝑗 คอ คาความเปลยนแปลงทจะเกดขนกบคาความเอนเอยง 𝜃𝑗

3) การหยดการท างาน (Terminating condition)—กระบวนการเรยนรจะหยดการท างานกตอเมอ

ทกๆคา Δ𝑤𝑖𝑗 มคานอยมาก ทซงนอยกวาคาขดแบงทก าหนด หรอ

คาเปอรเซนตในการจ าแนกขอมลผดพลาดมคานอยกวาคาขดแบงทก าหนด หรอ

กระบวนการเรยนรไดถกด าเนนการซ าจนครบตามจ านวนรอบทก าหนด

โดยในทางปฏบตแลวเราจะท าการก าหนดจ านวนรอบในการด าเนนงาน ทซ งจะท าใหกระบวนการเรยนรหยดการท างานกอนทคาน าหนกตางๆจะมคาคงท

จากกระบวนการท างานทงหมดขางตน เราจะสงเกตไดวาประสทธภาพการค านวณของอลกอรทมการสงคายอนกลบจะขนอยกบเวลาทใชในกระบวนการเรยนร (ปรบคาน าหนก) เมอเราก าหนดใหขอมลในชดขอมลสอนประกอบดวย |𝐷| เรคคอรด และ มคาน าหนกทตองท าการพจารณาทงสน 𝑤 คา ดงนนเราจะสามารถค านวณเวลาทใชในการเรยนรในแตละรอบไดเปน 𝑂(|𝐷| × 𝑤)

ตวอยาง การเรยนรดวยอลกอรทมการสงคายอนกลบ รปท 6.14 จะแสดงตวอยางโครงสรางเครอขายประสาทเทยมทถกก าหนดโครงสรางไวเพอส าหรบเรยนร ก าหนดใหคาอตราการเรยนรมคาเทากบ 0.9 และก าหนดให

Page 40: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

40 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

คาน าหนกและคาความเอนเอยงของแตละโหนดมคาดงแสดงในตารางท 6.2 นอกจากนนเราจะท าการพจารณา ขอมลเรคคอรด 𝑿 = (𝟏, 𝟎, 𝟏) ทซงมหมวดหมขอมลเปน 𝟏

รปท 6.14 ตวอยางการก าหนดโครงขายประสาทเทยมเพอเรยนร

ตารางท 6.2 การก าหนดคาน าหนกและคาความเอนเอยงใหกบโหนดตางๆในโครงขายประสาทเทยม

𝑥1 𝑥2 𝑥3 𝑤14 𝑤15 𝑤24 𝑤25 𝑤34 𝑤35 𝑤46 𝑤56 𝜃4 𝜃5 𝜃6 1 0 1 0.2 -0.3 0.4 0.1 -0.5 0.2 -0.3 -0.2 -0.4 0.2 0.1

เมอท าการพจารณาขอมลเรคคอรด 𝑋 = (1,0,1) ดวยการพจารณาอนพตดวยการพจารณาไปขางหนา (Propagate the input forward) เราจะสามารถค านวณคาอนพตและเอาทพตเมอท าการพจารณาโหนดตางๆใน hidden layer และ โหนดใน output layer ไดดงแสดงในตารางท 6.3 จากนนเราจะท าในขนตอนตอไป ซงกคอการค านวณคาความผดพลาดของแตละโหนดดวยการสงคาความผดพลาดยอนกลบ (Backpropagate the error) ทซงจะเปนการค านวณคาน าหนกและคาความเอนเอยงใหมดงแสดงตวอยางการค านวณในตารางท 6.4 และ 6.5 ตามล าดบ หลงจากค านวณคาน าหนกและคาความเอนเอยงเสรจสน เราจะถอวาเปนการเสรจสนการพจารณาขอมลเรคคอรด 𝑋 และเราจะท าการพจารณาขอมลเรคคอรดอนในล าดบถดไป

Page 41: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

41 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

ตารางท 6.3 การค านวณคาอนพตและเอาทพตเมอท าการพจารณาโหนดท 𝐼𝑗

โหนดท 𝑗 คาอนพตทไดในการพจารณาโหนดท 𝐼𝑗 คาเอาทพตทไดจากการพจารณาโหนดท 𝐼𝑗 (𝑂𝑗)

4 0.2 + 0 − 0.5 − 0.4 = −0.7 1

1 + 𝑒0.7= 0.332

5 −0.3 + 0 + 0.2 + 0.2 = 0.1 1

1 + 𝑒−0.1= 0.525

6 (−0.3)(0.332) − (0.2)(0.525) + 0.1 = −0.105 1

1 + 𝑒0.105= 0.474

ตารางท 6.4 การค านวณคาความผดพลาดของแตละโหนด

โหนดท 𝑗 𝐸𝑟𝑟𝑗 6 (0.474)(1 − 0.474)(1 − 0.474) = 0.1311 5 (0.525)(1 − 0.525)(0.1311)(−0.2) = −0.0065 4 (0.332)(1 − 0.332)(0.1311)(−0.3) = −0.0087

ตารางท 6.5 การค านวณคาน าหนกและคาความเอนเอยง

คาน าหนก/คาความเอนเอยง คาใหมทถกอพเดท 𝑤46 −0.3 + (0.9)(0.1311)(0.332) = −0.261 𝑤56 −0.2 + (0.9)(0.1311)(0.525) = −0.138 𝑤14 0.2 + (0.9)(−0.0087)(1) = 0.192 𝑤15 −0.3 + (0.9)(−0.0065)(1) = −0.306 𝑤24 0.4 + (0.9)(−0.0087)(0) = 0.4 𝑤25 0.1 + (0.9)(−0.0065)(0) = 0.1 𝑤34 −0.5 + (0.9)(−0.0087)(1) = −0.508 𝑤35 0.2 + (0.9)(−0.0065)(1) = 0.194 𝜃6 0.1 + (0.9)(0.1311) = 0.218 𝜃5 0.2 + (0.9)(−0.0065) = 0.194 𝜃4 −0.4 + (0.9)(−0.0087) = −0.408

6.7 การจ าแนกขอมลดวยการวเคราะหกฎความสมพนธของขอมล (Classification by Association Rule Analysis, Associative Classification) จากทเราไดศกษาในบททแลว เราไดทราบวารปแบบปรากฏบอยและกฎความสมพนธของขอมลจะประกอบไปดวยรายการ (item) ตางๆทปรากฏรวมกนบอยๆ เพอใชอธบายถงรปแบบทแอบแฝงอยชดขอมล

Page 42: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

42 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

แตในสวนน เราจะท าการศกษาเกยวกบการจ าแนกขอมลจากกฎความสมพนธทซงจะเปนการคนหาความสมพนธของรปแบบปรากฏบอย (ทซงถกอธบายดวยแอทรบวและคาทเกดขนในแอทรบว) และหมวดหมของขอมล

การคนหากฎความสมพนธของขอมลเพอการจ าแนกขอมลจะประกอบไปดวยขนตอนการท างานหลก 2 ขนตอนดวยกน คอ (i) การคนหารปแบบปรากฏบอย และ (ii) การสรางกฎจากรปแบบทไดจากขนตอนแรก ทซงจะไดเปนกฎดงตวอยางดงน

𝑎𝑔𝑒 = 𝑦𝑜𝑢𝑡ℎ ∧ 𝑐𝑟𝑒𝑑𝑖𝑡 = 𝑂𝐾 ⇒ 𝑏𝑢𝑦𝑠𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑦𝑒𝑠 [𝑠𝑢𝑝𝑝𝑜𝑟𝑡 = 20%, 𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒

= 93%]

โดยจากกฎเราจะเหนวาเราสามารถประเมนคาความถกตองของกฎไดจากคาความเชอมน (confidence) ทซงจะแสดงถงอตราสวนระหวางการเกดขนรวมกนของทง 3 รายการหารดวยการเกดขนรวมกนของ 2 รายการแรกทไมรวมหมวดหม

𝑠𝑢𝑝𝑝𝑜𝑟𝑡(𝑎𝑔𝑒 = 𝑦𝑜𝑢𝑡ℎ ∧ 𝑐𝑟𝑒𝑑𝑖𝑡 = 𝑂𝐾 ∧ 𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟 = 𝑦𝑒𝑠)

𝑠𝑢𝑝𝑝𝑜𝑟𝑡(𝑎𝑔𝑒 = 𝑦𝑜𝑢𝑡ℎ ∧ 𝑐𝑟𝑒𝑑𝑖𝑡 = 𝑂𝐾)

นอกจากนนเรายงหาคาความครอบคลม (coverage) ของกฎหนงไดจากคาสนบสนน (support) ทซงจะบงบอกถงอตราเปอรเซนตการปรากฎขนของกฎเทยบกบเรคคอรดของขอมลทงหมด

ก าหนดให 𝐷 คอชดขอมลทซงแตละเรคคอรดจะถกอธบายดวยแอทรบวท งสน 𝑛 แอทรบว (𝐴1, 𝐴2, … , 𝐴𝑛 ) และ 1 แอทรบวทเปนหมวดหมของขอมล (𝐴𝑐𝑙𝑎𝑠𝑠) แอทรบวทงหมดทท าการพจารณาจะตองถกท าใหมคาแบบไมตอเนองทงหมด ทซงจะเปนหมวดหมของขอมล ตวอย างเชน ขอมลในแอทรบว age จะถกแปลงจากอายท เปนตวเลขใหกลายเปนหมวดหมหรอชวงของอาย ดงนคอ age=youth age=middle หรอ age=old เปนตน แตละรายการ (item) 𝑝 = (𝐴𝑖 , 𝑣) จะประกอบไปดวยขอมลสองสวนคอ แอทรบวหนงๆและคาทเกดขนในแอทรบวนนๆ ดงนนเมอท าการพจารณารายการ 𝑝 และ ขอมลเรค-คอรด 𝑋 = (𝑥1, 𝑥2, … , 𝑥𝑛) เราจะสามารถกลาวไดวา 𝑋 สอดคลองกบ 𝑝 = (𝐴𝑖 , 𝑣) กตอเมอ คา 𝑥𝑖 = 𝑣 เมอ 𝑥𝑖 คอ คาทเกดขนในแอทรบวท 𝑖𝑡ℎ ทเกดขนในเรคคอรด 𝑋 ดงนน กฎความสมพนธของขอมลจะมรายการตางๆเกดขนในสวนทางฝงซายและจะมหมวดหมของขอมลทางฝงขวา ทซงจะอย ในรปแบบ 𝑝1 ∧

𝑝2 ∧ … ∧ 𝑝𝑙 ⇒ 𝐴𝑐𝑙𝑎𝑠𝑠 พรอมกบคาสนบสนนและคาความเชอมนตามล าดบ

อลกอรทมแรกในการจ าแนกขอมลดวยกฎความสมพนธ คอ “CBA (Classification-Based Assoication)” โดย CBA จะประยกตใชกระบวนการท าซ าในการคนหารปแบบปรากฏบอยแลวคอยๆเพมความยาวของรปแบบไปเรอยๆ (การท างานจะคลายกบอลกอรทม “Apriori”) จากนนจะท าการสรางกฎความสมพนธ โดยเมอกฎใดกตามทมรปแบบหรอสมาชกทางฝงซายเหมอนกน เราจะท าการเลอกกฎทมคา

Page 43: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

43 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

ความเชอมนมากทสดเพอแสดงผล โดยในการจ าแนกหมวดหมของเรคคอรดใดๆกตาม จะใชกฎทมคาความเชอมนสงทสดทสอคคลองกบเรคคอรดนนๆ

นอกเหนอจากอลกอรทม CBA ยงม อกอลกอรทมหน งทซ งไดรบความนยม นนคอ “CMAR (Classification based on Multiple Association Rules)” ทซ งจะท าการประยต ใช “FP-growth” ในการคาหารปแบบปรากฏบอย (รายละเอยดของ FP-growth จะถกอธบายในบทท 5) จากนน CMAR จะใชโครงสรางตนไมในการจดเกบกฎตางๆทถกสรางขน รวมถงการประยกตใชวธการตดเลมตนไมโดยใชคาความเชอมน คาสหสมพนธ และคาความครอบคลม ตามล าดบ โดยในการตดเลมตนไมจะถกด าเนนการกตอเมอมกฎหนงถกเพมเขาสตนไม ตวอยางเชน กฎ 𝑅1 และ 𝑅2 เปนกฎทถกพจารณา ทซงรปแบบทางฝงซายของกฎ 𝑅1 จะมจ านวนแอทรบวนอยกวากฎ 𝑅2 และคา 𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒(𝑅1) ≥ 𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒(𝑅2) ดวยเหตนกฎ 𝑅2 จะถกลบทงจากการพจารณา นอกจากนน CMAR ยงท าการตดเลมกฏทซงมคาสหสมพนธระหวางรปแบบ

ทางฝงซายและหมวดหมขอมลเปน 0 หรอมคาลบ (ในการค านวณคาสหสมพนธจะใช 𝜒2)

ในการจ าแนกหมวดหมขอมลของเรคคอรด 𝑋 ใดๆ โดยใช CMAR โดยในการจ าแนก ถามเพยงกฎเดยวทสอดคลองกบ 𝑋 เราจะท าการจ าแนกหมวดหมของ 𝑋 ตามหมของกฎทสอดคลองกบ 𝑋 แตส าหรบกรณทมกฎมากกวาหนงกฎสอดคลองกบ 𝑋 เราจะท าการจดกลมกฎทสอดคลองกบ 𝑋 ตามหมวดหม จากนน

CMAR จะใช 𝜒2 ในการหาคาสหสมพนธของกฎในกลมนนๆ จากนนจะท าการตอบหมวดหมใหแกเรคคอรด 𝑋 โดยจะเลอกจากกลมของหมวดหมทมคาสหสมพนธมากทสด ซงการด าเนนการดงกลาวจะชวยใหคาความถกตองของ CMAR นนสงกวา CBA

6.8 การเรยนรแบบเกยจคราน (Lazy learners) จากเนอหากอนหนาในบทน เราไดท าการศกษาการจ าแนกขอมลดวยตนไมตดสนใจ การจ าแนกขอมลดวยเบเซยน การจ าแนกขอมลดวยกฎตางๆ การจ าแนกขอมลดวยการสงคายอนกลบ และ การจ าแนกขอมลจากกฎความสมพนธของขอมล ทซงจะเปนวธการจ าแนก/เรยนรแบบกระตอรอรน (Eager learners) ทจะประกอบไปดวยขนตอนการท างาน 2 ขนตอน คอ การสรางตวจ าแนกขอมลจากชดขอมลทเปนอนพต และการจ าแนกขอมลทไมเคยพบเจอมากอนจากตวจ าแนกขอมล จากขนตอนการท างานทงสอง เราจะสงเกตไดวา ทกขนตอนขางตนจะเปนแบบกระตอรอรนทจะตองท าการสรางโมเดล/ตวจ าแนกขอมลกอนทจะท าการจ าแนกขอมล/บงบอกหมวดหมของขอมลเรคคอรดหนงๆทปรากฏในภายหลง แตเนอหาในสวนนจะท าการศกษาเกยวกบการเรยนรแบบเกยจคราน (Lazy learners) ทซงจะเปนโมเดลทจะไมตองท าการสรางตวจ าแนกขอมลจากชดขอมลเมอไดรบอนพต แตจะด าเนนการเพยงแคเกบขอมลเหลานนไว แลวรอจนกระทงเราไดรบขอมลทตองการจ าแนก/ท านายหมวดหมของขอมล แลวจงเรมด าเนนการวเคราะหขอมล โดยการด าเนนการวเคราะหขอมลจะถกด าเนนการทกๆครงทเราไดรบขอมลทตองการจ าแนกหมวดหมขอมลเทานน แตเมอไรกตามทตองท าการจ าแนก/ท านายหมวดหมของขอมล การเรยนรแบบเกยจครานจะตองท าการค านวณเปนจ านวนมาก โดยอลกอรทมทมการท าการแบบเกยจครานทมชอเสยงและเปนทยอมรบจะมอย

Page 44: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

44 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

ดวยกน 2 โมเดลดวยกน ซงกคอ ขนตอนวธการคนหาเพอนบานใกลสด k ตว (k-Nearest-Neighbor Classifiers) และ การใหเหตผลตามกรณ (Case-based reasoning classifiers) โดยเนอหาในวชานจะท าการอธบายเกยวกบขนตอนวธการคนหาเพอนบานใกลสด k ตวทซงมขนตอนการท างานดงน

ขนตอนวธการคนหาเพอนบานใกลสด k ตว (k-Nearest-Neighbor Classifiers)

การจ าแนกขอมลดวยวธการคนหาเพอนบานใกลสดจะเปนการเรยนรโดยการเปรยบเทยบกนระหวางเรคคอรดของขอมลทตองการจ าแนก/ท านายหมวดหมกบเรคคอรดทงหมดในชดขอมลสอนทมลกษณะเหมอนกนหรอใกลเคยงกนดวยการพจารณาขอมลแอทรบวตางๆ โดยขอมลเรคคอรดหนงๆจะสามารถถกมองวาเปนจดหนงในระนาบ 𝑛 มต (เมอ 𝑛 คอจ านวนแอทรบวทงหมด) ถาเราน าขอมลทกๆเรคคอรดในชดขอมลสอนมาวางในระนาบ 𝑛 มต จากนนน าขอมลเรคคอรดทตองการจ าแนก/ท านายหมวดหมมาวางในระนาบดวยเชนกน จากนนพจารณาหาวามขอมลจดใดบาง (เรคคอรดใดบาง) ทมคณลกษณะใกลเคยงกบเรคคอรดทตองการจ าแนกหมวดหมมากทสดเปนจ านวน 𝑘 เรคคอรด

ในการทจะหาความเหมอนกน ตางกน หรอคาความใกลเคยงกนระหวาเรคคอรดใดๆ เราจะสามารถประยกตใชมาตรวดความแตกตางตางๆ อาทเชน ‘Euclidean distance’ ทซงจะท าการพจารณา 2 เรคคอรด 𝑋1 = (𝑥11, 𝑥12, … , 𝑥1𝑛) และ 𝑋2 = (𝑥21, 𝑥22, … , 𝑥2𝑛) ใดๆ จากนนท าการพจารณาความแตกตางระหวางคาทปรากฏขนในแตละแอทรบวของทงสองเรคคอรดแลวน ามารวมเปนคาความแตกตางรวมทซงจะสามารถค านวณไดดงน

𝑑𝑖𝑠𝑡(𝑋1, 𝑋2) = √∑(𝑥1𝑖 − 𝑥2𝑖)2

𝑛

𝑖=1

จากสมการขางตน เมอเราท าการพจารณาคาทเกดขนในแอทรบว 𝐴𝑖 ใดๆ เราจะตองท าการพจารณาวาคาทปรากฏขนมลกษณะใด—ส าหรบแอทรบวทมคาเปนตวเลข เราจะสามารถหาความแตกตางระหวางคา 𝑥1𝑖 และ 𝑥2𝑖 ไดโดยตรง แตอยางไรกด ถาเราท าการหาความแตกตางจากขอมล 𝑥1𝑖 และ 𝑥2𝑖 โดยตรง โดยทไมท าการประมวลผลใดๆ จะท าใหอาจเกดความเอนเอยงในคาความแตกตางได (แอทรบวทมคาความแตกตางมากๆจะชน าแอทรบวอนๆทงหมด) ดงนนเราควรจะตองท าการนอรมลไลซขอมลเสยกอน โดยการปรบขอมลใหอยในชวงทก าหนดเชน อยในชวง 0 – 1 ดวย Min-max normailization ดงน

𝑣′ = 𝑣 − 𝑚𝑖𝑛𝐴

𝑚𝑎𝑥𝐴 − 𝑚𝑖𝑛𝐴

เมอคา 𝑚𝑖𝑛𝐴 และ 𝑚𝑎𝑥𝐴 คอ คาต าสดและคาสงสดทปรากฏขนในแอทรบว 𝐴 ทท าการพจารณา

หลงจากท าการหาคาความแตกตางระหวางเรคคอรดทตองการจ าแนกหมวดหมกบเรคคอรดทงหมดในชดขอมลสอนแลว เราจะท าการจ าแนก/ท านายหมวดหมขอมลดวยการพจารณาจากหมวดหมของขอมล k

Page 45: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

45 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

เรคคอรดทมคาความแตกตางนอยทสด 𝑘 อนดบแรก (เรยกวา ‘เพอนบานใกลสด 𝑘 อนดบ,k-nearest neighbor’) เมอเทยบกบเรคคอรดทตองการจ าแนกหมวดหมดวยการคนหาวาใน k เรคคอรด เราพบเจอหมวดหมขอมลใดมากทสด เราจะสรปวาเรคคอรดทตองการจ าแนกหมวดหมจะมหมวดหมตามหมวดหมทมากทสดทพจารณากอนหนา

แตในการค านวณหาคาความแตกตางระหวางเรคคอรด เมอท าการพจารณาแอทรบวทมคาทไมไดเปนตวเลข (มคาเปนแบบไมตอเนอง/มคาเปนแบบหมวดหม) อาทเชน แอทรบวคาส เราอาจใชการเปรยบเทยบคาระหวางในแอทรบวระหวาง 2 เรคคอรด 𝑋1 และ 𝑋2 ไดโดยตรง โดยทถาคาในแอทรบวทท าการพจารณาของทงสองเรคคอรดมคาเทากน (เชน ทงสองเรคคอรด 𝑋1 และ 𝑋2 มคาสเปนสเขยว) เราจะท าการก าหนดใหคาความแตกตางของเรคคอรด 𝑋1 และ 𝑋2 เมอท าการแอทรบวคาสมคาเปน 0 แตถาคาของทงสองเรคคอรดมคาแตกตางกน (เชน เรคคอรด 𝑋1 มคาสเปนสเขยว และ 𝑋2 มคาสเปนสสม) เราจะท าการก าหนดใหคาความแตกตางมคาเทากบ 1 ตามล าดบ แตอยางไรกตามเราสามารถก าหนดคาความแตกตางใหกบการเปรยบเทยบแตละคาได ตวอยางเชน เราอาจจะก าหนดใหคาความแตกตางระหวางสเขยวและสด าใหมคาเทากบ 0.7 และ อาจก าหนดใหความแตกตางระหวางสเขยวและสฟาใหมคาเทากบ 0 กได ขนอยกบลกษณะและการใชงานขอมล

ในกรณทขอมลในแอทรบว 𝐴 ใดๆในเรคคอร 𝑋1 และ/หรอ 𝑋2 ทพจารณาไมมคาทปรากฏ (𝑋1 และ/หรอ 𝑋2 ม missing value เกดขนใน แอทรบว 𝐴) เราจะท าการสมมตใหคาความแตกตางของเรคคอรด 𝑋1 และ 𝑋2 เมอท าการแอทรบว 𝐴 มคาสงสดเทาทเปนไปได สมตวาคาทเปนไปไดในแอทรบวทท าการพจารณาจะสามารถถกแปลงใหอยในชวงตวเลข [0,1] ดงนน เมอท าการพจารณาแอทรบวทมลกษณะเปนแบบหมวดหม (มคาแบบไมตอเนอง) เราจะท าการก าหนดใหคาความแตกตางมคาเทากบ 1 ส าหรบกรณทมการขาดหายไปของคาในเรคคอรดใดเรคคอรหนงหรอมการขาดหายไปของคาในทงสองเรคคอรดทท าการพจารณา แตส าหรบส าหรบการขาดหายไปของคาในแอทรบวทมคาเชงตวเลข (มคาแบบตอเนอง) เราจะท าการก าหนดใหคาความแตกตางมคาเทากบ 1 ส าหรบกรณทมการขาดหายไปของคาในทงสองเรคคอรดทท าการพจารณา แตส าหรบการขาดหายไปของคาในเรคคอรดใดเรคคอรหนง เราจะสามารถท าการนอรม ลไลซขอมลได โดยการหาคาผลตางจาก |1 − 𝑣′|หรอ |1 − 𝑣′| เมอ 𝑣′ คอ ขอมลของเรคคอรดทมขอมล โดยวธการนอรมลไลซนจะชวยใหเราหาคาความแตกตางไดอยางสมบรณมากขน

นอกเหนอจากการพจารณากรณตางๆขางตน เราจะตองพจารณาถงปจจยตางๆอกมากมาย อาทเชน 1) จ านวนเพอนบาน 𝑘 ทตองท าการพจารณา วาควรมคาหรอมจ านวนเทาทเหมาะสมเทากบเทาไร โดยในการทจะก าหนดคา 𝑘 ทเหมาะสมนนจะสามารถท าไดในการทดลอง โดยจะเรมจากการก าหนดใหคา 𝑘 แลวท าการทดสอบถงเปอรเซนตของความผดพลาดในการจ าแนกขอมล ตอมาจะท าการเพมคา 𝑘 แลวท าการวนการจ าแนกขอมลซ าเดมอก กระบวนการท างานจะสามารถถกท าซ าไปเรอยๆตามคา 𝑘 สงสดทเราก าหนด จากนนเราจะท าการเลอกคา 𝑘 ทใหเปอรเซนตของความผดพลาดในการจ าแนกขอมลนอยทสด ซงโดยทวๆไปของการท างาน เราจะสงเกตไดวา เมอจ านวนเรคคอรในชดขอมลสอนมจ านวนมาก จะท าใหคา 𝑘 ทใหเปอรเซนต

Page 46: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

46 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

ของความผดพลาดในการจ าแนกขอมลนอยทสดมคาสงตามไปดวย 2) การหาคาความแตกตางของเรคคอรดทท าการพจารณา โดยท าการพจารณาแอทรบวตางๆอาจจะใหผลลพธทไมดหรออาจใหเปอรเซนตของความผดพลาดในการจ าแนกขอมลทไมดอนเนองมาจากขอมลรบกวน (noise) หรอจากการทเราท าการพจารณาแอทรบวทไมเกยวของมากจนเกนไป ดงนนเราอาจจ าเปนตองค านงถงหรอท าการเลอกมาตรวดความแตกตางอนๆเปนทางเลอกเสรม และ 3) ประสทธภาพในการจ าแนกขอมล กลาวคอ ในการจ าแนกขอมลอาจใชเวลานานเมอมจ านวนเรคคอรดในชดขอมลสอนเปนจ านวนมาก และเราท าการก าหนดคา 𝑘 สง ดงนน เราอาจจะตองท าการลดเวลาในการค านวณโดยท าการจดเรยงล าดบของขอมลเรคคอรดตางๆไวกอนหนา โดยอาจท าการเกบไวในตนไมทซงจะท าใหเราสามารถลดการเปรยบเทยบหาความแตกตางระหวางเรคคอรดใดๆได โดยประสทธภาพทใชในการท าการจะเปน 𝑂(log|𝐷|) หรอ เราอาจประยกตใชวธการท างานแบบขนาน (Parallel) ในการค านวณเพอทจะลดการเวลาในการท าลงกได

6.9 การท านายขอมล (Prediction) ในการจ าแนกขอมลเราจะท าการพจารณาเรคคอรดของขอมลทไมทราบหมวดหมทแนนอน แลวท าการก าหนดหรอบงบอกหมวดหมของขอมลใหแกเรคคอรดนนๆทซงหมวดหมของขอมลจะมคาเปนแบบไมตอเนอง แตในบางสถานการณเราอาจตองการทจะท านายหมวดหมของขอมลทมคาเปนแบบตอเนอง/คาทบงบอกในเชงปรมาณ ตวอยางเชน เราอาจจะตองการท านายคาเงนเดอนของพนกงานคนหนงๆทมประสบการณท างานมาแลว 10 ป หรอ ตองการทจะท านายยอดขายเมอก าหนดราคาขายของสนคามาให จากความตองการดงกลาว เราจะตองท าการท านายคาเชงตวเลขโดยการใชหลกการทางสถตทเรยกวา การถดถอย (regression)

การวเคราะหการถดถอยจะเปนโมเดลส าหรบการหาความสมพนธระหวาง “predictor variable” ทซงเปนคาในแอทรบวตางๆทใชในการอธบายคณลกษณะของขอมลเรคคอรดหน งๆ กบ “response variable” ทซงจะเปนคาเชงตวเลขทเราตองการทจะทราบหรอท านาย การวเคราะหความถดถอยจะสามารถท างานไดดหรอเปนทางเลอกทดในการท านายขอมล ทซงคาในแอทรบวตางๆมคาในเชงตวเลข การท างานของการวเคราะหการถดถอยจะสามารถแบงไดเปนหลายกรณตามชนดของขอมลทท าการพจารณาและตามผลลพธทตองการ โดยจะสามารถแบงไดเปนกรณตางๆดงน

6.9.1 การวเคราะหการถดถอยเชงเสนตรง การวเคราะหการถดถอยเชงเสนตรง (Linear regression analysis) จะเปนการท านายขอมลทมคาเชงตวเลขทเกยวของกบ response variable “𝑦” โดยการพจารณาคา predictor variable “𝑥” เพยงแคคาเดยวดวยการประยกตใชฟงกชนเชงเสนตรง (Linear function) ทซงสามารถค านวณไดจาก

𝑦 = 𝑏 + 𝑤𝑥

Page 47: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

47 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

เมอ 𝑏 คอ คาสมประสทธความถดถอยทซงจะเปนตวก าหนดจดตดแกน y (y-intercept) และ 𝑤 คอ คาสมประสทธความถดถอยทซงจะเปนตวก าหนดความลาดเอยงของเสนตรง โดยจากสมการขางตน เราสามารถพจารณาคาสมประสทธ 𝑏 และ 𝑤 เปนคาน าหนกทซงจะสามารถเปลยนการเขยนสมการไดเปน

𝑦 = 𝑤0 + 𝑤1𝑥

จากนนเราจะตองท าการค านวณคาสมประสทธตางๆดวยวธการ “least squares” ทซงจะท าการประมาณเสนตรงทดทสดทจะลดคาความผดพลาดระหวางขอมลจรงและเสนตรงทถกประมาณใหมคานอยทสดเทาทจะเปนไปได โดยในการพจารณาชดขอมลสอนใดๆกตามทประกอบไปดวยคา predictor variable (x) ทซงจะสอดคลองกบคา response variable (y) คาสมประสทธตางๆจะสามารถค านวณไดดงน

𝑤1 =∑ (𝑥𝑖−𝑥)(𝑦𝑖−𝑦)

|𝐷|𝑖=1

∑ (𝑥𝑖−𝑥)2|𝐷|𝑖=1

𝑤0 = 𝑦 − 𝑤1𝑥

เมอ 𝑥 คอ คาเฉลยของคา 𝑥1, 𝑥2, … , 𝑥|𝐷| ทท าการพจารณา และ 𝑦 คอ คาเฉลยของคา 𝑦1, 𝑦2, … , 𝑦|𝐷| ทท าการพจารณา

ตวอยาง การท านายขอมลดวยการวเคราะหการถดถอยเชงเสนตรง จากขอมลอนพตในตารางท 6.6 ทซงจะแสดงขอมลประสบการณท างาน (predictor variable) และคาเงนเดอนทไดรบ (response variable)

ตารางท 6.6 ตวอยางขอมลประสบการณท างานและเงนเดอนทไดรบ

𝑥 ประสบการณท างาน (ป) 𝑦 เงนเดอนทไดรบ (× $1,000𝑠) 3 30 8 57 9 64 13 72 3 36 6 43 11 59 21 90 1 20 6 83

เมอเราน าขอมลจากตาราง 6.6 มาสรางกราฟ เราจะไดกราฟดงแสดงในรปท 6.15 ทซงจะแสดงใหเราเหนถงความสมพนธระหวางตวแปร x และ y โดยความความสมพนธระหวางเงนเดอนทไดรบกบจ านวนปทท างานจะสามารถค านวณไดจาก 𝑦 = 𝑤0 + 𝑤1𝑥 เมอเราการพจารณาขอมลในตารางท 6.6 เราจะสามารถ

Page 48: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

48 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

ค านวณคาเฉลยทปรากฏใน predictor variable x และ response variable y ไดเปน 𝑥 = 9.1 และ 𝑦 =

55.4 ทซงจะสามารถน าไปค านวณคาน าหนก 𝑤0 และ 𝑤1 ไดดงน

𝑤1 =(3 − 9.1)(30 − 55.4) + (8 − 9.1)(57 − 55.4)+. . . +(16 − 9.1)(83 − 55.4)

(3 − 9.1)2 + (8 − 9.1)2+. . . +(16 − 9.1)2= 3.5

𝑤0 = 55.4 − (3.5)(9.1) = 23.6

จากนนเราจะสามารถท านายเงนเดอนทจะไดรบเมอทราบจ านวนปทท างานไดโดยใชสมการ 𝑦 =

23.6 + 3.5𝑥 ดงนนเราสามารถท านายคาเงนเดอนของพนกงานทท างานมาเปนเวลา 10 ปไดเทากบ 23.6 +

3.5(10) = $58,600

รปท 6.15 ตวอยางแผนภาพกราฟจากขอมลประสบการณท างานและเงนเดอนทไดรบ

การวเคราะหการถดถอยพหคณ (Multiple linear regression) จะเปนการพฒนาตอยอดจากการวเคราะหการถดถอยเชงเสนตรง โดยจะท าการพจารณาคา predictor variable หลายๆคา ทซงจะหมายถงการพจารณาแอทรบว 𝐴1, 𝐴2, … , 𝐴𝑛 ทใชในการอธบายขอมลเรคคอรด 𝑋 ใดๆ ดงนนเรคคอรดของขอมล 𝑋 ใดๆจะประกอบไปดวย 𝑥1, 𝑥2, … , 𝑥𝑛 ทเปนคาทเกดขนในแอทรบวทท าการพจารณา เมอเราท าการพจารณาชดขอมล 𝐷 ทประกอบไปดวยเรคคอรด 𝑋1 = (𝑥1,1, 𝑥1,2, … , 𝑥1,𝑛, 𝑦1), 𝑋2 = (𝑥2,1, 𝑥2,2, … , 𝑥2,𝑛, 𝑦2),

… , 𝑋|𝐷| = (𝑥|𝐷|,1, 𝑥|𝐷|,2, … , 𝑥|𝐷|,𝑛, 𝑦|𝐷|) เราจะสามารถท านายขอมลดวยการวเคราะหการถดถอยพหคณ ดวยการใชคา predictor variable หลายๆคาทซงจะสามารถค านวณไดจาก

𝑦 = 𝑤0 + 𝑤1𝑥1 + 𝑤2𝑥2+. . . +𝑤𝑛𝑥𝑛

เมอ คาน าหนก 𝑤1, 𝑤2, … , 𝑤𝑛 จะสามารถค านวณไดดวยวธการเดยวกบการวเคราะหการถดถอยเชงเสนตรงดวยการพจารณาแอทรบวตางๆไดโดยตรง

Page 49: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

49 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

6.9.2 การวเคราะหการถดถอยแบบไม เปนเสนตรง (Nonlinear Regression analysis) ในบางกรณ เราอาจตองท าการจดการกบขอมลทไมสามารถท านายไดโดยเสนตรงหรอความสมพนธเชงเสน แตเราอาจจดการไดโดยการเปลยนฟงกชน เชน เปลยนจากฟงกชนเชงเสนตรงไปเปนฟงกชนโพลโนเมยล เปนตน เราจะสามารถท าการแปลงฟงกชนโพลโนเมยลใหกลายเปนฟงกชนเชงเสนตรงทซงจะท าใหเราสามารถจดการกบขอมลไดงายขน ลองพจารณาตวอยางดงตอไปน

ตวอยาง การแปลงการวเคราะหการถดถอยแบบโพลโนเมยลไปเปนการวเคราะหการถดถอยเชงเสนตรง ดวยการพจารณาความสมพนธของลกบาศกโพลโนเมยล 𝑦 = 𝑤0 + 𝑤1𝑥 + 𝑤2𝑥2 + 𝑤3𝑥3 นแลวท าการแปลงใหไปเปนการวเคราะหการถดถอยเชงเสนตรงทซงจะสามารถท าได โดยการก าหนดตวแปรขนใหมโดยการก าหนดให 𝑥1 = 𝑥, 𝑥2 = 𝑥2 และ 𝑥3 = 𝑥3 จากนนเราจะสามารถท าการวเคราะหการถดถอยเชงเสนตรงไดโดย 𝑦 = 𝑤0 + 𝑤1𝑥1 + 𝑤2𝑥2 + 𝑤3𝑥3 ทซงสามารถค านวณไดโดยงาย

นอกเหรอจากฟงกชนโพลโนเมยลแลว เราอาจเปลยนการใชฟงกชนไปเปนฟงกชนอนๆไดอก แตอยางไรกตามเมอท าการเปลยนฟงกชนแลว เราจะตองท าการเปลยน/แปลงการใชฟงกชนเหลานนใหกลบมาเปนฟงกชนเชงเสนตรงทซงจะท าใหเราสามารถท านายขอมลไดอยางแมนย า แตอยางไรกดในการท าดวยการวเคราะหการถดถอยจะมปจจยหนงทเราตองพจารณาคอ ประสทธภาพในการค านวณ ทซงเมอเราพจารณาแอทรบวหรอ predictor variable มากขนกยอมจะท าใหประสทธภาพในการค านวณลดลง ดงนน กอนทจะท าการวเคราะหการถดถอย เราควรทจะตองท าการเลอกแอทรบวทเหมาะสมกบการวเคราะห โดยท าการเลอกแอทรบวเพยงบางสวน และตดทอนแอทรบวบางสวนทจะไมสงผลตอการค านวณ นอกจากนนความถกตองของการวเคราะหกเปนอกปจจยหนงทเราจะตองพจารณา ทซงการวเคราะหการถดถอยจะสามารถท านายขอมลไดอยางแมนย าในกรณทขอมลทเปนอนพตจะไมมขอมลแปลกปลอม (outlier)

6.10 การประเมนความถกตองและความผดพลาด (Accuracy and error measures) ในการสรางและใชงานตวจ าแนกขอมลเราจะตองท าการประเมนความถกตองและความผดพลาดของตวจ าแนกขอมล ทซงจะสอใหเราทราบวาตวจ าแนกขอมลทสรางขนนนมประสทธภาพในการจ าแนกขอมลอยางไร ดงนน เนอหาในสวนนจะเปนการศกษาเกยวกบการชวดคาความถกตองของตวจ าแนกขอมล เทคนคตางๆในการประเมนความถกตองของตวจ าแนกขอมล วธการในการเพมความถกตองใหกบตวจ าแนกขอมล และ อภปรายเกยวกบการเลอกวธการในการจ าแนกขอมลวาเราควรทจะเลอกโดยใชวธการใดในกรณใด

6.10.1 ตวชวดความผดพลาดจากการจ าแนกขอมล หลงจากท าการสรางตวจ าแนกขอมล เราจะตองท าการตรวจสอบความถกตองในการจ าแนกขอมล เพอท าการประเมนวาคาความถกตองทจะไดรบจากตวจ าแนกขอมลทสรางขนสามารถยอมรบไดหรอไม โดยใน

Page 50: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

50 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

การตรวจสอบความถกตองในการจ าแนกขอมล เราจะใชขอมลทดสอบทมหมวดหมของขอมลแนบอยดวย (เปนขอมลอกชดหนงนอกเหนอจากชดขอมลสอน เมอท าการทดสอบแลวเราจะทราบถงจ านวนหรอเปอรเซนตของเรคคอรดในชดขอมลทดสอบทสามารถจ าแนกขอมลไดอยางถกตอง นอกจากนนเรายงตองท าการพจารณาถงอตราความผดพลาดหรออตราการจ าแนกขอมลผด (misclassification rate) ของตวจ าแนกขอมล 𝑀 ใดๆทสรางขน ทซงจะสามารถค านวณไดจาก 1 − 𝑎𝑐𝑐(𝑀) เมอ 𝑎𝑐𝑐(𝑀) คอ คาความถกตองในการจ าแนกขอมลของตวจ าแนกขอมล 𝑀

ในการทจะวเคราะหหาความถกตองและความผดพลาดในการจ าแนกขอมล เราอาจท าการประยกใช “confusion matrix” ทซงจะเปนตารางทมขนาด 𝑚 × 𝑚 โดยขอมลแตละเซลล 𝑐𝑚𝑖,𝑗 หมายถง จ านวนเรค คอรดทมหมวดหม 𝑖 แตถกตวจ าแนกขอมลจ าแนกหมวดหมเปนหมวดหม 𝑗 โดยทถาตวจ าแนกขอมลทเราท าการทดสอบเปนตวจ าแนกขอมลทมความถกตองสง จะท าใหเซลล 𝑐𝑚1,1 , 𝑐𝑚2,2 ไปจนถง เซลล 𝑐𝑚𝑚,𝑚 จะมจ านวนเรคคอรดเปนจ านวนมากและเซลล 𝑐𝑚𝑖,𝑗 อนๆจะมคาเทากบ 0 หรอมคาใกลๆ 0 ตวอยางเชน ถาชดขอมลทท าการพจารณามหมวดหมขอมล 2 หมวดหม เมอท าการพจารณาเรคคอรดตางๆในชดขอมล เราอาจท าการแบงขอมลเรคคอรดตางๆเปน “positive tuples” (เปนเรคคอรดทมหมวดหมขอมลเปนหมวดหมทเราสนใจ อาท เชน หมวดหมของลกคาทซอคอมพวเตอร) และ “negative tuples” (เชน หมวดหมของลกคาทไมซอคอมพวเตอร) จากนนเมอท าการจ าแนกขอมลเราจะพบเจอกบ

1) True positives ทซงเปน positive tuples ทถกจ าแนกหมวดหมไดอยางถกตอง 2) True negatives ทซงเปน negative tuples ทถกจ าแนกหมวดหมไดอยางถกตอง 3) False positives ทซงเปน negative tuples ทถกจ าแนกขอมลผดพลาด (เชน เรคคอรดของ

ขอมลทมหมวดหมทไมซอคอมพวเตอรแตถกจ าแนกโดยตวจ าแนกขอมลวาเปนหมวดหมทซอคอมพวเตอร)

4) False negatives ทซงเปน positive tuples ทถกจ าแนกขอมลผดพลาด (เชน เรคคอรดของขอมลทมหมวดหมทซอคอมพวเตอรแตถกจ าแนกโดยตวจ าแนกขอมลวาเปนหมวดหมทไมซอคอมพวเตอร)

โดยกรณทพบทง 4 ขอมลสามารถน ามาสรางเปน confusion matrix (ดงแสดงในรปท 6.16) เพอน ามาวเคราะหหาความถกตองและความผดพลาดของการจ าแนกขอมลตอไปได

รปท 6.16 ตวอยาง confusion matrix ส าหรบ positive และ negative tuples

Page 51: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

51 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

การประยกตใชเปอรเซนตความถกตองในการจ าแนกขอมลไดถกประยกตใชอยางแพรหลาย แตอยางไรกด การใชเพยงแคเปอรเซนตความถกตองเพยงอยางเดยวอาจจะประเมนความถกตองของตวจ าแนกขอมลไดไมดนก ตวอยางเชน เมอเราท าการพจารณาขอมลสอนทเกยวของกบหมวดหมของผปวยทเปนมะเรงและไมเปนมะเรง เมอท าการทดสอบปรากฏวาเปอรเซนตความถกตองมคาเทากบ 90% ซงมคาสง แตอยางไรกด เมอพจารณาลกลงไปอกเราพบวามเพยงแค 3-4% ของเรคคอรดทงหมดทพจารณาเทานน ทอยในหมวดหมของผปวยทเปนมะเรง ดงนนเราจะเหนวาคาเปอรเซนตความถกตอง 90 เปอรเซนตไมอาจถกใชเพอวดความถกตองของตวจ าแนกขอมลไดอยางแมนย า—โดยคาความถกตอง 90 เปอรเซนตอาจเกดจาการทตวจ าแนกขอมลสามารถจ าแนกหรอท านายหมวดหมของเรคคอรดขอผปวยทไมเปนโรคมะเรงไดอยางถกตอง แตนนจะไมใชสงส าคญเทาไรนก เนองจากวตถประสงคหลกของเราคอตองการระบ/จ าแนกผปวยทเปนโรคมะเรง ดวยเหตน เราอาจท าการพจารณาคา “sensitivity” และ “specificity” ทซงคา sensitivity จะอางถงอตราสวนระหวางจ านวน positive tuples ทถกจ าแนกไดอยางถกตอง แตส าหรบคา specificity จะถกค านวณจากอตราสวนระหวางจ านวน negative tuples ทถกจ าแนกไดอยางถกตอง นอกจากนนอาจจะประยกตใชคา “precision” เพอใชในการค านวณเปอรเซนตของเรคคอรดของหมวดหมทเปน positive ทซงเปนถกจ าแนกเปนหมวดหม positive โดยคาทง 3 จะสามารถค านวณไดดงน

𝑠𝑒𝑛𝑠𝑖𝑡𝑖𝑣𝑖𝑡𝑦 = |𝑡𝑟𝑢𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒𝑠|

|𝑝𝑜𝑠𝑡𝑖𝑣𝑒 𝑡𝑢𝑝𝑙𝑒𝑠|

𝑠𝑝𝑒𝑐𝑖𝑓𝑖𝑐𝑖𝑡𝑦 = |𝑡𝑟𝑢𝑒 𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑒𝑠|

|𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑒 𝑡𝑢𝑝𝑙𝑒𝑠|

𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = |𝑡𝑟𝑢𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒|

(|𝑡𝑟𝑢𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒|+|𝑓𝑎𝑙𝑠𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒|)

จากการค านวณคาตางๆขางตน เราสามารถค านวณคาความถกตองของตวจ าแนกขอมลไดดงน

𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 𝑠𝑒𝑛𝑠𝑖𝑡𝑖𝑣𝑖𝑡𝑦|𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒 𝑡𝑢𝑝𝑙𝑒𝑠|

(|𝑝𝑜𝑠𝑡𝑖𝑣𝑒 𝑡𝑢𝑝𝑙𝑒𝑠|+|𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑒 𝑡𝑢𝑝𝑙𝑒𝑠|)

+𝑠𝑝𝑒𝑐𝑖𝑓𝑖𝑐𝑖𝑡𝑦|𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑒 𝑡𝑢𝑝𝑙𝑒𝑠|

(|𝑝𝑜𝑠𝑡𝑖𝑣𝑒 𝑡𝑢𝑝𝑙𝑒𝑠|+|𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑒 𝑡𝑢𝑝𝑙𝑒𝑠|)

6.10.2 ตวชวดความผดพลาดจากการท านายขอมล ก าหนดให 𝐷𝑇 คอ ชดขอมลทดสอบทอยในรปแบบ (𝑋1, 𝑦1), (𝑋2, 𝑦2), …, (𝑋𝑑, 𝑦𝑑) ทซง 𝑋𝑖 เปนเซตของเรคคอรดทมหมวดหม 𝑦𝑖 และ 𝑑 คอ จ านวนเรคคอรดทงหมดในชดขอมลทดสอบ 𝐷𝑇 โดยในการท านายขอมลจะคนคาเปนเปอรเซนตของความเปนหมวดหมขอมลหนงๆ แทนทจะบอกถงหมวดหมของขอมลหนงๆทแนนอน การประเมนความถกตองในการท านายหมวดหมขอมล 𝑦𝑖

′ ส าหรบ 𝑋𝑖 จะสามารถท าไดคอนขางยาก ดงนนในการประเมนความถกตอง เราจะไมท าการท านายหมวดหม 𝑦𝑖

′ ส าหรบ 𝑋𝑖 แลวน าไปเทยบกบหมวดหม 𝑦𝑖 ทแทจรงของ 𝑋𝑖 แตเราจะท าการพจารณาหาความแตกตางระหวางผลลพธทไดจากการท านายกบคาทแทจรง โดยเราสามารถใช “Loss functions” ในการตรวจวดความผดพลาดระหวางหมวดหมทแทจรง 𝑦𝑖 เทยบกบหมวดหมทไดจากการท านาย 𝑦𝑖

′ ทซงจะมฟงกชนการท างานดงน

Page 52: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

52 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

𝐴𝑏𝑠𝑜𝑙𝑢𝑡𝑒 𝐸𝑟𝑟𝑜𝑟: |𝑦𝑖 − 𝑦𝑖′|

𝑆𝑞𝑢𝑎𝑟𝑒𝑑 𝐸𝑟𝑟𝑜𝑟: (𝑦𝑖 − 𝑦𝑖′)2

จากฟงกชนขางตน เราสามารถค านวณหาขอผดพลาดในการทดสอบ (error rate) ทซงเปนคาเฉลยของความผดพลาดของการท านายหมวดหมของทกเรคคอรดในชดขอมลทดสอบไดดงน

𝑀𝑒𝑎𝑛 𝐴𝑏𝑠𝑜𝑙𝑢𝑡𝑒 𝐸𝑟𝑟𝑜𝑟: ∑ |𝑦𝑖 − 𝑦𝑖

′|𝑑𝑖=1

𝑑

𝑀𝑒𝑎𝑛 𝑆𝑞𝑢𝑎𝑟𝑒𝑑 𝐸𝑟𝑟𝑜𝑟: ∑ (𝑦𝑖 − 𝑦𝑖

′)2𝑑𝑖=1

𝑑

แตอยางไรกด ในบางครง เราอาจจะตองการทจะท าการค านวณหาคาความผดพลาดทมความสมพนธกบสงทจะเปนเมอเราท าการท านายหมวดหมขอมล ทซงจะเปนการค านวณอตราสวนระหวางผลรวมของความแตกตางของผลลพธจากการท านายกบคาจรงเทยบกบการสญเสยทเกดจากการท านายขอมล โดยคาความสมพนธกบคาความผดพลาดสามารถค านวณไดดงน

𝑅𝑒𝑙𝑎𝑡𝑖𝑣𝑒 𝐴𝑏𝑠𝑜𝑙𝑢𝑡𝑒 𝐸𝑟𝑟𝑜𝑟: ∑ |𝑦𝑖 − 𝑦𝑖

′|𝑑𝑖=1

∑ |𝑦𝑖 − ��|𝑑𝑖=1

𝑅𝑒𝑙𝑎𝑡𝑖𝑣𝑒 𝑆𝑞𝑢𝑎𝑟𝑒𝑑 𝐸𝑟𝑟𝑜𝑟: ∑ (𝑦𝑖 − 𝑦𝑖

′)2𝑑𝑖=1

∑ (𝑦𝑖 − ��)2𝑑𝑖=1

เมอ �� คอ คาเฉลยของคาหมวดหม 𝑦𝑖 ในชดขอมลสอน ทซงสามารถค านวณไดจาก �� =∑ 𝑦𝑖

𝑡𝑖=1

𝑑

6.10.3 การประเมนความถกตองของตวจ าแนกขอมลหรอตวท านายขอมล จากตวชวดความถกตองของการจ าแนก/ท านายขอมลขางตน เราจะสามารถประยกตใชตวชวดเหลานนเพอทจะประเมนความถกตองของตวจ าแนกขอมลหรอตวท านายขอมลไดอยางนาเชอถอไดอยางไร??? ดงนนในการทจะประเมนความถกตองของตวจ าแนกขอมลหรอตวท านายขอมลไดอยางนาเชอถอ เราสามารถประยกตใชเทคนคตางๆทไดรบความนยมกนอยางแพรหลายดงตอไปน

วธการ Holdout

Holdout จะท าการแบงชดขอมลออกเปน 2 ชดขอมลยอยดวยวธการสม โดยชดขอมลทไดจะเปนชดขอมลสอนและชดขอมลทดสอบ ซงโดยปกต—ชดขอมลสอนจะมปรมาณขอมลเทากบ 2 ใน 3 ของชดขอมลทงหมด และ ชดขอมลทดสอบจะมปรมาณขอมลเทากบ 1 ใน 3 ของชดขอมล หลงจากแบงชดขอมลแลว—ชดขอมลสอนจะถกใชในการสรางตวจ าแนกขอมล และชดขอมลทดสอบจะถกใชในการท าสอบตวจ าแนกทสรางขน (ดงแสดงในรปท 6.17)

Page 53: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

53 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

รปท 6.17 การประเมนความถกตองดวยวธการ Holdout

วธการ Cross-validation

วธการ Cross-valiation หรอทนยมเรยกวา “k-fold cross validation” จะเรมจากการสมแบงขอมลออกเปน 𝑘 สวน ทซงจะมขอมลไมซ ากน โดยชดขอมลยอย 𝐷1, 𝐷2, … , 𝐷𝑘 จะมจ านวนเรคคอรดเทากน จากนนจะท าการเรยนรและทดสอบตวจ าแนกขอมลทงสน 𝑘 ครง โดยในการท างานในรอบท 𝑖 เราจะก าหนดใหชดขอมลยอย 𝐷𝑖 ใหเปนชดขอมลทดสอบ และชดขอมลอนๆเปนชดขอมลสอน ตวอยางเชน ในการท างานรอบแรก ชดขอมลยอย 𝐷2, … , 𝐷𝑘 จะเปนชดขอมลสอน และชดขอมลยอย 𝐷1 จะเปนชดขอมลทดสอบ แตส าหรบการท างานในรอบทสอง ชดขอมลยอย 𝐷1, 𝐷3, … , 𝐷𝑘 จะเปนชดขอมลสอน และชดขอมลยอย 𝐷2 จะเปนชดขอมลทดสอบ ตามล าดบ

การท างานของ k-fold cross validation จะแตกตางจากวธการ Hold out และ Random subsampling ตรงทขอมลแตละเรคคอรดจะถกพจารณาเปนจ านวนเทาๆกนทซงจะท าหนาทเปนขอมลสอนทงสน 𝑘 − 1 และท าหนาทเปนขอมลทดสอบ 1 ครง โดยการประเมนคาความถกตองจะสามารถท าไดในแตละรอบท 𝑘𝑡ℎ ของการท างาน โดยในการประเมนคาความถกตองจากการจ าแนกขอมลในการท างานรอบท 𝑘𝑡ℎ จะสามารถค านวณไดจากจ านวนเรคคอรดทถกจ าแนกไดอยางถกตองหารดวยจ านวนเรคคอรดทงหมดในชดขอมล แตส าหรบการท านายขอมล เราจะสามารถประเมนคาความผดพลาดไดจากจ านวนคาความสญเสยในรอบท 𝑘𝑡ℎ หารดวยจ านวนเรคคอรดทงหมดในชดขอมล (ขอสงเกต โดยสวนใหญของการท าลองมกจะก าหนดคา 𝑘 = 10 ทซงจะเรยกวา 10-fold cross-validation)

วธการ Bootstrap

Bootstrap จะท าการสมเลอกเรคคอรดทใชส าหรบสอนดวยการท า “replacement” โดยท เมอเราท าการเลอกเรคคอรดหนงๆเพอเปนสวนประกอบของชดขอมลสอน หลงจากนนเราอาจจะท าเลอกเรคคอรดเดมอกครงกเปนได (วธการนจะสามารถเลอก/พจารณาเรคคอรดหนงๆไดมากกวาหนงครง)

Page 54: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

54 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

6.10.4 วธการเพมความถกตอง วธการเพมความถกตองใหกบตวจ าแนก/ท านายขอมลทไดรบความนยมจะมอย 2 วธหลก คอ “Bagging” และ “Boosting” ทซงจะเปนการน าโมเดลตางๆมาท างานรวมกน ทซงจะมรายละเอยดดงน

วธการ Bagging

Bagging จะเรมจากการแบงชดขอมลออกเปนชดขอมลยอยๆดวยวธการ Bootstrap สมมตวาเราก าหนดให 𝑘 คอจ านวนชดขอมลยอยทตองการ เมอท าการแบงชดขอมลเราจะได 𝐷1, 𝐷2, … , 𝐷𝑘 เปนชดขอมลยอย จากนนจะท าการพจารณาแตละชดขอมลยอย 𝐷𝑖 แลวท าการสรางตวจ าแนกขอมล 𝑀𝑖 ดวยวธการตางๆ (อาทเชน ตนไมตดสนใจ การจ าแนกขอมลดวยเบยเซยน โครงขายประสาทเทยมและการสงคายอนกลบ และวธการอนๆ) โดยท าการเลอกวธการใดวธการหนงๆตอชดขอมลยอย 𝐷𝑖 หนงๆ เมอท าการสรางตวจ าแนกขอมใหแกทกชดขอมลยอยแลว จะเขาสการจ าแนก/การท านายขอมล โดยเมอท าการพจารณาขอมลเรคคอรด 𝑋 ใดๆ ถางานทท าเปนการจ าแนกขอมล เราจะท าการจ าแนกขอมลจากทกตวจ าแนกขอมล 𝑀, 𝑀2, … , 𝑀𝑘 ทซงจะไดหมวดหมขอมลหนงๆจากแตละตวจ าแนกขอมล จากนนเราจะท าการคนคาหมวดหมทปรากฏมากทสดในบรรดาตวจ าแนกขอมลทงหมด แตถางานทท าเปนการท านายขอมล เราจะตองท าการท านายขอมลจากทกๆตวท านายขอมล 𝑀, 𝑀2, … , 𝑀𝑘 ทซงจะไดคาทศนยมของเรคคอรด 𝑋 (โดยจะได 1 คาตอการด าเนนการกบ 𝑀𝑖 หน งๆ) หลงจากนนจะท าการหาคาเฉลยของผลการท านายท ไดจากทกตวท านายขอมล 𝑀, 𝑀2, … , 𝑀𝑘 แลวคนคาใหแกผใชตอไป

วธการ Boosting

Boosting จะเปนวธการทคลายๆกบ Bagging ทซงจะท าการแบงขอมลออกเปน 𝑘 ชดขอมลยอย ทซงเราจะไดชดขอมลยอยเปน 𝐷1, 𝐷2, … , 𝐷𝑘 จากนนจะท าการก าหนดคาน าหนกใหแตละชดขอมลยอย จากนนจะใชแตละชดขอมลยอย 𝐷𝑖 เพอสรางตวจ าแนกขอมล 𝑀𝑖 แลวจะท าการปรบคาน าหนกเพอใหทจะท าใหตวจ าแนกขอมลตวท 𝑀𝑖+1 จะถกพจารณาอยางระมดระวงมากยงขนกบเรคคอรดทถกท านายอยางผดพลาดจากตวจ าแนกขอมล 𝑀𝑖 เมอท าการพจารณาทกๆตวจ าแนกขอมล เราจะรวมผลโหวดของทกๆการจ าแนกขอมลทซงจะถกคณดวยคาน าหนกของแตละชดขอมล

Page 55: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

55 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

อลกอรทม Adaboost อนพต - ชดขอมล 𝐷 ทมหมวดหมขอมลทงสน d หมวดหม, 𝑘 จ านวนรอบในการท างาน (ใน 1 รอบการท างานจะท าการสราง 1 ตวจ าแนกขอมล), อลกอรทมในการสรางตวจ าแนกขอมล เอาทพต โมเดลส าหรบการจ าแนกขอมล (1) ก าหนดคาน าหนกใหแกแตละเรคคอรดขอมลในชดขอมล 𝐷 ใหมคาเทากบ 1

𝑑

(2) for แตละรอบการท างาน 𝑖 = 1 ถง 𝑘 do (3) ท าการสมเลอกชดขอมล 𝐷𝑖 แบบ ‘replacement’ (4) ท าการสรางตวจ าแนกขอมล 𝑀𝑖 จากชดขอมล 𝐷𝑖 (5) ท าการค านวณคาความผดพลาดของตวจ าแนกขอมล 𝑀𝑖 ดวย 𝑒𝑟𝑟𝑜𝑟(𝑀𝑖) = ∑ 𝑤𝑗 × 𝑒𝑟𝑟(𝑋𝑗)𝑑

𝑗 เมอ 𝑒𝑟𝑟(𝑋𝑗) คอ คาความผดพลาดของการจ าแนกขอมลของเรคคอรด 𝑋𝑗 (ถาเรคคอรด 𝑋𝑗 ทท าการพจารณาถกจ าแนกหมวดหมผดพลาดจะท าให 𝑒𝑟𝑟(𝑋𝑗) มคาเทากบ 1 แตถาเรคคอรด 𝑋𝑗 ถกจ าแนกหมวดหมไดอยางถกตองจะท าให 𝑒𝑟𝑟(𝑋𝑗) มคาเทากบ 1) (6) if 𝑒𝑟𝑟𝑜𝑟(𝑀𝑖) > 0.5 (7) ท าการลางคาน าหนกดวยการก าหนดคาน าหนกใหมใหมคาเทากบ 1

𝑑 แลวยอนกลบไปด าเนนการ

ในขอท (3) (8) for แตละเรคคอรดขอมลในชดขอมลยอย 𝐷𝑖 ทถกจ าแนกหมวดหมไดอยางถกตอง do (9) ท าการอพเดทคาน าหนกของเรคคอรดดวยการคณดวย 𝑒𝑟𝑟𝑜𝑟(𝑀𝑖)

(1−𝑒𝑟𝑟𝑜𝑟(𝑀𝑖))

(10) ท าการนอรมอลไลซคาน าหนกเรคคอรดทงหมดในชดขอมลดวยการคณดวยผลรวมของคาน าหนกเกาแลวหารดวยผลรวมของคาน าหนกใหม (จะท าใหคาน าหนกของเรคคอรดทถกจ าแนกหมวดหมผดมคาสงขนแตจะท าใหคาน าหนกของเรคคอรดทถกจ าแนกหมวดหมถกมคาลดลง)

การจ าแนกขอมลเรคคอรด 𝑿

(1) ก าหนดคาน าหนกของแตละหมวดหมขอมลใหมคาเทากบ 0 (2) for แตละรอบการท างาน 𝑖 = 1 ถง 𝑘 do (3) ท าการโหวดคาน าหนกของตวจ าแนกขอมล 𝑀𝑖 (𝑤𝑖 =

1 − 𝑒𝑟𝑟𝑜𝑟(𝑀𝑖)

𝑒𝑟𝑟𝑜𝑟(𝑀𝑖))

(4) ท าการค านวณผลของการท านายส าหรบเรคคอรด 𝑿 จาก 𝑀𝑖 (𝑐 = 𝑀𝑖(𝑋)) (5) return หมวดหมขอมลทมคาน าหมกสงทสด

Adaboost เปนวธการเพมความถกตองแบบ Boosting ทไดรบความนยม โดยการท างานของ Adaboost จะมรายละเอยดดงแสดงในรปท 6.18

รปท 6.18 รายละเอยด Adaboost ส าหรบการเพมความถกตองในการจ าแนกขอมล

Page 56: บทที่ 6 การจ าแนกประเภทและการท า ...komate/886464/[6...2 Data mining—การท าเหม องข อม ล โดย

56 Data mining—การท าเหมองขอมล โดย ดร. โกเมศ อมพวน

ค าถามทายบท 1. จงอธบายขนตอนการท าการหลกของการจ าแนกขอมลดวยตนไมตดสนใจ 2. เพราะเหตใดการตดเลมตนไมจงเปนขนตอนทเปนประโยชนในการจ าแนกขอมลดวยตนไมตดสนใจ 3. จงอธบายขนตอนการท าการหลกของการจ าแนกขอมลดวบเบยเซยนอยางงาย 4. ก าหนดใหชดขอมลสอนเกยวกบขอมลพนกงานประกอบไปดวยขอมล 3 แอทรบว (แผนก ชวงอาย

และ ชวงเงนเดอน) และ หมวดหมของขอมล (สถานะ “junior” และ “senior”) ดงแสดงในตารางขางลางน แตเมอเราพจารณาตารางขอมลจะสงเกตไดวา ยงมอก 1 แอทรบว นนคอ “count” ทซงจะบงบอกถงจ านวนเรคคอรดขอมลทมคาในแอทรบว แผนก ชวงอาย ชวงเงนเดอน และ สถานะ ตามคาในเรคคอรดนนๆ

Department age salary status count Sales 31…35 46K…50K senior 30 Sales 26…30 26K…30K junior 40 Sales 31…35 31K…35K junior 40 Systems 21…25 46K…50K junior 20 Systems 31…35 66K…70K senior 5 Systems 26…30 46K…50K junior 3 Systems 41…45 66K…70K senior 3 Marketing 36…40 46K…50K senior 10 Marketing 31…35 41K…45K junior 4 Secretary 46…50 36K…40K senior 4 Secretary 26…30 26K…30K junior 6

(a) จงท าการสรางตนไมตดสนใจจากขอมลในตารางขางตน (b) ก าหนดใหขอมลเรคคอรดหนงๆประกอบไปดวย (“systems”, “26…30”, “46K…50K”) จงท า

การจ าแนกขอมลดวยตนไมตดสนใจ (c) ก าหนดใหขอมลเรคคอรดหนงๆประกอบไปดวย (“systems”, “26…30”, “46K…50K”) จงท า

การจ าแนกขอมลดวยเบยเซยนอยางงาย 5. “associative classification” คออะไร 6. เหตใด “associative classification” สามารถใหผลการจ าแนกขอมลทมความถกตองสง 7. จงเปรยบเทยบขอดและขอเสยของการเรยนรแบบกระตอรอรน (eager learning เชน ตนไมตดสนใจ,

เบยเซยน) และ การเรยนรแบบเกยจคราน (lazy learning เชน การคนหาเพอนบานใกลสด k ตว) 8. จงอธบายการท างานการคนหาเพอนบานใกลสด k ตว และท าการบอกถงหมวดหมของขอมลเรค-

คอรด (“systems”, “26…30”, “46K…50K”) จากชดขอมลสอนในตารางขางตน 9. จงอธบายวธในการตรวจสอบความถกตองและความผดพลาดในการจ าแนก/ท านายขอมล 10. จงอธบายวธในการเพมประสทธภาพในการจ าแนก/ท านายขอมล