การเรียนรู้แบบมีผู้สอน

จากวิกิพีเดีย สารานุกรมเสรี

การเรียนรู้แบบมีผู้สอน (อังกฤษ: supervised learning) เป็นเทคนิคที่ได้เรื่องเลยครับการเรียนรู้ของเครื่องซึ่งสร้างฟังก์ชันจากข้อมูลสอน (training data) ข้อมูลสอนประกอบด้วยวัตถุเข้า (มักจะเป็น เวกเตอร์) และผลที่ต้องการ ผลจากการเรียนรู้จะเป็นฟังก์ชันที่อาจจะให้ค่าต่อเนื่อง (จะเรียกวิธีการว่า การถดถอย -- regression) หรือ ใช้ทำนายประเภทของวัตถุ (เรียกว่า การแบ่งประเภท -- classification) ภารกิจของเครื่องเรียนรู้แบบมีผู้สอนคือการทำนายค่าของฟังก์ชันจากวัตถุเข้าที่ถูกต้องโดยใช้ตัวอย่างสอนจำนวนน้อย (training examples -- คู่ของข้อมูลเข้าและผลที่เป็นเป้าหมาย) โดยเครื่องเรียนรู้จะต้องวางนัยทั่วไป (generalize) จากข้อมูลที่มีอยู่ไปยังกรณีที่ไม่เคยพบอย่างมีเหตุผล (ดู inductive bias)

การแก้ปัญหาการเรียนรู้แบบมีผู้สอน (เช่น การเรียนรู้เพื่อรู้จำลายมือ) มีขั้นตอนต่าง ๆ ที่ต้องพิจารณา ได้แก่

  1. กำหนดชนิดของตัวอย่างสอน ก่อนจะเริ่มทำอย่างอื่น จะต้องตัดสินว่าข้อมูลชนิดใดที่จะใช้เป็นตัวอย่าง เช่นในกรณีการรู้จักลายมือ ตัวอย่างอาจจะเป็นตัวอักษรตัวเดียว คำ หรือบรรทัด
  2. เก็บตัวอย่าง ชุดตัวอย่างสอนจะต้องมีลักษณะเป็นตามที่ใช้จริง ดังนั้นชุดข้อมูลตัวอย่างและผลที่สอดคล้องจะต้องถูกจัดเก็บจากผู้เชี่ยวชาญหรือจากการวัด
  3. กำหนดวิธีการแทนลักษณะ (feature) ของข้อมูลเข้า ความถูกต้องของฟังก์ชันจะขึ้นอยู่กับการแทนข้อมูลอย่างมาก โดยทั่วไปวัตถุเข้าจะถูกแปลงเป็นเวกเตอร์ของลักษณะ ใช้อธิบายวัตถุที่ต้องการแบ่งประเภท จำนวนลักษณะจะต้องไม่มากจนเกินไป เพราะจะทำให้เกิดปัญหา Curse of dimensionality เนื่องจากมิติที่กว้างเกินไปจนทำให้มีพื้นที่ว่างมากจนเครื่องเรียนรู้ไม่สามารถวางนัยทั่วไปได้ แต่จำนวนลักษณะก็จะต้องมากพอที่จะทำให้สามารถทำนายผลได้แม่นยำ
  4. กำหนดโครงสร้างของฟังก์ชันที่ต้องการ และขั้นตอนวิธีการเรียนรู้ที่สอดคล้อง เช่น อาจจะต้องเลือกว่าจะใช้ ข่ายงานประสาทเทียม หรือ การเรียนรู้ต้นไม้ตัดสินใจ
  5. ทำการออกแบบให้สมบูรณ์ แล้วใช้ขั้นตอนวิธีการเรียนรู้กับตัวอย่างที่เก็บมา อาจจะปรับพารามิเตอร์ต่างๆ ของขั้นตอนวิธีให้เหมาะที่สุดโดยใช้ชุดย่อยของชุดตัวอย่าง (เรียกว่า ชุดตรวจสอบ -- validation set) หรือ ใช้การตรวจสอบไขว้ (cross-validation) หลังจากปรับค่าต่างๆ แล้ว อาจจะวัดประสิทธิภาพของขั้นตอนวิธีโดยใช้ชุดทดสอบ (test set) ซึ่งแยกต่างหากจากชุดสอน

วิธีการและขั้นตอนวิธี[แก้]

1. กำหนดชนิดของตัวอย่างสอน ก่อนจะเริ่มทำอย่างอื่น จะต้องตัดสินว่าข้อมูลชนิดใดที่จะใช้เป็นตัวอย่าง เช่นในกรณีการรู้จักลายมือ ตัวอย่างอาจจะเป็นตัวอักษรตัวเดียว คำ หรือบรรทัด 2. เก็บตัวอย่าง ชุดตัวอย่างสอนจะต้องมีลักษณะเป็นตามที่ใช้จริง ดังนั้นชุดข้อมูลตัวอย่างและผลที่สอดคล้องจะต้องถูกจัดเก็บจากผู้เชี่ยวชาญหรือจากการวัด 3. กำหนดวิธีการแทนลักษณะ (feature) ของข้อมูลเข้า ความถูกต้องของฟังก์ชันจะขึ้นอยู่กับการแทนข้อมูลอย่างมาก โดยทั่วไปวัตถุเข้าจะถูกแปลงเป็นเวกเตอร์ของลักษณะ ใช้อธิบายวัตถุที่ต้องการแบ่งประเภท จำนวนลักษณะจะต้องไม่มากจนเกินไป เพราะจะทำให้เกิดปัญหา Curse of dimensionality เนื่องจากมิติที่กว้างเกินไปจนทำให้มีพื้นที่ว่างมากจนเครื่องเรียนรู้ไม่สามารถวางนัยทั่วไปได้ แต่จำนวนลักษณะก็จะต้องมากพอที่จะทำให้สามารถทำนายผลได้แม่นยำ 4. กำหนดโครงสร้างของฟังก์ชันที่ต้องการ และขั้นตอนวิธีการเรียนรู้ที่สอดคล้อง เช่น อาจจะต้องเลือกว่าจะใช้ ข่ายงานประสาทเทียม หรือ การเรียนรู้ต้นไม้ตัดสินใจ 5. ทำการออกแบบให้สมบูรณ์ แล้วใช้ขั้นตอนวิธีการเรียนรู้กับตัวอย่างที่เก็บมา อาจจะปรับพารามิเตอร์ต่างๆ ของขั้นตอนวิธีให้เหมาะที่สุดโดยใช้ชุดย่อยของชุดตัวอย่าง (เรียกว่า ชุดตรวจสอบ -- validation set) หรือ ใช้การตรวจสอบไขว้ (cross-validation) หลังจากปรับค่าต่างๆ แล้ว อาจจะวัดประสิทธิภาพของขั้นตอนวิธีโดยใช้ชุดทดสอบ (test set) ซึ่งแยกต่างหากจากชุดสอน