Có giảm kích thước luôn mất một số thông tin?


10

Giống như tiêu đề nói, giảm kích thước luôn mất một số thông tin? Xem xét ví dụ PCA. Nếu dữ liệu tôi có rất thưa thớt, tôi sẽ cho rằng có thể tìm thấy "mã hóa tốt hơn" (điều này có liên quan đến thứ hạng của dữ liệu không?), Và sẽ không có gì bị mất.


7
Không, tất nhiên là không: ví dụ, một số giá trị số ít trong PCA có thể là số không thực. Điều này ít liên quan đến "độ thưa" của dữ liệu hơn là liệu chúng có "điền" các kích thước được sử dụng để ghi lại chúng hay không.
whuber

1
Ok, tôi hiểu rồi. Bạn có thể viết bình luận của bạn như một câu trả lời ngắn (có thể ngay cả với một ví dụ nhỏ, nếu bạn có thời gian)?
tự hỏi

1
Xem xét trường hợp bạn có dữ liệu hai chiều, trong đó giá trị y cho mỗi điểm là '0'. Thành phần nguyên tắc đầu tiên của bạn sẽ là trục X và bạn sẽ không mất gì khi chiếu dữ liệu của mình xuống một chiều này vì nó thực sự đã có một chiều.
David Marx

Câu trả lời:


9

Giảm kích thước không phải lúc nào cũng mất thông tin. Trong một số trường hợp, có thể biểu diễn lại dữ liệu trong không gian chiều thấp hơn mà không loại bỏ bất kỳ thông tin nào.

Giả sử bạn có một số dữ liệu trong đó mỗi giá trị đo được liên kết với hai hiệp phương trình được đặt hàng. Ví dụ: giả sử bạn đo chất lượng tín hiệu (được biểu thị bằng màu trắng = tốt, đen = xấu) trên lưới dày đặc của các vị trí và so với một số bộ phát. Trong trường hợp đó, dữ liệu của bạn có thể trông giống như âm mưu bên trái [* 1]:Qxy

demo trung bình xuyên tâm

Đó là, ít nhất là bề ngoài, một phần dữ liệu hai chiều: . Tuy nhiên, chúng ta có thể biết một tiên nghiệm (dựa trên vật lý cơ bản) hoặc giả định rằng nó chỉ phụ thuộc vào khoảng cách từ gốc: r = . (Một số phân tích thăm dò cũng có thể đưa bạn đến kết luận này nếu ngay cả hiện tượng cơ bản không được hiểu rõ). Sau đó, chúng tôi có thể viết lại dữ liệu của mình dưới dạng thay vì , điều này sẽ làm giảm hiệu quả kích thước xuống một chiều duy nhất. Rõ ràng, điều này chỉ mất mát nếu dữ liệu đối xứng hoàn toàn, nhưng đây là một giả định hợp lý cho nhiều hiện tượng vật lý.Q(x,y)x2+y2Q(r)Q(x,y)

Biến đổi này là phi tuyến tính (có căn bậc hai và hai hình vuông!), Vì vậy nó hơi khác so với cách giảm kích thước được thực hiện bởi PCA, nhưng tôi nghĩ nó rất hay ví dụ về cách đôi khi bạn có thể xóa thứ nguyên mà không mất bất kỳ thông tin nào.Q(x,y)Q(r)

Đối với một ví dụ khác, giả sử bạn thực hiện phân tách giá trị số ít trên một số dữ liệu (SVD là anh em họ gần gũi - và thường là cơ sở của phân tích thành phần chính). SVD lấy ma trận dữ liệu của bạn và đưa nó vào ba ma trận sao cho . Các cột của U và V là trái và phải vectơ đặc biệt, tương ứng, tạo thành một tập hợp các căn cứ trực giao cho . Các phần tử đường chéo của (nghĩa là là các giá trị số ít, có trọng số hiệu quả trên cơ sở thứ được hình thành bởi các cột tương ứng của và (phần còn lại củaMM=USVTMSSi,i)iUVSlà số không). Chính nó, điều này không cung cấp cho bạn bất kỳ sự giảm kích thước nào (trên thực tế, hiện có 3 ma trận thay vì ma trận duy nhất bạn đã bắt đầu). Tuy nhiên, đôi khi một số phần tử đường chéo của bằng không. Điều này có nghĩa là các cơ sở tương ứng trong và không cần thiết để tái tạo lại và vì vậy chúng có thể bị loại bỏ. Ví dụ: giả sửNxNNxNSUVMQ(x,y)ma trận trên chứa 10.000 phần tử (nghĩa là 100x100). Khi chúng tôi thực hiện một SVD trên nó, chúng tôi thấy rằng chỉ có một cặp vectơ số ít có giá trị khác không [* 2], vì vậy chúng tôi có thể biểu diễn lại ma trận gốc dưới dạng tích của hai vectơ 100 phần tử (200 hệ số, nhưng bạn thực sự có thể làm tốt hơn một chút [* 3]).

