ชุดข้อมูล: ลักษณะของข้อมูล

ชุดข้อมูลคือคอลเล็กชันตัวอย่าง

ชุดข้อมูลจํานวนมากจัดเก็บข้อมูลไว้ในตาราง (ตารางกริด) เช่น เป็นค่าที่คั่นด้วยคอมมา (CSV) หรือจากสเปรดชีตหรือตารางฐานข้อมูลโดยตรง ตารางเป็นรูปแบบอินพุตที่ใช้งานง่ายสําหรับโมเดลแมชชีนเลิร์นนิง คุณอาจจินตนาการว่าแต่ละแถวของตารางเป็นตัวอย่าง และแต่ละคอลัมน์เป็นฟีเจอร์หรือป้ายกำกับที่เป็นไปได้ อย่างไรก็ตาม ชุดข้อมูลอาจมาจากรูปแบบอื่นๆ ด้วย ซึ่งรวมถึงไฟล์บันทึกและบัฟเฟอร์โปรโตคอล

ไม่ว่ารูปแบบจะเป็นอย่างไร โมเดล ML จะมีประสิทธิภาพดีเพียงใดก็ขึ้นอยู่กับข้อมูลที่ใช้ฝึก ส่วนนี้จะตรวจสอบลักษณะข้อมูลหลัก

ประเภทข้อมูล

ชุดข้อมูลอาจมีประเภทข้อมูลหลายประเภท ซึ่งรวมถึงแต่ไม่จํากัดเพียงประเภทข้อมูลต่อไปนี้

  • ข้อมูลตัวเลข ซึ่งอยู่ในหน่วยแยกต่างหาก
  • ข้อมูลเชิงหมวดหมู่ ซึ่งอยู่ในหน่วยแยกต่างหาก
  • ภาษามนุษย์ ซึ่งรวมถึงคำและประโยคเดี่ยวๆ ไปจนถึงเอกสารข้อความทั้งฉบับ
  • มัลติมีเดีย (เช่น รูปภาพ วิดีโอ และไฟล์เสียง)
  • เอาต์พุตจากระบบ ML อื่นๆ
  • เวกเตอร์การฝัง ซึ่งจะอธิบายในหน่วยถัดไป

ปริมาณข้อมูล

โดยทั่วไปแล้ว โมเดลควรฝึกด้วยตัวอย่างอย่างน้อย 1 ลำดับความสำคัญ (หรือ 2 ลำดับ) มากกว่าพารามิเตอร์ที่ฝึกได้ อย่างไรก็ตาม โดยทั่วไปแล้วโมเดลที่ดีจะฝึกด้วยตัวอย่างมากกว่านั้นอย่างมาก

โดยทั่วไปแล้ว โมเดลที่ฝึกจากชุดข้อมูลขนาดใหญ่ซึ่งมีฟีเจอร์ไม่มากนักจะมีประสิทธิภาพดีกว่าโมเดลที่ฝึกจากชุดข้อมูลขนาดเล็กซึ่งมีฟีเจอร์จํานวนมาก ที่ผ่านมา Google ประสบความสำเร็จอย่างมากในการฝึกโมเดลแบบง่ายในชุดข้อมูลขนาดใหญ่

ชุดข้อมูลที่แตกต่างกันสำหรับโปรแกรมแมชชีนเลิร์นนิงที่แตกต่างกันอาจต้องใช้จำนวนตัวอย่างที่แตกต่างกันอย่างมากเพื่อสร้างโมเดลที่มีประโยชน์ สําหรับปัญหาที่ค่อนข้างง่าย ตัวอย่าง 2-3 โหลก็อาจเพียงพอแล้ว สำหรับปัญหาอื่นๆ ตัวอย่าง 1 ล้านล้านรายการอาจไม่เพียงพอ

คุณอาจได้ผลลัพธ์ที่ดีจากชุดข้อมูลขนาดเล็กได้หากปรับโมเดลที่มีอยู่ซึ่งผ่านการฝึกด้วยข้อมูลจํานวนมากจากสคีมาเดียวกันแล้ว

คุณภาพและความน่าเชื่อถือของข้อมูล

ทุกคนต้องการคุณภาพสูงมากกว่าคุณภาพต่ำ แต่คุณภาพเป็นแนวคิดที่คลุมเครือมากจนสามารถนิยามได้หลายวิธี หลักสูตรนี้ให้คำจำกัดความของคุณภาพอย่างเป็นรูปธรรม ดังนี้

ชุดข้อมูลคุณภาพสูงจะช่วยให้โมเดลบรรลุเป้าหมาย ชุดข้อมูลคุณภาพต่ำจะทําให้โมเดลบรรลุเป้าหมายไม่ได้

ชุดข้อมูลคุณภาพสูงมักจะเชื่อถือได้เช่นกัน ความน่าเชื่อถือหมายถึงระดับที่คุณเชื่อถือข้อมูลได้ โมเดลที่ฝึกจากชุดข้อมูลที่เชื่อถือได้มีแนวโน้มที่จะให้การคาดการณ์ที่เป็นประโยชน์มากกว่าโมเดลที่ฝึกจากข้อมูลที่ไม่น่าเชื่อถือ

