Luận văn thạc sĩ học bán giám sát svm knn và ứng dụng thử nghiệm phân lớp văn bản giao thông vận tải

Luận văn: Nghiên cứu học bán giám sát SVM, KNN ứng dụng phân loại văn bản giao thông vận tải. Tìm hiểu mô hình và thử nghiệm thực tế.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Luận Văn Thạc Sĩ

2012

44
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giải mã luận văn SVM KNN Tối ưu phân lớp văn bản GTVT

Luận văn thạc sĩ về học bán giám sát SVM-KNN và ứng dụng trong phân lớp văn bản giao thông vận tải (GTVT) là một báo cáo khoa học có giá trị thực tiễn cao. Nghiên cứu này tập trung giải quyết bài toán phân loại một lượng lớn văn bản tiếng Việt trên Internet, đặc biệt là trong lĩnh vực GTVT, một ngành có dữ liệu văn bản cực kỳ lớn. Bối cảnh của đề tài xuất phát từ nhu cầu cấp thiết về việc tự động hóa quá trình sắp xếp và khai thác thông tin. Với hàng ngàn tin tức, báo cáo, văn bản pháp quy được tạo ra mỗi ngày, việc phân loại thủ công trở nên bất khả thi. Các phương pháp học máy truyền thống, đặc biệt là học có giám sát, đòi hỏi một tập dữ liệu gán nhãn lớn, tốn kém thời gian và công sức. Đây chính là điểm mà phương pháp học bán giám sát (semi-supervised learning) phát huy thế mạnh. Bằng cách tận dụng một lượng nhỏ dữ liệu đã gán nhãn cùng với một lượng lớn dữ liệu không gán nhãn, mô hình có thể học và cải thiện độ chính xác mà không cần sự can thiệp liên tục của con người. Luận văn này đề xuất một hướng tiếp cận lai ghép, kết hợp hai thuật toán mạnh mẽ là Máy vector hỗ trợ (SVM)K-láng giềng gần nhất (KNN). Sự kết hợp này không chỉ kế thừa ưu điểm của từng thuật toán mà còn khắc phục được những nhược điểm cố hữu khi chúng hoạt động riêng lẻ, hứa hẹn mang lại hiệu quả vượt trội trong các bài toán text classification thực tế.

1.1. Tổng quan về phương pháp học bán giám sát Semi supervised learning

Học bán giám sát là một phương pháp trong mô hình học máy nằm giữa học có giám sát (supervised learning) và học không giám sát (unsupervised learning). Phương pháp này đặc biệt hữu ích khi chi phí gán nhãn dữ liệu quá cao. Thay vì yêu cầu toàn bộ dữ liệu huấn luyện phải được gán nhãn, semi-supervised learning chỉ cần một phần nhỏ dữ liệu có nhãn và tận dụng cấu trúc, sự phân bố của một lượng lớn dữ liệu không có nhãn để xây dựng mô hình phân lớp chính xác hơn. Ý tưởng cốt lõi là thông tin từ dữ liệu không gán nhãn có thể giúp mô hình xác định ranh giới quyết định một cách tốt hơn, tránh việc học quá khớp (overfitting) trên tập dữ liệu có nhãn ít ỏi. Trong bối cảnh khai phá dữ liệu văn bản, nơi dữ liệu thô luôn dồi dào nhưng dữ liệu được gán nhãn lại khan hiếm, học bán giám sát trở thành một giải pháp chiến lược.

1.2. Giới thiệu thuật toán SVM và KNN trong phân loại văn bản

Thuật toán SVM (Support Vector Machine) là một mô hình phân lớp nhị phân hiệu quả, hoạt động bằng cách tìm ra một siêu phẳng (hyperplane) có lề (margin) lớn nhất để phân tách hai lớp dữ liệu. SVM tỏ ra rất mạnh mẽ trong không gian nhiều chiều, phù hợp với bài toán phân loại văn bản sau khi đã được đặc trưng hóa văn bản. Trong khi đó, thuật toán KNN (K-Nearest Neighbors) là một thuật toán học lười (lazy learner), phân loại một điểm dữ liệu mới dựa trên nhãn của 'k' điểm láng giềng gần nhất trong không gian đặc trưng. KNN đơn giản, dễ triển khai nhưng hiệu quả phụ thuộc nhiều vào việc lựa chọn tham số 'k' và độ đo khoảng cách. Luận văn nhận thấy cả hai thuật toán đều có những ưu và nhược điểm riêng, tạo tiền đề cho việc kết hợp chúng để tạo ra một mô hình lai ưu việt hơn.

II. Thách thức phân lớp văn bản với dữ liệu gán nhãn hạn chế