Đối với một số ứng dụng, chúng tôi biết (hoặc ít nhất là giả định) rằng thông tin hữu ích được thu thập bởi các thành phần chính có giá trị số ít (SVD) hoặc tải (PCA). Trong những trường hợp này, chúng tôi có thể loại bỏ các vectơ / cơ sở / thành phần chính có số lượng tải nhỏ hơn ngay cả khi chúng khác không, theo lý thuyết rằng chúng chứa nhiễu gây nhiễu hơn là tín hiệu hữu ích. Thỉnh thoảng tôi thấy mọi người từ chối các thành phần cụ thể dựa trên hình dạng của chúng (ví dụ, nó giống với nguồn nhiễu phụ gia đã biết) bất kể tải. Tôi không chắc liệu bạn có coi đây là mất thông tin hay không.

Có một số kết quả rõ ràng về sự tối ưu về lý thuyết thông tin của PCA. Nếu tín hiệu của bạn là Gaussian và bị hỏng với nhiễu Gaussian phụ gia, thì PCA có thể tối đa hóa thông tin lẫn nhau giữa tín hiệu và phiên bản giảm kích thước của nó (giả sử nhiễu có cấu trúc hiệp phương giống như nhận dạng).


Chú thích:

  1. Đây là một mô hình cheesy và hoàn toàn phi vật lý. Lấy làm tiếc!
  2. Do sự thiếu chính xác của dấu phẩy động, thay vào đó, một số giá trị này sẽ không hoàn toàn bằng không.
  3. Khi kiểm tra thêm, trong trường hợp cụ thể này , hai vectơ số ít giống nhau và đối xứng về tâm của chúng, vì vậy chúng ta thực sự có thể biểu diễn toàn bộ ma trận chỉ với 50 hệ số. Lưu ý rằng bước đầu tiên rơi ra khỏi quy trình SVD tự động; thứ hai đòi hỏi một số kiểm tra / một bước nhảy vọt của đức tin. (Nếu bạn muốn nghĩ về điều này về điểm số PCA, ma trận điểm chỉ là từ phân tách SVD ban đầu; các đối số tương tự về số không hoàn toàn không đóng góp).US

Tôi không nghĩ rằng biểu đồ của bạn là đúng. 1) Đó là một hình elip không phải là một hình tròn, vì vậy sẽ thay đổi dựa trên góc với các trục. Nhưng đây có thể là một tạo tác. 2) Một PCA trong đó một số giá trị riêng là 0 biểu thị tính cộng tuyến trong dữ liệu; đây sẽ là một âm mưu là một đường thẳng chứ không phải là một vết sưng hình cầu. 3) Trong cuộc sống thực, dữ liệu không bao giờ là đối xứng hoàn hảo. I(r)
Hồng Ooi

Cụ thể, lưu ý rằng trong ví dụ của bạn. Đây là sự kết hợp phi tuyến của các biến, vì vậy nó không liên quan khi nói về PCA (sẽ phát hiện các kết hợp tuyến tính trong dữ liệu). r=(x2+y2)
Hồng Ooi

1
Matt, câu hỏi của tôi thực sự lên đến mức này: bạn cho chúng tôi xem một bức tranh mà không có bất kỳ mô tả hay tham chiếu nào và gọi nó là "dữ liệu": Tôi muốn biết bạn nghĩ gì về nó như là dữ liệu. Nhận xét của bạn nhầm lẫn vấn đề này, bởi vì một đại diện "bản đồ nhiệt" thường không phải là dữ liệu, mà là một cái gì đó được tạo ra từ dữ liệu. Ví dụ, nếu đó là dữ liệu điểm 2D không đều và bạn phù hợp với mật độ đối xứng hoàn toàn với chúng, thì hình ảnh có thể được hiểu là một chiều, như bạn tranh luận, nhưng nó sẽ không làm giảm dữ liệu theo chiều .
whuber

