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

**การเรียนรู้ของเครื่อง** ( - ML) เป็นส่วนหนึ่งของปัญญาประดิษฐ์ และเป็นสาขาวิชาที่พัฒนาและการศึกษาแบบจำลองเชิงสถิติที่สามารถเรียนรู้และพัฒนาตัวเองจากข้อมูล ซึ่งมักแบ่งเป็นชุดข้อมูลฝึกฝน ตรวจสอบ และทดสอบ (training, validation, test data set)  แล้ววางนัยทั่วไปหรือคาดการณ์จากข้อมูลใหม่ที่ยังไม่เคยเห็น และทำภารกิจ (task) ต่าง ๆ โดยไม่ต้องระบุคำสั่งอย่างชัดเจน ตัวแบบโครงข่ายประสาทเทียมสามารถแสดงสมรรถนะเหนือแนวทางรูปแบบอื่น ๆ

มีการประยุกต์ใช้การเรียนรู้ของเครื่องในหลากหลายสาขา ไม่ว่าจะเป็นการประมวลภาษาธรรมชาติ คอมพิวเตอร์วิทัศน์ การรู้จำคำพูด การกรองอีเมล (email filtering) การเกษตร และการแพทย์ ในการประยุกต์ใช้ทางธุรกิจ การเรียนรู้ของเครื่องเป็นที่รู้จักในอีกชื่อว่าการพิเคราะห์เชิงทำนาย (predictive analytics) แม้ว่าการเรียนรู้ของเครื่องไม่ได้มีพื้นฐานเชิงสถิติไปทุกรูปแบบ แต่วิธีวิทยาในสาขานี้มาจากสาขาวิชาสถิติเชิงคำนวณ (Computational statistics) เป็นสำคัญ 

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

การเรียนรู้ที่น่าจะถูกต้องโดยประมาณ (Probably approximately correct learning) เป็นกรอบคำอธิบายเชิงทฤษฎีสำหรับการเรียนรู้ของเครื่อง

## ประวัติ
thumb|ภาพที่ 1 เทคนิคการเรียนรู้ของเครื่องจักร

อาเธอร์ ซามูเอล นักวิทยาศาสตร์คอมพิวเตอร์ชาวอเมริกัน ลูกจ้างไอบีเอ็ม และผู้บุกเบิกสาขาเกมคอมพิวเตอร์กับปัญญาประดิษฐ์  บัญญัติคำว่า *machine learning* ไว้ใน ค.ศ. 1959 และให้นิยามของการเรียนรู้ของเครื่องไว้ ว่า "เป็นสาขาที่ให้คอมพิวเตอร์มีความสามารถในการเรียนรู้โดยไม่ต้องโปรแกรมให้ชัดเจน" ในช่วงเวลาเดียวกันนั้น มีการใช้คำว่า *self-teaching computers* (คอมพิวเตอร์สอนตัวเอง)

หนึ่งในตัวแบบเรียนรู้ของเครื่องตัวแรก ๆ ในคริสต์ทศวรรษ 1950 เป็นโปรแกรมคอมพิวเตอร์ที่เขียนขึ้นโดยอาเธอร์ ซามูเอล ซึ่งคำนวณโอกาสชนะของแต่ละฝั่งในตาหมากรุก แต่ประวัติศาสตร์ของการเรียนรู้ของเครื่องมีรากเหง้าจากความพยายามและความปรารถนาที่จะศึกษากระบวนการรู้คิดของมนุษย์เป็นเวลานานนับสิบปี ใน ค.ศ. 1949 นักจิตวิทยาชาวแคนาดา ดอนัลด์ โอ. เฮบบ์ (Donald O. Hebb) เผยแพร่หนังสือ *[[Organization of Behavior]]* ซึ่งเสนอโครงข่ายประสาททางทฤษฎี (Hebbian theory) ที่ประกอบด้วยปฏิสัมพันธ์ระหว่างเซลล์ประสาท ตัวแบบปฏิสัมพันธ์ระหว่างเซลล์ประสาทของเฮบบ์วางรากฐานให้กับการทำงานของปัญญาประดิษฐ์และการเรียนรู้ของเครื่องด้วย*[[โหนด (วิทยาการคอมพิวเตอร์)|โหนด]]* หรือเซลล์ประสาทเทียม (artificial neuron) ที่คอมพิวเตอร์ใช้สื่อสารข้อมูล นอกจากนี้ ยังมีนักตรรกวิทยา วอลเตอร์ พิตส์ (Walter Pitts) และวอร์เรน แมคคัลลอค (Warren Sturgis McCulloch) ผู้เสนอตัวแบบทางคณิตศาสตร์ของโครงข่ายประสาทเป็นขั้นตอนวิธีที่จำลองกระบวนการคิดของมนุษย์

