การเรียนรู้ของเครื่อง

การเรียนรู้ของเครื่อง (อังกฤษ: machine learning) เป็นสาขาหนึ่งของปัญญาประดิษฐ์ที่พัฒนามาจากการศึกษาการรู้จำแบบ เกี่ยวข้องกับการศึกษาและการสร้างอัลกอริทึมที่สามารถเรียนรู้ข้อมูลและทำนายข้อมูลได้ อัลกอริทึมนั้นจะทำงานโดยอาศัยโมเดลที่สร้างมาจากชุดข้อมูลตัวอย่างขาเข้าเพื่อการทำนายหรือตัดสินใจในภายหลัง แทนที่จะทำงานตามลำดับของคำสั่งโปรแกรมคอมพิวเตอร์
การเรียนรู้ของเครื่องมีเกี่ยวข้องอย่างมากกับสถิติศาสตร์ เนื่องจากทั้งสองสาขาศึกษาการวิเคราะห์ข้อมูลเพื่อการทำนายเช่นกัน นอกจากนี้ยังมีความสัมพันธ์กับสาขาการหาค่าเหมาะที่สุดในทางคณิตศาสตร์ที่แงของวิธีการ ทฤษฎี และการประยุกต์ใช้ การเรียนรู้ของเครื่องสามารถนำไปประยุกต์ใช้งานได้หลากหมาย ไม่ว่าจะเป็นการกรองอีเมล์ขยะ การรู้จำตัวอักษร เครื่องมือค้นหา และคอมพิวเตอร์วิทัศน์

ภาพรวม

อาเธอร์ ซามูเอล นักวิทยาศาสตร์คอมพิวเตอร์ชาวอเมริกันได้ให้นิยามของการเรียนรู้ของเครื่องจักรไว้ในปี ค.ศ. 1959 ว่า "เป็นสาขาที่ให้คอมพิวเตอร์มีความสามารถในการเรียนรู้โดยไม่ต้องโปรแกรมให้ชัดเจน"
ทอม เอ็ม. มิตเชลล์ ได้ขยายนิยามอย่างเป็นทางการกว้างๆไว้ว่า "เราจะเรียกคอมพิวเตอร์โปรแกรมว่าได้เรียนรู้จากประสบการณ์ E เพื่อทำงาน T ได้โดยมีประสิทธิผล P เมื่อโปรแกรมนั้นสามารถทำงาน T ที่วัดผลด้วย P แล้วพัฒนาขึ้นจากประสบการณ์ E" คำนิยามนี้เป็นข้อจำกัดความที่มีชื่อเสียงเพราะเป็นการนิยามการเรียนรู้ของเครื่องจักรในแง่ของการดำเนินการมากกว่าในแง่ของความรู้สึกนึกคิด เปรียบเทียบคือ เป็นการเปลี่ยนคำถามของแอลัน ทัวริงที่เคยถามว่า "เครื่องจักรคิดได้หรือไม่" เป็นคำถามที่ว่า "เครื่องจักรจะทำงานที่พวกเราทำได้หรือไม่"

ลักษณะการเรียนรู้ของเครื่องจักรแสดงได้ดังภาพที่ 1 เทคนิคการเรียนรู้ของเครื่องจักร

ความสัมพันธ์กับสถิติศาสตร์

การเรียนรู้ของเครื่องมีความสัมพันธ์กับสถิติศาสตร์อย่างใกล้ชิด ไมเคิล ไอ. จอร์แดน นักวิทยาศาสตร์คอมพิวเตอร์ชาวอเมริกันชี้ว่าแนวคิดของการเรียนรู้ของเครื่องก็มาจากหลักการของทฤษฎีที่มีมาอย่างยาวนานของสถิติศาสตร์ ในขณะที่นักวิทยาศาสตร์บางคนมองว่า สถิติให้ความสำคัญกับข้อมูล ขณะที่การเรียนรู้ของเครื่องให้ความสำคัญกับอัลกอริทึมมากกว่า
นักสถิติศาสตร์บางคนก็ยังปรับเอาหลักการของการเรียนรู้ของเครื่องไปใช้ นำไปสู่กับผสมผสานกันระหว่างสองศาสตร์ กลายเป็นศาสตร์ที่ชื่อ การเรียนรู้ทางสถิติ

ทฤษฎี

