EM Algorithm ในการเรียนรู้ของเครื่องคืออะไร? [อธิบายพร้อมตัวอย่าง]
เผยแพร่แล้ว: 2021-03-10อัลกอริธึม EM หรืออัลกอริธึม Expectation-Maximization เป็นแบบจำลองตัวแปรแฝงที่เสนอโดย Arthur Dempster, Nan Laird และ Donald Rubin ในปี 1977
โมเดลตัวแปรแฝงประกอบด้วยตัวแปรที่สังเกตได้และตัวแปรที่สังเกตไม่ได้ ตัวแปรที่สังเกตได้คือตัวแปรที่สามารถวัดได้ในขณะที่ตัวแปรที่ไม่ได้สังเกต (แฝง/ซ่อนอยู่) จะถูกอนุมานจากตัวแปรที่สังเกตได้
ตามที่อธิบายโดยทั้งสามคน อัลกอริทึม EM สามารถใช้เพื่อกำหนดพารามิเตอร์ความน่าจะเป็นสูงสุดในพื้นที่ (MLE) หรือพารามิเตอร์หลัง (MAP) สูงสุดสำหรับตัวแปรแฝง (ตัวแปรที่ไม่สามารถสังเกตได้ซึ่งจำเป็นต้องอนุมานจากตัวแปรที่สังเกตได้) ในแบบจำลองทางสถิติ ใช้เพื่อทำนายค่าเหล่านี้หรือกำหนดข้อมูลที่ขาดหายไปหรือไม่สมบูรณ์ โดยที่คุณต้องทราบรูปแบบทั่วไปของการแจกแจงความน่าจะเป็นที่เกี่ยวข้องกับตัวแปรแฝงเหล่านี้
พูดง่ายๆ ก็คือ หลักการทั่วไปที่อยู่เบื้องหลังอัลกอริธึม EM ในการเรียนรู้ของเครื่องเกี่ยวข้องกับการใช้อินสแตนซ์ที่สังเกตได้ของตัวแปรแฝงเพื่อทำนายค่าในกรณีที่ไม่สามารถสังเกตได้สำหรับการเรียนรู้ สิ่งนี้จะทำจนกระทั่งเกิดการบรรจบกันของค่า
อัลกอริธึมเป็นเครื่องมือที่ค่อนข้างทรงพลังในการเรียนรู้ของเครื่องและเป็นการรวมกันของอัลกอริธึมที่ไม่มีการควบคุมจำนวนมาก ซึ่งรวมถึงอัลกอริธึมการจัดกลุ่ม k-mean ท่ามกลางตัวแปรอัลกอริธึม EM อื่นๆ
เข้าร่วม หลักสูตรแมชชีนเลิ ร์นนิง ออนไลน์จากมหาวิทยาลัยชั้นนำของโลก – ปริญญาโท หลักสูตร Executive Post Graduate และหลักสูตรประกาศนียบัตรขั้นสูงใน ML & AI เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
สารบัญ
อัลกอริธึมการคาดหวังสูงสุด
มาสำรวจกลไกของอัลกอริธึม Expectation-Maximization ใน Machine Learning:
แหล่งที่มา
- ขั้นตอนที่ 1: เรามีชุดข้อมูลที่ขาดหายไปหรือไม่สมบูรณ์และชุดพารามิเตอร์เริ่มต้นอีกชุด เราถือว่าข้อมูลที่สังเกตได้หรือค่าเริ่มต้นของพารามิเตอร์นั้นสร้างขึ้นจากแบบจำลองเฉพาะ
- ขั้นตอนที่ 2: ตามค่าที่สังเกตได้ในกรณีที่สังเกตได้ของข้อมูลที่มีอยู่ เราจะทำนายหรือประเมินค่าในกรณีที่สังเกตไม่ได้ของข้อมูลหรือข้อมูลที่ขาดหายไป นี้เรียกว่าขั้นตอนความคาดหวัง (E – ขั้นตอน).
- ขั้นตอนที่ 3: ใช้ข้อมูลที่สร้างจากขั้นตอน E เราจะอัปเดตพารามิเตอร์และกรอกชุดข้อมูลให้สมบูรณ์ นี้เรียกว่าขั้นตอนการขยายใหญ่สุด (M – ขั้นตอน) ซึ่งใช้เพื่ออัปเดตสมมติฐาน
ทำซ้ำขั้นตอนที่ 2 และขั้นตอนที่ 3 จนกระทั่งมาบรรจบกัน ความหมายถ้าค่าไม่มาบรรจบกัน เราจะทำซ้ำขั้นตอน E และ M
.
แหล่งที่มา
ข้อดีและข้อเสียของ EM Algorithm
ข้อเสียของ EM Algorithm | |
1 | การทำซ้ำทุกครั้งในอัลกอริธึม EM ส่งผลให้มีโอกาสเพิ่มขึ้นอย่างแน่นอน |
2 | ขั้นตอนความคาดหวังและขั้นตอนการขยายใหญ่สุดนั้นค่อนข้างง่ายและวิธีแก้ปัญหาสำหรับขั้นตอนหลังส่วนใหญ่อยู่ในรูปแบบปิด |
ข้อดีของ EM Algorithm | |
1 | อัลกอริทึมการเพิ่มความคาดหวังสูงสุดพิจารณาความน่าจะเป็นไปข้างหน้าและข้างหลัง ซึ่งตรงกันข้ามกับการเพิ่มประสิทธิภาพเชิงตัวเลขซึ่งพิจารณาเฉพาะความน่าจะเป็นไปข้างหน้าเท่านั้น |
2 | การบรรจบกันของอัลกอริธึม EM นั้นช้ามากและสร้างขึ้นเพื่อเพิ่มประสิทธิภาพในเครื่องเท่านั้น |
การประยุกต์ใช้อัลกอริทึม EM
โมเดลตัวแปรแฝงมีการใช้งานจริงมากมายในการเรียนรู้ของเครื่อง
- มันถูกใช้ในการจัดกลุ่มข้อมูลแบบไม่มีผู้ดูแลและการวิเคราะห์ทางไซโครเมทริก
- นอกจากนี้ยังใช้ในการคำนวณความหนาแน่นเกาส์เซียนของฟังก์ชัน
- อัลกอริธึม EM พบการใช้งานอย่างกว้างขวางในการทำนายพารามิเตอร์ Hidden Markov Model (HMM) และแบบจำลองผสมอื่นๆ
- อัลกอริธึม EM พบการใช้งานมากมายในการประมวลผลภาษาธรรมชาติ (NLP) คอมพิวเตอร์วิทัศน์ และพันธุศาสตร์เชิงปริมาณ
- การประยุกต์ใช้อัลกอริธึม EM ที่สำคัญอื่นๆ ได้แก่ การสร้างภาพขึ้นใหม่ในสาขาการแพทย์และวิศวกรรมโครงสร้าง
ให้เราเข้าใจอัลกอริธึม EM โดยใช้ Gaussian Mixture Model
EM Algorithm สำหรับ Gaussian Mixture Model
ในการประมาณค่าพารามิเตอร์ของแบบจำลองส่วนผสมแบบเกาส์เซียน เราจำเป็นต้องมีตัวแปรที่สังเกตได้บางตัวที่สร้างโดยสองกระบวนการที่แยกจากกันซึ่งทราบการแจกแจงความน่าจะเป็น อย่างไรก็ตาม จุดข้อมูลของกระบวนการทั้งสองถูกรวมเข้าด้วยกัน และเราไม่ทราบว่าเป็นการกระจายแบบใด
เรามุ่งหวังที่จะประมาณค่าพารามิเตอร์ของการแจกแจงเหล่านี้โดยใช้การประมาณความน่าจะเป็นสูงสุดของอัลกอริทึม EM ดังที่อธิบายไว้ข้างต้น
นี่คือ รหัส ที่ เราจะใช้:
# รับฟังก์ชั่นที่เราต้องคำนวณความหนาแน่นของ
# Gaussian ที่จุด x_i ให้ mu, sigma: G(x_i, mu, sigma); และ
# ฟังก์ชันอื่นในการคำนวณความเป็นไปได้ของบันทึก: L(x, mu, sigma, pi)
defประมาณการ_gmm(x, K, tol=0.001, max_iter=100):
”' ประมาณค่าพารามิเตอร์ GMM
:param x: รายการตัวแปรมูลค่าจริงที่สังเกตได้
:param K: จำนวนเต็มสำหรับจำนวนเกาส์เซียน
:param tol: การเปลี่ยนแปลงที่ยอมรับได้สำหรับความเป็นไปได้ของบันทึก
:return: mu, sigma, pi พารามิเตอร์
”'
# 0 เริ่มต้น theta = (mu, sigma, pi)
N = เลน(x)
mu, sigma = [rand()] * K, [rand()] * K
pi = [แรนด์()] * K
curr_L = np.inf
สำหรับ j ในช่วง (max_iter):
prev_L = curr_L
# 1. E-step: ความรับผิดชอบ = p(z_i = k | x_i, theta^(t-1))
ร = {}
สำหรับฉันอยู่ในช่วง (N):
ส่วน = [pi[k] * G(x_i, mu[k], sigma[k]) สำหรับฉันในช่วง (K)]
รวม = ผลรวม (บางส่วน)
สำหรับฉันใน k:
r[(i, k)] = ส่วน[k] / total
# 2 M-step: อัปเดตค่า mu, sigma, pi
rk = [sum([r[(i, k)] สำหรับฉัน ในช่วง (N)]) สำหรับ k ในช่วง (K)]
สำหรับ k ในช่วง (K):
pi[k] = rk[k] / N
mu[k] = sum(r[(i, k)] * x[i] for i in range(N)) / rk[k]
sigma[k] = sum(r[(i, k)] * (x[i] – mu[k]) ** 2) / rk[k]
# 3. ตรวจสอบเงื่อนไขการออก
curr_L = L(x, mu, ซิกม่า, พาย)
ถ้า abs(prev_L – curr_L) < tol:
หยุดพัก
ส่งคืน mu, sigma, pi
ใน E-Step เราสามารถใช้ทฤษฎีบท Bayes เพื่อกำหนดค่าที่คาดหวังของจุดข้อมูลที่กำหนดซึ่งดึงมาจากการทำซ้ำของอัลกอริทึมในอดีต ใน M-Step เราถือว่าค่าของตัวแปรแฝงได้รับการแก้ไขเพื่อประมาณค่าพร็อกซีในอินสแตนซ์ที่ไม่ได้สังเกตโดยใช้ความเป็นไปได้สูงสุด สุดท้าย เราใช้สูตรค่าเฉลี่ยมาตรฐานและค่าเบี่ยงเบนมาตรฐานในการประมาณค่าพารามิเตอร์ของแบบจำลองส่วนผสมเกาส์เซียน
บทสรุป
สิ่งนี้นำเราไปสู่จุดสิ้นสุดของบทความ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแนวคิด Machine Learning โปรดติดต่อกับคณาจารย์ชั้นนำของ IIIT Bangalore และ Liverpool John Moores University ผ่าน โปรแกรม Master of Science in Machine Learning & AI ของ upGrad
เป็นหลักสูตร 18 เดือนที่มีเนื้อหาการเรียนรู้มากกว่า 450 ชั่วโมง โครงการอุตสาหกรรมมากกว่า 12 โครงการ ตัวเลือกโครงการ Capstone 10 แบบ และงานเขียนโค้ดมากกว่า 10 งาน คุณยังเพลิดเพลินกับการให้คำปรึกษาส่วนบุคคลจากผู้เชี่ยวชาญในอุตสาหกรรม และการให้คำปรึกษาแนะนำอาชีพผ่านเซสชันสด ชุดต่อไปจะเริ่มในวันที่ 28 กุมภาพันธ์ 2021!
การจัดกลุ่ม EM หมายถึงอะไร
เพื่อเพิ่มประสิทธิภาพความน่าจะเป็นของข้อมูลที่สังเกตได้ การจัดกลุ่ม EM ใช้เพื่อประมาณค่าเฉลี่ยและค่าเบี่ยงเบนมาตรฐานสำหรับแต่ละคลัสเตอร์ (การกระจาย) บนพื้นฐานของการแจกแจงแบบต่างๆ กันในกลุ่มต่างๆ อัลกอริทึม EM จะพยายามประมาณการแจกแจงค่าที่สังเกตได้ EM ใช้แบบจำลองส่วนผสมแบบเกาส์เซียนแบบจำกัดขอบเขตเพื่อจัดกลุ่มข้อมูลและประเมินชุดของพารามิเตอร์ซ้ำๆ จนกว่าจะถึงค่าการบรรจบกันที่ต้องการ การจัดกลุ่ม EM ให้ผลการค้นพบที่แตกต่างจากที่ได้จากการจัดกลุ่ม K-mean
การใช้งานจริงของอัลกอริธึม EM คืออะไร?
ในวงการแพทย์ ใช้อัลกอริธึม EM สำหรับการสร้างภาพขึ้นใหม่ นอกจากนี้ยังใช้เพื่อคาดการณ์พารามิเตอร์ของ Hidden Markov Models (HMMs) และแบบจำลองแบบผสมอื่นๆ นอกจากนี้ยังช่วยในการกรอกข้อมูลที่ขาดหายไปในตัวอย่างโดยเฉพาะ พารามิเตอร์รายการและความสามารถแฝงในแบบจำลองทฤษฎีการตอบสนองรายการประเมินโดยใช้ EM ในไซโครเมทริก นอกจากนี้ยังใช้กันอย่างแพร่หลายในด้านวิศวกรรมโครงสร้าง
อัลกอริทึม MLE แตกต่างจากอัลกอริทึม EM อย่างไร
เมื่อมีตัวแปรที่ซ่อนอยู่ กระบวนการประมาณค่าความน่าจะเป็นสูงสุดจะท้าทายข้อมูล ในขั้นต้น MLE รวบรวมข้อมูลทั้งหมดแล้วนำไปใช้เพื่อสร้างแบบจำลองที่มีแนวโน้มมากที่สุด ด้วยตัวแปรแฝง อัลกอริธึมการเพิ่มความคาดหวังให้โซลูชันแบบวนซ้ำเพื่อประมาณค่าความน่าจะเป็นสูงสุด ก่อนอื่น EM จะทำการประมาณค่าพารามิเตอร์อย่างมีการศึกษา จากนั้นจึงตรวจสอบข้อมูลที่ขาดหายไป จากนั้นจึงเปลี่ยนแบบจำลองเพื่อให้เหมาะกับการเดาที่มีการศึกษาและข้อมูลที่สังเกตได้