ช่วงต้นคริสต์ทศวรรษ 1960 บริษัทเรย์เธียนได้พัฒนา "เครื่องเรียนรู้" (learning machine) ทดลองด้วยหน่วยความจำแถบกระดาษเจาะรู (punched tape) ชื่อว่า *ไซเบอร์ตรอน* (Cybertron) สำหรับใช้วิเคราะห์สัญญาณโซนาร์ คลื่นไฟฟ้าหัวใจ และแบบแผนคำพูด ด้วยวิธีการเรียนรู้แบบเสริมกำลังระดับพื้นฐาน โดยมีมนุษย์ผู้ควบคุมคอยฝึกสอนซ้ำหลายครั้งให้รู้จำแบบแผน ผู้ควบคุมมีปุ่ม "goof" ที่ทำให้เครื่องประเมินค่าคำตัดสินที่ผิดพลาดใหม่อีกที หนังสือตัวแทนของงานวิจัยด้านการเรียนรู้ของเครื่องในยุคคริสต์ทศวรรษ 1960 คือ *Learning Machines* ของนิลส์ จอห์น นิลสัน (Nils John Nilsson) เนื้อหาส่วนใหญ่เกี่ยวกับการเรียนรู้ของเครื่องเพื่อรู้จำแบบ ความสนใจต่อการรู้จำแบบดำรงมาจนถึงคริสต์ทศวรรษ 1970 เช่นในหนังสือของริชาร์ด โอ. ดูดา (Richard O. Duda) และปีเตอร์ อี. ฮาร์ต (Peter E. Hart) *Pattern Recognition and Scene Analysis* ใน ค.ศ. 1981 มีการเผยแพร่รายงานเกี่ยวกับกลยุทธ์การสอนให้โครงข่ายประสาทเทียมสามารถรู้จำอักขระ 40 ตัว (ตัวอักษร 26 ตัว ตัวเลข 10 ตัว สัญลักษณ์พิเศษ 4 ตัว) จากคอมพิวเตอร์เทอร์มินัล

ทอม เอ็ม. มิตเชลล์ (Tom M. Mitchell) ได้ให้นิยามแบบรูปนัยแก่ขั้นตอนวิธีที่สาขาการเรียนรู้ของเครื่องศึกษาว่า "กล่าวได้ว่าโปรแกรมคอมพิวเตอร์เรียนรู้จากประสบการณ์ *E* เพื่อทำงานประเภทหนึ่ง *T* ได้โดยมีประสิทธิผล *P* เมื่อสามารถทำงาน *T* ที่วัดผลด้วย *P* แล้วพัฒนาขึ้นจากประสบการณ์ *E*" คำนิยามนี้เป็นการจำกัดความการเรียนรู้ของเครื่องในแง่การดำเนินการมากกว่าในแง่ความรู้สึกนึกคิด คล้ายข้อเสนอของแอลัน ทัวริง ในงานเขียนทรงอิทธิพล *[[Computing Machinery and Intelligence]]* ที่เปลี่ยนคำถามว่า "เครื่องจักรคิดได้หรือไม่" เป็นคำถามว่า "เครื่องจักรจะทำงานที่พวกเรา (ในฐานะสิ่งที่มีความคิดความอ่าน) ทำได้หรือไม่"