Bài toán phân lớp văn bản trong thực tế phải đối mặt với một thách thức lớn: sự khan hiếm của dữ liệu gán nhãn. Việc tạo ra một tập dữ liệu huấn luyện chất lượng cao, nơi mỗi văn bản đều được con người đọc, hiểu và gán nhãn chính xác, là một quá trình tốn kém về cả thời gian và nguồn lực tài chính. Đặc biệt với các lĩnh vực chuyên ngành như giao thông vận tải, công việc này đòi hỏi chuyên gia có kiến thức sâu. Khi tập dữ liệu có nhãn quá nhỏ, các mô hình học máy truyền thống dễ rơi vào tình trạng học lệch hoặc không đủ thông tin để khái quát hóa tốt cho dữ liệu mới. Đây là lúc các hạn chế của từng thuật toán riêng lẻ bộc lộ rõ. SVM, mặc dù mạnh mẽ, có thể xác định ranh giới quyết định không chính xác nếu các vector hỗ trợ (support vectors) không mang tính đại diện do tập huấn luyện nhỏ. Tương tự, KNN sẽ gặp khó khăn khi không gian đặc trưng thưa thớt và các "láng giềng" gần nhất có thể không thực sự liên quan, dẫn đến dự đoán sai. Luận văn đã chỉ ra rằng việc chỉ dựa vào một lượng ít dữ liệu có nhãn là rào cản chính để xây dựng một bộ phân lớp văn bản GTVT tự động, chính xác và đáng tin cậy. Do đó, việc tìm kiếm một phương pháp có thể khai thác hiệu quả nguồn dữ liệu không gán nhãn khổng lồ có sẵn trên Internet là một yêu cầu cấp thiết.

2.1. Hạn chế của thuật toán SVM khi tập huấn luyện nhỏ

Mặc dù Máy vector hỗ trợ được đánh giá cao về độ chính xác (accuracy), hiệu suất của nó phụ thuộc rất nhiều vào chất lượng và số lượng của các vector hỗ trợ. Trong trường hợp tập huấn luyện nhỏ, các vector hỗ trợ được chọn có thể không phản ánh đúng sự phân bố thực của dữ liệu. Điều này dẫn đến việc siêu phẳng phân tách được tạo ra bị lệch hoặc quá nhạy cảm với nhiễu. Theo luận văn, khi các mẫu huấn luyện không đủ lớn, "độ chính xác của các biên quyết định trong mô hình SVM sẽ bị nhập nhằng và có thể đưa ra lỗi trong khi phân lớp". Vấn đề này càng trở nên nghiêm trọng trong các bài toán text classification với số chiều đặc trưng lớn, làm tăng nguy cơ mô hình học vẹt thay vì học các quy luật tổng quát.

2.2. Vấn đề của thuật toán KNN trong không gian dữ liệu thưa

Thuật toán KNN hoạt động dựa trên giả định rằng các điểm dữ liệu gần nhau trong không gian đặc trưng có khả năng thuộc cùng một lớp. Tuy nhiên, khi đối mặt với dữ liệu văn bản, vốn có số chiều rất lớn, khái niệm "gần" trở nên kém tin cậy (lời nguyền của số chiều). Hơn nữa, KNN rất nhạy cảm với các điểm dữ liệu nhiễu. Một vài mẫu được gán nhãn sai trong tập huấn luyện có thể ảnh hưởng trực tiếp đến kết quả phân lớp các mẫu lân cận. Luận văn cũng đề cập, KNN chỉ dựa vào một số lượng nhỏ các "hàng xóm" gần nhất, điều này có thể hữu ích để tránh mất cân bằng dữ liệu nhưng cũng có thể dẫn đến quyết định sai lầm nếu các hàng xóm đó không thực sự đại diện cho lớp. Sự phụ thuộc vào các tham số như 'k' và độ đo khoảng cách cũng là một điểm yếu, đòi hỏi phải có quá trình tinh chỉnh kỹ lưỡng.

III. Phương pháp lai SVM KNN Hướng đi cho học bán giám sát

