CHƯƠNG 3 : CÁC CÔNG TRÌNH CÓ LIÊN QUAN
3.3.2. Sắp xếp tập huấn luyện
Với giải thuật phân lớp có thời gian thực thi tùy chọn như đã trình bày ở mục 3.3.1, có hai cách để cải tiến giải thuật: thay đổi độ đo khoảng cách và thay đổi thứ tự sắp xếp Index. Tuy nhiên, Ueno và các cộng sự [7] chỉ tập trung vào việc phân tích quá trình sắp xếp tập huấn luyện.
Hình 3-8 trình bày giải thuật sắp xếp tập huấn luyện. Ý tưởng chính của giải thuật này như sau: giải thuật bắt đầu bằng việc tìm chuỗi xấu nhất trong tập huấn luyện (dòng 5, 6), và gán nó vào vị trí cuối cùng trong Index (dòng 7). Để đảm bảo rằng chuỗi này không được xem xét lại một lần nữa, giải thuật thay thế nó trong danh sách ban đầu bằng giá trị null (dòng 8). Sau đó, giải thuật lặp lại việc tìm chuỗi xấu nhất trong phần còn lại và gán cho chuỗi đó vị trí trống cuối cùng trong Index.
1 2 3 4 5 6 7 8
Function [Index] = Order_Index(Training_Database) Index = create_vector_of_size(m);
//m is the size of Training_Database
for p=0 to m–(1+number_of_classes(Training_Database))
location =find_location_of_worst_examplar(Training_Database) indexm-p = location;
Training_Database(location) = null;
end for
Giải thuật trên hoàn toàn tổng quát và rõ nghĩa, ngoại trừ việc làm thế nào để xác định chuỗi xấu nhất là chưa được trình bày. Đây là một điểm mở của giải thuật, cho phép mỗi người có thể có cách định nghĩa riêng của mình về cách xác định thế nào là chuỗi xấu nhất.
Lưu ý rằng, giải thuật này tìm kiếm chuỗi xấu nhất trước thay vì tìm chuỗi tốt nhất trước. Điều đó có nghĩa, ta hoàn toàn có thể tìm kiếm theo chiều ngược lại, theo đó ta tìm chuỗi tốt nhất và đặt nó vào vị trí đầu tiên trong Index, sau đó tìm chuỗi tốt nhất kế tiếp và đặt nó vào vị trí trống tiếp theo. Lý do chính cho quyết định chọn cách tìm chuỗi xấu nhất trước là vì việc xác định chuỗi tốt nhất là rất khó trong giai đoạn đầu của giải thuật. Rất khó để đánh giá mức độ hữu dụng của một chuỗi riêng lẻ trong giai đoạn đầu của giải thuật tìm chuỗi tốt nhất trước vì ta quan tâm đến những ranh giới mang tính quyết định, được định nghĩa bằng hai (hoặc nhiều hơn) hai chuỗi thuộc các lớp khác nhau.
Phần tiếp theo của mục này giới thiệu một số tiêu chí sắp xếp tập huấn luyện.
Random và BestDrop là trường hợp xấu nhất và tốt nhất. SimpleRank là kỹ thuật sắp xếp mà Ueno và các cộng sự [7] đã đề xuất:
- Random: Thứ tự sắp xếp được xác định một cách ngẫu nhiên.
- BestDrop: Kỹ thuật sắp xếp này tạo một danh sách các mẫu gần nhất, bao gồm cả các mẫu thuộc cùng lớp (associates) và các mẫu thuộc lớp khác (enemies), và sử dụng một hàm tính điểm có trọng số dựa trên danh sách này để sắp xếp các mẫu trong tập huấn luyện.
- SimpleRank: Ý tưởng chính của kỹ thuật sắp xếp này là gán cho mỗi mẫu một thứ hạng dựa trên sự đóng góp của nó vào việc phân lớp. Thứ hạng (rank) của mỗi mẫu x được tính bằng công thức:
Trong đó, xj là mẫu nhận x là láng giềng gần nhất. Ý tưởng của việc sắp xếp này là tăng thứ hạng cho những mẫu phân lớp chính xác các mẫu khác, và giảm thứ hạng nhiều hơn đối với những mẫu phân lớp sai các mẫu khác. Theo cách định nghĩa rank như trên, tại mỗi bước của giải thuật sắp xếp, mẫu nào có rank thấp nhất sẽ được gán vào vị trí trống cuối cùng và bị loại khỏi tập huấn luyện đang xét.
Nếu hai mẫu có cùng thứ hạng, thứ tự của chúng sẽ được xác định dựa trên độ ưu tiên. Độ ưu tiên (priority) của một mẫu x được xác định bằng công thức:
Trong đó xj là mẫu nhận x là láng giềng gần nhất và d(x, xj) là khoảng cách giữa x và xj. Ý tưởng chính là nếu một mẫu cách xa láng giềng gần nhất của nó, nó có thể là nhiễu hoặc đơn giản là một mẫu không điển hình của lớp đó, và nó nên được loại sớm.