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

โมเดลตัวแปรแฝงมีการใช้งานจริงมากมายในการเรียนรู้ของเครื่อง

  1. มันถูกใช้ในการจัดกลุ่มข้อมูลแบบไม่มีผู้ดูแลและการวิเคราะห์ทางไซโครเมทริก
  2. นอกจากนี้ยังใช้ในการคำนวณความหนาแน่นเกาส์เซียนของฟังก์ชัน
  3. อัลกอริธึม EM พบการใช้งานอย่างกว้างขวางในการทำนายพารามิเตอร์ Hidden Markov Model (HMM) และแบบจำลองผสมอื่นๆ
  4. อัลกอริธึม EM พบการใช้งานมากมายในการประมวลผลภาษาธรรมชาติ (NLP) คอมพิวเตอร์วิทัศน์ และพันธุศาสตร์เชิงปริมาณ
  5. การประยุกต์ใช้อัลกอริธึม 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 จะทำการประมาณค่าพารามิเตอร์อย่างมีการศึกษา จากนั้นจึงตรวจสอบข้อมูลที่ขาดหายไป จากนั้นจึงเปลี่ยนแบบจำลองเพื่อให้เหมาะกับการเดาที่มีการศึกษาและข้อมูลที่สังเกตได้