Để giải quyết các thách thức đã nêu, luận văn đã đi sâu vào nghiên cứu và triển khai một phương pháp lai ghép độc đáo, kết hợp giữa SVM và KNN trong khuôn khổ học bán giám sát. Hướng tiếp cận này được truyền cảm hứng từ công trình của Kunlun Li và cộng sự (2010), nhằm mục đích tận dụng tối đa thông tin từ cả dữ liệu gán nhãndữ liệu không gán nhãn. Ý tưởng cốt lõi là sử dụng thế mạnh của mỗi thuật toán để bù đắp cho điểm yếu của thuật toán kia. Cụ thể, mô hình ban đầu sử dụng một bộ phân lớp SVM "yếu", được huấn luyện trên tập dữ liệu có nhãn ít ỏi, để đưa ra dự đoán sơ bộ cho tập dữ liệu không có nhãn. Từ kết quả này, thuật toán sẽ xác định các "vector biên" - những điểm dữ liệu nằm gần ranh giới quyết định và có khả năng bị phân loại sai nhất. Đây là những điểm dữ liệu cung cấp nhiều thông tin nhất để cải thiện mô hình. Sau đó, thuật toán KNN được sử dụng để gán lại nhãn cho các vector biên này, dựa trên thông tin từ các láng giềng trong tập huấn luyện gốc. Quá trình này giúp "lọc" và sửa lỗi cho các nhãn do SVM yếu dự đoán. Các vector biên sau khi được gán nhãn lại sẽ được thêm vào tập huấn luyện, làm giàu thêm dữ liệu và giúp SVM trong lần lặp tiếp theo học được một ranh giới quyết định chính xác hơn. Quá trình này lặp lại, liên tục cải thiện mô hình cho đến khi đạt được một ngưỡng nhất định.

3.1. Quy trình thuật toán SVM KNN theo đề xuất của Kunlun Li

Luận văn mô tả chi tiết thuật toán học bán giám sát SVM-KNN gồm các bước chính. Bước 1: Xây dựng một bộ phân lớp SVM yếu (SVM1) từ tập dữ liệu có nhãn ban đầu (L). Bước 2: Sử dụng SVM1 để dự đoán nhãn cho toàn bộ dữ liệu chưa gán nhãn (U). Sau đó, xác định các vector biên bằng cách tính khoảng cách Euclidean, chọn ra những mẫu gần ranh giới quyết định nhất. Bước 3: Sử dụng tập L ban đầu làm dữ liệu huấn luyện cho thuật toán KNN. Dùng bộ phân lớp KNN này để gán lại nhãn cho các vector biên đã chọn ở bước 2. Bước 4: Bổ sung các vector biên đã được gán nhãn mới vào tập L, tạo ra một tập huấn luyện mở rộng. Bước 5: Lặp lại quy trình từ bước 2 đến bước 4, mỗi lần lặp lại xây dựng một bộ phân lớp SVM mới trên tập huấn luyện ngày càng lớn, cho đến khi đạt được điều kiện dừng. Mô hình này được kỳ vọng sẽ hội tụ đến một bộ phân lớp có hiệu suất cao.

3.2. Vai trò của vector biên và dữ liệu không gán nhãn

Trong phương pháp này, dữ liệu không gán nhãn không phải là đối tượng thụ động. Chúng đóng vai trò tích cực trong việc định hình lại ranh giới quyết định. Các vector biên, được xác định từ tập dữ liệu không nhãn, là những ứng viên tiềm năng nhất cho vị trí vector hỗ trợ. Việc tập trung vào các vector biên giúp mô hình tinh chỉnh ranh giới ở những khu vực không chắc chắn nhất, thay vì lãng phí tài nguyên tính toán vào những vùng dữ liệu đã được phân tách rõ ràng. Việc sử dụng KNN để gán lại nhãn cho các vector này dựa trên nguyên tắc "láng giềng gần" giúp tăng độ tin cậy của các mẫu huấn luyện mới được thêm vào, giảm thiểu rủi ro lan truyền lỗi từ bộ phân lớp SVM yếu ban đầu. Đây là một cơ chế tự sửa lỗi và làm giàu thông tin hiệu quả, là chìa khóa thành công của phương pháp semi-supervised learning.

IV. Hướng dẫn tiền xử lý và đặc trưng hóa văn bản tiếng Việt

Một hệ thống phân loại văn bản thành công không chỉ phụ thuộc vào thuật toán mà còn phụ thuộc rất nhiều vào chất lượng của dữ liệu đầu vào. Luận văn đã dành một phần quan trọng để trình bày quy trình tiền xử lý và đặc trưng hóa văn bản tiếng Việt, một bước nền tảng trong xử lý ngôn ngữ tự nhiên (NLP). Dữ liệu văn bản thô, đặc biệt là dữ liệu thu thập từ web, thường chứa rất nhiều nhiễu như thẻ HTML, quảng cáo, và các ký tự không cần thiết. Quá trình tiền xử lý bắt đầu bằng việc làm sạch dữ liệu, sau đó là các bước đặc thù cho tiếng Việt. Do tiếng Việt là ngôn ngữ không có ranh giới từ rõ ràng (dấu cách vừa dùng để ngăn cách từ đơn, vừa nằm trong từ ghép), việc tách từ (word segmentation) là công đoạn bắt buộc và đầy thách thức. Sau khi tách từ, các từ dừng (stop words) – những từ xuất hiện thường xuyên nhưng không mang nhiều ý nghĩa ngữ nghĩa như "là", "của", "và" – cần được loại bỏ. Tiếp theo, luận văn áp dụng các phương pháp lựa chọn đặc trưng thống kê để giảm số chiều của dữ liệu, chỉ giữ lại những từ có khả năng phân biệt cao nhất giữa các lớp. Cuối cùng, mỗi văn bản được chuyển đổi thành một vector số học thông qua các mô hình như TF-IDF, sẵn sàng để đưa vào các mô hình học máy.

