Professional Documents
Culture Documents
Đầu tiên, xin gởi lời cảm ơn chân thành đến Thầy Huỳnh Văn Đức, người đã
tận tình hướng dẫn, động viên, giúp đỡ em trong suốt thời gian thực hiện đề tài.
Trong thời gian làm việc với thầy em không những học hỏi được nhiều kiến thức bổ
ích mà còn học được tinh thần và thái độ làm việc nghiêm túc cũng như những kiến
thức về cuộc sống rất quý báu của Thầy.
Em xin gởi lời cảm ơn đến tất cả các Thầy Cô trong khoa Công nghệ Thông
tin, những người đã dạy dỗ, truyền đạt cho em nhiều kiến thức trong suốt những
năm học vừa qua.
Xin gởi lời cảm ơn chân thành đến gia đình, ba mẹ và bè bạn vì đã luôn là
nguồn động viên to lớn, giúp đỡ, chia sẽ những khó khăn, vui buồn cùng tôi trong
suốt thời gian qua.
Mặc dù đã cố gắng hoàn thiện đồ án với tất cả sự nỗ lực của bản thân, nhưng
chắc chắn không thể tránh khỏi những thiếu sót. Em kính mong nhận được sự
thông cảm và chỉ bảo của quý Thầy Cô và các bạn.
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
1.2.1 Phương pháp k người láng giềng gần nhất (k-NN Algorithm):
1.2.1.1 Ý tưởng:
Là phương pháp nổi tiếng về hướng tiếp cận dựa trên xác suất thống kê.
Khi cần phân loại văn bản mới thuật toán sẽ tính khoảng cách (khoảng cách
Euclide, Cosine...) của tất cả các văn bản trong tập huấn luyện đến văn bản mới
này để tìm ra k văn bản gần nhất (gọi là k “láng giềng”) sau đó dùng các khoảng
cách này đánh trọng số cho tất cả các chủ đề. 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 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 không.
Sau đó các chủ đề được sắp xếp theo mức độ trọng số giảm dần và các chủ đề có
trọng số cao sẽ được chọn là chủ đề của văn bản cần phân loại.
1.2.2.1 Ý tưởng:
Bộ phân lớp cây quyết định là một dạng cây mà mỗi nút được gán nhãn
là một đặc trưng, mỗi nhánh là giá trị trọng số xuất hiện của đặc trưng trong văn
bản cần phân lớp, và mỗi lá là nhãn của phân lớp tài liệu. Việc phân lớp của một
tài liệu dj sẽ được duyệt đệ quy theo trọng số của những đặc trưng có xuất hiện
trong văn bản dj. Thuật toán lặp đệ quy đến khi đạt đến nút lá và nhãn của dj
chính là nhãn của nút lá tìm được. Thông thường việc phân lớp văn bản nhị phân
sẽ tương thích với việc dùng cây nhị phân.
1.2.3.1 Ý tưởng :
Ý tưởng cơ bản của phương pháp xác suất Bayes là dựa vào xác suất có
điều kiện của từ hay đặc trưng xuất hiện trong văn bản với chủ đề để dự đoán chủ
đề của văn bản đang xét. Điểm quan trọng cơ bản của phương pháp này là các giả
định độc lập:
- Các từ hay đặc trưng của văn bản xuất hiện là độc lập với nhau.
- Vị trí của các từ hay các đặc trưng là độc lập và có vai trò như nhau.
Giả sử ta có:
- n chủ đề (lớp) đã được định nghĩa c1 , c2 , , cn
Để tiến hành phân loại tài liệu d j , chúng ta cần phải tính được tần suất
xuất hiện của các lớp ci (i = 1,2,..., n) trong tài liệu d j . Sau khi tính được xác
suất của văn bản đối với các chủ đề, theo luật Bayes, văn bản sẽ được phân lớp
1.2.4.1 Ý tưởng:
Mô hình mạng neural gồm có ba thành phần chính như sau: kiến trúc
(architecture), hàm chi phí (cost function), và thuật toán tìm kiếm (search
algorithm). Kiến trúc định nghĩa dạng chức năng (functional form) liên quan giá
trị nhập (inputs) đến giá trị xuất (outputs).
Kiến trúc phẳng ( flat architecture ) : Mạng phân loại đơn giản nhất
( còn gọi là mạng logic) có một đơn vị xuất là kích hoạt kết quả (logistic
activation) và không có lớp ẩn, kết quả trả về ở dạng hàm (functional form)
tương đương với mô hình hồi quy logic. Thuật toán tìm kiếm chia nhỏ mô hình
mạng để thích hợp với việc điều chỉnh mô hình ứng với tập huấn luyện. Ví dụ,
chúng ta có thể học trọng số trong mạng kết quả (logistic network) bằng cách sử
dụng không gian trọng số giảm dần (gradient descent in weight space) hoặc sử
dụng thuật toán interated-reweighted least squares là thuật toán truyền thống
trong hồi quy (logistic regression).
Kiến trúc môđun(modular architecture ): Việc sử dụng một hay nhiều
lớp ẩn của những hàm kích hoạt phi tuyến tính cho phép mạng thiết lập các mối
quan hệ giữa những biến nhập và biến xuất. Mỗi lớp ẩn học để biểu diễn lại dữ
liệu đầu vào bằng cách khám phá ra những đặc trưng ở mức cao hơn từ sự kết
hợp đặc trưng ở mức trước.
phân loại, với những trình diễn tốt hơn cho các phân loại ngẫu nhiên. Vì lí do này
SVM xem việc chọn đặc trưng như bộ phận thu nhỏ thực thi và sử dụng nó khá ít
để ngăn chặn mất thông tin khi phân loại văn bản điểm. Hệ thống phân loại thực
thi SVM nối kết nhiều đặc trưng để loại trừ chúng và sau đó “học” sự phân loại
bằng cách dùng nhiều đặc trưng liên quan.
Thứ hai, số lượng các đặc trưng (kích thước không gian đặc trưng) của
văn bản được phân loại không ảnh hưởng đến khả năng của hệ thống sử dụng
SVM. Nói cách khác, giải thuật SVM có thể xử lý với bất kỳ văn bản nào trong
khi đang huấn luyện dù cho số lượng đặc trưng chứa trong nó lớn.
Thứ ba là giải thuật được xây dựng trên ý tưởng cực tiểu rủi ro cấu trúc.
Nguồn gốc của SVM dựa trên sự chắc chắn về lỗi chính xác, có thể phân loại
ngẫu nhiên các mẫu văn bản được chọn mà lỗi được giữ sao cho nhỏ nhất. Vì
vậy, giải thuật SVM giúp giảm thiểu biên trên các lỗi chính xác và làm cho hệ
thống tin cậy hơn.
Cuối cùng, một phần nhỏ các nhãn trong tập dữ liệu huấn luyện được giao
cho SVM để huấn luyện hệ thống cho các tham. SVM có thể kiểm tra các tập
mẫu mà trước đây không thể.
của điểm dữ liệu gần nhất của mỗi lớp đến mặt phẳng này. Khoảng cách biên càng
lớn thì mặt phẳng quyết định càng tốt và việc phân loại càng chính xác. Mục đích
của SVM là tìm được khoảng cách biên lớn nhất và lỗi tách sai là bé nhất.
Lớp 2 Lớp 2
Lớp 1 Lớp 1
h(x) =
Lớp 2
Lớp 1
dụng định lý Osuna để đảm bảo sự hội tụ. Đây là một trong những phương pháp
tốt nhất hiện nay có thể giải quyết rất tốt bài toán SVM nói trên.
Không giống như các phương thức khác, SMO chọn cách giải quyết tối
ưu hóa vấn đề nhỏ nhất có thể tại mỗi bước. Ở mỗi bước SMO chọn hai số nhân
Lagrange để cùng tối ưu, tìm những giá trị tối ưu cho các số nhân này và cập
nhật SVM tương ứng với giá trị tối ưu mới. Sự thuận tiện của SMO trong thực
tế là việc xử lý hai số nhân Lagrange được thực hiện theo phép phân tích. Hơn
nữa SMO không phụ thuộc vào ma trận lưu trữ thêm tại tất cả các bước. Ba
thành phần của SMO:
- Phương pháp giải tích để xử lý hai số nhân Lagrange
- Heuristic để chọn số nhân tối ưu
- Phương pháp để tính b tại mỗi bước.
h( x ) = w T x + b
h(x) > 0 , ∀x ∈ X + X + = {x i | y i = 1}
với trong đó −
h( x) < 0, ∀x ∈ X − X = { y i | y i = −1}
wT x + b wT x + b m+ m−
W = min+ − max− = −
x∈X || w || x∈X || w || || w || || w ||
Nhận xét:
W không phụ thuộc vào b, nên ta có thể chọn b sao cho m + = − m − = m .
W không phụ thuộc độ lớn w, chọn b và w sao cho m = 1 .
2m 2
Như vậy ta có W = =
|| w || || w ||
Từ đó bài toán trên được đưa về bài toán quy hoạch toàn phương sau:
1 2
w → min
Tìm b, w sao cho 2
( )
y i wT x i + b ≥ 1, i = 1,..., n
Để giải quyết bài toán này người ta đưa ra hàm Lagrange:
1 2
L= w − α T ( y ( w T + b) − 1)
2
L'w = w − X ( yα ) = 0
L'b = α T y = 0
L'α = − y ( wT x + b) + 1 ≤ 0, α ≥ 0
L'α α = 0
w 2 = ( yα ) T X T X ( yα ) D = Y T X T XY
Ta có với
⇔ w 2 = α T Dα Y = diag ( y )
1
αT ( y ( wT + b) −1) ≥ 0 ⇒ w 2 +αT Dα +αT e
2
1 2 1
⇔ w ≥ − α T Dα + α T e
2 2
Vậy bài toán đối ngẫu tương đương là:
1
− α T Dα + α T e → max
2
α T y = 0
α ≥ 0
Khi đó w = Xα , X = (x) , x = yx
b = y i − wT x i tại α i > 0
1 2 1 2
α 1 + α 2 − α 1 − α 2 → min
2 2
Bài toán đối ngẫu: α = α
1 2
α j ≥ 0
0
b = y 1 − wT x i = 1 − (1 1) = 0
1
2 2
W = = = 2
w 2
Định nghĩa: Các vector ứng với αi > 0 là các vectơ hỗ trợ. Các vectơ hỗ
w = ∑α j y j x j
Với xj là các support vector.
Khi tập mẫu tăng, kích thước bài toán lớn lên theo (mỗi mẫu là một ràng
buộc). Như vậy độ phức tạp tính toán là không thể chấp nhận được. Để giải
quyết vấn đề này ta sẽ xây dựng các thuật toán huấn luyện, và vai trò của các
vectơ hỗ trợ là rất quan trọng.
Điểm thú vị của SVM là mặt phẳng quyết định phụ thuộc vào các vectơ
1
hỗ trợ có khoảng cách đến mặt phẳng quyết định là . Khi các điểm khác xoá
|| w ||
hết đi thì thuật toán vẫn có kết quả giống như ban đầu. Đó là đặc điểm khác so
với các phương pháp khác vì tất cả dữ liệu trong tập huấn luyện đều được dùng
để tối ưu hoá kết quả.
Support Vectors
h
z1
Lớp 2
z2
z3
Lớp 1
1 2
2 w + Cz 1 → min
T
(
i T i
y w x + b + z ≥ 1)
z ≥ 0
Từ đó ta có bài toán đối ngẫu sau :
1 T
α Dα − α T 1 → min
2
yTα = 0
0 ≤ α ≤ C
Đây là dạng mô hình SVM tổng quát giải quyết đồng thời hai mục tiêu:
độ rộng lớn nhất và lỗi tách là bé nhất.
Φ : Rn → Rm
x Φ ( x)
Φ (.)
(
l = sign w Φ ( x) + b
T
) với wT = ∑ α i Φ ( x i )
i
( )
( ) ( )
K x i , y j = Φ x i Φ x j : gọi là hàm kernel
⇒ D = ( y K(x , y )y )
i i j j
b = y j − ∑αi y i K ( x i , x j )
i
(
uˆ = ∑ α i y i K x i , x + b )
i
+ Linear Kernel : K ( x, y ) = ( x T y ) d
+ Polynomial Kernel : K ( x, y ) = ( x T y + 1) d
2
x−y
+ Radial Basis Function Kernel : K ( x, y ) = exp(− )
2δ 2
+ Sigmoid Kernel : K ( x, y ) = tanh(κx T y + θ )
α i ( yi ( wT xi − b ) + zi − 1) = 0 (1)
µ i zi = 0 ( 2)
Phụ thuộc vào giá trị α i ta có các trường hợp sau:
( )
y i wT xi − b + zi − 1 = 0
Mà µ i = C − α i > 0 ⇒ zi = 0
( )
Vì vậy: y i w x i − b − 1 = 0
T
(
Nếu α i = C thì từ phương trình (1) ta có: y i w xi − b + zi − 1 = 0
T
)
Mà µi = C − α i = 0 , ta có zi ≥ 0
(
Vì vậy y i w x i − b − 1 ≤ 0
T
)
Đặt ( )
u i = y i w T x i − b − 1 ta viết lại u i :
( ) (
u i = y i wT xi − b − y i2 = y i wT xi − b − y i = y i E i)
Với E i = wT xi − b − y i = u i − y i
α i = 0 ⇒ ui ≥ 0
0 < α i < C ⇒ ui ≈ 0
α i = C ⇒ ui ≤ 0
Hinh 6 : Chiều VC
Tìm được một hàm fs để có thể tối thiểu giới hạn trên của rủi ro toàn cục.
2l δ
h ln + 1 − ln
R ( f S ) ≤ Remp ( f S ) + h 4
l
- Sau đó, chọn trong tập các hàm Femp min hàm nào có chiều VC là nhỏ nhất.
Bổ đề [Vapnik, 1982]
Giả sử tập không gian giả thiết là tập các siêu phẳng có dạng
f s ( x ) = w.x + b . Nếu tất cả các véc tơ mẫu xi được bao trong hình cầu có bán
Đặt ║x║=A, khi đó chiều VC h của tập các siêu phẳng fs được giới hạn bởi:
[ ]
d ≤ min ( R 2 A2 , n ) + 1
2.1.6 Ứng dụng SVM:
Phân loại văn bản (Text Categorization).
Tìm khuôn mặt (Face Detection).
Nhận dạng chữ viết tay (Hand Written Digit Recognition).
Nhận dạng khuôn mặt (Face Recognition).
Nhận dạng tiếng nói.
…
Tính α Tính α
với η > 0 với η = 0
Kiểm tra α
Cập nhật
α và b
1 2 s = 1
λ η + λ ( d1 − d 2 )α → min λ = u = −u
2 1 2
và
− α 1 ≤ λ ≤ C − α 1 L = max(−α 1 , α 2 − C )
α 2 − C ≤ λ ≤ α 2 R = min(C − α1 , α 2 )
1 2 s = −1
λ η + λ [ ( d1 + d 2 )α − 2] → min λ = u = u
2 1 2
và
− α 1 ≤ λ ≤ C − α 1
L = max(−α 1 ,−α 2 )
− α 2 ≤ λ ≤ C − α 2 R = min ( C − α1 , C − α 2 )
sy j e j − yi ei
Với η > 0 thì λ* =
η
λ = R nếu λ* > R
Ta chọn λ như sau: λ = L nếu λ* < L
λ = λ* còn lại
duyệt qua các mẫu không nằm trên biên cho tới khi không còn mẫu nào vi
phạm điều kiện KKT với sai số ε (2).
+ Tiếp theo SMO sẽ quay lại từ đầu, thực hiện lặp trên toàn bộ tập
huấn luyện thực hiện luân phiên (1), (2) cho đến khi không còn mẫu nào
vi phạm điều kiện KKT với sai số ε , sau đó thuật toán kết thúc.
Ở heuristic chọn đầu tiên này phần lớn thời gian tập trung vào tìm những
mẫu vi phạm điều kiện KKT mà những mẫu này thường tập trung ở tập con
không nằm trên biên. Theo thuật toán SMO thực hiện thì những mẫu nào nằm
trên biên sẽ ở biên, còn những mẫu nào không nằm trên biên sẽ được di chuyển
thành mẫu khác để đạt được tối ưu. Vì vậy, thuật toán SMO lặp trên tập con
không nằm trên biên cho tới khi tập con này tự phù hợp. Sau đó SMO sẽ tìm bất
kì một mẫu nào trên biên vi phạm KKT để tối ưu với tập con không nằm trên
biên. Điều kiện KKT được kiểm tra với sai số ε , thường thì ε được thiết lập
khoảng 10-3.
Lagrange sao cho sắp sỉ E1 − E2 là lớn nhất. Các giá tri E của mỗi mẫu không
nằm trên biên trong tập huấn luyện sẽ được lưu lại sau đó chọn giá trị lỗi mà làm
cho trị tuyệt đối trên lớn nhất. Nếu E1 dương thì SMO chọn mẫu với E2 nhỏ nhất,
ngược lại nếu E1 âm thì SMO chọn mẫu có E2 lớn nhất.
Trong số ít trường hợp, SMO không thể make positive progress bằng cách
sử dụng giải thuật môt tả như trên. Ví dụ, positive progress không thể được tạo
nếu các ví dụ huấn luyện thứ nhất và thứ hai chia sẻ các vector nhập vào xác
định x nhằm tạo ra hàm đối tượng để trở thành nhận dạng chung.Trong trường
hợp này, SMO sử dụng một hệ thống cấp bậc của giải thuật chọn lựa nhân tử thứ
hai cho đến khi nó tìm thấy một cặp nhân tử Lagrange có thể tạo ra positive
progress. Positive progress có để được quyết định bởi việc tạo ra một kích thước
bước không trên tối ưu nối của hai nhân tử Lagrange. Hệ thống cấp bậc của giải
thuật chọn lựa nhân tử thứ hai bao gồm những điều sau đây:
Nếu heuristic trên không tạo ra được positive progress thì SMO bắt đầu
làm đi làm lại thông qua những ví dụ không giới hạn, tìm kiếm một ví dụ thứ hai
có thể tạo nên positive progress thì SMO lặp trên những mẫu không nằm trên
biên và tìm kiếm mẫu thứ hai mà có thể make positive progress. Nếu không tìm
được phần tử không nằm trên biên nào make positive progress thì SMO bắt đầu
lặp trên toàn bộ tập huấn luyện cho tới khi một mẫu được tìm thấy để make
positive progress. Cả hai quá trình lặp trên những mẫu không nằm trên biên và
lặp trên toàn bộ tập huấn luyện có thể bắt đầu tại những vị trí ngẫu nhiên. Trong
trường hợp xấu không có mẫu thứ hai nào thỏa mãn thì mẫu thứ nhất được dừng
lại và SMO tiếp tục với việc lựa chọn một mẫu thứ nhất khác.
0 <αj <C
Từ j0 ngẫu nhiên
α j còn lại
Từ j0 còn lại
- Trường hợp có 1 số lượng nhãn (từ 0 cho đến C ) được gán cho tài liệu
d j ∈ D được gọi là phân loại đa nhãn (multi-label, overlapping category).
- Trường hợp đặc biệt của phân loại nhãn đơn là phân loại nhị phân trong
đó mỗi tài liệu d j ∈ D có thể được gán cho bộ phân loại ci hay không thuộc bộ
phân loại ci.
Trên quan điểm lý thuyết, trường hợp phân loại đơn nhãn (nhị phân) tổng
quát hơn trường hợp đa nhãn. 1 thuật toán (algorithm) cho phân lớp đơn nhãn
cũng có thể áp dụng cho phân lớp đa nhãn, chỉ đơn giản là chúng ta biến đổi vấn
đề phân lớp đa nhãn trên tập {c1 ,, C } nhãn thành C vấn đề phân lớp đơn nhãn
độc lập với nhau. Tuy nhiên, điều ngược lại là không đúng, 1 thuật toán cho phân
lớp đa nhãn không thể áp dụng cho phân lớp đơn nhãn (cũng như phân lớp nhị
phân).
2.3.2.2 Phân loại văn bản phụ thuộc lớp/loại văn bản so với phụ thuộc tài liệu
Có rất nhiều cách khác nhau để sử dụng bộ phân loại văn bản (text
classifier). Cho trước tài liệu d j ∈ D , chúng ta muốn tìm tất cả các lớp ci ∈ C mà
tài liệu thuộc vào, cách này được gọi là phân loại dựa vào tài liệu (document-
pivoted categorization-DPC). Ngược lại, nếu cho trước ci ∈ C , chúng ta muốn
tìm tất cả các tài liệu d j ∈ D mà thuộc vào nó, cách này được gọi là phân loại
dựa vào lớp (loại) văn bản (category-pivoted categorization-CPC). Sự khác biệt
này thể hiện rõ ở thực tế hơn là ở khái niệm trừu tượng. Trên thực tế DPC được
dùng nhiều hơn CPC.
- Phân loại văn bản mềm (soft TC) tức là cung cấp 1 giá trị trong [0,1]
cho biết mức độ tin cậy của hệ thống khi quyết định sự phụ thuộc của dj vào
trong cj. Điều này lại phù hợp hơn với các ứng dụng phân lớp tương tác
(interactive).
tin hữu ích. Các từ chức năng hay các phụ từ hư từ (Ví dụ : "dẫu sao", "của" ,
"sao cơ"...) sẽ được lược bỏ để giảm số lượng đặc trưng vốn đã rất lớn của văn
bản đồng thời tăng hiệu năng của quá trình phân loại sau này.
Cho tập đặc trưng F = { f1 , f 2 ,..., f D } tập các lớp C = { c1 , c 2 ,..., c n } , một
đặc trưng f ∈ F và tài liệu d sẽ được trọng số hóa theo các công thức sau :
TF (Term Frequency): Dựa vào tần suất xuất hiện của đặc trưng. Ví dụ:
TF(f,d) là số lần xuất hiện của đặc trưng f trong tài liệu d.
TF_IDF (Term Frequency Inverse Document Frequency): Dựa vào tần
suất nghịch đảo văn bản, được tính theo công thức sau:
D
IDF ( f ) = log
DF ( f )
D
TF _ IDF ( f , d ) = TF ( f , d ) * IDF ( f ) = TF ( fd ) * log
DF ( f )
Trong đó:
D : là số văn bản trong tập huấn luyện.
DF ( f ) : số văn bản chứa đặc trưng f.
TF ( f , d ) : tần số xuất hiện của đặc trưng f trong văn bản d.
TF _ IDF ( f , d ) : trọng số của đặc trưng f trong văn bản d.
logTF_IDF
D
l df × log
df r
ω fd =
2
l D
∑
r
r∈F
l × log
df r
0 neu tf fd = 0
l d
=
log( tf fd + 1) neu tf fd ≠ 0
Với + f
- Đặc trưng rời rạc : vector d i có rất nhiều giá trị 0 do có nhiều đặc trưng
- Hầu hết các văn bản có thể được phân chia một cách tuyến tính bằng
các hàm tuyến tính.
f : R d → R p với p là chiều của dữ liệu sau khi được giảm, p sẽ rất nhỏ so với
Theo phương pháp rút trích đặc trưng thì vấn đề giảm chiều là tìm ma trận
Mặt khác theo các phương pháp chọn lựa đặc trưng, mục đích của việc giảm
(
chiều là tìm tập đặc trưng ki i=1,2,...,p sao cho y i = f ( xi ) = xik1 , xik 2 ,..., xikp ) T
.
A* N
⇔ MI ( t , c ) ≈ log
( A + C )( A + B )
A: là số lần t và c xuất hiện đồng thời
B: là số lần t xuắt hiện mà không xuất hiện c
C: là số lần c xuất hiện mà không xuất hiện t
χ (t k , ci ) =
2 ( ) (
| Tr | [ P( t k , ci ).P t k , c i − P t k , c i .P t k , ci ]2 ) ( )
( )
P ( t k ) .P t k .P ( c i ) .P c i ( )
Trong đó:
|Tr| : tổng số tài liệu đang xét.
( )
P t k , c i : xác suất khi chọn ngẫu nhiên tài liệu x, đặc trưng t k sẽ
không xuất hiện trong x, và x không thuộc về phân lớp
ci .
( )
P t k , c i : xác suất xuất hiện tk với điều kiện không thuộc lớp ci
P (t , c ) : xác suất khi chọn ngẫu nhiên tài liệu x, đặc trưng t
k i k sẽ
3, Odds ratio
P( t , c )
IG (t k , ci ) = ∑ ∑ P( t , c ). log
c∈{ci , c i } t∈{t k ,t k } P( t ).P( c )
5, GSS coefficient
_ _
(
GSS (t k , ci ) = P( t k , ci ).P t k , c i − P t k , c i .P t k , ci ) ( )
6, OCFS
Đây là phương pháp một trong các phương pháp lựa chọn đặc trưng tốt
nhất hiện nay. Phương pháp OCFS dựa trên nền tảng là giải thuật Orthogonal
Centroid (OC). Để hiểu rõ hơn về phương pháp OCFS, chúng ta hãy tìm hiểu sơ
qua về giải thuật OC.
Thuật toán OC
Thuật toán OC được đề nghị gần đây được xem như là một thuật toán rút
trích đặc trưng có giám sát. Nó tận dụng phép biến đổi trực giao trên trọng tâm .
Thuật toán này đã được chứng minh là rất hiệu quả với các vấn đề phân lớp
véctơ dữ liệu dưới dạng văn bản (text data) và nó dựa trên phép tính toán không
gian véctơ trong đại số tuyến tính .
Thuật toán này cũng có mục tiêu là tìm ra được ma trận biến đổi W ∈ R dxp
, tiêu chuẩn J(W) được tính như sau :
arg max J (W ) = arg max trace(W T S bW ) với giả thuyết W T W = I
nj
(m − m )( m j − m )
c
Và Sb = ∑
T
j
j =1 n
Trong đó :
mj là vector trung bình được tính theo công thức
nj là kích thước của lớp j
m là véc tơ trung bình của tất cả các tài liệu, được tính theo công thức sau:
1 n 1 c
m = ∑ xi = ∑ n j m j
n i =1 n j =1
Thuật toán OCFS
Trong các thành phần công thức được định nghĩa như trong phần OC, chỉ
khác là ma trận là ma trận nhị phân mà mỗi cột chỉ có một phần tử khác 0, ta
định nghĩa tập là tập các chỉ mục của đặc trưng, mặt khác ta có:
nj
(m )
~ ~ ~ ~
trace(W S b W ) = ∑i = `W i S b W i =∑i =1 ∑ j = `
p T p c 2
ki
j − m ki
n
Như vậy thực chất của OCFS là tìm tập K để làm cực đại
nj
∑ ∑ n (m )
p c 2
i =1 j =`
ki
j − m ki
∑ s(k )j
s (k1 ) ≥ s (k2 )... ≥ s (kd ) . Hàm E(p) được tính như sau: E ( p) = j =1
d ,
∑ s (k )
i =1
i
những p được chọn phải thỏa mãn p = arg min E ( p ) sao cho E ( p ) ≥ T , ví
dụ T = 80%.
Đánh giá độ phức tạp:
Độ phức tạp của thuật toán OCFS là O(cd). Được đánh giá là tốt hơn các
thuật toán trước bởi thời gian thực hiện hiện ngắn hơn (thời gian chủ yếu của
thuật toán dùng để tính điểm các đặc trưng) và dễ cài đặt hơn.
linearSvm noneLinearSvm
Tiền xử lý
Dữ liệu phân
lớp
Bộ phân lớp
văn bản
3.2.1 Sơ đồ lớp :
Doc2Vector proClassify
1. Kết luận :
Sau thời gian nghiên cứu và thực hiện đề tài, em đã có thêm hiểu biết về
phương pháp SVM cũng như cách giải nó bằng SMO.
Trong đề tài này, em đã cài đặt được thuật toán SMO với độ chính xác khá
cao. Đề tài cũng đã phân loại được văn bản nhưng mới chỉ dừng ở hai chủ đề
minh họa là tin học, thể thao và chỉ ở những file có định dạng là *.txt, *.html.
2. Hướng phát triển :
Ứng dụng phân loại văn bản ở đề tài này chỉ mới dừng lại ở mục đích kiểm
nghiệm thuật toán SMO và số chủ đề chỉ có hai. Vì để có được một chương trình
phân loại văn bản tự động (nhất là phân loại văn bản tiếng Việt) hoàn chỉnh thì
cần phải hoàn thiện thêm rất nhiều vấn đề :
- Cần cải thiện bài toán tách từ vì độ chính xác của bài toán tách từ
quyết định hiệu suất phân loại của cả bài toán
- Bổ sung thêm nhiều chủ đề.
[1] Dr. Tie-Yan Liu - SVM and Its Applications to Text Classification.
[2] S.S.Keerthi, S.K. Shevade, C. Bhattacharyya, K.R.K Murthy - Improvements to
Platt’s SMO Algorithm for SVM Classifier Design.
[3] John C. Platt - SMO : A Fast Algorithm for Training SVM.
[4] Jun Yan, Ning Liu, Benyu Zhang, Shuicheng Yan,Zheng Chen, Qiansheng
Cheng, Weiguo Fan, Wei-Ying Ma - OCFS: Optimal Orthogonal Centroid Feature
Selection for Text Categorization.
[5] Hoàng Công Duy Vũ, Nguyễn Lê Nguyên – Luận văn Tìm kiếm văn bản theo chủ đề.
[6] Seminar về Support Vector Machines do thầy Huỳnh Văn Đức tổ chức tại Đại học
Kinh tế TP.HCM