Kích thước và đa dạng


13

Một câu thường được nghe trong Học máy không giám sát là

Đầu vào chiều cao thường sống trên hoặc gần một đa chiều chiều thấp

Một chiều là gì? Một đa tạp là gì? Sự khác biệt là gì?

Bạn có thể đưa ra một ví dụ để mô tả cả hai?

Manifold từ Wikipedia:

Trong toán học, một đa tạp là một không gian tôpô giống với không gian Euclide gần mỗi điểm. Chính xác hơn, mỗi điểm của một đa tạp n chiều có một vùng lân cận đồng nhất với không gian Euclide của chiều thứ n.

Kích thước từ Wikipedia:

Trong vật lý và toán học, kích thước của một không gian toán học (hoặc đối tượng) được định nghĩa không chính thức là số lượng tọa độ tối thiểu cần thiết để chỉ định bất kỳ điểm nào trong đó.

Wikipedia thậm chí còn có nghĩa gì trong thuật ngữ giáo dân? Nghe có vẻ như một số định nghĩa kỳ lạ như hầu hết định nghĩa máy học?

Cả hai đều là không gian, vậy sự khác biệt giữa không gian Euclide (tức là Manifold) và không gian thứ nguyên (nghĩa là dựa trên tính năng) là gì?


1
Bạn đã thử tìm kiếm trên Internet chưa? Thế là đủ.
Alexanderr Blekh

1
vâng, tôi đã có google nhưng điều đó chắc chắn là không đủ, hãy xem câu hỏi cập nhật.
alvas

1
Tôi không chắc chắn rằng đó là một ý tưởng tốt để tìm giải thích về các khái niệm học máy phức tạp "theo thuật ngữ giáo dân". Ngoài ra, bạn nên mở rộng tìm kiếm của mình ngoài Wikipedia.
Alexanderr Blekh

Câu trả lời:


29

Một chiều là gì?

Nói một cách đơn giản, nếu bạn có một tập dữ liệu dạng bảng với m hàng và n cột, thì thứ nguyên của dữ liệu của bạn là n:

Một đa tạp là gì?

Ví dụ đơn giản nhất là hành tinh Trái đất của chúng ta. Đối với chúng tôi nó trông phẳng, nhưng nó thực sự là một hình cầu. Vì vậy, nó là một đa tạp 2d được nhúng trong không gian 3d.

Sự khác biệt là gì?

Để trả lời câu hỏi này, hãy xem xét một ví dụ khác về đa tạp:

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

Điều này được gọi là "cuộn swiss". Các điểm dữ liệu ở dạng 3d, nhưng tất cả đều nằm trên đa tạp 2d, do đó, chiều của đa tạp là 2, trong khi chiều của không gian đầu vào là 3.

Có nhiều kỹ thuật để "tháo gỡ" những đa tạp này. Một trong số chúng được gọi là Nhúng tuyến tính cục bộ , và đây là cách nó sẽ làm điều đó:

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

Đây là một đoạn trích tìm hiểu để làm điều đó:

from sklearn.manifold import LocallyLinearEmbedding

lle = LocallyLinearEmbedding(n_neighbors=k, n_components=2)
X_lle = lle.fit_transform(data)
plt.scatter(X_lle[:, 0], X_lle[:, 1], c=color)
plt.show()

6

Thứ nguyên của một tập dữ liệu là số lượng biến được sử dụng để thể hiện nó. Ví dụ: nếu chúng tôi quan tâm đến việc mô tả mọi người về chiều cao và cân nặng của họ, bộ dữ liệu "người" của chúng tôi sẽ có 2 chiều. Nếu thay vào đó, chúng ta có một tập dữ liệu hình ảnh và mỗi hình ảnh là một triệu pixel, thì chiều của bộ dữ liệu sẽ là một triệu. Trong thực tế, trong nhiều ứng dụng học máy hiện đại, tính chiều của bộ dữ liệu có thể rất lớn.

