Tôi đang tìm các cặp vectơ có ít nhất các đặc điểm chung của L
Đây chỉ là một sản phẩm bên trong của các vectơ đặc trưng nhị phân. Khi sản phẩm bên trong lớn hơn , cặp sẽ có ít nhất các yếu tố L chung. Đây phải là một tính toán tương đối nhanh - ít nhất, nhanh hơn khoảng cách euclide, sẽ gây lãng phí và chậm cho dữ liệu này. Vì bạn quy định rằng bạn đang tìm kiếm các cặp, điều này vốn có nghĩa là bạn phải thực hiện các phép tính để so sánh mọi vectơ.L - 1L( N2)
Tìm các điểm gần nhau thực sự là một vấn đề nhóm. Nhưng bước đầu tiên của thuật toán phân cụm mà tôi quen thuộc là tính toán khoảng cách hoặc điểm tương đồng theo cặp. Tôi chắc rằng ai đó đã phát triển các lựa chọn thay thế hiệu quả hơn. Một điểm về thuật ngữ: có ít nhất hàng xóm chung được gọi là tương tự , không phải là một khoảng cách! Trong trường hợp này, các sản phẩm bên trong là sự tương đồng cosin không chuẩn hóa.L
Bạn có thể làm cho điều này trở nên dễ hiểu hơn bằng cách chỉ thực hiện tính toán sản phẩm bên trong khi tổng của vectơ đặc trưng (trong trường hợp này giống như định mức) cho một quan sát lớn hơn , vì không thể cho vectơ đặc trưng nhị phân đó để có một sản phẩm bên trong với một vector đặc trưng nhị phân mà sẽ làm hài lòng tiêu chí của tôi khi tổng này nhỏ hơn . Rõ ràng, tính toán các khoản tiền này chỉ là độ phức tạp , vì vậy tôi là một cách rẻ tiền để giảm độ lớn của bước sản phẩm bên trong.L O ( N )L - 1LÔ ( N)
Nhưng cách cổ điển để giảm phạm vi của vấn đề này là lọc thêm trước. Bạn có đặc biệt quan tâm khi một, tính năng không phổ biến có giá trị 1 không? Nếu vậy, chỉ thực hiện tính toán cho các vectơ đặc trưng đó.
Hoặc có lẽ bạn có thể hưởng lợi từ việc đóng khung lại vấn đề của bạn. Ví dụ, lấy mẫu được biết là có các thuộc tính đẹp; thống kê suy luận phát triển trên ý tưởng này đến một số chiều sâu. Vì vậy, có lẽ không thể phân tích toàn bộ tập dữ liệu, nhưng hoàn toàn khả thi khi kiểm tra một mẫu nhỏ. Tôi không biết câu hỏi nào bạn đang cố gắng trả lời, nhưng nếu bạn cẩn thận thiết kế thử nghiệm của mình, bạn có thể thoát khỏi việc chỉ nhìn vào vài nghìn quan sát, với hơn đủ dữ liệu cho mục đích xác nhận.
Sau một vài suy nghĩ thêm, tôi có một linh cảm mạnh mẽ rằng các dữ liệu bạn đang làm việc với một số loại đồ thị . Rất có lý khi bao gồm một số thành phần được kết nối, trong trường hợp đó bạn có thể phân tách thành một tập hợp các biểu đồ, với tác dụng phụ hạnh phúc là giảm tính chiều của dữ liệu. Ngay cả khi biểu đồ chỉ có hai thành phần được kết nối có cùng kích thước, điều đó có nghĩa là các phép so sánh cặp có khoảng tổng chi phí!G G O ( N 2 ) 1GGGÔ ( N2)14
Nếu biểu đồ là đối xứng, các quan sát sau đây có thể hữu ích:
- Xác định Laplacian của đồ thị của bạn là , trong đó là ma trận đường chéo bậc (tổng của mỗi vectơ đặc trưng) và là ma trận kề (xếp các vectơ đặc trưng thành ma trận).D AP= D - ADMột
- Giờ số xuất hiện như một eigenvalue của là số của các thành phần kết nối của . Phân tách biểu đồ thành các thành phần được kết nối và chỉ hoạt động với các thành phần đó sẽ có tác dụng phụ làm giảm kích thước dữ liệu của bạn; tính toán số lượng quan tâm của bạn sẽ dễ dàng hơn. Nhưng tính toán quá trình xuất tinh sẽ tốn kém cho một triệu đỉnh ...P G0PG
- (Sau một hoán vị đầy đủ) là một khối ma trận đường chéo của Laplacians của các thành phần kết nối của .GPG
- P là nửa cực dương. Điều này gần như chắc chắn hữu ích bằng cách nào đó.
- Các kết nối đại số của là giá trị của các eigenvalue thứ hai nhỏ nhất của . Điều này cho bạn biết được kết nối tốt như thế nào . Có lẽ điều đó sẽ trả lời một số câu hỏi mà bạn quan tâm đến: các vectơ có các tính năng chung. Lý thuyết đồ thị phổ phát triển ý tưởng này chi tiết hơn.P GGPG
"Đây có phải là vấn đề SNA không?" Tôi không chắc. Trong một ứng dụng, các tính năng mô tả hành vi và chúng tôi đang tìm cách kết nối mọi người với các hành vi tương tự. Điều đó làm cho vấn đề này SNA?
Nếu bạn có một biểu đồ lưỡng cực kết nối mọi người với các hành vi, bạn có thể nghĩ đây là một mạng lưới liên kết , với mọi người là các hàng và hành vi như các cột. Nếu bạn muốn kết nối mọi người với mọi người thông qua những hành vi mà họ có điểm chung, bạn có thể tính toán . là số hành vi mà mọi người có chung. Rõ ràng, tập hợp các đỉnh trong đó trả lời câu hỏi của bạn.B B T = A A i j A i j ≥ LBB BT= AMộttôi jMộttôi j≥ L