พีชคณิตเชิงเส้นที่จำเป็นสำหรับวิทยาศาสตร์ข้อมูลและการเรียนรู้ของเครื่อง

โหนดต้นทาง: 1852280

ภาพโดย Benjamin O. Tayo

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

  • เวกเตอร์
  • เมทริกซ์
  • ทรานสโพสของเมทริกซ์
  • ผกผันของเมทริกซ์
  • ดีเทอร์มิแนนต์ของเมทริกซ์
  • ร่องรอยของเมทริกซ์
  • สินค้าจุด
  • ค่าลักษณะเฉพาะ
  • ไอเกนเวกเตอร์

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

1. พีชคณิตเชิงเส้นสำหรับการประมวลผลข้อมูลล่วงหน้า

 เราเริ่มต้นด้วยการสาธิตวิธีการใช้พีชคณิตเชิงเส้นในการประมวลผลข้อมูลล่วงหน้า

1.1 นำเข้าไลบรารีที่จำเป็นสำหรับพีชคณิตเชิงเส้น

นำเข้า numpy เป็น np นำเข้าแพนด้าเป็น pd นำเข้า pylab นำเข้า matplotlib.pyplot เป็น plt นำเข้า seaborn เป็น sns 

 

1.2 อ่านชุดข้อมูลและแสดงคุณสมบัติ

data = pd.read_csv("tech-stocks-04-2021.csv") data.head() 

 ตาราง 1. ราคาหุ้นสำหรับราคาหุ้นที่เลือกไว้ในช่วง 16 วันแรกในเดือนเมษายน พ.ศ. 2021

พิมพ์ (data.shape) เอาต์พุต = (11,5) 

 พื้นที่ ข้อมูล รูปร่าง ฟังก์ชั่นช่วยให้เราทราบขนาดของชุดข้อมูลของเรา ในกรณีนี้ ชุดข้อมูลมี 5 คุณลักษณะ (วันที่, AAPL, TSLA, GOOGL และ AMZN) และแต่ละคุณลักษณะมีการสังเกต 11 รายการ วันที่ หมายถึงวันซื้อขายในเดือนเมษายน 2021 (จนถึงวันที่ 16 เมษายน) AAPL, TSLA, GOOGL และ AMZN คือราคาปิดหุ้นของ Apple, Tesla, Google และ Amazon ตามลำดับ

1.3 การสร้างภาพข้อมูล

ในการแสดงข้อมูลเป็นภาพ เราจะต้องกำหนด เมทริกซ์คอลัมน์ สำหรับคุณสมบัติที่จะแสดง:

x = data['date'] y = data['TSLA'] plt.plot(x,y) plt.xticks(np.array([0,4,9]), ['1 เม.ย.','8 เม.ย. ','15 เม.ย.']) plt.title('ราคาหุ้นเทสลา (เป็นดอลลาร์) สำหรับเดือนเมษายน พ.ศ. 2021',size=14) plt.show() 

รูป 1. ราคาหุ้นของเทสลาในช่วง 16 วันแรกในเดือนเมษายน พ.ศ. 2021

2. เมทริกซ์ความแปรปรวนร่วม

พื้นที่ เมทริกซ์ความแปรปรวนร่วม เป็นหนึ่งในเมทริกซ์ที่สำคัญที่สุดในวิทยาศาสตร์ข้อมูลและการเรียนรู้ของเครื่อง ให้ข้อมูลเกี่ยวกับการเคลื่อนไหวร่วม (สหสัมพันธ์) ระหว่างคุณสมบัติต่างๆ สมมติว่าเรามีเมทริกซ์คุณสมบัติด้วย 4 คุณลักษณะและ ข้อสังเกตดังแสดงใน 2 ตาราง:

2 ตาราง. แสดงเมทริกซ์ที่มี 4 ตัวแปรและการสังเกต n รายการ

เพื่อให้เห็นภาพความสัมพันธ์ระหว่างคุณลักษณะ เราสามารถสร้างแผนภาพคู่แบบกระจาย:

cols=data.columns[1:5] พิมพ์ (cols) เอาต์พุต = ดัชนี (['AAPL', 'TSLA', 'GOOGL', 'AMZN'], dtype='object') sns.pairplot (data[cols] , ความสูง=3.0) 

รูป 2. แผนภาพคู่แบบกระจายสำหรับหุ้นเทคโนโลยีที่เลือก

เพื่อหาระดับของความสัมพันธ์ระหว่างคุณลักษณะต่างๆ (multicollinearity) เราสามารถคำนวณเมทริกซ์ความแปรปรวนร่วมโดยใช้สมการนี้:

โดยที่ และ คือค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานของคุณลักษณะ ตามลำดับ สมการนี้บ่งชี้ว่าเมื่อคุณสมบัติเป็นมาตรฐาน เมทริกซ์ความแปรปรวนร่วมเป็นเพียง สินค้าจุด ระหว่างคุณสมบัติ

ในรูปแบบเมทริกซ์ เมทริกซ์ความแปรปรวนร่วมสามารถแสดงเป็นเมทริกซ์จริงและสมมาตรขนาด 4 x 4 ได้:

