AI กับ Python - การเรียนรู้ของเครื่อง
การเรียนรู้หมายถึงการได้มาซึ่งความรู้หรือทักษะจากการศึกษาหรือประสบการณ์ จากนี้เราสามารถกำหนดการเรียนรู้ของเครื่อง (ML) ได้ดังนี้ -
อาจถูกกำหนดให้เป็นสาขาวิทยาศาสตร์คอมพิวเตอร์โดยเฉพาะอย่างยิ่งการประยุกต์ใช้ปัญญาประดิษฐ์ซึ่งช่วยให้ระบบคอมพิวเตอร์สามารถเรียนรู้กับข้อมูลและปรับปรุงจากประสบการณ์โดยไม่ต้องมีการตั้งโปรแกรมไว้อย่างชัดเจน
โดยพื้นฐานแล้วจุดสนใจหลักของการเรียนรู้ของเครื่องคือการอนุญาตให้คอมพิวเตอร์เรียนรู้โดยอัตโนมัติโดยไม่มีการแทรกแซงจากมนุษย์ ตอนนี้เกิดคำถามว่าการเรียนรู้ดังกล่าวจะเริ่มต้นและทำได้อย่างไร? สามารถเริ่มต้นด้วยการสังเกตข้อมูล ข้อมูลอาจเป็นตัวอย่างคำแนะนำหรือประสบการณ์ตรงได้เช่นกัน จากนั้นบนพื้นฐานของอินพุตนี้เครื่องจะตัดสินใจได้ดีขึ้นโดยมองหารูปแบบบางอย่างในข้อมูล
ประเภทของการเรียนรู้ของเครื่อง (ML)
อัลกอริทึมการเรียนรู้ของเครื่องช่วยให้ระบบคอมพิวเตอร์เรียนรู้โดยไม่ต้องมีการตั้งโปรแกรมไว้อย่างชัดเจน อัลกอริทึมเหล่านี้แบ่งออกเป็นภายใต้การดูแลหรือไม่ได้รับการดูแล ตอนนี้ให้เราดูอัลกอริทึมบางส่วน -
อัลกอริทึมการเรียนรู้ของเครื่องภายใต้การดูแล
นี่คืออัลกอริทึมการเรียนรู้ของเครื่องที่ใช้บ่อยที่สุด เรียกว่าภายใต้การดูแลเนื่องจากกระบวนการของอัลกอริทึมการเรียนรู้จากชุดข้อมูลการฝึกอบรมสามารถคิดได้ว่าเป็นครูที่ดูแลกระบวนการเรียนรู้ ในอัลกอริทึม ML ประเภทนี้จะทราบผลลัพธ์ที่เป็นไปได้อยู่แล้วและข้อมูลการฝึกอบรมจะระบุคำตอบที่ถูกต้องด้วย สามารถเข้าใจได้ดังนี้ -
สมมติว่าเรามีตัวแปรอินพุต x และตัวแปรเอาต์พุต y และเราใช้อัลกอริทึมเพื่อเรียนรู้ฟังก์ชันการทำแผนที่จากอินพุตไปยังเอาต์พุตเช่น -
Y = f(x)
ตอนนี้เป้าหมายหลักคือการประมาณฟังก์ชันการทำแผนที่ให้ดีว่าเมื่อเรามีข้อมูลอินพุตใหม่ (x) เราสามารถคาดเดาตัวแปรเอาต์พุต (Y) สำหรับข้อมูลนั้นได้
ปัญหาการพิงที่ได้รับการดูแลเป็นหลักแบ่งออกเป็นปัญหาสองประเภทต่อไปนี้ -
Classification - ปัญหาเรียกว่าปัญหาการจัดหมวดหมู่เมื่อเรามีผลลัพธ์ที่จัดหมวดหมู่เช่น "ดำ" "การสอน" "ไม่ใช่การสอน" เป็นต้น
Regression - ปัญหาเรียกว่าปัญหาการถดถอยเมื่อเรามีผลลัพธ์มูลค่าจริงเช่น "ระยะทาง" "กิโลกรัม" เป็นต้น
ต้นไม้ตัดสินใจฟอเรสต์สุ่ม knn การถดถอยโลจิสติกเป็นตัวอย่างของอัลกอริทึมการเรียนรู้ของเครื่องที่อยู่ภายใต้การดูแล
อัลกอริทึมการเรียนรู้ของเครื่องที่ไม่ได้รับการดูแล
ตามชื่อที่แนะนำอัลกอริธึมแมชชีนเลิร์นนิงประเภทนี้ไม่มีหัวหน้างานคอยให้คำแนะนำใด ๆ นั่นคือเหตุผลที่อัลกอริทึมการเรียนรู้ของเครื่องที่ไม่ได้รับการดูแลมีความสอดคล้องอย่างใกล้ชิดกับสิ่งที่บางคนเรียกว่าปัญญาประดิษฐ์ที่แท้จริง สามารถเข้าใจได้ดังนี้ -
สมมติว่าเรามีตัวแปรอินพุต x จากนั้นจะไม่มีตัวแปรเอาต์พุตที่เกี่ยวข้องเนื่องจากมีอยู่ในอัลกอริทึมการเรียนรู้ภายใต้การดูแล
พูดง่ายๆก็คือเราสามารถพูดได้ว่าในการเรียนรู้ที่ไม่มีผู้ดูแลจะไม่มีคำตอบที่ถูกต้องและไม่มีครูคอยชี้แนะ อัลกอริทึมช่วยในการค้นพบรูปแบบที่น่าสนใจในข้อมูล
ปัญหาการเรียนรู้ที่ไม่มีผู้ดูแลสามารถแบ่งออกเป็นปัญหาสองประเภทต่อไปนี้ -
Clustering- ในปัญหาการจัดกลุ่มเราจำเป็นต้องค้นหาการจัดกลุ่มโดยธรรมชาติในข้อมูล ตัวอย่างเช่นการจัดกลุ่มลูกค้าตามพฤติกรรมการซื้อ
Association- ปัญหาเรียกว่าปัญหาการเชื่อมโยงเนื่องจากปัญหาประเภทนี้ต้องการการค้นพบกฎที่อธิบายข้อมูลส่วนใหญ่ของเรา ตัวอย่างเช่นการค้นหาลูกค้าที่ซื้อทั้งสองอย่างx และ y.
K-mean สำหรับการทำคลัสเตอร์อัลกอริทึม Apriori สำหรับการเชื่อมโยงเป็นตัวอย่างของอัลกอริทึมการเรียนรู้ของเครื่องที่ไม่ได้รับการดูแล
อัลกอริธึมการเรียนรู้ของเครื่องเสริมแรง
อัลกอริธึมการเรียนรู้ของเครื่องประเภทนี้ใช้น้อยมาก อัลกอริทึมเหล่านี้ฝึกระบบเพื่อทำการตัดสินใจที่เฉพาะเจาะจง โดยทั่วไปเครื่องจะสัมผัสกับสภาพแวดล้อมที่มันฝึกฝนตัวเองอย่างต่อเนื่องโดยใช้วิธีการลองผิดลองถูก อัลกอริทึมเหล่านี้เรียนรู้จากประสบการณ์ที่ผ่านมาและพยายามรวบรวมความรู้ที่ดีที่สุดเท่าที่จะเป็นไปได้เพื่อทำการตัดสินใจที่ถูกต้อง Markov Decision Process เป็นตัวอย่างของอัลกอริธึมการเรียนรู้ของเครื่องที่เสริมกำลัง
อัลกอริทึมการเรียนรู้ของเครื่องที่พบบ่อยที่สุด
ในส่วนนี้เราจะเรียนรู้เกี่ยวกับอัลกอริทึมการเรียนรู้ของเครื่องที่พบบ่อยที่สุด อัลกอริทึมอธิบายไว้ด้านล่าง -
การถดถอยเชิงเส้น
เป็นหนึ่งในอัลกอริทึมที่เป็นที่รู้จักมากที่สุดในด้านสถิติและการเรียนรู้ของเครื่อง
แนวคิดพื้นฐาน - การถดถอยเชิงเส้นส่วนใหญ่เป็นแบบจำลองเชิงเส้นที่ถือว่าความสัมพันธ์เชิงเส้นระหว่างตัวแปรอินพุตกล่าวว่า x และตัวแปรเอาต์พุตเดี่ยวกล่าวว่า y กล่าวอีกนัยหนึ่งเราสามารถพูดได้ว่า y สามารถคำนวณได้จากการรวมเชิงเส้นของตัวแปรอินพุต x ความสัมพันธ์ระหว่างตัวแปรสามารถกำหนดได้โดยการกำหนดเส้นที่ดีที่สุด
ประเภทของการถดถอยเชิงเส้น
การถดถอยเชิงเส้นมีสองประเภทต่อไปนี้ -
Simple linear regression - อัลกอริธึมการถดถอยเชิงเส้นเรียกว่าการถดถอยเชิงเส้นอย่างง่ายหากมีตัวแปรอิสระเพียงตัวแปรเดียว
Multiple linear regression - อัลกอริทึมการถดถอยเชิงเส้นเรียกว่าการถดถอยเชิงเส้นหลายตัวแปรหากมีตัวแปรอิสระมากกว่าหนึ่งตัวแปร
การถดถอยเชิงเส้นส่วนใหญ่ใช้ในการประมาณค่าจริงตามตัวแปรต่อเนื่อง ตัวอย่างเช่นยอดขายรวมของร้านค้าในหนึ่งวันตามมูลค่าจริงสามารถประมาณได้โดยการถดถอยเชิงเส้น
การถดถอยโลจิสติก
เป็นอัลกอริทึมการจำแนกประเภทและเรียกอีกอย่างว่า logit การถดถอย
การถดถอยโลจิสติกส่วนใหญ่เป็นอัลกอริทึมการจำแนกประเภทที่ใช้ในการประมาณค่าที่ไม่ต่อเนื่องเช่น 0 หรือ 1 จริงหรือเท็จใช่หรือไม่ใช่ตามชุดของตัวแปรอิสระที่กำหนด โดยทั่วไปจะทำนายความน่าจะเป็นดังนั้นผลลัพธ์ของมันจึงอยู่ระหว่าง 0 ถึง 1
ต้นไม้ตัดสินใจ
แผนผังการตัดสินใจคืออัลกอริธึมการเรียนรู้ภายใต้การดูแลซึ่งส่วนใหญ่จะใช้สำหรับปัญหาการจำแนกประเภท
โดยทั่วไปจะเป็นตัวแยกประเภทที่แสดงเป็นพาร์ติชันแบบเรียกซ้ำตามตัวแปรอิสระ ต้นไม้การตัดสินใจมีโหนดซึ่งเป็นรูปแบบของต้นไม้ที่รูท ต้นไม้ที่ถูกรูทเป็นต้นไม้ที่มีโหนดที่เรียกว่า "ราก" รูทไม่มีขอบขาเข้าและโหนดอื่น ๆ ทั้งหมดมีขอบขาเข้าเดียว โหนดเหล่านี้เรียกว่าใบไม้หรือโหนดการตัดสินใจ ตัวอย่างเช่นพิจารณาแผนผังการตัดสินใจต่อไปนี้เพื่อดูว่าบุคคลนั้นเหมาะสมหรือไม่
รองรับ Vector Machine (SVM)
ใช้สำหรับทั้งการจำแนกประเภทและปัญหาการถดถอย แต่ส่วนใหญ่จะใช้สำหรับปัญหาการจำแนกประเภท แนวคิดหลักของ SVM คือการพล็อตรายการข้อมูลแต่ละรายการเป็นจุดในปริภูมิ n มิติโดยค่าของแต่ละคุณลักษณะเป็นค่าของพิกัดเฉพาะ นี่คือคุณสมบัติที่เราจะมี ต่อไปนี้เป็นการแสดงภาพกราฟิกอย่างง่ายเพื่อให้เข้าใจแนวคิดของ SVM -
ในแผนภาพด้านบนเรามีคุณสมบัติสองประการดังนั้นก่อนอื่นเราต้องพล็อตตัวแปรทั้งสองนี้ในพื้นที่สองมิติโดยแต่ละจุดมีสองพิกัดเรียกว่าเวกเตอร์สนับสนุน เส้นแบ่งข้อมูลออกเป็นสองกลุ่มที่แตกต่างกัน บรรทัดนี้จะเป็นลักษณนาม
Naïve Bayes
นอกจากนี้ยังเป็นเทคนิคการจัดหมวดหมู่ ตรรกะเบื้องหลังเทคนิคการจำแนกประเภทนี้คือการใช้ทฤษฎีบทของเบย์ในการสร้างตัวแยกประเภท สมมติฐานคือตัวทำนายมีความเป็นอิสระ กล่าวง่ายๆก็คือถือว่าการมีอยู่ของคุณลักษณะเฉพาะในชั้นเรียนนั้นไม่เกี่ยวข้องกับการมีอยู่ของคุณลักษณะอื่นใด ด้านล่างนี้คือสมการสำหรับทฤษฎีบทเบย์ -
$$ P \ left (\ frac {A} {B} \ right) = \ frac {P \ left (\ frac {B} {A} \ right) P \ left (A \ right)} {P \ left ( B \ right)} $$
แบบจำลองNaïve Bayes สร้างได้ง่ายและมีประโยชน์อย่างยิ่งสำหรับชุดข้อมูลขนาดใหญ่
K- เพื่อนบ้านที่ใกล้ที่สุด (KNN)
ใช้สำหรับการจำแนกประเภทและการถดถอยของปัญหา มีการใช้กันอย่างแพร่หลายในการแก้ปัญหาการจำแนกประเภท แนวคิดหลักของอัลกอริทึมนี้คือใช้เพื่อจัดเก็บเคสที่มีอยู่ทั้งหมดและจำแนกเคสใหม่โดยคะแนนเสียงข้างมากของ k เพื่อนบ้าน จากนั้นเคสจะถูกกำหนดให้กับคลาสซึ่งพบมากที่สุดในบรรดาเพื่อนบ้านที่ใกล้ที่สุด K โดยวัดจากฟังก์ชันระยะทาง ฟังก์ชั่นระยะทางสามารถเป็นระยะทางแบบยุคลิด, มินโคว์สกีและแฮมมิง พิจารณาสิ่งต่อไปนี้เพื่อใช้ KNN -
KNN เชิงคำนวณมีราคาแพงกว่าอัลกอริทึมอื่น ๆ ที่ใช้สำหรับปัญหาการจำแนกประเภท
การทำให้เป็นมาตรฐานของตัวแปรที่จำเป็นอย่างอื่นตัวแปรช่วงที่สูงกว่าอาจทำให้เกิดอคติได้
ใน KNN เราจำเป็นต้องทำงานในขั้นตอนก่อนการประมวลผลเช่นการกำจัดเสียงรบกวน
K-mean Clustering
ตามชื่อที่แนะนำมันถูกใช้เพื่อแก้ปัญหาการทำคลัสเตอร์ โดยพื้นฐานแล้วเป็นการเรียนรู้ที่ไม่มีผู้ดูแล ตรรกะหลักของอัลกอริทึมการทำคลัสเตอร์ K-Means คือการจำแนกชุดข้อมูลผ่านคลัสเตอร์จำนวนหนึ่ง ทำตามขั้นตอนเหล่านี้เพื่อสร้างคลัสเตอร์โดย K-mean -
K-mean เลือกจำนวนจุด k สำหรับแต่ละคลัสเตอร์ที่เรียกว่าเซนทรอยด์
ตอนนี้แต่ละจุดข้อมูลจะสร้างคลัสเตอร์ที่มีเซนทรอยด์ที่ใกล้เคียงที่สุดนั่นคือ k คลัสเตอร์
ตอนนี้จะพบเซนทรอยด์ของแต่ละคลัสเตอร์ตามสมาชิกคลัสเตอร์ที่มีอยู่
เราจำเป็นต้องทำซ้ำขั้นตอนเหล่านี้จนกว่าการบรรจบกันจะเกิดขึ้น
ป่าสุ่ม
เป็นอัลกอริทึมการจำแนกประเภทภายใต้การดูแล ข้อได้เปรียบของอัลกอริธึมฟอเรสต์แบบสุ่มคือสามารถใช้ได้ทั้งการจำแนกประเภทและการถดถอยของปัญหา โดยทั่วไปแล้วจะเป็นการรวบรวมต้นไม้การตัดสินใจ (เช่นป่าไม้) หรือคุณสามารถพูดได้ว่าทั้งมวลของต้นไม้แห่งการตัดสินใจ แนวคิดพื้นฐานของป่าสุ่มคือต้นไม้แต่ละชนิดให้การจำแนกประเภทและป่าจะเลือกการจำแนกประเภทที่ดีที่สุดจากพวกมัน สิ่งต่อไปนี้เป็นข้อดีของอัลกอริทึม Random Forest -
ลักษณนามฟอเรสต์แบบสุ่มสามารถใช้สำหรับงานการจำแนกประเภทและการถดถอย
พวกเขาสามารถจัดการกับค่าที่ขาดหายไป
มันจะไม่พอดีกับโมเดลแม้ว่าเราจะมีต้นไม้ในป่ามากกว่านี้ก็ตาม