พีชคณิตเชิงเส้นเบื้องหลัง PCA

พีชคณิตเชิงเส้นสำหรับ Data Science ใน R

Eric Eager

Data Scientist at Pro Football Focus

ทฤษฎี

เมทริกซ์ $A^T$ คือ ทรานสโพส ของ $A$ ซึ่งได้จากการสลับแถวและคอลัมน์ของ $A$

หากชุดข้อมูลอยู่ในเมทริกซ์ $A$ และได้ลบค่าเฉลี่ยของแต่ละคอลัมน์ออกจากทุกสมาชิกในคอลัมน์นั้นแล้ว องค์ประกอบที่ตำแหน่ง $i,j$ ของเมทริกซ์

$$\frac{A^TA}{n - 1},$$

เมื่อ $n$ คือจำนวนแถวของ $A$ จะเท่ากับ โคแวเรียนซ์ ระหว่างตัวแปรในคอลัมน์ที่ $i$ และ $j$ ของข้อมูล

ดังนั้น องค์ประกอบที่ตำแหน่ง $i$ บนเส้นทแยงมุมของ $\frac{A^TA}{n - 1}$ คือ ความแปรปรวน ของคอลัมน์ที่ $i$

พีชคณิตเชิงเส้นสำหรับ Data Science ใน R

ทฤษฎี

print(A)
     [,1] [,2]
[1,]    1    2
[2,]    2    4
[3,]    3    6
[4,]    4    8
[5,]    5   10
A[, 1] <- A[, 1] - mean(A[, 1])
A[, 2] <- A[, 2] - mean(A[, 2]) 
print(A)
     [,1] [,2]
[1,]   -2   -4
[2,]   -1   -2
[3,]    0    0
[4,]    1    2
[5,]    2    4
พีชคณิตเชิงเส้นสำหรับ Data Science ใน R

ทฤษฎี

t(A)%*%A/(nrow(A) - 1)
     [,1] [,2]
[1,]  2.5    5
[2,]  5.0   10
cov(A[, 1], A[, 2])
5
var(A[, 1])
2.5
var(A[, 2])
10
พีชคณิตเชิงเส้นสำหรับ Data Science ใน R

PCA

  • ค่าไอเกน $\lambda_1, \lambda_2, ... \lambda_n$ ของ $\frac{A^TA}{n - 1}$ เป็นจำนวนจริง และเวกเตอร์ไอเกนที่สอดคล้องกันนั้น ตั้งฉากกัน หรือชี้ในทิศทางที่ต่างกัน

  • ความแปรปรวนรวม ของชุดข้อมูลเท่ากับผลรวมของค่าไอเกนของ $\frac{A^TA}{n - 1}$

  • เวกเตอร์ไอเกน $v_1, v_2, ..., v_n$ เหล่านี้เรียกว่า principal components ของชุดข้อมูลในเมทริกซ์ $A$

  • ทิศทางที่ $v_j$ ชี้สามารถอธิบายความแปรปรวน $\lambda_j$ ของชุดข้อมูลได้ หาก $\lambda_j$ หรือกลุ่มย่อยของ $\lambda_1, \lambda_2, ... \lambda_n$ อธิบายความแปรปรวนรวมได้มาก จะเปิดโอกาสให้ลดมิติข้อมูลได้

พีชคณิตเชิงเส้นสำหรับ Data Science ใน R

ตัวอย่าง

eigen(t(A)%*%A/(nrow(A) - 1))
eigen() decomposition
$`values`
[1] 12.5  0.0

$vectors
          [,1]       [,2]
[1,] 0.4472136 -0.8944272
[2,] 0.8944272  0.4472136
พีชคณิตเชิงเส้นสำหรับ Data Science ใน R

มาฝึกกันเถอะ!

พีชคณิตเชิงเส้นสำหรับ Data Science ใน R

Preparing Video For Download...