พื้นฐาน AI
อะไรคือ Machine Learning?
Machine learning เป็นหนึ่งในสาขาเทคโนโลยีที่เติบโตเร็วที่สุด แต尽管คำว่า “machine learning” ถูกใช้บ่อย แต่ก็ยากที่จะเข้าใจว่า machine learning คืออะไรอย่างแน่นอน
Machine learning ไม่ได้หมายถึงเพียงหนึ่งเทคนิค แต่เป็นคำที่ใช้ครอบคลุมหลายแนวคิดและเทคนิค การเข้าใจ machine learning ต้องคุ้นเคยกับการวิเคราะห์แบบจำลอง ตัวแปร และอัลกอริทึม มาทำความเข้าใจ machine learning กันอย่างละเอียด
อะไรคือ Machine Learning?
แม้ว่าคำว่า machine learning จะใช้ได้กับหลายสิ่ง แต่โดยทั่วไปแล้วหมายถึงการทำให้コンピュเตอร์สามารถทำงานได้โดยไม่ต้องได้รับคำสั่งแบบ line-by-line อย่างชัดเจน นักวิทยาศาสตร์ machine learning ไม่ต้องเขียนคำสั่งทุกขั้นตอนในการแก้ปัญหาเพราะคอมพิวเตอร์สามารถ “เรียนรู้” โดยการวิเคราะห์รูปแบบภายในข้อมูลและสรุปผลรูปแบบเหล่านั้นสำหรับข้อมูลใหม่
ระบบ machine learning มีส่วนประกอบพื้นฐาน 3 ส่วน:
- ข้อมูลเข้า
- อัลกอริทึม
- ข้อมูลออก
ข้อมูลเข้าคือข้อมูลที่ป้อนเข้าระบบ machine learning และข้อมูลเข้าสามารถแบ่งออกเป็น label และ feature ได้ Feature คือตัวแปรที่เกี่ยวข้อง ซึ่งจะถูกวิเคราะห์เพื่อเรียนรู้รูปแบบและสรุปผล ในขณะที่ label คือชั้นเรียน/คำอธิบายที่ให้กับข้อมูลแต่ละรายการ
Feature และ label สามารถใช้ในการเรียนรู้แบบ supervised และ unsupervised
Unsupervised vs. Supervised Learning
ใน supervised learning ข้อมูลเข้าจะ伴ด้วย ground truth ปัญหา supervised learning มีค่าผลลัพธ์ที่ถูกต้องเป็นส่วนหนึ่งของชุดข้อมูล ดังนั้นชั้นเรียนที่คาดหวังจึงทราบล่วงหน้า ทำให้สามารถตรวจสอบประสิทธิภาพของอัลกอริทึมได้โดยการทดสอบข้อมูลบนชุดข้อมูลทดสอบและดูว่าข้อมูลใดถูกจำแนกอย่างถูกต้อง
ในทางกลับกัน unsupervised learning ไม่มี label ground truth มาให้ อัลกอริทึม machine learning ที่ฝึกอบรมสำหรับการเรียนรู้แบบไม่มีการกำกับจะต้องสามารถอนุมานรูปแบบที่เกี่ยวข้องในข้อมูลได้เอง
อัลกอริทึม supervised learning มักใช้สำหรับปัญหา classification ซึ่งมีข้อมูลจำนวนมากที่ต้องถูกแบ่งออกเป็นชั้นเรียนต่างๆ อีกประเภทหนึ่งของ supervised learning คือ regression task ซึ่งค่าผลลัพธ์ที่อัลกอริทึมให้มาเป็นค่า连續
ในขณะที่อัลกอริทึม unsupervised learning ใช้สำหรับงานเช่น density estimation, clustering และ representation learning งานเหล่านี้ต้องการให้โมเดล machine learning อนุมานโครงสร้างของข้อมูล โดยไม่มีชั้นเรียนที่กำหนดให้กับโมเดล
มาทำความรู้จักกับอัลกอริทึมที่ใช้บ่อยที่สุดใน unsupervised learning และ supervised learning กัน
ประเภทของ Supervised Learning
อัลกอริทึม supervised learning ที่ใช้บ่อย ได้แก่:
- Naive Bayes
- Support Vector Machines
- Logistic Regression
- Random Forests
- Artificial Neural Networks
Support Vector Machines เป็นอัลกอริทึมที่แบ่งชุดข้อมูลออกเป็นชั้นเรียนต่างๆ ข้อมูลจะถูกจัดกลุ่มเป็นคลัสเตอร์โดยการวาดเส้นที่แยกชั้นเรียนออกจากกัน จุดในแต่ละด้านของเส้นจะ属于ชั้นเรียนที่ต่างกัน Support Vector Machines มีเป้าหมายที่จะเพิ่มระยะห่างระหว่างเส้นและจุดในแต่ละด้านให้สูงสุด และระยะห่างที่มากขึ้นจะทำให้分类器มั่นใจมากขึ้นว่าจุดนั้น属于ชั้นเรียนหนึ่งมากกว่าอีกชั้นเรียนหนึ่ง
Logistic Regression เป็นอัลกอริทึมที่ใช้ในการจำแนกประเภทข้อมูลเป็นสองชั้นเรียน Logistic Regression ทำงานโดยการให้ label 1 หรือ 0 สำหรับข้อมูลแต่ละรายการ หากค่าของข้อมูลนั้นอยู่ที่ 0.49 หรือต่ำกว่า จะถูกจำแนกเป็น 0 และหากค่าอยู่ที่ 0.5 หรือสูงกว่า จะถูกจำแนกเป็น 1
Decision Tree algorithms ทำงานโดยการแบ่งชุดข้อมูลออกเป็นชิ้นเล็กๆ วิธีการแบ่งข้อมูลจะขึ้นอยู่กับวิศวกร machine learning แต่เป้าหมายคือการแบ่งข้อมูลออกเป็นจุดข้อมูลเดียว ซึ่งจะถูกจำแนกโดยใช้คำสำคัญ
Random Forest algorithm เป็น Decision Tree หลายต้นที่เชื่อมต่อกันเป็น分类器ที่มีพลังมากขึ้น
Naive Bayes Classifier คำนวณความน่าจะเป็นที่จุดข้อมูลจะเกิดขึ้นโดยอาศัยความน่าจะเป็นของเหตุการณ์ก่อนหน้า มันใช้ Bayes’ Theorem และจัดจุดข้อมูลเข้าในชั้นเรียนตามความน่าจะเป็นที่คำนวณได้ เมื่อใช้ Naive Bayes Classifier จะถือว่าตัวแปรทั้งหมดมีอิทธิพลเท่าๆ กันต่อผลลัพธ์ของชั้นเรียน
Artificial Neural Network หรือ multi-layer perceptron เป็นอัลกอริทึม machine learning ที่ได้รับแรงบันดาลใจจากโครงสร้างและหน้าที่ของสมองมนุษย์ Artificial Neural Network ประกอบด้วยโหนด/นิวรอนหลายต่อที่เชื่อมต่อกัน โหนดแต่ละตัวจะประมวลผลข้อมูลด้วยฟังก์ชันทางคณิตศาสตร์ ใน Artificial Neural Network มีเลเยอร์ input, hidden และ output
เลเยอร์ hidden คือที่ที่ข้อมูลถูกตีความและวิเคราะห์สำหรับรูปแบบ ในอีกคำหนึ่ง คือที่ที่อัลกอริทึม “เรียนรู้” โหนดที่เชื่อมต่อกันมากขึ้นจะสร้างเครือข่ายที่ซับซ้อนขึ้นซึ่งสามารถเรียนรู้รูปแบบที่ซับซ้อนขึ้น
ประเภทของ Unsupervised Learning
อัลกอริทึม Unsupervised Learning ได้แก่:
- K-means clustering
- Autoencoders
- Principal Component Analysis
K-means clustering เป็นเทคนิคการจำแนกประเภทที่ไม่มีการกำกับ ซึ่งทำงานโดยการแบ่งจุดข้อมูลออกเป็นกลุ่มหรือคลัสเตอร์ตามคุณลักษณะ K-means clustering วิเคราะห์คุณลักษณะที่พบในจุดข้อมูลและแยกแยะรูปแบบที่ทำให้จุดข้อมูลในกลุ่มหนึ่งคล้ายกันมากกว่าจุดข้อมูลในกลุ่มอื่น สิ่งนี้ทำได้โดยการวางจุดศูนย์กลางที่เป็นไปได้สำหรับคลัสเตอร์หรือเซนทรอยด์ลงในกราฟของข้อมูลและย้ายตำแหน่งของเซนทรอยด์จนกว่าจะพบตำแหน่งที่ลดระยะห่างระหว่างเซนทรอยด์และจุดข้อมูลที่属于ชั้นเรียนของเซนทรอยด์นั้นให้เหลือน้อยที่สุด นักวิจัยสามารถกำหนดจำนวนคลัสเตอร์ที่ต้องการได้
Principal Component Analysis เป็นเทคนิคที่ลดจำนวนคุณลักษณะ/ตัวแปรที่มากลงเป็นพื้นที่คุณลักษณะที่น้อยลง “คุณลักษณะหลัก” ของจุดข้อมูลจะถูกเลือกเพื่อรักษาไว้ ในขณะที่คุณลักษณะอื่นๆ จะถูกบีบอัดให้เล็กลง ความสัมพันธ์ระหว่างส่วนข้อมูลเดิมจะถูกเก็บไว้ แต่เนื่องจากความซับซ้อนของจุดข้อมูลนั้นง่ายขึ้น จุดข้อมูลจึงง่ายต่อการ量化และอธิบาย
Autoencoders เป็นรูปแบบหนึ่งของเครือข่ายนิวรอนที่สามารถนำไปใช้กับงาน unsupervised learning ได้ Autoencoders สามารถรับข้อมูลที่ไม่มี label และแปลงมันให้กลายเป็นข้อมูลที่เครือข่ายนิวรอนสามารถใช้ได้ ซึ่งโดยพื้นฐานแล้วคือการสร้างข้อมูลฝึกอบรมที่มี label เอง วัตถุประสงค์ของ autoencoder คือการแปลงข้อมูลเข้าและสร้างใหม่ให้แม่นยำที่สุด เพื่อให้เครือข่ายมีแรงจูงใจในการกำหนดคุณลักษณะที่สำคัญที่สุดและถอดรหัสมัน