## ความสัมพันธ์กับสาขาอื่น
### ปัญญาประดิษฐ์
thumb|การเรียนรู้ของเครื่องเป็นสาขาย่อยของปัญญาประดิษฐ์
ศาสตร์ด้านการเรียนรู้ของเครื่องเติบโตจากความพยายามค้นหาปัญญาประดิษฐ์ ในยุคแรก ๆ ของปัญญาประดิษฐ์ในฐานะสาขาวิชา  นักวิทยาศาสตร์สนใจการสร้างเครื่องจักรที่สามารถเรียนรู้จากข้อมูลได้ จึงเริ่มทดลองด้วยวิธีการที่หลายหลาย ไม่ว่าจะด้วยวิธีการทางสัญลักษณ์ หรือด้วยโครงข่ายประสาทเทียม อันประกอบด้วยเพอร์เซปตรอนและตัวแบบอื่นเช่น ADALINE เป็นหลัก ซึ่งในเวลาต่อมาพบว่าเป็นเพียงการคิดค้นขึ้นซ้ำกับตัวแบบเชิงเส้นนัยทั่วไป (generalized linear model) จากวิชาสถิติ และยังได้ใช้การให้เหตุผลเชิงน่าจะเป็น (probabilistic reasoning) โดยเฉพาะในการประยุกต์ด้านการวินิจฉัยโรคอัตโนมัติ (Computer-aided diagnosis)

อย่างไรก็ตาม นักวิจัยในสายปัญญาประดิษฐ์ยุคต่อมาเริ่มหันมาให้ความสำคัญกับแนวทางที่ใช้วิธีการทางตรรกศาสตร์และการแทนความรู้มากขึ้น จนทำให้ปัญญาประดิษฐ์เริ่มแยกตัวออกจากกับศาสตร์การเรียนรู้ของเครื่อง ระบบที่ใช้ความน่าจะเป็นเต็มไปด้วยปัญหาทางทฤษฎีและปฏิบัติ ทั้งในการแทนและการได้มาซึ่งข้อมูล ต่อมาในปี 1980 ระบบผู้เชี่ยวชาญเริ่มโดดเด่นในสายของปัญญาประดิษฐ์จนหมดยุคของการใช้หลักสถิติ งานวิจัยด้านการเรียนรู้เชิงสัญลักษณ์และบนฐานความรู้ยังคงออกมาเรื่อย ๆ จนนำมาสู่การเขียนโปรแกรมเชิงตรรกะแบบอุปนัย ส่วนงานวิจัยด้านสถิติไปมีบทบาทนอกสาขาเฉพาะของปัญญาประดิษฐ์ เช่นในการรู้จำแบบและการค้นคืนสารสนเทศ นักวิจัยสายปัญญาประดิษฐ์และนักวิทยาศาสตร์คอมพิวเตอร์ได้ทิ้งงานวิจัยด้านโครงข่ายประสาทเทียมไปในเวลาเดียวกัน แต่ก็ยังมีนักวิจัยนอกสาขา เช่น จอห์น ฮอปฟีลด์ เดวิด รูเมลฮาร์ต และ เจฟฟรีย์ ฮินตัน ที่ยังพัฒนาโครงข่ายประสาทเทียมต่อไปในชื่อ "connectionism" โดยช่วงกลางคริสต์ทศวรรษ 1980 ได้คิดค้นหลักการการแพร่กระจายย้อนกลับขึ้นใหม่ซ้ำ และประสบความสำเร็จมากมายในเวลาต่อมา

การเรียนรู้ของเครื่อง ที่จัดระเบียบใหม่และเป็นที่รู้จักในฐานะสาขาวิชาเฉพาะตัว เริ่มเฟื่องฟูอีกทีในคริสต์ทศวรรษ 1990 โดยเปลี่ยนเป้าหมายจากปัญญาประดิษฐ์เป็นการจัดการแก้ไขปัญหาเชิงปฏิบัติ และเริ่มหันหน้าจากแนวทางของปัญญาประดิษฐ์เชิงสัญลักษณ์ (symbolic artificial intelligence) ที่ตกทอดมาจากสาขาปัญญาประดิษฐ์ ไปหาวิธีการและตัวแบบที่หยิบยืมจากสาขาสถิติศาสตร์ ตรรกศาสตร์คลุมเครือ และทฤษฎีความน่าจะเป็น