ในการวัดความเสถียร คุณต้องระบุสิ่งต่อไปนี้

  • ข้อผิดพลาดเกี่ยวกับป้ายกำกับพบบ่อยแค่ไหน เช่น หากข้อมูลได้รับการติดป้ายกำกับโดยเจ้าหน้าที่ เจ้าหน้าที่ให้คะแนนผิดพลาดบ่อยเพียงใด
  • ฟีเจอร์มีเสียงรบกวนหรือไม่ กล่าวคือ ค่าในฟีเจอร์ของคุณมีข้อผิดพลาดหรือไม่ โปรดเข้าใจว่าคุณจะกรองข้อมูลทั้งหมดออกจากชุดข้อมูลไม่ได้ สัญญาณรบกวนบางอย่างเป็นเรื่องปกติ เช่น การวัด GPS ของสถานที่ใดก็ตามจะผันผวนเล็กน้อยเสมอในแต่ละสัปดาห์
  • ข้อมูลได้รับการกรองอย่างถูกต้องสำหรับปัญหาของคุณหรือไม่ ตัวอย่างเช่น ชุดข้อมูลควรรวมคำค้นหาจากบ็อตหรือไม่ หากคุณกำลังสร้างระบบตรวจจับสแปม คำตอบก็น่าจะเป็นใช่ แต่หากต้องการปรับปรุงผลการค้นหาสำหรับผู้ใช้ ก็ไม่ต้อง

สาเหตุที่พบบ่อยของข้อมูลที่ไม่น่าเชื่อถือในชุดข้อมูลมีดังนี้

  • ค่าที่ละเว้น เช่น ผู้ใช้ลืมป้อนค่าอายุของบ้าน
  • ตัวอย่างที่ซ้ำกัน เช่น เซิร์ฟเวอร์อัปโหลดรายการบันทึกเดียวกัน 2 ครั้งโดยไม่ได้ตั้งใจ
  • ค่าฟีเจอร์ไม่ถูกต้อง เช่น มีคนพิมพ์ตัวเลขเกินมา หรือมีการวางเครื่องวัดอุณหภูมิไว้กลางแดด
  • ป้ายกำกับไม่ถูกต้อง เช่น มีคนติดป้ายกำกับรูปภาพต้นโอ๊กเป็นต้นเมเปิล
  • ส่วนข้อมูลที่ไม่ถูกต้อง ตัวอย่างเช่น ฟีเจอร์หนึ่งๆ ทำงานได้อย่างน่าเชื่อถือมาก ยกเว้นวันที่เครือข่ายขัดข้อง

เราขอแนะนำให้ใช้การทำงานอัตโนมัติเพื่อแจ้งว่าข้อมูลไม่น่าเชื่อถือ ตัวอย่างเช่น การทดสอบหน่วยที่กําหนดหรือใช้สคีมาข้อมูลที่ถูกต้องอย่างเป็นทางการภายนอกสามารถแจ้งค่าที่อยู่นอกช่วงที่กําหนดได้

ตัวอย่างที่สมบูรณ์กับตัวอย่างที่ไม่สมบูรณ์

ตัวอย่างแต่ละรายการควรสมบูรณ์ กล่าวคือ ตัวอย่างแต่ละรายการมีค่าสำหรับฟีเจอร์แต่ละรายการ

รูปที่ 1 ตัวอย่างที่มีค่าสำหรับฟีเจอร์ทั้ง 5 รายการ
รูปที่ 1 ตัวอย่างที่สมบูรณ์

 

แต่ตัวอย่างในชีวิตจริงมักไม่สมบูรณ์ ซึ่งหมายความว่าไม่มีค่าฟีเจอร์อย่างน้อย 1 ค่า

รูปที่ 2 ตัวอย่างที่มีค่าสำหรับฟีเจอร์ 4 จาก 5 รายการ มีการทำเครื่องหมายว่าฟีเจอร์ 1 รายการหายไป
รูปที่ 2 ตัวอย่างที่ไม่สมบูรณ์

 

อย่าฝึกโมเดลด้วยตัวอย่างที่ไม่สมบูรณ์ แต่ให้แก้ไขหรือนำตัวอย่างที่ไม่สมบูรณ์ออกโดยทำอย่างใดอย่างหนึ่งต่อไปนี้

  • ลบตัวอย่างที่ไม่สมบูรณ์
  • Imputeค่าที่ขาดหายไป กล่าวคือ แปลงตัวอย่างที่ไม่สมบูรณ์ให้เป็นตัวอย่างที่สมบูรณ์โดยให้ค่าประมาณที่มีเหตุผลสําหรับค่าที่ขาดหายไป