Khi kích thước rất lớn (lớn hơn số lượng mẫu trong tập dữ liệu), chúng ta có thể gặp phải một số vấn đề nghiêm trọng. Hãy xem xét một thuật toán phân loại đơn giản tìm cách tìm một tập các trọng số w sao cho khi chấm với một mẫu x, sẽ đưa ra một số âm cho một lớp và một số dương cho một lớp khác. w sẽ có độ dài bằng với chiều của dữ liệu, vì vậy nó sẽ có nhiều tham số hơn so với các mẫu trong toàn bộ dữ liệu. Điều này có nghĩa là người học sẽ có thể điều chỉnh dữ liệu quá mức và do đó sẽ không khái quát tốt cho các mẫu khác không thấy trong quá trình đào tạo.

Một đa tạp là một đối tượng của chiều d được nhúng trong một số không gian chiều cao hơn. Hãy tưởng tượng một tập hợp các điểm trên một tờ giấy. Nếu chúng ta làm nhăn giấy, các điểm hiện có 3 chiều. Nhiều thuật toán học đa dạng tìm cách "tháo gỡ" tờ giấy để đưa dữ liệu trở lại thành 2 chiều. Ngay cả khi chúng ta không quan tâm đến việc quá mức mô hình của mình, một người học đa tạp phi tuyến tính có thể tạo ra một không gian làm cho các vấn đề phân loại và hồi quy dễ dàng hơn.


Có những trường hợp mà tính đa chiều cao không mở ra cho một đa tạp?
alvas

Chắc chắn rồi! Đôi khi, dữ liệu đã nằm trong không gian nội tại của nó. Trong trường hợp đó, cố gắng giảm tính chiều có thể sẽ gây khó khăn cho hiệu suất phân loại. Trong những trường hợp này, bạn sẽ thấy rằng các tính năng trong bộ dữ liệu bạn đang sử dụng phần lớn độc lập về mặt thống kê với nhau.
Jordan A

1

Một cách để giảm kích thước là thực hiện băm tính năng. Điều này đã được biết về những năm 1960. Vì vậy, ví dụ nếu dữ liệu của bạn là một tập hợp các điểm thưa thớt theo 3 chiều (x, y, z), bạn tạo hàm băm (tốt) h (x, y, z). Tất nhiên, bạn có thể sử dụng bảng băm hoặc tra cứu bộ lọc Bloom. Đây là một hình thức nén dữ liệu tốt. Tôi không biết tại sao cộng đồng AI không sử dụng nó. Nó là nhiều hơn đến điểm hơn một mạng lưới thần kinh.


1
Làm thế nào là giảm kích thước liên quan đến đa tạp?
alvas

Đó là một cách để chọn ra mọi thứ trên đa tạp và loại trừ mọi thứ khác.
SeanOCVN

Tôi nghĩ rằng @alvas có một điểm ở đây. Không rõ ngay điều này liên quan đến câu hỏi ban đầu liên quan đến việc giải thích đa tạp và kích thước như thế nào.
Ryan J. Smith

Để giúp giải quyết liên kết bị thiếu trong câu trả lời của SeanOCVN và nhận xét của alvas: Một đa tạp (trong một không gian tôpô) là đầu ra của việc thực hiện (hoặc a) Thuật toán nhúng tuyến tính cục bộ với dữ liệu đầu vào trong một không gian nhúng. Kết quả là số lượng kích thước dữ liệu đầu vào cao hơn số lượng kích thước dữ liệu đầu ra. Việc trích xuất một biểu diễn dữ liệu mới (có thể ánh xạ tới biểu diễn dữ liệu gốc) được gọi là trích xuất tính năng của Cameron; đó là một kiểu con của việc giảm kích thước chiều cao.
pds

0

@Alexey Grigorev đã đưa ra một câu trả lời rất hay, tuy nhiên tôi nghĩ rằng có thể hữu ích khi thêm hai điều:

  • Tôi muốn cung cấp cho bạn một ví dụ giúp tôi hiểu được tầm quan trọng của đa tạp bằng trực giác.
  • Xây dựng về điều đó, tôi muốn làm rõ "giống như không gian Euclidian" một chút.

