Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Data Science] Kernel PCA với kernel tuyến tính

    Kernel PCA dùng ma trận kernel đã tâm hóa. Với kernel tuyến tính K=XX⊤K = XX^\topK=XX⊤ (XXX là n×dn\times dn×d), ma trận kernel tâm hóa:

    K~=K−1nK−K1n+1nK1n\tilde{K} = K - \mathbf{1}_n K - K\mathbf{1}_n + \mathbf{1}_n K \mathbf{1}_nK~=K−1n​K−K1n​+1n​K1n​

    trong đó 1n\mathbf{1}_n1n​ là ma trận n×nn\times nn×n với mọi phần tử bằng 1/n1/n1/n.

    In ra các trị riêng của K~\tilde{K}K~ theo thứ tự giảm dần (dùng np.linalg.eigvalsh).

    • Định dạng đầu vào:

      Dòng 1: nnn, ddd. Tiếp theo nnn dòng, mỗi dòng ddd số.

    • Ràng buộc đầu vào:

      2≤n≤1002 \le n \le 1002≤n≤100, 1≤d≤101 \le d \le 101≤d≤10.

    • Định dạng đầu ra:

      Một dòng gồm nnn trị riêng (giảm dần), định dạng 2 chữ số thập phân, cách nhau bởi dấu cách.

    Ví dụ:

    Đầu vào:

    2 1
    0
    2
    

    Đầu ra:

    2.00 0.00

    Giải thích:

    Tâm hóa: dữ liệu 1 chiều (0,2), sau căn giữa thành (-1,1). Kc có trị riêng 2 và 0.

    Đang tải editor...