Courses
ฟังก์ชันบางอย่างซับซ้อนเกินกว่าจะใช้งานโดยตรงได้ — นักคณิตศาสตร์จึงหาวิธีเลียนแบบด้วยพหุนาม
นั่นคือแนวคิดพื้นฐานของอนุกรมแม็คลอริน มันเป็นการแทนฟังก์ชันด้วยผลรวมของพจน์พหุนามอย่างอนันต์ ซึ่งแต่ละพจน์สร้างจากอนุพันธ์ของฟังก์ชันที่ศูนย์ ผลลัพธ์คือสิ่งที่คำนวณได้จริง แม้ฟังก์ชันต้นฉบับจะซับซ้อนเกินไป
อนุกรมแม็คลอรินถือเป็นกรณีพิเศษของอนุกรมเทย์เลอร์ โดยมีจุดศูนย์กลางที่ศูนย์ ข้อจำกัดนี้ทำให้อนุพันธ์ได้ง่ายขึ้นและใช้งานสะดวกขึ้น
บทความนี้จะกล่าวถึงสูตรของอนุกรมแม็คลอริน เดินผ่านการขยายที่พบบ่อยที่สุด และอธิบายวิธีตีความและประยุกต์ใช้
อนุกรมแม็คลอรินคืออะไร?
อนุกรมแม็คลอรินคือการแทนฟังก์ชันด้วยผลรวมอนันต์ของพจน์ที่สร้างจากอนุพันธ์ของฟังก์ชันที่ศูนย์
แต่ละพจน์เป็นพหุนาม — กำลังของ x ที่คูณด้วยค่าจากอนุพันธ์ เมื่อรวมพจน์เหล่านี้มากพอ จะได้พหุนามที่มีพฤติกรรมเหมือนฟังก์ชันต้นฉบับอย่างน้อยบริเวณใกล้ศูนย์
การประมาณฟังก์ชันที่ซับซ้อนด้วยพหุนามคือแก่นของอนุกรมแม็คลอริน พหุนามคำนวณ หาอนุพันธ์ และอินทิเกรตได้ง่าย ซึ่งฟังก์ชันส่วนใหญ่อื่น ๆ ไม่เป็นเช่นนั้น
อนุกรมแม็คลอริน vs. อนุกรมเทย์เลอร์
อนุกรมเทย์เลอร์ประมาณฟังก์ชันเป็นพหุนามอนันต์ที่มีจุดศูนย์กลางใด ๆ ที่ a เลือกจุดนั้น สร้างอนุกรมรอบ ๆ แล้วได้พหุนามที่ใช้ได้ดีบริเวณจุดนั้น
อนุกรมแม็คลอรินก็คืออนุกรมเทย์เลอร์ที่ a = 0 ความต่างมีแค่นี้
การตั้งที่ศูนย์ทำให้คณิตศาสตร์ง่ายลง เพราะพจน์พหุนามตัดส่วนชดเชย (x - a) ทิ้ง กลายเป็นกำลังของ x ตรง ๆ ฟังก์ชันมาตรฐานส่วนใหญ่ที่ใช้ในแคลคูลัส ฟิสิกส์ และแมชชีนเลิร์นนิงจึงมีการขยายตัวแบบแม็คลอรินที่สวยและรู้จักกันดี

การเปรียบเทียบอนุกรมเทย์เลอร์และแม็คลอริน
สรุปส่วนนี้ ให้ใช้อนุกรมเทย์เลอร์เมื่อจำเป็นต้องประมาณฟังก์ชันใกล้จุดใดจุดหนึ่งที่ไม่ใช่ศูนย์ ใช้อนุกรมแม็คลอรินเมื่อศูนย์เป็นจุดตั้งต้น — ซึ่งมักจะเป็นเช่นนั้น
สูตรอนุกรมแม็คลอริน
สูตรอนุกรมแม็คลอรินแสดงฟังก์ชันใด ๆ f(x) เป็นผลรวมอนันต์:

สูตรอนุกรมแม็คลอริน
เมื่อขยายจะมีลักษณะดังนี้:

สูตรอนุกรมแม็คลอรินแบบขยาย
แต่ละพจน์ประกอบด้วยสามส่วน:
-
f⁽ⁿ⁾(0)— อนุพันธ์ลำดับที่ n ของfประเมินค่าที่ศูนย์ แสดงลักษณะพฤติกรรมของฟังก์ชัน ณ จุดนั้น -
n!— แฟกทอเรียลของnซึ่งทำหน้าที่สเกลแต่ละพจน์ลงเพื่อให้อนุกรมยังมีพฤติกรรมดีเมื่อnโตขึ้น -
xⁿ— กำลังลำดับที่ n ของxกำหนดว่าพจน์แต่ละพจน์ขยายอิทธิพลออกไปไกลจากศูนย์แค่ไหน
พจน์แรก f(0) ตั้งค่าพหุนามให้เท่ากับค่าของฟังก์ชันที่ศูนย์ พจน์ถัดไปแต่ละพจน์เป็นการแก้ไข — ปรับความชัน ความโค้ง ฯลฯ — จนพหุนามเข้าใกล้ฟังก์ชันเดิมเท่าที่ต้องการ
สรุปสั้น ๆ คือ ยิ่งรวมพจน์มาก การประมาณก็ยิ่งดี
อนุกรมแม็คลอรินทำงานอย่างไร
การสร้างอนุกรมแม็คลอรินสรุปได้เป็นขั้นตอนซ้ำ ๆ อย่างหนึ่ง: ประเมินอนุพันธ์ที่ศูนย์ แล้วนำผลลัพธ์มารวมเป็นพหุนาม
ทำงานอย่างนี้แบบทีละขั้น:
- ประเมินค่าฟังก์ชันที่ศูนย์: แทนค่า
x = 0ลงในf(x)จะได้พจน์แรก — ค่าคงที่ที่เป็นจุดตั้งต้นของพหุนาม - หาอนุพันธ์: คำนวณ
f'(x),f''(x),f'''(x)เป็นต้น และในแต่ละขั้นให้ประเมินค่าที่ศูนย์ ค่าที่ได้แต่ละค่าเล่าถึงพฤติกรรมของฟังก์ชัน — ความชัน ความโค้ง และอัตราการเปลี่ยนแปลงของความโค้ง - ประกอบเป็นพหุนาม: นำค่าจากอนุพันธ์แต่ละลำดับ หารด้วยแฟกทอเรียลที่สอดคล้องกัน แล้วคูณด้วยกำลังของ
xที่ตรงกัน
จากนั้นรวมทุกพจน์เข้าด้วยกัน:

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

การขยาย ex
สัมประสิทธิ์เป็นเพียง 1/n! อนุกรมลู่เข้ากับทุกค่าของ x จึงเป็นหนึ่งในการขยายที่มีประโยชน์มากที่สุดในทางปฏิบัติ
sin(x)
ฟังก์ชันไซน์ให้อนุกรมที่มีกำลังคี่ของ x เท่านั้น และเครื่องหมายสลับบวกกับลบ

การขยาย sin(x)
อนุพันธ์ลำดับคู่ของ sin(x) ที่ศูนย์เป็นศูนย์ทั้งหมด จึงไม่มีพจน์เหล่านั้น เหลือแต่กำลังคี่ ตัวส่วนเป็นแฟกทอเรียล เครื่องหมายสลับไปมา เช่นเดียวกับ eˣ อนุกรมนี้ลู่เข้ากับทุกค่า x
cos(x)
การขยายของโคไซน์เป็นภาพสะท้อนของไซน์ — มีกำลังคู่ของ x เท่านั้น โดยมีรูปแบบเครื่องหมายสลับเหมือนกัน

การขยาย cos(x)
นี่สมเหตุสมผลเพราะ cos(x) เป็นอนุพันธ์ของ sin(x) และได้อนุกรมนี้โดยดิฟเฟอเรนเชียตอนุกรมของ sin(x) ทีละพจน์ พจน์กำลังคี่หายไปด้วยเหตุผลเดียวกับที่พจน์กำลังคู่หายในไซน์ — ค่าจากอนุพันธ์ที่ศูนย์ทำให้หายไป อนุกรมนี้ลู่เข้ากับทุกค่า x
1 / (1 − x)
กรณีนี้มีรูปแบบง่ายที่สุดในสี่ตัว: สัมประสิทธิ์ทุกตัวเป็น 1 ทั้งหมด ไม่มีแฟกทอเรียลและไม่มีเครื่องหมายสลับ