หัวใจสำคัญของการเรียนรู้ของเครื่องคือ การทำให้โมเดลมีความ"ทั่วไป" (general) มากขึ้นจากประสบกาณ์ที่ได้มา การทำให้ทั่วไปมากขึ้นนี้จะทำให้เครื่องสามารถพยากรณ์หรือทำงานกับตัวอย่างข้อมูลที่ไม่เคยเห็นมาก่อนได้อย่างแม่นยำมากขึ้น บางครั้ง ข้อมูลชุดสอนก็มาจากการสุ่มและผู้เรียนรู้จะต้องทำให้โมเดลมีความั่วไปมากขึ้นเพื่อจะได้ทำการพยากรณ์ข้อมูลใหม่ๆได้อย่างถูกต้องเพียงพอ
การวิเคราะห์เชิงคำนวณของการเรียนรู้ของเครื่อง และการวัดประสิทธิภาพการเรียนรู้ เป็นอีกสาขาหนึ่งทางวิทยาศาสตร์คอมพิวเตอร์สายทฤษฎีที่รู้จักกันในชื่อ ทฤษฎีการเรียนรู้เชิงคำนวณ อย่างไรก็ตาม ทฤษฎีก็ไม่สามารถรับประกันประสิทธิภาพของอัลกอริทึมได้เพราะข้อมูลนั้นมีจำกัดและอนาคตมีความไม่แน่นอน แต่ทฤษฎีก็สามารถบอกขอบเขตบนความน่าจะเป็นได้ว่า ประสิทธิภาพน่าจะอยู่ในช่วงใด นอกจากนี้ นักวิทยาศาสตร์ด้านนี้ยังได้ศึกษาดูต้นทุนทางเวลาและความเป็นไปได้ของการเรียนรู้ของเครื่องด้วย โดยการคำนวณที่ถือว่าเป็นไปได้ในการเรียนรู้นั้นจะต้องสามารถเรียนรู้ได้ในเวลาโพลิโนเมียล

การเรียนรู้ต้นไม้ตัดสินใจ (decision tree learning)

การเรียนรู้ต้นไม้ตัดสินใจ ใช้ต้นไม้ตัดสินใจในการสร้างโมเดลที่พยากรณ์ได้ ซึ่งจะเชื่อมโยงข้อมูลสังเกตการณ์เข้ากับข้อมูลปลายทาง

กฎความสัมพันธ์ (association rule learning)

กฎความสัมพันธ์ เป็นวิธีการหาความสัมพันธ์ที่น่าสนใจจากตัวแปรในฐานข้อมูลขนาดใหญ่

โครงข่ายประสาทเทียม (artificial neural networks)

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

การโปรแกรมตรรกะเชิงอุปนัย (inductive logic programming)

การโปรแกรมตรรกะเชิงอุปนัย เป็นวิธีการเรียนรู้จากกฎโดยใช้การโปรแกรมตรรกะ เมื่อมีข้อมูลเบื้องหลังและกลุ่มของตัวอย่างที่เป็นฐานข้อมูลตรรกะแล้ว โปรแกรมตรรกะเชิงอุปนัยจะหาโปรแกรมตรรกะที่ครอบคลุมตัวอย่างบวกแต่ไม่รอบคลุมตัวอย่างลบ

ซัพพอร์ตเวกเตอร์แมชชีน (support vector machines)

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

การแบ่งกลุ่มข้อมูล (clustering)

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

เครือข่ายแบบเบย์ (Bayesian networks)

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

การเรียนรู้แบบเสริมกำลัง (reinforcement learning)

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

การเรียนรู้ด้วยการแทน (representation learning)

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

การเรียนรู้ด้วยความคล้าย (similarity and metric learning)

ในการเรียนรู้ด้วยความคล้ายนั้น เครื่องจะมีตัวอย่างของคู่ที่ถูกมองว่าคล้ายมากและคู่ที่ถูกมองว่าคล้ายน้อย เครื่องจะต้องหาฟังก์ชันความคล้ายออกมาที่สามารถทำนายได้ว่าวัตถุใหม่นั้นมีความคล้ายมากน้อยเพียงใด มักใช้ในระบบแนะนำ (recommendation system)

ขั้นตอนวิธีเชิงพันธุกรรม (genetic algorithms)

ขั้นตอนวิธีเชิงพันธุกรรม เป็นการค้นหาแบบฮิวริสติกที่เลียนแบบกระบวนการคัดเลือกตามธรรมชาติในช่วงวิวัฒนาการของสิ่งมีชีวิต โดยใช้เทคนิคการกลายพันธุ์ของยีนและการไขว้เปลี่ยนของโครโมโซมในการหาประชากรที่น่าจะอยู่รอดเพื่อพาไปสู่คำตอบของปัญหาได้ อัลกอริทึมนี้ได้รับความสนใจมากในสาขาการเรียนรู้ของเครื่องในช่วงทศวรรษ 1980 และ 1990 และเทคนิคทางการเรียนรู้ของเครื่องก็ช่วยปรับปรุงประสิทธิภาพของขั้นตอนวิธีเชิงพันธุกรรมและขั้นตอนวิธีเชิงวิวัฒนาการเช่นกัน