Ví dụ trực quan

Hãy tưởng tượng chúng ta sẽ làm việc trên một bộ sưu tập các hình ảnh HD rồi (đen và trắng) (1280 * 720 pixel). Những bức ảnh đó sống trong một thế giới 921.600 chiều; Mỗi hình ảnh được xác định bởi các giá trị riêng lẻ của pixel.

Bây giờ hãy tưởng tượng rằng chúng ta sẽ xây dựng những hình ảnh này bằng cách điền vào từng pixel theo thứ tự bằng cách lăn một con súc sắc 256 mặt.

Hình ảnh thu được có thể trông giống như thế này:

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

Không thú vị lắm, nhưng chúng tôi có thể tiếp tục làm điều đó cho đến khi chúng tôi đạt được thứ gì đó chúng tôi muốn giữ. Rất mệt mỏi nhưng chúng ta có thể tự động hóa điều này trong một vài dòng Python.

Nếu không gian của những hình ảnh có ý nghĩa (huống chi là hiện thực) thậm chí sẽ rộng lớn như toàn bộ không gian tính năng, chúng ta sẽ sớm thấy điều gì đó thú vị. Có lẽ chúng ta sẽ thấy một bức ảnh em bé của bạn hoặc một bài báo từ một dòng thời gian thay thế. Này, làm thế nào về việc chúng ta thêm một thành phần thời gian và thậm chí chúng ta có thể gặp may mắn và tạo ra Back to th Tương lai với một kết thúc thay thế

Trên thực tế, chúng ta đã từng có những cỗ máy thực hiện chính xác điều này: TV cũ không được điều chỉnh đúng. Bây giờ tôi nhớ đã nhìn thấy những thứ đó và chưa bao giờ tôi thấy bất cứ thứ gì thậm chí có cấu trúc.

Lý do tại sao điều này xảy ra? Chà: Hình ảnh chúng tôi thấy thú vị trên thực tế là các hình chiếu có độ phân giải cao của hiện tượng và chúng bị chi phối bởi những thứ ít chiều cao hơn nhiều. Ví dụ: Độ sáng của cảnh, gần với hiện tượng một chiều, chiếm ưu thế gần một triệu chiều trong trường hợp này.

Điều này có nghĩa là có một không gian con (đa tạp), trong trường hợp này (nhưng không phải theo định nghĩa) được kiểm soát bởi các biến ẩn, có chứa các trường hợp quan tâm đối với chúng tôi

Hành vi Euclidian địa phương

Hành vi Euclidian có nghĩa là hành vi có tính chất hình học. Trong trường hợp độ sáng rất rõ ràng: Nếu bạn tăng nó dọc theo "trục", hình ảnh thu được sẽ sáng hơn liên tục.

Nhưng đây là nơi thú vị: Hành vi Euclidian đó cũng hoạt động trên các chiều trừu tượng hơn trong không gian Manifold của chúng tôi. Xem xét ví dụ này từ Deep Learning của Goodfellow, Bengio và Courville

Trái: Bản đồ 2 chiều của các khuôn mặt Frey đa dạng.  Một chiều đã được phát hiện (nằm ngang) chủ yếu tương ứng với một vòng quay của khuôn mặt, trong khi chiều còn lại (dọc) tương ứng với biểu hiện cảm xúc.  Phải: Bản đồ 2 chiều của đa tạpMNIST

Trái: Bản đồ 2 chiều của các khuôn mặt Frey đa dạng. Một chiều đã được phát hiện (nằm ngang) chủ yếu tương ứng với một vòng quay của khuôn mặt, trong khi chiều còn lại (dọc) tương ứng với biểu hiện cảm xúc. Phải: Bản đồ 2 chiều của đa tạpMNIST

Một lý do tại sao học tập sâu thành công trong ứng dụng liên quan đến hình ảnh là bởi vì nó kết hợp một hình thức học tập đa dạng rất hiệu quả. Đó là một trong những lý do tại sao nó được áp dụng để nhận dạng và nén hình ảnh, cũng như thao tác hình ảnh.

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.