รูปที่ 3 ชุดข้อมูลที่มีตัวอย่าง 3 รายการ โดย 2 รายการเป็นตัวอย่างที่ไม่สมบูรณ์ มีคนลบตัวอย่างที่ไม่สมบูรณ์ 2 รายการนี้ออกจากชุดข้อมูลแล้ว
รูปที่ 3 การลบตัวอย่างที่ไม่สมบูรณ์ออกจากชุดข้อมูล

 

รูปที่ 4 ชุดข้อมูลที่มีตัวอย่าง 3 รายการ โดย 2 รายการเป็นตัวอย่างที่ไม่สมบูรณ์ซึ่งมีข้อมูลที่ขาดหายไป เอนทิตีบางรายการ (บุคคลหรือซอฟต์แวร์การทดแทนค่า) ได้ทดแทนค่าที่ขาดหายไป
รูปที่ 4 การป้อนค่าที่ขาดหายไปสําหรับตัวอย่างที่ไม่สมบูรณ์

 

หากชุดข้อมูลมีตัวอย่างที่สมบูรณ์เพียงพอที่จะฝึกโมเดลที่มีประโยชน์ ให้พิจารณาลบตัวอย่างที่ไม่สมบูรณ์ ในทํานองเดียวกัน หากมีเพียงฟีเจอร์เดียวที่ไม่มีข้อมูลจํานวนมากและฟีเจอร์นั้นอาจช่วยโมเดลได้ไม่มากนัก ให้ลองลบฟีเจอร์นั้นออกจากอินพุตของโมเดล แล้วดูว่าคุณภาพลดลงมากน้อยเพียงใดเมื่อนำฟีเจอร์นั้นออก หากโมเดลทำงานได้ดีพอๆ กันหรือเกือบจะดีเท่าเดิมโดยไม่ต้องใช้ฟีเจอร์นี้ ก็ถือว่ายอดเยี่ยม ในทางกลับกัน หากคุณมีตัวอย่างที่สมบูรณ์ไม่เพียงพอที่จะฝึกโมเดลที่มีประโยชน์ คุณอาจต้องพิจารณาป้อนค่าที่ขาดหายไป

การลบตัวอย่างที่ไร้ประโยชน์หรือซ้ำซ้อนนั้นไม่มีปัญหา แต่การลบตัวอย่างที่สําคัญนั้นไม่เหมาะ ขออภัยที่การแยกแยะตัวอย่างที่มีประโยชน์และไม่มีประโยชน์นั้นเป็นเรื่องยาก หากตัดสินใจไม่ได้ว่าจะลบหรือทดแทนข้อมูล ให้ลองสร้างชุดข้อมูล 2 ชุด โดยชุดข้อมูลหนึ่งสร้างขึ้นโดยการลบตัวอย่างที่ไม่สมบูรณ์ และอีกชุดสร้างขึ้นโดยการทดแทนข้อมูล จากนั้นให้พิจารณาว่าชุดข้อมูลใดฝึกโมเดลได้ดีกว่า


อัลกอริทึมทั่วไปอย่างหนึ่งคือการใช้ค่ามัธยฐานหรือค่ามัธยฐานเป็นค่าที่ป้อน ดังนั้น เมื่อคุณแสดงองค์ประกอบที่เป็นตัวเลขด้วยคะแนน Z ค่าที่ป้อนมักจะเป็น 0 (เนื่องจากโดยทั่วไป 0 คือคะแนน Z เฉลี่ย)

แบบฝึกหัด: ทดสอบความเข้าใจ

ต่อไปนี้คือ 2 คอลัมน์ของชุดข้อมูลที่จัดเรียงตาม Timestamp

การประทับเวลา อุณหภูมิ
8 มิถุนายน 2023 เวลา 09:00 น. 12
8 มิถุนายน 2023 เวลา 10:00 น. 18
8 มิถุนายน 2023 เวลา 11:00 น. ขาดหายไป
8 มิถุนายน 2023 เวลา 12:00 น. 24
8 มิถุนายน 2023 เวลา 13:00 น. 38

ค่าใดต่อไปนี้เป็นค่าที่เหมาะสมในการทดแทนอุณหภูมิที่ขาดหายไป

23
อาจจะ 23 คือค่าเฉลี่ยของค่าที่อยู่ติดกัน (12, 18, 24 และ 38) อย่างไรก็ตาม เราไม่เห็นชุดข้อมูลที่เหลือ จึงเป็นไปได้ว่า 23 อาจเป็นค่าผิดปกติของเวลา 11:00 น. ในวันอื่นๆ
31
ไม่น่าจะเป็นไปได้ ข้อมูลชุดย่อยที่เราเห็นบ่งชี้ว่า 31 สูงเกินไปสําหรับอุณหภูมิเวลา 11:00 น. อย่างไรก็ตาม เราไม่สามารถแน่ใจได้หากไม่ได้อิงการประมาณตามตัวอย่างจำนวนมากขึ้น
51
ไม่มีแนวโน้มเลย 51 สูงกว่าค่าที่แสดงทั้งหมดอย่างมาก (และสูงกว่าค่ามัธยฐานด้วย)