การขยาย 1/(1-x)
นี่คืออนุกรมเรขาคณิต จึงมีรูปแบบที่สะอาด แต่ต่างจากสามฟังก์ชันด้านบน อนุกรมนี้ลู่เข้าเฉพาะเมื่อ |x| < 1 ถ้าตั้งค่า x นอกช่วงนั้น พจน์จะโตขึ้นไม่สิ้นสุดแทนที่จะหดเข้าใกล้ศูนย์
สุดท้าย สำหรับผู้ที่เรียนรู้ด้วยภาพ ต่อไปนี้เป็นแผนภูมิเปรียบเทียบการขยายทั้งสี่แบบโดยใช้หลายพจน์:

อนุกรมแม็คลอรินที่พบบ่อย
การประมาณฟังก์ชันด้วยอนุกรมแม็คลอริน
อนุกรมแม็คลอรินแทบไม่จำเป็นต้องใช้พจน์อนันต์ทั้งหมด ในทางปฏิบัติมักใช้ผลรวม جزบางส่วน — พจน์แรก ๆ — แล้วใช้เป็นค่าประมาณ
ยิ่งรวมพจน์มาก ผลรวม جزบางส่วนก็ยิ่งติดตามฟังก์ชันต้นฉบับได้ใกล้ หากตัดที่สองพจน์ จะพอใช้ได้ใกล้ศูนย์ เมื่อเพิ่มอีกสองสามพจน์ การประมาณจะใช้ได้ไกลออกไป แต่ละพจน์ใหม่แก้สิ่งที่พจน์ก่อนหน้าพลาด
พิจารณา sin(x) เป็นตัวอย่างชัดเจน อนุกรมเต็มคือ:

สูตรการประมาณ sin(x)
มาประมาณ sin(0.3) ด้วยผลรวม جزบางส่วน แล้วดูว่าผลลัพธ์แต่ละอันเทียบกับค่าจริงอย่างไร
-
1 พจน์:
0.3— คลาดเคลื่อน ~0.0045 -
2 พจน์:
0.3 - (0.3³/6)=0.2955— คลาดเคลื่อน ~0.0000196 -
3 พจน์: เพิ่ม
(0.3⁵/120)=0.29552— คลาดเคลื่อน ~0.0000000239
สามพจน์ให้ความแม่นยำถึงหกตำแหน่งทศนิยม ซึ่งควรเพียงพอ ส่วนใหญ่แล้วไม่จำเป็นต้องไปไกลกว่านั้น
แนวคิดเดียวกันนี้ในภาษา Python:
import numpy as np
from math import factorial
def maclaurin_sin(x, n_terms):
return sum(((-1)**n * x**(2*n+1)) / factorial(2*n+1) for n in range(n_terms))
vec_sin = np.vectorize(maclaurin_sin)
x_val = 0.3
print(f"Approximating sin({x_val}):")
print(f" Exact value : {np.sin(x_val):.10f}")
for n in [1, 2, 3, 4]:
approx = maclaurin_sin(x_val, n)
error = abs(np.sin(x_val) - approx)
print(f" {n} term(s) : {approx:.10f} | error: {error:.2e}"
เมื่อรันจะพิมพ์ค่าผลรวม جزบางส่วนและข้อผิดพลาดที่ x = 0.3:

ตัวอย่าง Python สำหรับการประมาณอนุกรมแม็คลอรินของ sin(x)
ยังสามารถดูในเชิงภาพได้ด้วย:

แผนภูมิการประมาณอนุกรมแม็คลอรินของ sin(x)
จะเห็นได้ชัดว่าการประมาณแต่ละระดับติดตามฟังก์ชัน sin(x) ได้ดีเพียงใด
การลู่เข้าของอนุกรมแม็คลอริน
อนุกรมแม็คลอรินไม่ได้ใช้ได้กับทุกค่า x เสมอไป สำหรับบางฟังก์ชัน อนุกรมจะลู่เข้าหาค่าที่ถูกต้องเฉพาะภายในช่วงหนึ่งรอบศูนย์ นอกช่วงนั้น ผลรวม جزบางส่วนจะโตไม่สิ้นสุดแทน
ช่วงนี้เรียกว่า รัศมีการลู่เข้า บอกว่าจากศูนย์ออกไปไกลแค่ไหนที่อนุกรมยังเชื่อถือได้
พฤติกรรมขึ้นอยู่กับฟังก์ชัน:
-
eˣ,sin(x),cos(x)— ลู่เข้ากับทุกค่าxใส่ตัวเลขใด ๆ ก็ได้และอนุกรมจะให้คำตอบที่ถูกต้อง -
1/(1-x)— ลู่เข้าเฉพาะเมื่อ|x| < 1ที่x = 1ตัวฟังก์ชันเองมีค่าสูงไม่สิ้นสุด และอนุกรมสะท้อนสิ่งนั้นด้วยการไม่ลู่เข้าใกล้จุดดังกล่าว
คิดถึงรัศมีการลู่เข้าเป็น “วงกลมแห่งความเชื่อใจ” ที่มีศูนย์กลางเป็นศูนย์ อนุกรมจะเป็นการประมาณที่ใช้ได้เฉพาะภายในวงนี้
ไม่จำเป็นต้องคำนวณรัศมีการลู่เข้าเสมอไป สำหรับฟังก์ชันมาตรฐาน ค่านี้เป็นที่รู้กันอยู่แล้ว แต่เมื่อทำงานกับฟังก์ชันที่ไม่คุ้นเคย การตรวจสอบการลู่เข้าก่อนพึ่งพาการประมาณแบบแม็คลอรินเป็นนิสัยที่ดี
เหตุใดอนุกรมแม็คลอรินจึงสำคัญ
อนุกรมแม็คลอรินพบได้จริงในงานคอมพิวเตชันทั่วคณิตศาสตร์ ฟิสิกส์ และแมชชีนเลิร์นนิง
วิธีเชิงตัวเลข
คอมพิวเตอร์ไม่สามารถประเมินฟังก์ชันส่วนใหญ่แบบสัญลักษณ์ได้ มันประเมินพหุนาม เมื่อไลบรารีคำนวณ sin(x) หรือ eˣ มักใช้การประมาณด้วยพหุนาม — ที่ได้มาจากการขยายแบบแม็คลอรินหรือเทย์เลอร์ของฟังก์ชัน อนุกรมให้รูปแบบที่ฮาร์ดแวร์คำนวณได้จริง รวดเร็ว และไม่วนลูปไม่รู้จบ
การประมาณในฟิสิกส์
ฟิสิกส์ใช้อานุกรมแม็คลอรินเมื่อคำตอบที่แน่นอนซับซ้อนเกินไป ตัวอย่างที่พบบ่อยคือการประมาณมุมเล็ก: สำหรับค่า θ เล็ก ๆ sin(θ) ≈ θ นั่นคือพจน์แรกของอนุกรมแม็คลอรินของ sin(x) ช่วยทำให้สมการลูกตุ้ม การคำนวณเชิงทัศนศาสตร์ และแบบจำลองคลื่นง่ายขึ้น — เปลี่ยนปัญหาไม่เชิงเส้นให้เป็นเชิงเส้นที่แก้ได้จริง
แมชชีนเลิร์นนิงและการเพิ่มประสิทธิภาพ
ในแมชชีนเลิร์นนิง อนุกรมเทย์เลอร์และแม็คลอรินอยู่เบื้องหลังคณิตศาสตร์จำนวนมากที่พบในชีวิตประจำวัน เกรเดียนต์ดีเซนต์ใช้การประมาณอันดับหนึ่งของฟังก์ชันการสูญเสียเพื่อกำหนดทิศทางก้าว วิธีอันดับสองอย่างวิธีนิวตันใช้พจน์ความโค้ง เมื่อนักวิจัยวิเคราะห์พฤติกรรมพื้นผิวการสูญเสียของโมเดลในเชิงเฉพาะที่ ก็มักคิดในแง่ของการขยายเทย์เลอร์รอบจุดหนึ่ง
อนุกรมแม็คลอรินยังใช้ในการประมาณฟังก์ชันกระตุ้นอย่าง sigmoid และ tanh ในการวิเคราะห์เชิงทฤษฎีด้วย การขยายเป็นพหุนามทำให้ง่ายต่อการให้เหตุผลเกี่ยวกับเกรเดียนต์และพฤติกรรมอิ่มตัว
สรุป
อนุกรมแม็คลอรินทำสิ่งเดียว: ประมาณฟังก์ชันเป็นพหุนามที่มีศูนย์กลางที่ศูนย์ แนวคิดเรียบง่ายแต่ทรงพลัง
ตั้งแต่การคำนวณเชิงตัวเลขไปจนถึงฟิสิกส์และแมชชีนเลิร์นนิง รูปแบบก็เหมือนเดิมเสมอ: นำฟังก์ชันที่ซับซ้อนมาแทนด้วยพหุนามที่ใกล้เคียงพอ แล้วไปต่อกับปัญหาจริง คณิตศาสตร์เบื้องหลังเกรเดียนต์ดีเซนต์ การประมาณมุมเล็ก และฟังก์ชันในไลบรารีสำเร็จรูป ล้วนย้อนกลับไปยังแนวคิดแกนเดียวกันนี้
การขยายของ eˣ, sin(x), cos(x) และ 1/(1-x) ควรค่าแก่การจดจำ พบเจอบ่อยพอที่การจำได้ทันทีช่วยประหยัดเวลา โดยเฉพาะเมื่ออ่านงานวิจัย
คำถามที่พบบ่อยเกี่ยวกับอนุกรมแม็คลอริน
อธิบายอนุกรมแม็คลอรินแบบเข้าใจง่ายคืออะไร?
อนุกรมแม็คลอรินคือการแทนฟังก์ชันด้วยผลรวมอนันต์ของพจน์พหุนาม ซึ่งแต่ละพจน์สร้างจากอนุพันธ์ของฟังก์ชันที่ประเมินที่ศูนย์ ยิ่งรวมพจน์มาก พหุนามก็ยิ่งเข้าใกล้ฟังก์ชันต้นฉบับ เป็นวิธีเปลี่ยนสิ่งที่ซับซ้อนให้เป็นสิ่งที่คอมพิวเตอร์ — หรือมนุษย์ — คำนวณได้จริง
ความแตกต่างระหว่างอนุกรมแม็คลอรินกับอนุกรมเทย์เลอร์คืออะไร?
อนุกรมเทย์เลอร์ประมาณฟังก์ชันเป็นพหุนามที่มีจุดศูนย์กลางที่จุดใด ๆ a ส่วนอนุกรมแม็คลอรินก็คืออนุกรมเทย์เลอร์ที่กำหนดจุดนั้นไว้ที่ศูนย์
ในทางปฏิบัติใช้อานุกรมแม็คลอรินที่ไหนบ้าง?
อนุกรมแม็คลอรินพบในการคำนวณเชิงตัวเลข ฟิสิกส์ และแมชชีนเลิร์นนิง ไลบรารีโปรแกรมใช้การประมาณแบบพหุนามเพื่อคำนวณฟังก์ชันอย่าง sin(x) และ eˣ อย่างมีประสิทธิภาพ ใน ML การขยายเทย์เลอร์อยู่เบื้องหลังวิธีเพิ่มประสิทธิภาพอย่างเกรเดียนต์ดีเซนต์และวิธีนิวตัน
รัศมีการลู่เข้าของอนุกรมแม็คลอรินหมายถึงอะไร?
รัศมีการลู่เข้ากำหนดว่าจากศูนย์ออกไปไกลแค่ไหนที่อนุกรมแม็คลอรินยังแม่นยำ ภายในช่วงนั้น ผลรวม جزบางส่วนจะเข้าใกล้ฟังก์ชันที่แท้จริง นอกช่วงนั้น พจน์จะโตขึ้นแทนที่จะหดตัว และการประมาณจะล้มเหลว ฟังก์ชันอย่าง eˣ และ sin(x) ลู่เข้าทุกที่ แต่บางตัว — อย่าง 1/(1-x) — ลู่เข้าได้เฉพาะในช่วงจำกัด
ต้องใช้กี่พจน์จึงจะได้การประมาณแบบแม็คลอรินที่ดี?
ขึ้นอยู่กับความละเอียดที่ต้องการและตำแหน่งที่ประเมินฟังก์ชันเมื่อห่างจากศูนย์ ใกล้ศูนย์ แค่สองสามพจน์ก็มักให้ความคลาดเคลื่อนเล็กน้อย หากไกลออกไป ต้องใช้พจน์มากขึ้นเพื่อรักษาความแม่นยำ — และหากอยู่นอกรัศมีการลู่เข้า ไม่ว่ามีกี่พจน์ก็ให้ผลที่ถูกต้องไม่ได้