การเรียนรู้ของเครื่องด้วย Python - วิธีการ

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

วิธีการประเภทต่างๆ

ต่อไปนี้เป็นวิธี ML ต่างๆตามหมวดหมู่กว้าง ๆ -

ขึ้นอยู่กับการดูแลของมนุษย์

ในกระบวนการเรียนรู้วิธีการบางอย่างที่ขึ้นอยู่กับการดูแลของมนุษย์มีดังนี้ -

Supervised Learning

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

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

ตัวอย่างเช่นเรามี

x: ตัวแปรอินพุตและ

Y: ตัวแปรเอาต์พุต

ตอนนี้ใช้อัลกอริทึมเพื่อเรียนรู้ฟังก์ชั่นการทำแผนที่จากอินพุตเป็นเอาต์พุตดังนี้ -

Y = f (x)

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

เรียกว่าภายใต้การดูแลเนื่องจากกระบวนการเรียนรู้ทั้งหมดสามารถคิดได้เนื่องจากอยู่ภายใต้การดูแลของครูหรือหัวหน้างาน ตัวอย่างของอัลกอริธึมแมชชีนเลิร์นนิงภายใต้การดูแล ได้แก่Decision tree, Random Forest, KNN, Logistic Regression เป็นต้น

ตามภารกิจ ML อัลกอริทึมการเรียนรู้ภายใต้การดูแลสามารถแบ่งออกเป็นสองชั้นเรียนกว้าง ๆ ดังต่อไปนี้ -

  • Classification
  • Regression

Classification

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

Regression

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

การเรียนรู้ที่ไม่มีผู้ดูแล

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

ตัวอย่างเช่นสามารถเข้าใจได้ดังนี้ -

สมมติว่าเรามี -

x: Input variablesจากนั้นจะไม่มีตัวแปรเอาต์พุตที่เกี่ยวข้องและอัลกอริทึมจำเป็นต้องค้นพบรูปแบบที่น่าสนใจในข้อมูลเพื่อการเรียนรู้

ตัวอย่างของอัลกอริทึมการเรียนรู้ของเครื่องที่ไม่ได้รับการดูแล ได้แก่ การจัดกลุ่ม K-mean K-nearest neighbors เป็นต้น

จากงาน ML อัลกอริทึมการเรียนรู้ที่ไม่ได้รับการดูแลสามารถแบ่งออกเป็นชั้นเรียนกว้าง ๆ ดังต่อไปนี้ -

  • Clustering
  • Association
  • การลดขนาด

Clustering

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

Association

วิธี ML ที่ไม่ได้รับการดูแลที่มีประโยชน์อีกวิธีหนึ่งคือ Associationซึ่งใช้ในการวิเคราะห์ชุดข้อมูลขนาดใหญ่เพื่อค้นหารูปแบบที่แสดงถึงความสัมพันธ์ที่น่าสนใจระหว่างรายการต่างๆ เรียกอีกอย่างว่าAssociation Rule Mining หรือ Market basket analysis ซึ่งส่วนใหญ่ใช้ในการวิเคราะห์รูปแบบการจับจ่ายของลูกค้า

Dimensionality Reduction

วิธี ML ที่ไม่ได้รับการดูแลนี้ใช้เพื่อลดจำนวนตัวแปรคุณลักษณะสำหรับแต่ละตัวอย่างข้อมูลโดยการเลือกชุดคุณสมบัติหลักหรือตัวแทน คำถามเกิดขึ้นที่นี่ว่าทำไมเราต้องลดขนาด? สาเหตุเบื้องหลังคือปัญหาความซับซ้อนของพื้นที่คุณลักษณะซึ่งเกิดขึ้นเมื่อเราเริ่มวิเคราะห์และแยกคุณลักษณะหลายล้านรายการออกจากตัวอย่างข้อมูล ปัญหานี้โดยทั่วไปหมายถึง "คำสาปแห่งมิติมิติ" PCA (การวิเคราะห์องค์ประกอบหลัก), เพื่อนบ้านที่ใกล้ที่สุด K และการวิเคราะห์แยกแยะเป็นอัลกอริทึมยอดนิยมสำหรับวัตถุประสงค์นี้

Anomaly Detection

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

การเรียนรู้แบบกึ่งดูแล

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

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

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