### การทำเหมืองข้อมูล
ส่วนการเรียนรู้ของเครื่องกับการทำเหมืองข้อมูลมักจะใช้วิธีการเหมือน ๆ กันและมีส่วนคาบเกี่ยวกันอย่างเห็นได้ชัด สิ่งที่แตกต่างระหว่างสองศาสตร์นี้คือ
* การเรียนรู้ของเครื่อง เน้นเรื่องการพยากรณ์ข้อมูลจากคุณสมบัติที่ "รู้" แล้วที่ได้เรียนรู้มาจากข้อมูลชุดสอน
* การทำเหมืองข้อมูล เน้นเรื่องการค้นหาคุณสมบัติที่ "ไม่รู้" มาก่อนจากข้อมูลที่ได้มา กล่าวได้ว่าเป็นขั้นตอนการวิเคราะห์เพื่อค้นหา "ความรู้" ในฐานข้อมูล

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

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

### สถิติศาสตร์
การเรียนรู้ของเครื่องมีความสัมพันธ์กับสถิติศาสตร์อย่างใกล้ชิดในแง่ของวิธีการ แต่เป้าหมายหลักต่างกัน สถิติศาสตร์หาข้ออนุมาน (statistical inference) เกี่ยวกับประชากรจากกลุ่มตัวอย่างกลุ่มหนึ่ง (sample (statistics) ในขณะที่การเรียนรู้ของเครื่องหาแบบแผนพยากรณ์ที่สามารถวางนัยทั่วไปได้ ไมเคิล ไอ. จอร์แดน (Michael I. Jordan) นักวิทยาศาสตร์คอมพิวเตอร์ชาวอเมริกันชี้ว่าแนวคิดของการเรียนรู้ของเครื่อง ทั้งหลักวิธีวิทยาและเครื่องมือทางทฤษฎี มีที่มาจากสถิติศาสตร์ และเสนอให้ใช้คำว่าวิทยาการข้อมูลไว้เรียกแทนทั้งสาขาวิชา

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

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

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

ทฤษฎีการเรียนรู้เชิงคำนวณ (computational learning theory) เป็นอีกสาขาหนึ่งทางวิทยาการคอมพิวเตอร์เชิงทฤษฎี (theoretical computer science) ซึ่งวิเคราะห์เชิงคำนวณเกี่ยวกับขั้นตอนวิธีและประสิทธิภาพของการเรียนรู้ของเครื่อง ผ่านตัวแบบการเรียนรู้ที่น่าจะถูกต้องโดยประมาณ (Probably approximately correct learning) อย่างไรก็ตาม ทฤษฎีเกี่ยวกับการเรียนรู้ไม่สามารถรับประกันประสิทธิภาพของขั้นตอนวิธีได้เพราะข้อมูลนั้นมีจำกัดและอนาคตมีความไม่แน่นอน แต่ทฤษฎีก็สามารถบอกขอบเขตบนความน่าจะเป็นได้ว่า ประสิทธิภาพน่าจะอยู่ในช่วงใด หนึ่งในวิธีการวัดความคลาดเคลื่อน (errors and residuals) ของการวางนัยทั่วไปคือการแยกความแปรปรวน-ความเอนเอียง (bias–variance decomposition)

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

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

## วิธีการเรียนรู้

### ประเภทของการเรียนรู้
การเรียนรู้ของเครื่องสามารถแบ่งออกเป็นสามประเภทกว้าง ๆ โดยอิงจากกระบวนทัศน์การเรียนรู้ และขึ้นกับลักษณะของ "สัญญาณ" หรือ "ผลป้อนกลับ" ที่ส่งให้กับระบบที่กำลังเรียนรู้:
* การเรียนรู้แบบมีผู้สอน: เครื่องเรียนรู้จะรับเอากลุ่มตัวอย่างของข้อมูลขาเข้าพร้อมกับข้อมูลขาออกที่ประสงค์จาก "ผู้สอน" โดยมีเป้าหมายว่าจะเรียนรู้กฎทั่วไปที่จะ''ส่ง''ข้อมูลขาเข้าเป็นข้อมูลขาออก
* การเรียนรู้แบบไม่มีผู้สอน: เครื่องจะไม่ได้รับ "ฉลาก" หรือข้อมูลขาออกที่ประสงค์ และต้องค้นหาโครงสร้างภายในข้อมูลขาเข้าด้วยตัวของตัวเอง โดยอาจใช้ในการค้นหาแบบแผนที่แฝงตัวอยู่ในข้อมูล หรือใช้เป็นขั้นตอนหนึ่งในกระบวนการเรียนรู้ เช่นในขั้นตอนการเรียนรู้ค่าแทนลักษณะ 
* การเรียนรู้แบบเสริมกำลัง: เครื่องจะปฏิสัมพันธ์กับสภาพแวดล้อมที่มีพลวัต โดยจะต้องทำภารกิจบางอย่าง (เช่นการขับรถ (Self-driving car) หรือการเล่นเกมเอาชนะคู่แข่ง) และระหว่างควานหาทางในปริภูมิของปัญหา เครื่องจะได้รับผลป้อนกลับซึ่งเทียบได้กับรางวัล และเป็นสิ่งที่จะต้องทำค่าให้ได้สูงสุด 
แต่ละขั้นตอนวิธีมีข้อดีและข้อจำกัดแตกต่างกันไป ไม่มีขั้นตอนวิธีอันใดอันหนึ่งซึ่งสามารถใช้ได้กับปัญหาทุกรูปแบบ

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

[thumb|[เครื่องเวกเตอร์ค้ำยัน (SVM) เป็นแบบจำลองการเรียนรู้แบบมีผู้สอนรูปแบบหนึ่ง ซึ่งแบ่งข้อมูลออกเป็นสองฝั่งด้วยเส้นตรง (linear classifier) ในตัวอย่างนี้ เป็นเส้นแบ่งวงกลมสีดำจากวงกลมสีขาว]]
ขั้นตอนวิธีการเรียนรู้แบบมีผู้สอนเป็นขั้นตอนวิธีที่สร้างตัวแบบทางคณิตศาสตร์ของชุดข้อมูลที่ประกอบด้วยข้อมูลขาเข้าและข้อมูลขาออกที่ต้องการ ข้อมูลนี้เรียกว่าข้อมูลฝึกฝน (training data) เป็นชุดข้อมูลของตัวอย่างที่ใช้ฝึก แต่ละตัวอย่างประกอบด้วยค่าป้อนเข้าซึ่งอาจมีมากกว่าหนึ่งค่า และค่าขาออกที่ต้องการหรือเรียกว่าสัญญาณสอน (supervisory signal) ตัวอย่างฝึกอันหนึ่งจะแทนด้วยแถวลำดับหรือเวกเตอร์ในตัวแบบทางคณิตศาสตร์ เรียกว่า เวกเตอร์ค่าแทนลักษณะ (feature vector) และจะแทนข้อมูลฝึกด้วยเมทริกซ์อันหนึ่ง ขั้นตอนวิธีการเรียนรู้แบบมีผู้สอนจะวนซ้ำหาค่าเหมาะที่สุดของฟังก์ชันการสูญเสีย เพื่อเรียนรู้ฟังก์ชันที่สามารถนำมาใช้ทำนายข้อมูลขาออกซึ่งสัมพันธ์กับข้อมูลขาเข้าใหม่ ๆ ฟังก์ชันที่เหมาะที่สุดคือฟังก์ชันซึ่งทำให้ขั้นตอนวิธีการทำนายข้อมูลขาออกสำหรับข้อมูลขาเข้าที่ไม่ได้อยู่ในชุดข้อมูลฝึกฝนได้อย่างถูกต้อง ขั้นตอนวิธีที่ปรับปรุงความแม่นยำของข้อมูลขาออกหรือคำทำนายเมื่อเวลาผ่านไป กล่าวได้ว่าขั้นตอนวิธีนั้นได้เรียนรู้การทำภารกิจดังกล่าว

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

การเรียนรู้ความคล้าย (similarity learning) เป็นสาขาหนึ่งของการเรียนรู้ของเครื่องแบบมีผู้สอนที่เกี่ยวข้องอย่างยิ่งกับการวิเคราะห์การถดถอยและการแบ่งประเภท แต่มีเป้าหมายที่จะเรียนรู้ฟังก์ชันความคล้ายจากตัวอย่าง ซึ่งวัดความคล้ายหรือความเกี่ยวข้องกันระหว่างสิ่งสองสิ่ง การเรียนรู้รูปแบบนี้มีประยุกต์ใช้ในการจัดอันดับ (ranking) ระบบแนะนำ (recommender system) การพิสูจน์ยืนยันใบหน้า และการพิสูจน์ยืนยันผู้พูด (speaker verification)

#### [[การเรียนรู้แบบไม่มีผู้สอน]] (unsupervised learning)
ไม่มีการทำฉลากใด ๆ และให้คอมพิวเตอร์หาโครงสร้างของข้อมูลขาเข้าเอง

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

#### [[การเรียนรู้แบบเสริมกำลัง]] (reinforcement learning)
คอมพิวเตอร์มีปฏิสัมพันธ์กับสิ่งแวดล้อมที่เปลี่ยนไปตลอดเวลาโดยคอมพิวเตอร์จะต้องทำงานบางอย่าง (เช่น ขับรถ) โดยที่ไม่มี "ผู้สอน" คอยบอกอย่างจริงจังว่าวิธีการที่ทำอยู่นั้นเข้าใกล้เป้าหมายแล้วหรือไม่ ตัวอย่างเช่น การเรียนรู้เพื่อเล่นเกม การเรียนรู้แบบเสริมกำลัง พิจารณาว่า *เอเยนต์* ควรจะมี *การกระทำ* ใดใน *สิ่งแวดล้อม* เพื่อที่จะได้ *รางวัล* สูงสุด ขั้นตอนวิธีของการเรียนรู้แบบเสริมกำลังนี้พยายามจะหา *นโยบาย* ที่เชื่อมโยง *สถานะ* ของโลกเข้ากับการกระทำที่เอเยนต์ควรจะทำในสถานะนั้น ๆ การเรียนรู้แบบเสริมกำลังนี้มีความแตกต่างไปจากการเรียนรู้แบบมีผู้สอนตรงที่ว่า คอมพิวเตอร์จะไม่รู้เลยว่าอะไรถูกอะไรผิด กล่าวคือ ไม่มีการบอกอย่างชัดเจนว่าการกระทำใดยังไม่ดี

#### [[การเรียนรู้แบบกึ่งมีผู้สอน]] (semi supervised Learning)
เป็นการเรียนรู้อีกแบบหนึ่งที่ระหว่างการเรียนรู้แบบมีผู้สอนกับการเรียนรู้แบบไม่มีผู้สอน โดยที่ "ผู้สอน" จะไม่สอนอย่างสมบูรณ์  นั่นคือ บางข้อมูลในเซ็ตการสอนนั้นขาดข้อมูลขาออก

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

#### [[การเรียนวิธีการเรียน]] (learning to learn, meta-learning)
เป็นวิธีที่จะเรียนวิธีการเรียนรู้ของตนเอง โดยปรับปรุงอคติแบบอุปนัยที่เป็นข้อสมมติฐานที่ขั้นตอนวิธีใช้ในการเรียนรู้จากประสบการณ์ที่ผ่านมา

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

#### การเรียนรู้พจนานุกรมแบบห่าง (sparse dictionary learning)

#### [[การเรียนรู้กฎความเกี่ยวพัน]] (association rule learning)
เป็นวิธีการหาความสัมพันธ์ที่น่าสนใจจากตัวแปรในฐานข้อมูลขนาดใหญ่ นอกจากนี้ยังมีการเขียนโปรแกรมเชิงตรรกะแบบอุปนัย เป็นวิธีการเรียนรู้จากกฎโดยใช้การโปรแกรมตรรกะ เมื่อมีข้อมูลเบื้องหลังและกลุ่มของตัวอย่างที่เป็นฐานข้อมูลตรรกะแล้ว ในการเขียนโปรแกรมเชิงตรรกะแบบอุปนัยจะหาโปรแกรมตรรกะที่ครอบคลุมตัวอย่างบวกแต่ไม่รอบคลุมตัวอย่างลบ

### แบบจำลอง
การเรียนรู้ของเครื่องเกี่ยวข้องกับการสร้างแบบจำลอง (model) ซึ่งเกิดจากการสอนด้วยข้อมูลสอนและสามารถพยากรณ์ข้อมูลที่เข้ามาใหม่ได้ แบบจำลองมีหลากหลายรูปแบบ ได้แก่

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

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

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

#### การวิเคราะห์การถดถอย (regression analysis)

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

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

## การประยุกต์

การเรียนรู้ของเครื่อง สามารถประยุกต์ใช้งานได้หลากหลาย เช่น

* เว็บไซต์ปรับรูปแบบเองได้ (Adaptive website)
* การคำนวณเชิงอารมณ์ (affective computing)
* ชีวสารสนเทศศาสตร์ (bioinformatics)
* ส่วนต่อประสานสมอง–คอมพิวเตอร์ (brain–computer interface)
* เคมีสารสนเทศศาสตร์ (chemoinformatics)
* การจัดประเภทลำดับดีเอ็นเอ
* คอมพิวเตอร์วิทัศน์ (computer vision)
* การตรวจจับการฉ้อโกงบัตรเครดิต (credit card fraud)
* การเล่นเกมกลยุทธ์
* การค้นคืนสารสนเทศ (information retrieval)
* การตรวจสอบการฉ้อโกงทางอินเทอร์เน็ต (Internet fraud)
* การรับรู้ของเครื่อง (Machine perception)
* การวินิจฉัยทางการแพทย์ (medical diagnosis)
* การประมวลผลภาษาธรรมชาติ (natural language processing)
* การหาค่าเหมาะที่สุด (optimization)
* ระบบแนะนำ (recommender systems)
* ระบบเคลื่อนไหวของหุ่นยนต์
* เสิร์ชเอนจิน (search engines)
* วิศวกรรมซอฟต์แวร์ (software engineering)
* การรู้จำเสียงพูด (speech recognition)

## ซอฟต์แวร์

### [[ซอฟต์แวร์เสรี]]และ[[ซอฟต์แวร์โอเพนซอร์ส]]

* CNTK
* Deeplearning4j
* Keras
* Caffe
* Mahout
* GNU Octave
* OpenNN
* Orange
* scikit-learn
* TensorFlow
* ROOT
* PyTorch
* Weka
* R

### ซอฟต์แวร์จำกัดสิทธิ์ที่มีรุ่นฟรีและโอเพนซอร์ซ
### [[ซอฟต์แวร์จำกัดสิทธิ์]]
## ดูเพิ่ม

* ข้อมูลขนาดใหญ่ (Big data)
* การทำเหมืองข้อมูล (Data mining)
*วิทยาการข้อมูล (Data science)

## อ้างอิง

## บรรณานุกรม
* 
* 
* 
* 

หมวดหมู่:ไซเบอร์เนติกส์
หมวดหมู่:วิทยาการคอมพิวเตอร์
หมวดหมู่:วิศวกรรมคอมพิวเตอร์
หมวดหมู่:วิทยาการคอมพิวเตอร์เชิงทฤษฎี
การเรียนรู้ของเครื่อง
หมวดหมู่:ปัญญาประดิษฐ์