4.1. Các bước tiền xử lý Tách từ loại bỏ từ dừng và nhiễu

Quá trình tiền xử lý trong luận văn được mô hình hóa một cách bài bản. Đầu tiên là phân đoạn câu và tách câu để xử lý các dấu câu. Bước quan trọng nhất là tách từ tiếng Việt, giải quyết các vấn đề nhập nhằng về kết hợp và trùng lặp. Sau khi có được một chuỗi các token (từ đơn, từ ghép), hệ thống tiến hành lọc bỏ nhiễu. Các từ nhiễu này bao gồm số, ngày tháng, các từ quá ngắn, và đặc biệt là danh sách các từ dừng. Theo tài liệu, các từ như đại từ (hắn, anh ta), từ đếm (một, hai), từ nối (nhưng, vì) được loại bỏ để tập trung vào các từ khóa mang nội dung chính của văn bản. Quá trình này giúp làm giảm đáng kể độ phức tạp tính toán và cải thiện chất lượng của tập đặc trưng.

4.2. Lựa chọn đặc trưng hiệu quả với độ đo Khi bình phương

Với hàng chục ngàn từ khác nhau trong kho dữ liệu, việc sử dụng tất cả làm đặc trưng là không khả thi. Luận văn đã sử dụng phương pháp lựa chọn đặc trưng dựa trên độ đo thống kê Chi-square (Khi-bình phương, X2). Phương pháp này đo lường mức độ phụ thuộc giữa sự xuất hiện của một từ và một lớp cụ thể. Những từ có điểm X2 cao là những từ có khả năng phân biệt mạnh mẽ, tức là sự hiện diện của chúng là một dấu hiệu tốt cho thấy văn bản thuộc về một lớp nhất định. Bằng cách chỉ chọn ra một số lượng nhất định các từ có điểm X2 cao nhất, hệ thống có thể giảm số chiều dữ liệu một cách hiệu quả mà vẫn giữ lại được phần lớn thông tin quan trọng cho việc phân lớp.

4.3. Biểu diễn văn bản bằng mô hình vector không gian TF IDF

Sau khi đã có tập từ đặc trưng, mỗi văn bản cần được biểu diễn dưới dạng một vector số. Luận văn sử dụng phương pháp TF-IDF (Term Frequency-Inverse Document Frequency), một kỹ thuật phổ biến và hiệu quả trong khai phá dữ liệu văn bản (text mining). Trọng số TF-IDF của một từ trong một văn bản được tính toán dựa trên hai yếu tố: tần suất xuất hiện của từ đó trong văn bản (TF) và mức độ hiếm của từ đó trong toàn bộ tập dữ liệu (IDF). Một từ sẽ có trọng số TF-IDF cao nếu nó xuất hiện nhiều lần trong một văn bản cụ thể nhưng lại ít xuất hiện trong các văn bản khác. Điều này giúp làm nổi bật các từ khóa thực sự quan trọng và đặc trưng cho nội dung của từng văn bản, tạo ra một biểu diễn vector giàu thông tin.

V. Kết quả thực nghiệm phân lớp văn bản giao thông vận tải

Phần quan trọng nhất của một luận văn trí tuệ nhân tạo là thực nghiệm và đánh giá. Nghiên cứu này đã tiến hành thực nghiệm để phân lớp văn bản giao thông vận tải thu thập từ các trang báo điện tử tại Việt Nam. Dữ liệu được chia thành hai lớp: "văn bản ngành GTVT" và "văn bản không liên quan đến GTVT". Môi trường thực nghiệm được thiết lập với cấu hình phần cứng và phần mềm cụ thể, bao gồm việc sử dụng thư viện mã nguồn mở libSVM. Tập dữ liệu thô sau khi thu thập (khoảng 3098 file) đã trải qua quá trình tiền xử lý, loại bỏ file trùng lặp, tách từ và loại bỏ từ dừng, thu được một tập dữ liệu sạch với khoảng 31.490 từ duy nhất. Sau bước lựa chọn đặc trưng và biểu diễn bằng TF-IDF, dữ liệu được chia thành ba tập: tập huấn luyện (training), tập kiểm tra (test), và tập chưa gán nhãn (unlabel). Để đánh giá mô hình một cách khách quan, luận văn đã áp dụng phương pháp kiểm định chéo k-lần (k-fold cross-validation) với k=10. Kết quả thực nghiệm được phân tích thông qua các độ đo tiêu chuẩn như Precision, Recall, F1-score và độ chính xác (accuracy) tổng thể, cung cấp bằng chứng rõ ràng về tính hiệu quả của phương pháp học bán giám sát SVM-KNN được đề xuất.

