ความรู้พื้นฐาน

พีชคณิตเชิงเส้น — ชุดเอาตัวรอดสำหรับการเรียนรู้ของเครื่อง

คู่มืออ้างอิงโดยย่อของแนวคิดที่พบบ่อยที่สุดพร้อมตัวอย่างใน NumPy

พีชคณิตเชิงเส้นมักถูกมองว่าเป็น "คณิตศาสตร์ของข้อมูล" และเป็นหนึ่งในเสาหลักพื้นฐานของแมชชีนเลิร์นนิง อย่างไรก็ตาม มันเป็นทุ่งกว้างใหญ่ที่ต้องปกปิดและอันตรายจากการล้มลงหลุมกระต่ายเร็วเกินไป

ในส่วนต่อไปนี้ เราจะกล่าวถึงแนวคิดที่พบบ่อยที่สุดของพีชคณิตเชิงเส้นที่เกี่ยวข้องกับการเรียนรู้ของเครื่องเพื่อสร้างสัญชาตญาณที่แข็งแกร่งและเป็นรากฐานที่มั่นคง เราจะไม่เพียงแต่ครอบคลุมถึงทฤษฎีพื้นฐานเท่านั้น แต่ยังเรียนรู้วิธีการนำการคำนวณบางอย่างไปใช้ใน Python ด้วยการใช้ NumPy

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

วัตถุทางคณิตศาสตร์

สเกลาร์

สเกลาร์เป็นเพียงตัวเลขตัวเดียว มันถูกเรียกอย่างนั้นเพราะมันยืดหรือขยาย เวกเตอร์ หรือเมทริกซ์โดยไม่เปลี่ยนทิศทาง

เราสามารถแสดงสเกลาร์ด้วยตัวแปรอย่างง่ายในหลาม

เวกเตอร์

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

ตัวอย่างเช่น เวกเตอร์ v=[1, 2] บอกเราเพียงว่าไปหนึ่งหน่วยในมิติแรกและสองหน่วยในมิติที่สอง ตามธรรมเนียมแล้ว เรามักนึกถึงเวกเตอร์ใน ตำแหน่งมาตรฐาน ซึ่งหมายความว่าหางของเวกเตอร์จะอยู่ที่จุดกำเนิด [0, 0]

เรายังนึกถึงเวกเตอร์เป็นอาร์เรย์ของตัวเลขได้ด้วย การคิดแบบนี้ช่วยให้เราสามารถแสดงเวกเตอร์ใน NumPy ได้ดังต่อไปนี้:

เมทริกซ์

เมทริกซ์เป็นอาร์เรย์ 2 มิติของตัวเลข หากพูดแบบหลวมๆ เรายังจินตนาการถึงเมทริกซ์ว่าเป็นเซตของเวกเตอร์คอลัมน์ที่อยู่ติดกันได้ด้วย

สมมติว่าเมทริกซ์ตัวอย่างของเรา (A) มีตัวเลขที่มีค่าจริง และเราต้องการอธิบายรูปร่างของมัน เราสามารถทำได้ด้วยวิธีต่อไปนี้:

โดยที่ mกำหนดความสูง (แถว) ของเมทริกซ์ และ nบอกเราถึงความกว้าง (คอลัมน์) ของเมทริกซ์ ในตัวอย่างของเรา ทั้ง mและ nเท่ากับ 3 ดังนั้นเราจึงมีเมทริกซ์ขนาด 3 คูณ 3

เราสามารถกำหนดเมทริกซ์ได้หลายวิธีโดยใช้ NumPy วิธีที่มีประโยชน์บางอย่างสามารถดูได้ในโค้ดด้านล่าง นอกจากนี้เรายังสามารถพิมพ์ขนาดเมทริกซ์ได้โดยใช้ numpy.shape(a)

หมายเหตุ: เมทริกซ์ในมิติที่สูงกว่าซึ่งมีจำนวนแกนที่แปรผันได้เรียกว่าเทนเซอร์

เมทริกซ์สามารถใช้ได้หลายวิธี บางส่วนได้แก่:

  1. การแสดงการแปลงเชิงเส้น
  2. การเป็นตัวแทนของระบบสมการ
  3. การจัดเก็บและการแสดงข้อมูล (ข้อสังเกต x คุณสมบัติ)
  4. การเก็บเมล็ดพืชที่ใช้เป็นตัวอย่างในการบิด

ทรานสโพส

แนวคิดของการดำเนินการย้ายสามารถพิจารณาได้ดังต่อไปนี้: สลับแถวสำหรับคอลัมน์และในทางกลับกัน

เมื่อเราย้ายคอลัมน์-เวกเตอร์ เราจะได้แถว-เวกเตอร์ ถ้าเราย้ายเมทริกซ์ เราจะได้ภาพสะท้อนในกระจกพาดผ่านเส้นทแยงมุมหลัก

เรามาดูตัวอย่างเพื่อทำความเข้าใจกันดีกว่า

การดำเนินการขนย้ายนั้นตรงไปตรงมาเพื่อนำไปใช้กับโค้ด

การบวกเมทริกซ์

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

หมายเหตุ: เราสามารถบวกเวกเตอร์สองตัวได้เช่นกัน แนวคิดยังคงเหมือนเดิมสำหรับการบวกเมทริกซ์

การเพิ่มเมทริกซ์ใน 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
  • ไมค์ เอกซ์ โคเฮน ปริญญาเอก พีชคณิตเชิงเส้น: ทฤษฎี สัญชาตญาณ รหัส