การเรียนรู้เสริมแรง

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

  • Step 1 - ก่อนอื่นเราต้องเตรียมตัวแทนพร้อมชุดกลยุทธ์เบื้องต้น

  • Step 2 - จากนั้นสังเกตสภาพแวดล้อมและสถานะปัจจุบัน

  • Step 3 - จากนั้นเลือกนโยบายที่เหมาะสมที่สุดเกี่ยวกับสถานะปัจจุบันของสิ่งแวดล้อมและดำเนินการที่สำคัญ

  • Step 4 - ตอนนี้ตัวแทนจะได้รับรางวัลหรือบทลงโทษที่สอดคล้องกันตามการดำเนินการในขั้นตอนก่อนหน้า

  • Step 5 - ตอนนี้เราสามารถอัปเดตกลยุทธ์ได้หากจำเป็น

  • Step 6 - ในที่สุดให้ทำซ้ำขั้นตอนที่ 2-5 จนกว่าเจ้าหน้าที่จะได้เรียนรู้และนำนโยบายที่เหมาะสมมาใช้

งานที่เหมาะสำหรับการเรียนรู้ของเครื่อง

แผนภาพต่อไปนี้แสดงประเภทของงานที่เหมาะสมกับปัญหา ML ต่างๆ -

ขึ้นอยู่กับความสามารถในการเรียนรู้

ในกระบวนการเรียนรู้ต่อไปนี้เป็นวิธีการบางอย่างที่ขึ้นอยู่กับความสามารถในการเรียนรู้ -

Batch Learning

ในหลาย ๆ กรณีเรามีระบบ Machine Learning แบบ end-to-end ซึ่งเราจำเป็นต้องฝึกโมเดลในคราวเดียวโดยใช้ข้อมูลการฝึกอบรมที่มีอยู่ทั้งหมด วิธีการเรียนรู้แบบนี้เรียกว่าอัลกอริทึมBatch or Offline learning. เรียกว่าการเรียนรู้แบบกลุ่มหรือออฟไลน์เนื่องจากเป็นขั้นตอนเพียงครั้งเดียวและแบบจำลองจะได้รับการฝึกอบรมด้วยข้อมูลในชุดเดียว ต่อไปนี้เป็นขั้นตอนหลักของวิธีการเรียนรู้แบบกลุ่ม -

  • Step 1 - อันดับแรกเราต้องรวบรวมข้อมูลการฝึกอบรมทั้งหมดเพื่อเริ่มฝึกโมเดล

  • Step 2 - ตอนนี้เริ่มการฝึกโมเดลโดยให้ข้อมูลการฝึกอบรมทั้งหมดในครั้งเดียว

  • Step 3 - จากนั้นหยุดกระบวนการเรียนรู้ / ฝึกอบรมเมื่อคุณได้ผลลัพธ์ / ประสิทธิภาพที่น่าพอใจ

  • Step 4- สุดท้ายปรับใช้โมเดลที่ได้รับการฝึกฝนนี้ในการผลิต ที่นี่จะทำนายผลลัพธ์สำหรับตัวอย่างข้อมูลใหม่

การเรียนรู้ออนไลน์

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

  • Step 1 - ขั้นแรกเราต้องรวบรวมข้อมูลการฝึกอบรมทั้งหมดสำหรับการเริ่มต้นการฝึกอบรมของโมเดล

  • Step 2 - ตอนนี้เริ่มการฝึกโมเดลด้วยการให้ข้อมูลการฝึกแบบชุดเล็ก ๆ ให้กับอัลกอริทึม

  • Step 3 - ต่อไปเราต้องจัดเตรียมข้อมูลการฝึกอบรมขั้นต่ำทีละหลาย ๆ ขั้นตอนให้กับอัลกอริทึม

  • Step 4 - เนื่องจากจะไม่หยุดเหมือนการเรียนรู้แบบแบทช์ดังนั้นหลังจากให้ข้อมูลการฝึกอบรมทั้งหมดเป็นชุดย่อยแล้วให้จัดเตรียมตัวอย่างข้อมูลใหม่ด้วย

  • Step 5 - สุดท้ายนี้จะเรียนรู้ไปเรื่อย ๆ ตามตัวอย่างข้อมูลใหม่

ขึ้นอยู่กับ Generalization Approach

ในกระบวนการเรียนรู้วิธีการต่อไปนี้เป็นวิธีการที่อยู่บนพื้นฐานของวิธีการทั่วไป -

การเรียนรู้ตามอินสแตนซ์

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

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

การเรียนรู้ตามรูปแบบ

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