5.1. Xây dựng tập dữ liệu từ các nguồn báo điện tử uy tín

Để thực hiện nghiên cứu ứng dụng machine learning, việc xây dựng một tập dữ liệu chất lượng là bước khởi đầu. Luận văn đã sử dụng công cụ Crawler4j để thu thập dữ liệu từ các trang báo lớn như baogiaothong.vn (đại diện cho lớp văn bản GTVT) và các chuyên mục không liên quan từ vnexpress.netchinhphu.vn. Phương pháp rút trích thông tin dựa trên việc xác định các mẫu (pattern) trong cấu trúc HTML để bóc tách chính xác tiêu đề và nội dung bài viết. Sau quá trình thu thập và tiền xử lý, tập dữ liệu cuối cùng bao gồm 2339 văn bản thuộc lớp GTVT (+1) và 749 văn bản không thuộc lớp GTVT (-1), tạo thành một bộ dữ liệu để huấn luyện và kiểm thử mô hình.

5.2. Đánh giá mô hình qua phương pháp kiểm định chéo 10 lần

Phương pháp kiểm định chéo 10-lần (10-fold cross-validation) được sử dụng để đảm bảo kết quả đánh giá không bị phụ thuộc vào cách chia dữ liệu ngẫu nhiên. Dữ liệu được chia thành 10 phần bằng nhau. Trong mỗi lần lặp, một phần được dùng làm tập kiểm tra, một phần làm tập huấn luyện có nhãn ban đầu, và 8 phần còn lại được coi là tập dữ liệu không gán nhãn. Quá trình huấn luyện và kiểm tra được lặp lại 10 lần, sao cho mỗi phần đều được làm tập kiểm tra đúng một lần. Độ chính xác cuối cùng của mô hình là trung bình cộng của độ chính xác từ 10 lần chạy. Cách tiếp cận này mang lại một ước lượng đáng tin cậy về hiệu suất tổng quát của bộ phân lớp trên dữ liệu chưa từng thấy.

5.3. Phân tích các chỉ số Precision Recall và ma trận nhầm lẫn

Kết quả thực nghiệm cho thấy mô hình đạt được độ chính xác cao. Biểu đồ trong luận văn cho thấy chỉ số F1 (trung bình điều hòa của Precision và Recall) đạt đỉnh ở khoảng 85-88% trong các lần huấn luyện. Cụ thể, khi lựa chọn các tham số tối ưu (k=5 trong KNN, số vector biên n=20), mô hình cho kết quả tốt nhất. Các chỉ số này, cùng với việc phân tích ma trận nhầm lẫn (confusion matrix), cho phép đánh giá chi tiết hơn về khả năng của mô hình trong việc phân loại đúng cả lớp dương (GTVT) và lớp âm (không phải GTVT), cũng như các loại lỗi mà mô hình mắc phải. Kết quả này đã khẳng định tính đúng đắn và hiệu quả của phương pháp lai SVM-KNN trong bối cảnh thực tế.

VI. Kết luận Tương lai của học máy trong ngành Giao thông

Luận văn thạc sĩ về học bán giám sát SVM-KNN đã đạt được mục tiêu đề ra, trình bày một cách toàn diện từ cơ sở lý thuyết, phương pháp đề xuất, đến thực nghiệm và đánh giá kết quả. Nghiên cứu đã chứng minh rằng phương pháp lai ghép giữa SVM và KNN, kết hợp với việc tận dụng dữ liệu không gán nhãn, là một giải pháp hiệu quả cho bài toán phân lớp văn bản tiếng Việt trong điều kiện dữ liệu có nhãn hạn chế. Kết quả thực nghiệm trên miền dữ liệu giao thông đã cho thấy tính đúng đắn và tiềm năng ứng dụng cao của mô hình. Phương pháp này không chỉ giúp tự động hóa việc phân loại tài liệu, tiết kiệm chi phí và thời gian, mà còn mở ra nhiều hướng phát triển mới cho việc áp dụng trí tuệ nhân tạo trong ngành GTVT. Các hệ thống thông minh có thể được xây dựng để tự động phân tích phản hồi của người dân, giám sát tin tức ngành, hoặc hỗ trợ tra cứu văn bản pháp quy một cách nhanh chóng. Mặc dù luận văn còn một số hạn chế nhất định như quy mô tập dữ liệu và việc chưa tích hợp các bước thành một chương trình tổng thể, nó đã đặt một nền móng vững chắc cho các nghiên cứu ứng dụng machine learning sâu hơn trong tương lai.

