Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

การจัดประเภท (Classification) ทำงานอย่างไร?


ความหมายของการจัดประเภท

การจัดประเภท (Classification) เป็นแนวทางการทำเหมืองข้อมูล (data-mining approach) ที่กำหนดสมาชิกให้กับชุดข้อมูล เพื่อช่วยให้การทำนายและการวิเคราะห์มีประสิทธิภาพมากขึ้น การจัดประเภทมักใช้เมื่อมีสองคลาสเป้าหมาย เรียกว่า Binary Classification (การจัดประเภทแบบทวีค่า)

เมื่อสามารถทำนายได้มากกว่าสองคลาส โดยเฉพาะในปัญหาการรู้จักรูปแบบ (pattern recognition) เรียกว่า Multinomial Classification (การจัดประเภทหลายกลุ่ม) อย่างไรก็ตาม Multinomial classification สามารถใช้สำหรับข้อมูลตอบสนองเชิงหมวดหมู่ (categorical response data) ที่ต้องการทำนายว่าหมวดหมู่ใดในหลายองค์ประกอบ มีอินสแตนซ์ที่มีความน่าจะเป็นสูงสุด

ขั้นตอนสองขั้นตอน (Two-step Process)

การจัดประเภทข้อมูล (Data classification) เป็นกระบวนการสองขั้นตอน:

ขั้นตอนที่ 1 (Learning/Training Phase): สร้างตัวแยกประเภท (classifier) ที่นิยามชุดคลาสข้อมูลหรือแนวคิดที่กำหนดไว้ล่วงหน้า นี่คือขั้นตอนการเรียนรู้ (learning phase) หรือขั้นตอนการฝึก (training phase) ที่อัลกอริทึมการจัดประเภทพัฒนาตัวแยกประเภทโดยการวิเคราะห์หรือ "เรียนรู้จาก" ชุดฝึก (training set) ที่ประกอบด้วยทูเพิลฐานข้อมูลและป้ายกำกับคลาสที่เกี่ยวข้อง

ทูเพิล X ถูกอธิบายโดยเวกเตอร์แอตทริบิวต์ n มิติ (n-dimensional attribute vector) X = (x1, x2, … xn) นิยามการวัด n ครั้งที่ทำบนทูเพิลจากแอตทริบิวต์ฐานข้อมูล n ตัว ตามลำดับ A1, A2, ... An

ทุกทูเพิล X ถูกมองว่าสมาชิกของคลาสที่กำหนดไว้ล่วงหน้า ตามที่กำหนดโดยแอตทริบิวต์ฐานข้อมูลอีกตัวหนึ่ง เรียกว่า แอตทริบิวต์ป้ายกำกับคลาส (class label attribute) แอตทริบิวต์ป้ายกำกับคลาสเป็นค่าที่ไม่ต่อเนื่อง (discrete-valued) และไม่มีลำดับ (unordered) เป็นเชิงหมวดหมู่ (categorical) ที่แต่ละค่าให้เป็นหมวดหมู่หรือคลาส

ทูเพิลเดี่ยวที่สร้างชุดฝึก ถูกนิยามว่าเป็น ทูเพิลฝึก (training tuples) และถูกเลือกจากฐานข้อมูลที่อยู่ระหว่างการวิเคราะห์ ในกรอบการจัดประเภท ทูเพิลข้อมูลสามารถนิยามว่าเป็น samples, instances, data points, หรือ objects

เนื่องจากป้ายกำกับคลาสของทุกทูเพิลฝึกได้รับการสนับสนุน (known) ขั้นตอนนี้จึงเรียกว่า Supervised Learning (การเรียนรู้ภายใต้การดูแล) สามารถเปรียบเทียบกับ Unsupervised Learning (การเรียนรู้โดยไม่มีผู้ดูแล) (หรือ Clustering) ที่ป้ายกำกับคลาสของทุกทูเพิลฝึกไม่เป็นที่รู้จัก (not known) และจำนวนหรือชุดของคลาสที่จะเรียนรู้ไม่สามารถทราบล่วงหน้าได้

ขั้นตอนที่ 2 (Classification Phase): โมเดลถูกใช้สำหรับการจัดประเภท ก่อนอื่น ความแม่นยำในการทำนาย (predictive accuracy) ของตัวแยกประเภทจะถูกประเมิน หากใช้ชุดฝึกเพื่อคำนวณความแม่นยำของตัวแยกประเภท การประเมินนี้อาจเป็นไปในทางที่ดีเกินจริง (optimistic) เพราะตัวแยกประเภทมีแนวโน้ม overfit ข้อมูล (คือ ระหว่างการเรียนรู้ อาจรวมบางความผิดปกติเฉพาะของระเบียนฝึกที่ไม่อยู่ในชุดข้อมูลทั่วไปทั้งหมด)

ดังนั้น ชุดทดสอบ (test set) จึงถูกใช้ ประกอบด้วยทูเพิลทดสอบ (test tuples) และป้ายกำกับคลาสที่เกี่ยวข้อง ทูเพิลเหล่านี้ถูกเลือกแบบสุ่มจากชุดข้อมูลทั่วไป พวกเขาเป็นอิสระจากทูเพิลฝึก หมายความว่าพวกเขาไม่ได้ถูกใช้สร้างตัวแยกประเภท