Phương pháp K-Nearest Neighbor (K-NN)

Một phần của tài liệu (LUẬN văn THẠC sĩ) phân lớp quan điểm khách hàng và ứng dụng (Trang 40 - 42)

2.4 Các phương pháp phân loại văn bản

2.4.3 Phương pháp K-Nearest Neighbor (K-NN)

K-Nearest Neighbor là phương pháp truyền thống khá nổi tiếng theo hướng tiếp cận thống kê đã được nghiên cứu trong nhiều năm qua. K-NN được đánh giá là một trong những phương pháp tốt nhất được sử dụng từ những thời kỳ đầu trong nghiên cứu về phân loại văn bản.

Thuật tốn K-NN được mơ tả như sau:

1. Xác định giá trị tham số K (số láng giềng gần nhất)

2. Tính khoảng cách giữa đối tượng cần phân lớp (Query Point) với tất cả các đối tượng trong training data (thường sử dụng khoảng các Euclidean)

3. Sắp xếp khoảng cách theo thứ tự tăng dần và xác định K láng giềng gần nhất với Query Point

4. Lấy tất cả các lớp của K láng giềng gần nhất đã xác định

5. Dựa vào phần lớn lớp của láng giềng gần nhất để xác định lớp cho Query Point

Ý tưởng của phương pháp này đĩ là khi cần phân loại một văn bản mới, thuật tốn sẽ xác định khoảng cách (cĩ thể áp dụng các cơng thức về khoảng cách như Euclide, Cosine, Manhattan, …) của tất cả các văn bản trong tập huấn luyện đến văn bản này để tìm ra K văn bản gần nhất, gọi là K Nearest Neighbor – K láng giềng gần nhất, sau đĩ dùng các khoảng cách này đánh trọng số cho tất cả các chủ đề. Khi đĩ, trọng số của một chủ đề chính là tổng tất cả các khoảng cách ở trên của các văn bản trong K láng giềng cĩ cùng chủ đề, chủ đề nào khơng xuất hiện trong K láng giềng sẽ cĩ trọng số bằng 0. Sau đĩ các chủ đề sẽ được sắp xếp theo giá trị trọng số giảm dần và các chủ đề cĩ trọng số cao sẽ được chọn làm chủ đề của văn bản cần phân loại.

Trọng số của chủ đề cj đối với văn bản x được tính như sau :

𝑊(𝑋 , 𝑐𝑗) = ∑ 𝑆𝑖𝑚(𝑋 , 𝑑⃗⃗⃗ )𝑖

𝑑𝑖∈ {𝑘−𝑁𝑁}⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗

. 𝑦(𝑑⃗⃗⃗ , 𝑐𝑖 𝑗) − 𝑏𝑗 (2.9) Trong đĩ :

y (di, c) thuộc {0,1} , với :

• y = 0: văn bản di khơng thuộc về chủ đề cj

• y = 1: văn bản di thuộc về chủ đề cj

sim(x , d): độ giống nhau giữa văn bản cần phân loại x và văn bản d. Chúng ta cĩ thể sử dụng độ đo Cosine để tính khoảng cách :

𝑠𝑖𝑚(𝑥 , 𝑑⃗⃗⃗ ) = 𝑐𝑜𝑠(𝑥 , 𝑑𝑖 ⃗⃗⃗ ) = 𝑖 𝑥 , 𝑑⃗⃗⃗ 𝑖

‖𝑥 ‖‖𝑑 𝑖‖ (2.10)

• bj là ngưỡng phân loại của chủ đề cj được tự động học sử dụng một tập văn bản hợp lệ được chọn ra từ tập huấn luyện.

Để chọn được tham số k tốt nhất cho thao tác phân loại, thuật tốn cần được chạy thử nghiệm trên nhiều giá trị K khác nhau, giá trị K càng lớn thì thuật tốn càng ổn định và sai sĩt càng thấp.

Giải thuật K-NN thích hợp cho việc phân loại dữ liệu chứ giải thuật này khơng cĩ khả năng phân tích dữ liệu để tìm ra các thơng tin cĩ giá trị. Trong q trình K-NN hoạt động, nĩ phải tính tốn "khoảng cách" từ dữ liệu cần xác định loại đến tất cả các dữ liệu trong tập huấn luyện (training set), nếu tập huấn luyện quá lớn, điều đĩ sẽ làm cho thời gian chạy của chương trình sẽ rất lâu.

Một phần của tài liệu (LUẬN văn THẠC sĩ) phân lớp quan điểm khách hàng và ứng dụng (Trang 40 - 42)

Tải bản đầy đủ (PDF)

(65 trang)