Đánh giá độ phức tạp của thuật toán 2v-SVM

Một phần của tài liệu phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms) (Trang 42 - 43)

Quá trình giải bài toán tối ưu được thực hiện qua nhiều vòng lặp, tối ưu hoá dần từng bước. Theo giải thuật tìm α* như trong phần trên, mỗi vòng lặp của quá trình tối ưu hoá lại tiến hành tìm kiếm giá trị cực đại của hàm Spq (tức là ΔGpq), đồng thời phải cập nhật các giá trị cho các biến {αi} nên phương pháp này không tránh khỏi có độ phức tạp tính toán tương đối lớn. Chính vì vậy ta cần tìm hiểu vấn đề nhằm làm giảm tới mức có thể độ phức tạp tính toán cho chương trình.

Trước hết ta có nhận xét, quá trình thực hiện vòng lặp để cực đại hoá hàm tối ưu thông qua việc tìm cực đại ΔGpq, thực chất là quá trình tìm đồng thời giá trị max

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 31/67

ΔGpq này lại cho phép làm giảm độ phức tạp tính toán trong mỗi vòng lặp từ O(m2) xuống còn O(m).

Tiếp theo, để ý rằng việc cập nhật giá trị Gi cho lần lặp tiếp theo có thể tiến hành theo công thức [6]: ) ( ) 1 ( qi pi pq k i k i G K K G    

Nhờ đó có thể làm giảm độ phức tạp của quá trình cập nhật này từ O(m2) xuống còn O(m).

Tổng hợp lại, xét chung độ phức tạp của các quá trình huấn luyện, phương pháp này được đánh giá là có độ phức tạp giải thuật là O(m3). Với bài toán phân loại đa lớp với số lớp văn bản giả sử là k, thì độ phức tạp của bài toán sẽ là O(k.m3).

Một phần của tài liệu phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms) (Trang 42 - 43)