Tôi có quyền truy cập vào một tập dữ liệu rất lớn. Dữ liệu là từ các bản ghi MEG của những người nghe các trích đoạn âm nhạc, từ một trong bốn thể loại. Dữ liệu như sau:
- 6 môn học
- 3 lần lặp lại thí nghiệm (kỷ nguyên)
- 120 thử nghiệm mỗi kỷ nguyên
- 8 giây dữ liệu cho mỗi thử nghiệm ở 500Hz (= 4000 mẫu) từ 275 kênh MEG
Vì vậy, mỗi "ví dụ" ở đây là một ma trận có kích thước [4000x275] và có 2160 ví dụ như vậy, và đó là trước khi bất kỳ trích xuất tính năng nào. Mục tiêu là dự đoán thể loại dựa trên tín hiệu não (phân loại 4 lớp).
Rõ ràng có một số vấn đề thách thức ở đây, cụ thể là:
- Bộ dữ liệu không vừa trong bộ nhớ
- Sẽ có mối tương quan thời gian mạnh mẽ trong dữ liệu và biến thể giữa các chủ đề sẽ rất lớn. Kết quả là không rõ ràng làm thế nào để phân chia dữ liệu
- Tỷ lệ tín hiệu trên tạp âm rất thấp
- Không rõ các tính năng chính xác cho phân loại sẽ là gì
Lần lượt lấy những thứ này:
Có nhiều thứ người ta có thể làm. Đầu tiên, chúng ta có thể giảm mẫu một cách an toàn từ 500Hz xuống ~ 200Hz, vì ngay cả khi tính đến giới hạn Nyquist, hoạt động của não không thực sự xảy ra ở mức trên 100Hz. Chúng tôi cũng có thể subsample từ các tập hợp các kênh (ví dụ như trung tâm trên vùng thính giác) nhưng chúng tôi không muốn làm điều này một tiên nghiệm , như có thể có hoạt động trong các lĩnh vực khác (trán vv) có thể được quan tâm. Chúng ta có thể cũng có thể thả một phần của cửa sổ thời gian. Có lẽ chỉ 2s đầu tiên là quan trọng cho nhiệm vụ? Nó không thực sự được biết đến. Tất nhiên mọi người sẽ hét lên " Giảm kích thước! ", nhưng điều đó cũng không tầm thường. Thứ nhất, chúng tôi phải rất cẩn thận về việc phân chia thử nghiệm / đào tạo của chúng tôi (xem 2.) và cũng không rõ liệu nên làm điều này trước hay sau khi tạo tính năng. xác thực chéo hoặc kiểm tra trực quan cần thiết, không có cách rõ ràng nào để chọn phương pháp phù hợp hoặc số lượng kích thước phù hợp. Tất nhiên chúng tôi chỉ có thể sử dụng ví dụ PCA, ICA hoặc dự đoán ngẫu nhiên và hy vọng điều tốt nhất ....
Đây là khó khăn. Nếu chúng ta có các mẫu liên tiếp trong tập huấn luyện, chúng ta có khả năng phù hợp với tập huấn luyện, trong khi đó nếu chúng ta có các mẫu liên tiếp được chia thành tập huấn luyện và các bài kiểm tra, chúng ta có khả năng sẽ phù hợp với tập huấn luyện, nhưng vẫn có thể vượt quá tập kiểm tra. Dường như có nhiều lựa chọn khác nhau ở đây:
- Phân loại môn học đơn . Lấy từng đối tượng riêng lẻ và phân chia theo thời đại. Đây sẽ là nhiệm vụ dễ dàng nhất, vì chúng ta không cố gắng dự đoán trên bộ não. Trong phạm vi này, người ta có thể sử dụng hai kỷ nguyên còn lại để xác nhận chéo. Để hoàn thiện người ta nên xoay tất cả các kết hợp. Chúng tôi chỉ đơn giản là báo cáo độ chính xác trung bình trên tất cả các đối tượng. Tất nhiên, chúng tôi sẽ không mong đợi những mô hình này sẽ khái quát tốt cả.
- Trong phân loại đối tượng . Mang tất cả các đối tượng lại với nhau, và phân chia theo thời đại. Đây có thể trên thực tế là nhiệm vụ đơn giản nhất, như chúng ta sẽ thấy tất cả các đối tượng trong đào tạo. Tuy nhiên, có lẽ chúng ta sẽ không mong đợi các mô hình sẽ khái quát tốt cho các đối tượng mới. Trong phạm vi này, người ta có thể sử dụng hai kỷ nguyên còn lại để xác nhận chéo. Để hoàn thiện người ta nên xoay tất cả các kết hợp.
- Giữa các môn học phân loại . Còn được gọi là "bỏ qua một lần", trong đó một chủ đề duy nhất được lấy làm dữ liệu thử nghiệm và phần còn lại được sử dụng để đào tạo. Sau đó chúng tôi sẽ xoay qua tất cả các đối tượng. Xác nhận chéo sau đó sẽ được thực hiện trên các đối tượng. Chúng tôi hy vọng đây sẽ là một nhiệm vụ khó khăn hơn nhiều, vì chúng tôi đang cố gắng dự đoán về một "bộ não mới" mỗi lần. Ở đây, chúng tôi hy vọng các mô hình sẽ khái quát tốt cho dân số lớn hơn, mặc dù có vấn đề về độ tin cậy kiểm tra lại (tức là mức độ quá mức gây ra bởi tương quan thời gian).
Đây là một vấn đề "kim trong đống cỏ khô" cổ điển - tín hiệu thực tế liên quan đến việc nhận biết thể loại âm nhạc, hoặc bất kỳ quá trình xử lý cụ thể thể loại nào, có khả năng rất nhỏ so với "súp" hoạt động trong não. Ngoài ra còn có các đồ tạo tác đáng chú ý chỉ có thể được loại bỏ một phần (chủ yếu liên quan đến chuyển động). Bất kỳ tính năng nào chúng tôi lấy được từ dữ liệu và mọi cách xử lý dữ liệu đều tránh được việc phá hủy một phần tín hiệu đáng quan tâm.
Ở đây người ta có thể tưởng tượng làm nhiều việc khác nhau. Đầu tiên sẽ chỉ đơn giản là sử dụng dữ liệu thô (được nối vào một vectơ) làm vectơ đặc trưng. Tôi không chắc nó có hiệu quả như thế nào - tôi nghĩ những vectơ này có thể về cơ bản là ngẫu nhiên. Đây thực sự là một câu hỏi xử lý tín hiệu, nhưng có một số hướng dẫn chung người ta có thể làm theo. Một là thực hiện Phân tích Fourier tiêu chuẩn qua cửa sổ trượt, từ đó các thành phần có thể được chia thành các dải tần số riêng biệt (alpha / beta / gamma, v.v.) và thống kê các giá trị này (trung bình, độ lệch chuẩn) có thể được sử dụng làm tính năng. Hoặc người ta có thể sử dụng Wavelets, Hilbert Transforms hoặc thậm chí cố gắng tìm kiếm những người thu hút hỗn loạn. Tất nhiên sau đó chúng ta có sự lựa chọn các hạt nhân (tuyến tính, đa thức, RBF, v.v.) nhân lên số lượng hoán vị. Có lẽ điều tốt nhất để làm ở đây là tạo ra càng nhiều bộ tính năng khác nhau càng tốt, sau đó sử dụng MKL hoặc các phương thức tăng cường để kết hợp chúng lại với nhau.
Làm thế nào bạn sẽ tiếp cận loại dữ liệu này (nếu không phải là cụ thể)? Có điều gì tôi đã bỏ lỡ trên đường đi? Chiến lược nào có khả năng nhất để thành công, mà không tốn vô số thời gian của nhà nghiên cứu và tài nguyên tính toán?