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

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

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

ภาพรวม 

อาเธอร์ ซามูเอล นักวิทยาศาสตร์คอมพิวเตอร์ชาวอเมริกันได้ให้นิยามของการเรียนรู้ของเครื่องจักรไว้ในปี ค.ศ. 1959 ว่า "เป็นสาขาที่ให้คอมพิวเตอร์มีความสามารถในการเรียนรู้โดยไม่ต้องโปรแกรมให้ชัดเจน"

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

ประวัติและความสัมพันธ์กับสาขาอื่น 

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

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

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

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

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

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

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

นักสถิติศาสตร์บางคนก็ยังปรับเอาหลักการของการเรียนรู้ของเครื่องไปใช้ นำไปสู่กับผสมผสานกันระหว่างสองศาสตร์ กลายเป็นศาสตร์ที่ชื่อ การเรียนรู้ทางสถิติ

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

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

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

ประเภทของการเรียนรู้ 
การเรียนรู้ของเครื่อง สามารถแบ่งโดยกว้าง ๆ ได้เป็นหลายประเภท ตามประเภทของ "ข้อมูลฝึก" หรือ "ข้อมูลขาเข้า" และประเภทของงาน ได้ดังนี้

การเรียนรู้แบบมีผู้สอน (supervised learning) - 
ข้อมูลตัวอย่างและผลลัพธ์ที่ "ผู้สอน" ต้องการถูกป้อนเข้าสู่คอมพิวเตอร์ เป้าหมายคือการสร้างกฎทั่วไปที่สามารถเชื่อมโยงข้อมูลขาเข้ากับขาออกได้

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

การเรียนรู้แบบไม่มีผู้สอน (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)
 การตรวจสอบการฉ้อโกงทางอินเทอร์เน็ต
 การรับรู้ของเครื่อง (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

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

 KNIME
 RapidMiner

ซอฟต์แวร์จำกัดสิทธิ์

 Amazon Machine Learning
 Azure Machine Learning
 IBM Data Science Experience
 Google Prediction API
 IBM SPSS Modeler
 Mathematica
 MATLAB
 Microsoft Azure
 Neural Designer
 Oracle Data Mining
 SAS Enterprise Miner
 Splunk
 STATISTICA Data Miner

ดูเพิ่ม 

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

อ้างอิง 

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