ความรู้พื้นฐาน
พีชคณิตเชิงเส้น — ชุดเอาตัวรอดสำหรับการเรียนรู้ของเครื่อง
คู่มืออ้างอิงโดยย่อของแนวคิดที่พบบ่อยที่สุดพร้อมตัวอย่างใน NumPy
พีชคณิตเชิงเส้นมักถูกมองว่าเป็น "คณิตศาสตร์ของข้อมูล" และเป็นหนึ่งในเสาหลักพื้นฐานของแมชชีนเลิร์นนิง อย่างไรก็ตาม มันเป็นทุ่งกว้างใหญ่ที่ต้องปกปิดและอันตรายจากการล้มลงหลุมกระต่ายเร็วเกินไป
ในส่วนต่อไปนี้ เราจะกล่าวถึงแนวคิดที่พบบ่อยที่สุดของพีชคณิตเชิงเส้นที่เกี่ยวข้องกับการเรียนรู้ของเครื่องเพื่อสร้างสัญชาตญาณที่แข็งแกร่งและเป็นรากฐานที่มั่นคง เราจะไม่เพียงแต่ครอบคลุมถึงทฤษฎีพื้นฐานเท่านั้น แต่ยังเรียนรู้วิธีการนำการคำนวณบางอย่างไปใช้ใน Python ด้วยการใช้ NumPy
ข้อจำกัดความรับผิดชอบ: บทความและหัวข้อที่ครอบคลุม มีจุดประสงค์เพียงอย่างเดียวในการให้แนวทางทั่วไป — การอ้างอิงโดยย่อ — ของแนวคิดที่เกี่ยวข้องกับการเรียนรู้ของเครื่อง ดังนั้นบางครั้งทฤษฎีจึงอธิบายได้เพียงสั้นๆ เท่านั้น และแนวคิดบางอย่างก็เลี่ยงไปอย่างสิ้นเชิง หากจำเป็น เราสามารถเจาะลึกได้เสมอ โดยใช้บทความนี้เป็นแผนงานของหัวข้อต่างๆ ที่จะครอบคลุม
วัตถุทางคณิตศาสตร์
สเกลาร์
สเกลาร์เป็นเพียงตัวเลขตัวเดียว มันถูกเรียกอย่างนั้นเพราะมันยืดหรือขยาย เวกเตอร์ หรือเมทริกซ์โดยไม่เปลี่ยนทิศทาง
เราสามารถแสดงสเกลาร์ด้วยตัวแปรอย่างง่ายในหลาม
เวกเตอร์
ในเชิงเรขาคณิต เราสามารถมองเวกเตอร์เป็นเส้นตรงซึ่งกำหนดโดยขนาด (ความยาว) และทิศทาง อย่างไรก็ตาม คำจำกัดความของเวกเตอร์ไม่รวมถึงตำแหน่งเริ่มต้นหรือจุดสิ้นสุดของเวกเตอร์
ตัวอย่างเช่น เวกเตอร์ v=[1, 2] บอกเราเพียงว่าไปหนึ่งหน่วยในมิติแรกและสองหน่วยในมิติที่สอง ตามธรรมเนียมแล้ว เรามักนึกถึงเวกเตอร์ใน ตำแหน่งมาตรฐาน ซึ่งหมายความว่าหางของเวกเตอร์จะอยู่ที่จุดกำเนิด [0, 0]
เรายังนึกถึงเวกเตอร์เป็นอาร์เรย์ของตัวเลขได้ด้วย การคิดแบบนี้ช่วยให้เราสามารถแสดงเวกเตอร์ใน NumPy ได้ดังต่อไปนี้:
เมทริกซ์
เมทริกซ์เป็นอาร์เรย์ 2 มิติของตัวเลข หากพูดแบบหลวมๆ เรายังจินตนาการถึงเมทริกซ์ว่าเป็นเซตของเวกเตอร์คอลัมน์ที่อยู่ติดกันได้ด้วย
สมมติว่าเมทริกซ์ตัวอย่างของเรา (A) มีตัวเลขที่มีค่าจริง และเราต้องการอธิบายรูปร่างของมัน เราสามารถทำได้ด้วยวิธีต่อไปนี้:
โดยที่ mกำหนดความสูง (แถว) ของเมทริกซ์ และ nบอกเราถึงความกว้าง (คอลัมน์) ของเมทริกซ์ ในตัวอย่างของเรา ทั้ง mและ nเท่ากับ 3 ดังนั้นเราจึงมีเมทริกซ์ขนาด 3 คูณ 3
เราสามารถกำหนดเมทริกซ์ได้หลายวิธีโดยใช้ NumPy วิธีที่มีประโยชน์บางอย่างสามารถดูได้ในโค้ดด้านล่าง นอกจากนี้เรายังสามารถพิมพ์ขนาดเมทริกซ์ได้โดยใช้ numpy.shape(a)
หมายเหตุ: เมทริกซ์ในมิติที่สูงกว่าซึ่งมีจำนวนแกนที่แปรผันได้เรียกว่าเทนเซอร์
เมทริกซ์สามารถใช้ได้หลายวิธี บางส่วนได้แก่:
- การแสดงการแปลงเชิงเส้น
- การเป็นตัวแทนของระบบสมการ
- การจัดเก็บและการแสดงข้อมูล (ข้อสังเกต x คุณสมบัติ)
- การเก็บเมล็ดพืชที่ใช้เป็นตัวอย่างในการบิด
ทรานสโพส
แนวคิดของการดำเนินการย้ายสามารถพิจารณาได้ดังต่อไปนี้: สลับแถวสำหรับคอลัมน์และในทางกลับกัน
เมื่อเราย้ายคอลัมน์-เวกเตอร์ เราจะได้แถว-เวกเตอร์ ถ้าเราย้ายเมทริกซ์ เราจะได้ภาพสะท้อนในกระจกพาดผ่านเส้นทแยงมุมหลัก
เรามาดูตัวอย่างเพื่อทำความเข้าใจกันดีกว่า
การดำเนินการขนย้ายนั้นตรงไปตรงมาเพื่อนำไปใช้กับโค้ด
การบวกเมทริกซ์
การบวกเมทริกซ์ค่อนข้างง่าย โดยพื้นฐานแล้วเราแค่ต้องบวกหรือลบแต่ละองค์ประกอบที่ตรงกันในเมทริกซ์ทั้งสอง นอกจากนี้เรายังสามารถเรียกสิ่งนี้ว่าเป็นการดำเนินการตามองค์ประกอบได้ อย่างไรก็ตาม สิ่งหนึ่งที่เราต้องจำไว้คือเมทริกซ์ทั้งสองต้องมีรูปร่างเหมือนกัน
หมายเหตุ: เราสามารถบวกเวกเตอร์สองตัวได้เช่นกัน แนวคิดยังคงเหมือนเดิมสำหรับการบวกเมทริกซ์
การเพิ่มเมทริกซ์ใน NumPy สามารถทำได้โดยใช้ตัวดำเนินการทางคณิตศาสตร์พื้นฐานหรือฟังก์ชัน numpy.add(a,b)
เรายังบวกหรือลบสเกลาร์ตัวเดียวในเมทริกซ์ได้ด้วย สเกลาร์จะถูกเพิ่มเข้าไปตามองค์ประกอบ
ในบางกรณี เราอนุญาตให้มีการบวกเมทริกซ์-เวกเตอร์ได้ แม้ว่ารูปร่างทั้งสองจะไม่เหมือนกันทุกประการก็ตาม ดังนั้น เวกเตอร์จะถูกเพิ่มลงในแต่ละแถวของเมทริกซ์ โดย การคัดลอกโดยนัย หรือ การออกอากาศ
หมายเหตุ: ความยาวของเวกเตอร์จะต้องเท่ากับจำนวนคอลัมน์ในเมทริกซ์ ไม่เช่นนั้นจะไม่สามารถออกอากาศได้
การคูณเมทริกซ์และเวกเตอร์
ตอนนี้ เรามาถึงการดำเนินการที่สำคัญที่สุดอย่างหนึ่ง หากไม่ใช่ การดำเนินการที่สำคัญที่สุด นั่นก็คือ การคูณเมทริกซ์สองตัว
ก่อนที่จะเจาะลึกรายละเอียดการคำนวณ เรามาทำความรู้จักคุณสมบัติที่มีประโยชน์กันก่อน:
การคูณเมทริกซ์เป็นแบบ แบบกระจาย (1), แบบเชื่อมโยง (2),และ ไม่ใช่แบบสับเปลี่ยน (3):
เพื่อให้การคูณเมทริกซ์เป็นการดำเนินการที่ถูกต้อง 'มิติภายใน' (n) จะต้องตรงกัน เมทริกซ์ผลลัพธ์จะถูกกำหนดโดย 'มิติภายนอก' (m, p)
ลองนึกถึงตัวอย่างเพื่อให้เข้าใจเรื่องนี้ได้ดีขึ้น
เมทริกซ์ (A) ถูกกำหนดโดยรูปร่าง (2 x 3) ในขณะที่เมทริกซ์ (B) มี 3 แถวและ 2 คอลัมน์ จึงเป็นรูปร่าง (3 x 2) เนื่องจากการจับคู่ "มิติภายใน" จึงกำหนดการคูณเมทริกซ์ ผลลัพธ์ที่ได้จะเป็นเมทริกซ์ขนาด 2 คูณ 2
ตอนนี้เรารู้คุณสมบัติพื้นฐานบางอย่างแล้วและเมื่อการคูณเมทริกซ์ถูกต้องแล้ว เรายังจำเป็นต้องรู้วิธีการคำนวณอีกด้วย
โดยพื้นฐานแล้วเราสามารถนึกถึงการคูณเมทริกซ์เป็นผลคูณดอทระหว่างเวกเตอร์แถวของเมทริกซ์ทางซ้ายกับเวกเตอร์คอลัมน์ของเมทริกซ์ทางขวา เราสามารถมองเห็นกลไกได้ดังต่อไปนี้:
เรามาทำงานผ่านตัวอย่างเชิงตัวเลขเพื่อทำความเข้าใจเพิ่มเติม
หมายเหตุ: การคูณเมทริกซ์ไม่ได้ดำเนินการตามองค์ประกอบ การดำเนินการนี้เรียกว่า "ผลิตภัณฑ์ Hadamard" ซึ่งมักแสดงเป็น A ⨀ B
การคูณเมทริกซ์สามารถทำได้หลายวิธีด้วยฟังก์ชัน NumPy ในตัว ดังที่เราเห็นในตัวอย่างโค้ดด้านล่าง
การคูณเมทริกซ์-เวกเตอร์ยังถูกกำหนดไว้และเป็นไปตามแนวคิดเดียวกัน ช่วยให้เราสามารถแสดงระบบสมการในรูปแบบที่กะทัดรัดยิ่งขึ้น
ยกตัวอย่างสมการต่อไปนี้
ซึ่งสามารถเขียนใหม่เป็นหลายสมการได้ แต่มีความหนาแน่นน้อยกว่าและสวยงาม
เมทริกซ์ผกผันและเอกลักษณ์
ค่าผกผันของเมทริกซ์ ช่วยให้เราสามารถแก้สมการ Ax = b ในเชิงวิเคราะห์สำหรับ x แต่ก่อนอื่น เราต้องรู้ว่าเมทริกซ์เอกลักษณ์คืออะไร
เมทริกซ์เอกลักษณ์ไม่เปลี่ยนเวกเตอร์หรือเมทริกซ์ด้วยการคูณ องค์ประกอบบนเส้นทแยงมุมหลักมีค่าเพียง 1 ในขณะที่ค่านอกเส้นทแยงมุมถูกกำหนดด้วยค่าเพียง 0 เท่านั้น ยิ่งไปกว่านั้น เมทริกซ์เอกลักษณ์จะเป็นกำลังสองเสมอ (MxM)
การแสดงเมทริกซ์เอกลักษณ์ขนาด 2 x 2 เราจะได้สิ่งต่อไปนี้:
ในทางกลับกัน เมทริกซ์ผกผันคือเมทริกซ์ที่ให้ผลเมทริกซ์เอกลักษณ์เมื่อคูณกับเมทริกซ์ดั้งเดิม
เนื่องจากไม่มีการหารเมทริกซ์ ตอนนี้เราสามารถใช้เมทริกซ์ผกผันเพื่อแก้สมการของเราสำหรับ x
หมายเหตุ: เราสามารถใช้เมทริกซ์ผกผันได้ก็ต่อเมื่อมีการกำหนดไว้ เพื่อให้เมทริกซ์มีค่าผกผันได้ เมทริกซ์นั้นต้องเป็นค่าสี่เหลี่ยมจัตุรัสและค่าเต็มอันดับ
เราสามารถใช้ฟังก์ชันในตัวของ NumPy เพื่อสร้างเมทริกซ์เอกลักษณ์ทุกขนาด และคำนวณค่าผกผันของเมทริกซ์
การพึ่งพาเชิงเส้นและช่วง
ในส่วนก่อนหน้านี้ เราคำนวณเมทริกซ์ผกผันเพื่อที่จะแก้ Ax=b สำหรับ x
ในการที่จะนิยามเมทริกซ์ผกผันได้ ต้องมีคำตอบเดียวสำหรับ b แต่ละตัว อย่างไรก็ตาม ก็เป็นไปได้เช่นกันที่สมการจะไม่มีคำตอบหรือหลายคำตอบที่กำหนดไว้
หากเราจินตนาการว่าคอลัมน์ของเมทริกซ์ (A) เป็นทิศทางที่ต่างกันในอวกาศ เราก็จะทราบได้ว่ามีหลายวิธีที่จะไปถึง b เวกเตอร์ (x) ในตัวอย่างของเรากำหนดว่าเราต้องเดินทางไกลแค่ไหนในแต่ละทิศทางเหล่านั้น
สแปนของเซตเวกเตอร์ — คอลัมน์ของเมทริกซ์ (A) — กำหนดจุดทั้งหมดที่ได้จากการรวมเชิงเส้นของ Ax ดังนั้น การถามว่า Ax=b มีคำตอบหรือไม่ โดยพื้นฐานแล้วเหมือนกับการถามว่า bอยู่ในสแปนหรือไม่ สเปซย่อยที่ขยายด้วยเวกเตอร์เรียกว่า สเปซคอลัมน์
ทีนี้ ลองนึกภาพเวกเตอร์ตัวหนึ่งเป็นผลรวมเชิงเส้นของอีกตัวหนึ่ง จึงสร้างเส้นตรงเส้นเดียว สเปซย่อยที่ขยายตอนนี้ลดลงเหลือ 1 มิติ และ Ax=b จะมีคำตอบก็ต่อเมื่อ b อยู่บนบรรทัดนั้นทุกประการ หาก b ไม่อยู่ในบรรทัดนั้น เราก็ไม่มีทางไปถึงมันได้
เซตของเวกเตอร์จะขึ้นอยู่กับเชิงเส้น ถ้าเวกเตอร์อย่างน้อยหนึ่งตัวในชุดสามารถแสดงเป็นผลรวมเชิงเส้นของเวกเตอร์อื่นๆ ได้ และนี่คือสิ่งที่เรามีในตัวอย่างของเรา
ในทางกลับกัน ความเป็นอิสระเชิงเส้นเป็นสิ่งที่ตรงกันข้ามโดยสิ้นเชิง ไม่มีเวกเตอร์ใดที่สามารถแสดงได้ด้วยผลรวมเชิงเส้นของเวกเตอร์อื่นๆ
บรรทัดฐาน
พูดอย่างหลวมๆ บรรทัดฐานจะวัดขนาดหรือความยาวของเวกเตอร์ อย่างเป็นทางการมากขึ้น บรรทัดฐานสามารถตีความได้ว่าเป็นเวกเตอร์การแมปฟังก์ชันกับค่าที่ไม่เป็นลบ
บรรทัดฐานหนึ่งที่ใช้กันทั่วไปคือบรรทัดฐานแบบยุคลิดหรือ ë2:
ตัวอย่างอื่นๆ ของบรรทัดฐานที่เป็นประโยชน์ ได้แก่ บรรทัดฐาน ë1 บรรทัดฐาน ë∞ หรือบรรทัดฐานโฟรเบเนียส
ในโค้ดเราสามารถใช้ฟังก์ชัน numpy.linalg.norm()
และระบุลำดับของบรรทัดฐานผ่านพารามิเตอร์ ord=None
หมายเหตุ: ตามค่าเริ่มต้น เราจะคำนวณบรรทัดฐาน Frobenius สำหรับเมทริกซ์และบรรทัดฐาน ë2 สำหรับเวกเตอร์
เมทริกซ์พิเศษและเวกเตอร์
เมทริกซ์บางตัวมีความพิเศษเกี่ยวกับองค์ประกอบหรือรูปร่างของมัน และดังนั้นจึงมีประโยชน์อย่างยิ่ง
เมทริกซ์แนวทแยงจะมีเพียงศูนย์เท่านั้น ยกเว้นองค์ประกอบที่พาดผ่านเส้นทแยงมุมหลัก
เราเจอเมทริกซ์แนวทแยงมาแล้วเมื่อเราเรียนรู้เกี่ยวกับเมทริกซ์เอกลักษณ์
เมทริกซ์แนวทแยงมีประโยชน์เนื่องจากมีประสิทธิภาพในการคำนวณ เพื่อให้เราสามารถคำนวณค่าผกผันได้ เราเพียงแค่ต้องคำนวณส่วนกลับของเส้นทแยงมุมหลักเท่านั้น
เราสามารถสร้างเมทริกซ์แนวทแยงได้โดยการระบุเวกเตอร์และใช้ฟังก์ชัน numpy.diag(v)
เมทริกซ์สมมาตรคือเมทริกซ์ใดๆ ที่เท่ากับทรานสโพสของมันเอง ซึ่งหมายถึง
เราสามารถนึกถึงเมทริกซ์ตัวอย่างที่มีลักษณะดังนี้:
สมมติว่าเรามีเวกเตอร์ v และเวกเตอร์ w ลองนึกภาพเวกเตอร์ทั้งสองวิ่งไปในทิศทางที่ต่างกัน อันที่จริง พวกมันตั้งฉากกันโดยมีมุมที่ 90° เวกเตอร์เหล่านั้นสามารถถูกเรียกว่า มุมฉาก หากเวกเตอร์ทั้งสองมีหน่วยบรรทัดฐาน ซึ่งมีความยาวเท่ากับ 1 เวกเตอร์จะเรียกว่า ปกติแนวออร์โธนอร์ม
ในทางกลับกัน เมทริกซ์มุมฉากคือเมทริกซ์จตุรัสซึ่งมีแถวและคอลัมน์อยู่ในแนวออร์โธนอร์มัลร่วมกัน นี่หมายถึงคุณสมบัติที่มีประโยชน์สองประการ
เมทริกซ์มุมฉากน่าสนใจเพราะช่วยให้เราคำนวณค่าผกผันได้ในราคาถูกและมีประสิทธิภาพมาก เนื่องจากถูกกำหนดโดยทรานสโพสของมัน
การสลายตัวแบบไอเกน
การสลายหรือพูดแบบหลวมๆ การแยกวัตถุทางคณิตศาสตร์ออกจากกัน บางครั้งช่วยให้เราเข้าใจวัตถุได้ดีขึ้นโดยการเปิดเผยคุณสมบัติที่ไม่ชัดเจน
การสลายตัวแบบ Eigendecomposition สลายเมทริกซ์ให้เป็นค่าลักษณะเฉพาะและเวกเตอร์ลักษณะเฉพาะ เวกเตอร์ลักษณะเฉพาะซึ่งไม่แปรผันต่อการหมุน แสดงให้เราเห็นทิศทางของเมทริกซ์ ในขณะที่ค่าลักษณะเฉพาะเป็นปัจจัยในการขยายขนาด ซึ่งอธิบายขนาดของเวกเตอร์ลักษณะเฉพาะ
เราสามารถดึงค่าลักษณะเฉพาะและเวกเตอร์ลักษณะเฉพาะได้ด้วยความช่วยเหลือของฟังก์ชัน NumPy ในตัว ในการสร้างเมทริกซ์ดั้งเดิมขึ้นใหม่ เราเพียงแค่ต้องคำนวณผลคูณของเวกเตอร์ลักษณะเฉพาะ ค่าลักษณะเฉพาะที่เป็นเส้นทแยงมุม และค่าผกผันของเวกเตอร์ลักษณะเฉพาะ
การสลายตัวแบบ Eigendecomposition มีประโยชน์เนื่องจากเป็นองค์ประกอบสำคัญในการวิเคราะห์องค์ประกอบหลัก
การสลายตัวของค่าเอกพจน์
การสลายตัวด้วยค่าเอกพจน์ (SVD) และการสลายตัวแบบลักษณะเฉพาะมีความสัมพันธ์กันอย่างใกล้ชิด เนื่องจากในทั้งสองกรณี เราจะสลายตัวหรือแยกตัวประกอบเมทริกซ์
อย่างไรก็ตาม SVD มีผลบังคับใช้โดยทั่วไปมากกว่า ตัวอย่างเช่น การสลายตัวแบบลักษณะเฉพาะไม่ได้ถูกกำหนดไว้หากเมทริกซ์ไม่เป็นรูปสี่เหลี่ยมจัตุรัส ในขณะที่ SVD ยังคงสามารถใช้ได้
การสลายตัวของค่าเอกพจน์จะแยกตัวประกอบเมทริกซ์ออกเป็นค่าเอกพจน์และเวกเตอร์เอกพจน์ เมื่อนำไปใช้ เราจะแยกเมทริกซ์เดี่ยวเป็นผลคูณของเมทริกซ์พิเศษสามตัว
เมทริกซ์ (U) และ (V) ต่างก็ตั้งฉากและมีเวกเตอร์เอกพจน์ซ้ายและเวกเตอร์เอกพจน์ขวาตามลำดับ เมทริกซ์ (D) คือเมทริกซ์แนวทแยงที่มีค่าเอกพจน์พาดผ่านเส้นทแยงมุมหลัก
SVD มีประโยชน์เนื่องจากช่วยให้เราสามารถใช้การสลายตัวของเมทริกซ์โดยทั่วไปมากกว่าการสลายตัวแบบลักษณะเฉพาะ และยังช่วยให้เราสามารถสรุปการผกผันของเมทริกซ์บางส่วนกับเมทริกซ์ที่ไม่ใช่สี่เหลี่ยมจัตุรัสได้
เราวางใจได้ว่าจะใช้ numpy.linalg.svd(a)
เพื่อใช้ SVD
ผกผันเทียมของมัวร์-เพนโรส
ค่าผกผันของเมทริกซ์ไม่ได้ถูกกำหนดไว้สำหรับเมทริกซ์ที่ไม่ใช่กำลังสอง อย่างไรก็ตาม ค่า Pseudoinverse ของ Moore-Penrose ช่วยให้เราสามารถคำนวณหรือประมาณค่าผกผันของเมทริกซ์สูงและกว้างได้
อัลกอริธึมเชิงปฏิบัติอาศัย SVD เมื่อคำนวณ pseudoinverse
สมการข้างต้นควรดูคุ้นเคยเนื่องจากดึงเมทริกซ์สามตัวเดียวกันกับ SVD — ค่าผกผันเทียมของเมทริกซ์แนวทแยง (D) ได้มาจากการคำนวณส่วนกลับขององค์ประกอบที่ไม่ใช่ศูนย์ และทำการย้ายเมทริกซ์ผลลัพธ์
ในโค้ด เราสามารถใช้ฟังก์ชัน NumPy เพื่อคำนวณ pseudoinverse ได้ เนื่องจากการคูณเมทริกซ์ด้วยค่าผกผันควรให้ผลลัพธ์เป็นเมทริกซ์เอกลักษณ์ เราจึงใช้ข้อเท็จจริงนี้ตรวจสอบผลลัพธ์ได้
ผู้ดำเนินการติดตาม
ผลรวมของรายการแนวทแยงทั้งหมดของเมทริกซ์สามารถคำนวณได้โดยตัวดำเนินการติดตาม
ตัวดำเนินการติดตามมีประโยชน์เนื่องจากช่วยให้กำหนดสัญลักษณ์ได้ง่ายขึ้น ตัวอย่างบรรทัดฐานของ Frobenius สามารถแสดงได้โดยใช้ตัวดำเนินการติดตามดังต่อไปนี้:
สมมุติว่าเรามีเมทริกซ์ประจำตัวขนาด 5 คูณ 5 ผลรวมขององค์ประกอบในแนวทแยงทั้งหมดควรเท่ากับ 5 และสามารถคำนวณได้โดยใช้ NumPy ดังที่เราเห็นในตัวอย่างโค้ดด้านล่าง
ผู้กำหนด
โดยพื้นฐานแล้วดีเทอร์มิแนนต์คือฟังก์ชันที่จับคู่เมทริกซ์กับสเกลาร์และถูกกำหนดโดยผลคูณของค่าลักษณะเฉพาะทั้งหมด
นอกจากนี้ยังสามารถตีความในเชิงเรขาคณิตว่าเป็นพื้นที่หรือปริมาตรตามลำดับ พูดง่ายๆ ก็คือ ดีเทอร์มิแนนต์เป็นตัววัดว่าเมทริกซ์จะขยายหรือหดตัวในปริภูมิเท่าใด
ดีเทอร์มิแนนต์สามารถคำนวณได้โดยใช้ฟังก์ชัน NumPy ในตัว numpy.linalg.det(a)
บทสรุป
ในบทความนี้ เราพยายามจะครอบคลุมประเด็นต่างๆ มากมาย เราได้สรุปทฤษฎีเบื้องหลังแนวคิดพีชคณิตเชิงเส้นที่พบบ่อยที่สุดที่เกี่ยวข้องกับการเรียนรู้ของเครื่องโดยสรุป นอกจากนี้เรายังได้นำแนวคิดส่วนใหญ่ไปใช้ใน python ด้วยความช่วยเหลือของ NumPy
เป้าหมายของเราคือการให้แนวทางทั่วไปและภาพรวมโดยย่อของหัวข้อสำคัญที่ต้องสำรวจ ดังนั้นเราจึงต้องเลี่ยงโดยสิ้นเชิงหรือทำได้แค่เพียงเกาพื้นผิวของพีชคณิตเชิงเส้นบางส่วนเท่านั้น
อย่างไรก็ตาม บทความที่อยู่ในมือควรให้แนวทางในการสร้างสัญชาตญาณแรกและมีแผนงานของหัวข้อต่างๆ เราสามารถสำรวจเพิ่มเติมได้เมื่อจำเป็น
การทำความเข้าใจพื้นฐานของพีชคณิตเชิงเส้นและมีสัญชาตญาณที่ดีจะพิสูจน์ได้ว่ามีคุณค่าอย่างยิ่งเมื่อเราเรียนรู้ นำไปใช้ และนำอัลกอริธึมการเรียนรู้ของเครื่องจักรไปใช้ในทางปฏิบัติ
ขอบคุณสำหรับการอ่าน! อย่าลืมเชื่อมต่อและติดตามฉันที่นี่ใน "ปานกลาง", "Kaggle" หรือเพียงแค่พูดว่า "สวัสดี" บน "LinkedIn"
คุณชอบบทความไหม? มาเป็น สมาชิกระดับกลาง และเรียนรู้ต่ออย่างไร้ขีดจำกัด ฉันจะได้รับค่าธรรมเนียมสมาชิกส่วนหนึ่งหากคุณใช้ลิงก์ต่อไปนี้ โดยไม่มีค่าใช้จ่ายเพิ่มเติม
ข้อมูลอ้างอิง / เนื้อหาเพิ่มเติม:
- การเรียนรู้เชิงลึก (Ian J. Goodfellow, Yoshua Bengio และ Aaron Courville), บทที่ 2, MIT Press, 2016
- ไมค์ เอกซ์ โคเฮน ปริญญาเอก พีชคณิตเชิงเส้น: ทฤษฎี สัญชาตญาณ รหัส