1
Có lẽ tôi nên nói 'lưới' hoặc 'raster' thay vào đó. Tôi đã tưởng tượng một tình huống trong đó dữ liệu được thu thập trên một lưới và mỗi điểm lưới được liên kết với một giá trị (vô hướng), nhưng các giá trị không nhất thiết phải là cường độ ánh sáng như trong ảnh (ảnh). Điều đó nói rằng, tôi rõ ràng không làm rung chuyển câu trả lời này - hãy để tôi thử chỉnh sửa nó thành một cái gì đó mạch lạc hơn!
Matt Krause

2
+1: các chỉnh sửa làm cho điểm của bạn rõ ràng hơn nhiều. Cảm ơn cho những nỗ lực thêm!
whuber

4

Tôi nghĩ rằng câu hỏi đằng sau câu hỏi của bạn là "điều gì tạo ra thông tin?". Đó là một câu hỏi hay.

Kỹ thuật ngữ pháp:

PCA luôn mất thông tin? Không. Có đôi khi mất thông tin? Youbetcha. Bạn có thể xây dựng lại dữ liệu gốc từ các thành phần. Nếu nó luôn bị mất thông tin thì điều này sẽ không thể xảy ra.

Nó rất hữu ích vì nó thường không làm mất thông tin quan trọng khi bạn sử dụng nó để giảm kích thước dữ liệu của bạn. Khi bạn mất dữ liệu, đó thường là dữ liệu tần số cao hơn và thường ít quan trọng hơn. Các xu hướng chung, quy mô lớn, được nắm bắt trong các thành phần liên quan đến giá trị bản địa lớn hơn.


4

Không. Nếu một hoặc nhiều kích thước của ma trận là một hàm của các kích thước khác, kỹ thuật giảm kích thước phù hợp sẽ không mất bất kỳ thông tin nào.n×p

Trong trường hợp đơn giản nhất, nếu một chiều là sự kết hợp tuyến tính của các chiều khác, việc giảm kích thước theo một chiều có thể được thực hiện mà không mất bất kỳ thông tin nào - bởi vì kích thước bị rơi có thể được tạo lại nếu cần từ những gì còn lại.

Hãy xem xét trường hợp ba chiều này trong đó x3 là sự kết hợp tuyến tính chính xác của x1 và x2. Không rõ ràng từ việc đánh dấu dữ liệu gốc, mặc dù rõ ràng x3 có liên quan đến cả hai điều còn lại:

nhập mô tả hình ảnh ở đây

Nhưng nếu chúng ta nhìn vào các thành phần chính, thì thứ ba là 0 (trong phạm vi số).

nhập mô tả hình ảnh ở đây

Cốt truyện của hai thành phần chính đầu tiên giống như âm mưu của x1 so với x2, chỉ được xoay (ok, không rõ ràng như tôi muốn nói, tôi sẽ cố gắng giải thích rõ hơn sau) :

nhập mô tả hình ảnh ở đây

Chúng tôi đã giảm một chiều mà vẫn giữ tất cả thông tin, theo bất kỳ định nghĩa hợp lý nào.

Điều này cũng vượt ra ngoài việc giảm kích thước tuyến tính, mặc dù tự nhiên trở nên phức tạp hơn để minh họa. Vấn đề là câu trả lời chung là "không", không phải khi một số kích thước là các chức năng của sự kết hợp của các yếu tố khác.

Mã R:

library(GGally)


n <- 10^3
dat <- data.frame(x1=runif(n, 0, 3), x2=rnorm(n))
dat$x3 <- with(dat, x1 + x2)

ggpairs(dat)

pc <- princomp(dat)
plot(pc)

par(mfrow=c(1,2))
with(dat, plot(dat$x1, dat$x2, col="red", main="Original data", bty="l"))
with(pc, plot(scores[,1], scores[,2], col="blue", main="Scores from principal components(\n(rotated)", bty="l"))
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.