6.1. Tổng kết tính đúng đắn của phương pháp SVM KNN đề xuất

Luận văn kết luận rằng phương pháp lai SVM-KNN đạt kết quả tốt hơn so với việc sử dụng từng thuật toán đơn lẻ trong bối cảnh thực nghiệm. Việc kết hợp khả năng tìm biên tối ưu của SVM với cơ chế gán nhãn cục bộ của KNN, trong một vòng lặp bán giám sát, đã tạo ra một bộ phân lớp mạnh mẽ và linh hoạt. Mô hình không chỉ cải thiện được độ chính xác (accuracy) mà còn tăng khả năng tính toán trong cả quá trình huấn luyện và phân lớp. Đây là một đóng góp quan trọng, khẳng định tiềm năng của các phương pháp học lai ghép và semi-supervised learning trong việc giải quyết các bài toán thực tế.

6.2. Hạn chế và hướng phát triển cho nghiên cứu machine learning

Nghiên cứu cũng thẳng thắn nhìn nhận những hạn chế, bao gồm việc thực hiện thuật toán còn phần nào thủ công qua nhiều chương trình và quy mô tập dữ liệu thử nghiệm chưa đủ lớn để đưa ra kết luận mang tính tổng quát tuyệt đối. Hướng phát triển trong tương lai có thể tập trung vào việc tự động hóa toàn bộ quy trình thành một hệ thống hoàn chỉnh. Ngoài ra, có thể thử nghiệm trên nhiều lớp dữ liệu hơn, không chỉ dừng lại ở bài toán phân lớp nhị phân. Việc áp dụng các kỹ thuật đặc trưng hóa văn bản tiên tiến hơn như Word2Vec hoặc các mô hình học sâu (Deep Learning) cũng là một hướng đi đầy hứa hẹn để nâng cao hơn nữa hiệu suất của hệ thống phân loại văn bản trong ngành GTVT.

16/09/2025

Trích đoạn nội dung tài liệu

Chương 1: Phương pháp phân lớp SVM và kNN 1. Phương pháp SVM Phương pháp máy vector hỗ trợ (Support Vector Machine – SVM) là phương pháp phân lớp dựa trên lý thuyết học thống kê được Corters và Vapnik giới thiệu vào năm 1995 để giải quyết vấn đề nhận dạng mẫu hai lớp. Nó có khả năng xử lý các tập dữ liệu cả khả tách tuyến tính lẫn không khả tách tuyến tính. Bản chất của thuật toán này là nó xây dựng một siêu phẳng để phân chia tập dữ liệu khả tách tuyến tích thành 2 nửa.

Trong trường hợp nếu tập dữ liệu là không khả tách tuyến tính thì nó sẽ sử dụng một hàm nhân (kernel function) để chuyển đổi tập dữ liệu ban đầu sang một không gian mới có số chiều lớn hơn để xử lý. Đây là phương pháp tiếp cận phân tách vector rất hiệu quả. Các thử nghiệm cho thấy, phương pháp SVM có khả năng phân lớp khá tốt đối với bài toán phân lớp văn bản cũng như trong nhiều ứng dụng khác (như nhận dạng chữ viết tay, nhận dạng khuôn mặt…). Tách tuyến tính Thuật toán SVM cơ sở là trường hợp tập dữ liệu huấn luyện chỉ có 2 lớp và nó phân bố ở dạng vector và ta có thể phân tách chúng một cách tuyến tính bằng một siêu phẳng.

Gọi D là tập dữ liệu huấn luyện: (X1, y1), (X2, y2), … , (X|D|, y|D|), trong đó Xi là các phần tử dữ liệu và yi là nhãn tương ứng của nó. Giá trị của yi có thể nhận là một trong 2 giá trị {-1, +1}. Để có thể hiển thị được dữ liệu ta lấy trường hợp dữ liệu được biểu diễn bằng 2 thuộc tính A1 và A2, và các phần tử dữ liệu của tập D được minh họa bằng hình 1. Từ hình vẽ cho chúng ta thấy dữ liệu có thể phân tách thành 2 nửa bằng một đường thẳng.