เมทริกซ์นี้สามารถกำหนดแนวทแยงได้โดยทำ a การแปลงรวมกันหรือที่เรียกว่าการแปลง Principal Component Analysis (PCA) เพื่อให้ได้สิ่งต่อไปนี้:

ตั้งแต่ ร่องรอยของเมทริกซ์ ยังคงไม่เปลี่ยนแปลงภายใต้การแปลงแบบรวม เราสังเกตว่าผลรวมของค่าลักษณะเฉพาะของเมทริกซ์ในแนวทแยงเท่ากับความแปรปรวนทั้งหมดที่มีอยู่ในคุณลักษณะ X1, X2, X3, และ X4.

2.1 การคำนวณเมทริกซ์ความแปรปรวนร่วมสำหรับหุ้นเทคโนโลยี

จาก sklearn.preprocessing การนำเข้า StandardScaler stdsc = StandardScaler() X_std = stdsc.fit_transform(data[cols].iloc[:,range(0,4)].values) cov_mat = np.cov(X_std.T, bias= True) 

โปรดทราบว่าสิ่งนี้ใช้ ไขว้ ของเมทริกซ์มาตรฐาน

2.2 การสร้างภาพเมทริกซ์ความแปรปรวนร่วม

plt.figure(figsize=(8,8)) sns.set(font_scale=1.2) hm = sns.heatmap(cov_mat, cbar=True, annot=True, square=True, fmt='.2f', annot_kws={ 'ขนาด': 12}, yticklabels=cols, xticklabels=cols) plt.title('เมทริกซ์ความแปรปรวนร่วมแสดงค่าสัมประสิทธิ์สหสัมพันธ์') plt.tight_layout() plt.show() 

รูป 3. พล็อตเมทริกซ์ความแปรปรวนร่วมสำหรับหุ้นเทคโนโลยีที่เลือก

เราสังเกตจากรูปที่ 3 ว่า AAPL มีความสัมพันธ์อย่างมากกับ GOOGL และ AMZN และอ่อนแอกับ TSLA โดยทั่วไปแล้ว TSLA มีความสัมพันธ์ค่อนข้างน้อยกับ AAPL, GOOGL และ AMZN ในขณะที่ AAPL, GOOGL และ AMZN มีความสัมพันธ์อย่างมากระหว่างกัน

2.3 คำนวณค่าลักษณะเฉพาะของเมทริกซ์ความแปรปรวนร่วม

เอาต์พุต np.linalg.eigvals(cov_mat) = อาร์เรย์ ([3.41582227, 0.4527295 , 0.02045092, 0.11099732]) เอาต์พุต np.sum(np.linalg.eigvals(cov_mat)) = 4.000000000000006 เอาต์พุต np.trace (cov_mat) = 4.000000000000001 

เราสังเกตว่าการติดตามของเมทริกซ์ความแปรปรวนร่วมเท่ากับผลรวมของค่าลักษณะเฉพาะตามที่คาดไว้

2.4 คำนวณความแปรปรวนสะสม

เนื่องจากการติดตามของเมทริกซ์ยังคงไม่แปรผันภายใต้การแปลงแบบรวม เราสังเกตว่าผลรวมของค่าลักษณะเฉพาะของเมทริกซ์ในแนวทแยงเท่ากับความแปรปรวนทั้งหมดที่มีอยู่ในคุณลักษณะ X1, X2, X3, และ X4. ดังนั้น เราสามารถกำหนดปริมาณดังต่อไปนี้:

 

สังเกตว่าเมื่อ p = 4 ความแปรปรวนสะสมจะเท่ากับ 1 ตามที่คาดไว้

eigen = np.linalg.eigvals(cov_mat) cum_var = eigen/np.sum(eigen) เอาต์พุตการพิมพ์ (cum_var) = [0.85395557 0.11318237 0.00511273 0.02774933] เอาต์พุตการพิมพ์ (np.sum(cum_var)) = 1.0 

 เราสังเกตจากความแปรปรวนสะสม (cum_var) ที่ 85% ของความแปรปรวนมีอยู่ในค่าลักษณะเฉพาะแรกและ 11% ในค่าที่สอง ซึ่งหมายความว่าเมื่อนำ PCA มาใช้ จะสามารถใช้ได้เฉพาะสององค์ประกอบหลักแรกเท่านั้น เนื่องจากองค์ประกอบ 97 ตัวนี้มีส่วน 2% ของความแปรปรวนทั้งหมด ซึ่งสามารถลดมิติของพื้นที่คุณลักษณะจาก 4 เป็น 2 เมื่อมีการใช้ PCA

3. เมทริกซ์ถดถอยเชิงเส้น

สมมติว่าเรามีชุดข้อมูลที่มีคุณสมบัติตัวทำนาย 4 อย่างและ n ข้อสังเกต ดังรูปข้างล่างนี้

3 ตาราง. แสดงเมทริกซ์ที่มี 4 ตัวแปรและการสังเกต n รายการ คอลัมน์ 5 เป็นตัวแปรเป้าหมาย (y)

เราต้องการสร้างแบบจำลองการถดถอยพหุคูณสำหรับการทำนาย y ค่า (คอลัมน์ 5) แบบจำลองของเราสามารถแสดงออกมาในรูปแบบ

ในรูปแบบเมทริกซ์ สมการนี้สามารถเขียนเป็น

ที่ไหน X คือเมทริกซ์คุณสมบัติ ( nx 4) w คือเมทริกซ์ (4 x 1) ที่แทนค่าสัมประสิทธิ์การถดถอยที่จะถูกกำหนดและ y คือเมทริกซ์ (nx ​​1) ที่มีการสังเกต n ของตัวแปรเป้าหมาย y

โปรดทราบว่า X เป็นเมทริกซ์สี่เหลี่ยม เราจึงแก้สมการข้างบนนี้ไม่ได้โดยหาค่าผกผันของ X.

เพื่อแปลงไฟล์ X เป็นเมทริกซ์สี่เหลี่ยมจัตุรัส เราคูณด้านซ้ายและด้านขวาของสมการด้วย ไขว้ of X, นั่นคือ

สมการนี้ยังสามารถแสดงเป็น

ที่ไหน

คือเมทริกซ์ถดถอย (4×4) เห็นได้ชัดว่าเราสังเกตว่า R เป็นเมทริกซ์จริงและสมมาตร โปรดทราบว่าในพีชคณิตเชิงเส้น ทรานสโพสของผลิตภัณฑ์ของเมทริกซ์สองตัวเป็นไปตามความสัมพันธ์ต่อไปนี้

ตอนนี้เราได้ลดปัญหาการถดถอยและแสดงในรูปของเมทริกซ์ถดถอยจริง สมมาตร และกลับด้านได้ (4×4) Rมันตรงไปตรงมาที่จะแสดงว่าคำตอบของสมการถดถอยที่แน่นอนคือแล้ว

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

พื้นฐานการถดถอยเชิงเส้นสำหรับผู้เริ่มต้นแน่นอน

การสร้างตัวแยกประเภท Perceptron โดยใช้วิธีการกำลังสองน้อยที่สุด

4. เมทริกซ์การวิเคราะห์การเลือกปฏิบัติเชิงเส้น

อีกตัวอย่างหนึ่งของเมทริกซ์จริงและสมมาตรในวิทยาศาสตร์ข้อมูลคือเมทริกซ์ Linear Discriminant Analysis (LDA) เมทริกซ์นี้สามารถแสดงในรูปแบบ:

ที่ไหน SW เป็นเมทริกซ์กระจายภายในคุณสมบัติและ Sคือเมทริกซ์กระจายระหว่างคุณลักษณะ เนื่องจากเมทริกซ์ทั้งสอง SW และ  SB เป็นของจริงและสมมาตร ตามนั้น L ยังเป็นของจริงและสมมาตรอีกด้วย เส้นทแยงมุมของ L สร้างซับสเปซคุณลักษณะที่ปรับการแยกคลาสให้เหมาะสมที่สุด และลดมิติ ดังนั้น LDA จึงเป็นอัลกอริธึมภายใต้การดูแล ในขณะที่ PCA ไม่ใช่

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการนำ LDA ไปใช้ โปรดดูข้อมูลอ้างอิงต่อไปนี้:

การเรียนรู้ของเครื่อง: การลดขนาดด้วยการวิเคราะห์การเลือกปฏิบัติเชิงเส้น

ที่เก็บ GitHub สำหรับการใช้งาน LDA โดยใช้ชุดข้อมูล Iris

Python Machine Learning โดย Sebastian Raschka รุ่นที่ 3 (บทที่ 5)

สรุป

โดยสรุป เราได้พูดถึงการประยุกต์ใช้พีชคณิตเชิงเส้นหลายตัวในวิทยาศาสตร์ข้อมูลและการเรียนรู้ของเครื่อง การใช้ชุดข้อมูล Tech Stock เราแสดงแนวคิดที่สำคัญ เช่น ขนาดของเมทริกซ์ เมทริกซ์คอลัมน์ เมทริกซ์กำลังสอง เมทริกซ์ความแปรปรวนร่วม ทรานสโพสของเมทริกซ์ ค่าลักษณะเฉพาะ ดอทโปรดัค ฯลฯ พีชคณิตเชิงเส้นเป็นเครื่องมือสำคัญในวิทยาศาสตร์ข้อมูลและเครื่องจักร การเรียนรู้. ดังนั้น ผู้เริ่มต้นที่สนใจในวิทยาศาสตร์ข้อมูลจะต้องทำความคุ้นเคยกับแนวคิดที่จำเป็นในพีชคณิตเชิงเส้น

ที่เกี่ยวข้อง

ที่มา: https://www.kdnuggets.com/2021/05/essential-linear-algebra-data-science-machine-learning.html

ประทับเวลา:

เพิ่มเติมจาก KD นักเก็ต