Tuy nhiên số lượng các đường thẳng có thể dùng để phân tách tập dữ liệu trên thành 2 nửa là vô hạn (hình 1 minh họa một số đường thằng vẽ bằng đường đứt nét có thể dùng để phân tách dữ liệu thành 2 lớp riêng biệt). Trong trường hợp dữ liệu được biểu diễn bằng 3 thuộc tính (3 chiều) thì đường thẳng sẽ được thay thế bằng mặt phẳng (plane), và trường hợp tổng quát (n chiều) thì chúng ta dùng siêu phẳng (hyperplane) có số chiều n-1 để tách tập dữ liệu khả tách tuyến tính. Như vậy, tập dữ liệu hai lớp n-chiều được gọi là khả tách tuyến tính nếu tồn tại một siêu phẳng tuyến tính (n-1 chiều) tách không gian n chiều thành hai phần, phần này chứa dữ liệu chỉ thuộc một lớp và phần kia chứa dữ liệu chỉ thuộc lớp còn lại. Vậy vấn đề chủ yếu trong SVM là phải làm sao tìm ra siêu phẳng tốt nhất, thuật toán SVM sẽ cố gắng tìm siêu phẳng có lề lớn nhất (maximum marginal (LUAN.tai TIEU LUAN MOI download : skknchat@gmail.tai 8 hyperplane - MMH).

Khái niệm lề có thể được minh họa trên Hình 2, lề của siêu phẳng h là tổng khoảng cách từ h đến 2 siêu phẳng là tiếp tuyến với 2 miền dữ liệu (ở hai bên siêu phẳng) và song song với siêu phẳng h. Hay nói một cách khác, lề của siêu phẳng h là tổng khoảng cách của 2 phần tử dữ liệu (ở 2 mặt của siêu phẳng) trong tập dữ liệu huấn luyện gần với h nhất. Hình 3 minh họa một siêu phẳng khác có lề lớn hơn so với lề của siêu phẳng trong hình 2. Lý do của việc tìm siêu phẳng có lề lớn nhất là ta hy vọng nó sẽ nó có thể phân lớp tốt nhất, nó cho chúng ta tỉ lệ lỗi phân lớp thấp nhất.

Một siêu phẳng phân lớp có thể biểu diễn bằng công thức: W X + b = 0 (1.1) Hình 1: Minh họa dữ liệu có thể phân tách một cách tuyến tính Hình 2: Lề của một siêu phẳng (LUAN.tai TIEU LUAN MOI download : skknchat@gmail.tai 9 Hình 3: Siêu phẳng có lề lớn trong đó W là vector trọng số W={w1, w2, …, wn}; và n là số lượng các thuộc tính mô tả tập dữ liệu D; b là một số thực được gọi là độ lệch. Trong trường hợp đơn giản nhất, ta xét số lượng thuộc tính là 2 ký hiệu là A1 và A2. Khi đó phần tử dữ liệu X được biểu diễn bằng X=(x1, x2) với x1, x2 là giá trị tương ứng của thuộc tính A1 và A2. Nếu ta coi b cũng là một trọng số thì công thức (1.1) sẽ được có dạng: w0 + w1x1 + w2x2 = 0 (1.2) Khi đó các điểm nằm phía trên siêu phẳng sẽ thỏa mãn điều kiện: w0 + w1x1 + w2x2 > 0 (1.3) Các điểm nằm phía dưới siêu phẳng sẽ thỏa mãn điều kiện: w0 + w1x1 + w2x2 < 0 (1.4) Hai siêu phẳng tiếp tuyến với dữ liệu và song song với siêu phẳng phân lớp h có thể được biểu diễn bằng công thức: H1 : w0 + w1x1 + w2x2  +1, với yi = +1 (1.6) Do đó, nói một cách chính xác hơn thì các điểm ở trên siêu phẳng H1 sẽ được phân vào lớp +1 và các điểm ở dưới siêu phẳng H2 sẽ được phân vào lớp - 1.

Bằng cách nhân cả 2 vế của 2 bất đẳng thức (1.6) với yi ta được bất đẳng thức chung: yi (w0 + w1x1 + w2x2)  1, với i (1.tai TIEU LUAN MOI download : skknchat@gmail.tai 10 Để xác định 2 siêu phẳng H1 và H2 ta chỉ cần dựa vào các phần tử dữ liệu huấn luyện nằm trên 2 siêu phẳng (các phần tử dữ liệu thỏa mãn yi (w0 + w1x1 + w2x2) = 1). Những phẩn tử dữ liệu này được gọi là các vector hỗ trợ (support vector). Chúng cũng chính là các phần tử dữ liệu nằm gần siêu phẳng phân chia h nhất. Hình 4 minh họa các vector hỗ trợ (chúng là các hình được bôi đen).

Trong trường hợp tổng quát thì các vector hỗ trợ chính là các phần tử khó phân lớp nhất nhưng lại cung cấp nhiều thông tin nhất cho việc phân lớp (giúp ta xác định các siêu phẳng tiếp tuyến). Từ công thức (1.7) ở trên chúng ta có thể suy ra công thức tính độ lớn của lề. Khoảng cách từ một điểm bất kỳ từ siêu phẳng H1 đến 1 siêu phẳng phân lớp h là , trong đó W là chuẩn Euclidean của W: W W  W  W  w12  w22  .8) Tương tự khoảng cách từ một điểm bất kỳ từ siêu phẳng H2 đến siêu 1 2 phẳng phân lớp h cũng là , và độ lớn của lề sẽ là. Việc tìm ra siêu phẳng W W có lề lớn nhất người ta dựa vào việc giải công thức (1.7), việc này có thể giải quyết bằng bài toán tối ưu toàn phương lồi (convex quadratic optimization).

Chi tiết cách giải bài toán này sẽ không được trình bày trong khuôn khổ cuốn giáo trình này. Hình 4: Minh họa vector hỗ trợ Với SVM, sau khi tìm được siêu phẳng có lề lớn nhất MMH, siêu phẳng này có thể được viết lại dựa trên công thức Lagrangian như sau: (LUAN.tai TIEU LUAN MOI download : skknchat@gmail.9) i 1 trong đó yi là nhãn của các vector hỗ trợ Xi; XT là một phần tử dữ liệu kiểm tra; i và b0 là các số thực, chúng là các tham số được xác định thông qua quá trình tối ưu; và l là số lượng các vector hỗ trợ. Cho một phần tử dữ liệu mới XT nếu sign(f(XT)) =+1 thì phần tử XT nằm trên siêu phẳng MMH, SVM sẽ dự đoán nhãn của XT là +1, ngược lại nó sẽ dự đoán XT thuộc lớp -1. Tách phi tuyến Trong các bài toán phân lớp thực tế có thể gặp nhiều miền dữ liệu không thể phân tách một cách tuyến tính như trong hình 5.

Với ví dụ minh họa này, ta thấy không thể tồn tại một siêu phẳng nào có thể phân tách tập dữ liệu (được ký hiệu bằng các hình tròn rỗng và hình tròn được tô đen) thành 2 nửa. Tuy nhiên SVM có thể mở rộng để phân lớp được các dữ liệu không thể phân tách tuyến tính (linearly inseparable data hay non-linearly separable data) hay gọi đơn giản là dữ liệu không tuyến tính (nonlinear data) hay dữ liệu phi tuyến. SVM mở rộng này có khả năng tìm được ranh rới (boundary) phân lớp, hay siêu diện không tuyến tính (nonlinear hypersurface) (hay siêu diện phi tuyến) từ không gian dữ liệu đầu vào. SVM được mở rộng để xử lý dữ liệu phi tuyến theo 2 bước chính như sau: 1.

Bước đầu tiên chúng ta chuyển không gian dữ liệu đầu vào thành một không gian dữ liệu có số chiều lớn hơn bằng một ánh xạ không tuyến tính (ánh xạ phi tuyến). Có rất nhiều ánh xạ phi tuyến có thể được sử dụng trong bước này (sẽ được trình bày ở dưới). Khi dữ liệu đã được chuyển sang không gian có số chiều lớn hơn, bước tiếp theo ta tìm siêu phẳng tuyến tính để phân lớp dữ liệu trên không gian mới. Để hiểu hơn về phương pháp xử lý của SVM ta có thể xem minh họa trong hình 6, trong đó hình 6 a) mô tả không của gian dữ liệu đầu vào (nó được biểu diễn bằng không gian 2 chiều), rõ ràng với phân bố dữ liệu như thế này thì ta không thể dùng một siêu phẳng để phân tách 2 lớp ra thành 2 phần độc lập nhau.

Sau khi sử dụng hàm ánh xạ, không gian dữ liệu đầu vào sẽ được chuyển sang không gian mới có số chiều cao hơn (3 chiều), đặc biệt trong không gian dữ liệu mới này ta có thể sử dụng một siêu phẳng để phân tách dữ liệu thành 2 lớp.tai TIEU LUAN MOI download : skknchat@gmail.tai 12 Hình 5: Trường hợp dữ liệu không thể phân tách bằng một siêu phẳng a) Không gian ban đầu (2 chiều) b) Không gian mới (3 chiều) Hình 6: Hàm ánh xạ từ dữ liệu phi tuyến sang dữ liệu tuyến tính Ví dụ trong một miền dữ liệu 3 chiều, một phần tử dữ liệu sẽ được biểu diễn bằng vector X=(x1, x2, x3), sau khi sử dụng một hàm ánh xạ sang không gian mới có 6 chiều, phần tử X sẽ biến thành Z, sao cho Z=ô(X)=(x1, x2, x3, x1*x1, x1*x2, x1*x3). Giả sử sau khi biến đổi, dữ liệu trong không gian mới sẽ có thể phân lớp tuyến tính, và ta có thể dùng một siêu phẳng để phân tách dữ liệu thành 2 nửa, khi đó siêu phẳng h sẽ được biểu diễn bằng công thức h(Z)=W*Z+b, trong đó W là vector trọng số và Z là vector biểu diễn dữ liệu trong không gian mới và b là một số thực giống như công thức biểu diễn siêu phẳng 1.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