Tải bản đầy đủ (.pdf) (35 trang)

Suppor vector machine

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (678.06 KB, 35 trang )

TÌM HIỂU VỀ SUPPORT VECTOR MACHINE

HÀ NỘI – 2019


MỤC LỤC
1.1. Một số khái niệm cơ bản .................................................................................. 3
1.2. Độ phức tạp của thuật toán SVM ..................................................................... 5
1.3. Điều chỉnh một số tham số Kernel, Chính quy, Gamma và Margin. .............. 8
1.3.1. Kernel ......................................................................................................... 8
1.3.2. Chính quy ................................................................................................... 8
1.3.3. Gramma ...................................................................................................... 9
1.3.4. Margin ...................................................................................................... 10
Chương 2: Ứng dụng của Support Vector Machine ................................................ 11
2.1. Ứng dụng vào khai thác quan điểm ............................................................... 11
2.1.1. Khái quát chung ....................................................................................... 11
2.1.2. Phương pháp luận và phương pháp nghiên cứu ...................................... 12
2.2. Ứng dụng vào việc phân loại virus máy tính ................................................. 13
2.2.1. Khái quát chung ....................................................................................... 13
2.2.2. Một số phương pháp phát hiện Virus ...................................................... 15
2.3. Ứng dụng vào việc phân loại Email ............................................................... 16
2.4. Một số ứng dụng khác .................................................................................... 18
Chương 3. Các hướng phát triển của Support vector machine ................................ 19
3.1. Sử dụng Support vector machine cho việc phân tích phần cứng máy tính.... 19
3.2. Sử dụng Support vector machine khai thác quan điểm dữ liệu lớn ............... 20
3.3. Các hướng phát triển khác sử dụng công cụ SVM ........................................ 21
3.4. Mô phỏng thuật toán SVM về hộp thư điện tử. ............................................. 24
3.4.1. Mô tả cơ sở dữ liệu .................................................................................. 24
3.4.2. Kết quả thực nghiệm cho quá trình .......................................................... 26
3.5. Mô phỏng thuật toán SVM về Virus Máy tính .............................................. 28
3.5.1. Mô tả cơ sở dữ liệu .................................................................................. 28


3.5.2. Kết quả thực nghiệm cho quá trình .......................................................... 28
3.6. Mô phỏng thuật toán SVM về quan điểm ...................................................... 30
Page 2


3.6.1. Mô tả cơ sở dữ liệu .................................................................................. 30
3.6.2. Kết quả thực nghiệm cho quá trình .......................................................... 31
TÀI LIỆU THAM KHẢO ........................................................................................ 34

Page 3


Chương 1 Khái quát về Support Vector Machine
Trong thời gian qua, Support Vector machines (SVM) đã được nghiên cứu và
ứng dụng mạnh mẽ trong nhiều lĩnh vực. Có thể nói rằng việc nghiên cứu đã được
phát triển mạnh trên toàn thế giới nhưng ở Việt Nam và Lào việc nghiên cứu và tìm
hiểu về phương pháp này còn khá mới mẽ.
Trên thực tế, Support Vector Machines là một phương pháp của học máy do
Vladimir Vapnik và các cộng sự xây dựng nên từ những năm 70 của thế kỉ 20.
SVMs là bộ phân lớp nhị phân, để áp dụng trong bài toán phân loại đa lớp, một số
chiến thuật phân lớp đã được đề xuất.
Ngoài ra, đối với lĩnh vực trí tuệ nhân tạo nói riêng SVM, nó được xuất hiện
dựa trên lý thuyết xác suất. Tuy nhiên, tại thời điểm này việc ứng dụng còn hạn chế
vì chưa có khả năng nghiên cứu nên chưa được quan tâm nhiều. Cho đến này nó
được áp dụng rất nhiều vào các lĩnh vực khác đó là sự phát triển không ngừng của
khoa học kỹ thuật, đã làm cho thế giới bước sang một trang sử mới.
1.1. Một số khái niệm cơ bản
Có rất nhiều khái niệm SVM được nhiều độc giả trình bài qua các thông tin đại
chúng và mạng xã hội. Đây có thể nói rằng với nhiều định nghĩa khác nhau tuy
nhiên đều mô phỏng rõ ràng cho chúng ta hiểu SVM là gì.

Từ việc tham khảo các nguồn tài liệu và nghiên cứu theo tôi SVM là một khái
niệm trong thống kê và khoa học máy tính cho một tập hợp các phương pháp học
có giám sát liên quan đến nhau để phân loại và phân tích hồi quy biệt được xác
định bởi một siêu phẳng tách biệt. Nói cách khác, được cung cấp dữ liệu đào tạo
được gắn nhãn (hoặc học có giám sát), thông thường các thuật toán đưa ra một siêu
phẳng tối ưu để phân loại, phân lớp các thông tin mới. Trong hai không gian thay

Page 3


thế, siêu phẳng này là một đường phân chia một mặt phẳng thành hai phần trong đó
mỗi lớp nằm ở hai bên.
Giả sử chúng ta có sơ đồ như hình bên dưới hình 1.1. Câu hỏi đặt ra là làm thế
nào chúng ta có thể phân chia chúng thành 2 phần có điểm giống nhau trên cùng
một mặt và phần còn lại là các điểm khác. Có thể đơn giản là tìm một đường thẳng
bất kì và phân chia chúng thành 2 phần.

Hình 1.1. Vẽ một đường phân cách các điểm chia hình tròn màu đen và vuông
màu xanh.
Vâng như tôi đã nói ở trên, chúng ta có thể chọn cách vẽ đoạn thẳng để cắt ra
làm 2 phần như hình 1.2.1. Tuy nhiên chúng ta có thể sử dụng đường thẳng để cắt
như hình 1.2.2. Dù chúng ta chọn cách nào thì công việc chúng ta cần xét đó là chia
chúng làm sao có các các khối hình giống nhau về một mặt phẳng. hình trong màu
đen và hình vuông màu xanh.

Hình 1.2.1. Cắt mặt phẳng thành 2

Hình 1.2.2. Cắt mặt phẳng thành 2
Page 4



Thực tế khi chúng ta nhìn vào hình 1.2.1 và 1.2.2. thì thật sự rất dễ dàng để sử dụng
một nhát cắt là chúng ta có thể phẩn chia chúng thành 2 của mặt phẳng. Tuy nhiên
trên thực tế thì không đơn giản như vậy. Để tìm hiểu về vấn đề khác chúng ta sẽ
đọc tiếp phần tiếp theo.
1.2. Độ phức tạp của thuật toán SVM
Như ta đã tìm hiểu ở trên việc sử dụng lát cắt để cắt ra làm 2 phần đối với hình
tròn màu đen và hình vuông màu xanh là cực kỳ đơn giản vì chúng ta chỉ sử dụng
một đường thằng hay một đoạn thẳng là chúng ta có thể tách chúng làm 2 phần.
Vậy đối với những hình mà chúng ta không thể thể chỉ sử dụng đường thẳng để
cắt hay đoạn thẳng để cắt thì chúng ta sẽ làm như thế nào.

Hình 1.3. Mô phỏng các điểm trên trục tọa độ chưa xét
Nhìn vào hình 1.3 ta có thể nhận thấy rằng để sử dụng đường thẳng hay đoạn
thẳng chúng ta không thể phân chia chúng thành 2 phần được. Vậy làm sao để
chúng ta có thể phân chia chúng. Chúng ta có thể tham khảo cách phân chia như
sau đó chính là sử dụng vòng tròn như hình 1.4 ở dưới đây.

Page 5


Hình 1.4. Mô phỏng phân cách bời vòng tròn.
Tuy nhiên ở đây đã có nhiều độc giả cho rằng cần áp dụng và chuyển đổi thêm
nữa đó là là việc xây dựng thêm trục z. Trục này cho phép giá trị của các điểm trên
mặt phẳng z, w=x2 + y2. Trong trường hợp này chúng ta có thể thao tác di chuyển
nó như khoảng các của điểm tức gốc z. Nếu chúng ta vẽ đồ thị theo trục z, chúng ta
có thể thấy một sự phân tách rõ ràng và một đường có thể vễ được. Chúng ta có thể
hình dưới đây.

Hình 1.5. Mô phỏng dịch điểm trên trục tọa độ

Bây giờ chúng ta sẽ xét thêm một độ phức tạp nữa, có thể nói rằng việc dịch
chuyển thêm tọa độ trục Z là giải pháp hay. Tuy nhiên, trên cùng một mặt phẳng có
Page 6


tới hằng trăm hàng tỷ điểm như vậy chúng ta không thể phải dịch chuyển trục bởi
vì sẽ làm cho việc xử lý thêm phức tạp hơn. Chúng ta sẽ xem xét vấn đề ở khía
cạnh khác như sau để phân chia chúng thành hai mặt phẳng.

Hình 1.6. Mô tả sự lựa chọn tốt nhất
Nhìn vào hình 1.6 chúng ta có thế đánh giá là cả hai đều có lý do khi lựa chọn,
đối với lựa chọn cách 1 của ngươi thứ nhất họ chấp nhận một số sai số bởi chúng ta
hiểu rằng trong ứng dụng thực, việc tìm lớp hoàn hảo cho hàng triệu bộ dữ liệu đào
tạo mất rất nhiều thời gian. Nhưng trong mã hóa đây được gọi là tham số chính
quy. Trong phần tiếp theo, tôi sẽ định nghĩa hai thuật ngữ tham số chính quy và
gamma. Đây là các tham số điều chỉnh trong phân loại SVM. Thay đổi những
người chúng ta có thể đạt được dòng phân loại phi tuyến đáng kể với độ chính xác
cao hơn trong khoảng thời gian hợp lý.
Page 7


Thật ngạc nhiên khi chúng ta không phải chú ý đến việc phân chia nữa bời vì
rất may khi chúng ta không phải đoán / rút ra chuyển đổi mỗi lần cho tập dữ liệu
của mình. Mà việc triển khai SVM trên thư viện sklearn đã cung cấp cho nó có sẵn.
Thêm một tham số là kernel. Nó xác định xem chúng ta muốn một tuyến tính
của tách tuyến tính. Điều này cũng được thảo luận trong phần tiếp theo.
1.3. Điều chỉnh một số tham số Kernel, Chính quy, Gamma và Margin.
1.3.1. Kernel
Siêu mặt phẳng trong SVM tuyến tính được thực hiện bằng cách chuyển đổi bài
toán bằng một số đại số tuyến tính. Đây là nơi kearn đóng vai trò chính.

Đối với nhân tuyến tính , phương trình dự đoán cho đầu vào mới bằng cách sử
dụng sản phẩm chấm giữa đầu vào (x) và mỗi vectơ hỗ trợ (xi) được tính như sau:
f (x) = B (0) + sum (ai * (x, xi))
Đây là một phương trình liên quan đến việc tính toán các sản phẩm bên trong
của một vectơ đầu vào mới (x) với tất cả các vectơ hỗ trợ trong dữ liệu huấn luyện.
Các hệ số B(0) và ai (cho mỗi đầu vào) phải được ước tính từ dữ liệu đào tạo bằng
thuật toán học tập.
Các kearn đa thức có thể được viết như K (x, xi) = 1 + sum (x * xi) ^ d và mũ
như K (x, xi) = exp (-gamma * sum ((x -. Xi²)) [1].
Các hạt nhân đa thức và hàm mũ tính toán đường phân tách ở chiều cao hơn.
Đây được gọi là thủ thuật kernel.

1.3.2. Chính quy

Page 8


Tham số Chính quy (thường được gọi là tham số C trong thư viện sklearn của
python) cho biết tối ưu hóa SVM bao nhiêu bạn muốn tránh phân loại sai trong
mẫu ví dụ đào tạo.
Đối với các giá trị lớn của C, việc tối ưu hóa sẽ chọn một siêu phẳng có biên độ
nhỏ hơn nếu siêu phẳng đó thực hiện công việc tốt hơn để có được tất cả các điểm
đào tạo được phân loại chính xác. Ngược lại, một giá trị rất nhỏ của C sẽ khiến
trình tối ưu hóa tìm kiếm một siêu phẳng tách biệt có biên lớn hơn, ngay cả khi siêu
phẳng đó phân loại sai nhiều điểm hơn.
Các hình ảnh thể hiện giống như hình 1.6 với cách lựa chọn cách 1 và cách 2 ở
phần trình bày trên là ví dụ về hai tham số chính quy khác nhau. Còn lại một số có
một số phân loại sai do giá trị chính quy thấp hơn. Giá trị cao hơn dẫn đến kết quả
như đúng.
1.3.3. Gramma

Tham số gamma được xác định mức độ dựa trên ảnh hưởng của một số điểm
đào tạo duy nhất đạt được, với các giá trị thấp có nghĩa là 'xa' và giá trị cao có
nghĩa là 'đóng'. Nói cách khác, với gamma thấp, các điểm cách xa đường phân cách
hợp lý được xem xét trong tính toán cho đường phân cách. Khi gamma cao có
nghĩa là các điểm gần với đường chính đáng được xem xét trong tính toán.

Page 9


Hình 1.7. Mô phỏng giá trị của Gamma

1.3.4. Margin
Và cuối cùng là đặc tính được đưa vào sau cùng để phân loại SVM. SVM sẽ cố
gắng để đạt được kết quả tốt nhất.
Nó sẽ giới hạn cho một sự phân tách của dòng đến các điểm lớp gần nhất.
Ngoài ra, trong đó có sự phân tách các lớp lớn hơn cho cả hai lớp. Hình 1.8 dưới
đây sẽ mô phỏng trực quan hoeen về giới hạn tốt và xấu. Một giới hạn cho phép các
điểm nằm trong các lớp tương ứng của chúng mà không vượt qua lớp khác.

Hình 1.8. Mô phỏng giá trị của giới hạn tốt, xấu
Trên đây là tôi đã giới thiệu cơ bản về SVM (supports vector machines). Có thể là
chưa mô phỏng chỉ tiết hơn về SVM nhưng tôi hi vọng nó sẽ hữu ích cho nhưng ai
mới bước đầu tìm hiểu. Phần tiếp theo tôi sẽ giới thiệu về các ứng dụng của SVM
và được đông đảo chúng ta quan tâm.

Page 10


Chương 2: Ứng dụng của Support Vector Machine
Trong thập kỷ qua đã có rất nhiều nhà khoa học đã và đang tìm hiểu, nghiên

cứu ở các nước trên thế giới. Có thể nói ở Việt nam hay ở Lào lĩnh vực này còn khá
mới mẽ. Tuy nhiên với sự phát triển mạnh mẽ như hiện nay đã có nhiều ứng dụng
ra đời mang lại hiệu suốt đáng kể.
Các ứng dụng support vector machine luôn mang lại nhưng cái tiến tích cực
góp phần tăng năng suất công việc, mở ra nhiều nghiên cứu mới cho các ngành có
liên quan.
2.1. Ứng dụng vào khai thác quan điểm
2.1.1. Khái quát chung
Trong thời đại công nghiệp phát triển như hiện nay, các lợi ích của hai giá trị
cung và cầu đã gần hiểu nhau hơn (người sản suất và khách hàng trao đổi hỗ trợ
nhau nhiều hơn) có thể nói rằng người sản xuất đã đi sâu vào thiện ý của những
khách hàng trên thị trường. Cho nên hầu hết các doanh nghiệp đã biết cách tìm hiểu
để lấy ý kiến đánh giá của khách hàng về sản phẩm của mình. Một mặt xem chất
lượng sản phẩm, mặc khác xem tính ưu hay hạn chế về mặt hàng của mình. Mục
đích mang lại sản phẩm có chất lượng, giá thành hợp lý và đặc biệt là nhu cầu cần
thiết phù hợp với đời sống hiện thực.
Với nhu cầu công nghiệp hóa hiện đại hóa đất nước, hầu hết các doanh nghiệp
trên thị trường luôn mong muốn có sự điều chỉnh hợp lý, mang lại hiểu quả cho
khách hàng, và tạo sự uy tín của mình. Cho nên, các doanh nghiệp không ngừng
thay đổi, đổi mới và muốn nắm bắt tâm tự nguyện vọng của người tiêu dùng.
Vâng để tìm hiểu về ý kiến của khách hàng được lấy ở đâu thì có thể khẳng
định rằng mạng xã hội là nguồn dữ liệu đa dạng và phong phú nhất. Đây cũng là
thước đó để các doanh nghiệm có thể biết về nguồn sản phẩm cung cấp ra thị
Page 11


trường của mình. Với sự phát triển nhanh chống của các trang mạng xã hội đã góp
phần tăng thêm các thông tin khổng lồ cho các nhà khoa học nghiên cứu.
Trên mạng xã hội các mặt hàng sử dụng dịch vụ mua bán qua lại càng nhiều và
đối với doanh nghiệp đây là một lợi thế của họ để phát triển các loại hình kinh ngày

càng tăng lên. Ở đây tôi muốn trình bày răng trên các trang mạng xã hội sẽ có rất
nhiều thậm chí hàng trăm, hàng nghìn những lời bình luận, nhận xét cho những sản
phẩm hoặc dịch vụ mà họ quan tâm hoặc những sản phẩm, dịch vụ đang phổ biến
trên thị trường như máy ảnh, điện thoại di động, máy tính xách tay, phim điện ảnh
chiếu rạp, sách, khách sạn và du lịch. Cho nên, thật khó để cho những khách hàng
tiềm năng có thể tìm đọc hết những lời bình luận, nhận xét của những khách hàng
trước đó để có thể đưa ra được những quyết định hợp lý. Và cũng thật khó để các
nhà sản xuất sản phẩm đó có thể theo dõi và quản lý những ý kiến của khách hàng
để làm thỏa mãn khách hàng.
Chính vì vậy việc ứng dụng công cụ support vector machine cho quan điểm đã
được đông đảo các độc giả, các nhà khoa học hay các công ty quan tâm rất nhiều.
2.1.2. Phương pháp luận và phương pháp nghiên cứu
Có rất nhiều phương pháp được ứng dụng cho bài toán phân tích quan điểm,
ở đây tôi muốn phân tích cho bài toán phân lớp hai đối tượng tích cực và tiêu cực.
Nhưng bài toán này không nhưng phân tích tính ưu biệt trong khai phá dữ liệu (data
mining) mà còn được sử dụng nhiều trong học máy. Vâng đối với bài toán mà tôi
đưa ra để sử dụng phân tích quan điểm đó là phương pháp trích xuất và phân tích
các appraisal groups (cụm đánh giá, ví dụ: rất đẹp, quá đắt, rất xấu, xấu...) để phân
loại tình cảm. Tuy nhiên điều mà tôi quan tâm đó chính là tính từ trong câu và mỗi
câu được đánh giá gồm có một tính từ chính và các từ bổ nghĩa. Ví dụ: Tôi không
thật sự hạnh phúc khi sử dụng Dell, “hạnh phúc” là tính từ chính, “không”, “thật
sự” là hai từ bổ nghĩa.
Page 12


Có một điều mà tôi lưu ý đối với phương pháp phân tích quan điểm đó là:
Thứ nhất: vcách lấy từ việc phân tích appraisal group được kết hợp với bag-ofwords giúp tăng độ chính xác của classifier. Tự động phát hiện các biểu hiện cảm
xúc ẩn, dựa trên ngữ cảnh và những tri thức thông thường.
Thứ hai: Xây dựng một cơ sở tri thức, gọi là EmotiNet. Xử lý, phân lớp, phân
loại dựa trên công cụ support vector machine để cải thiện phân loại tình cảm, ý

kiến.

Hình 2.1 Mô hình phân loại bằng SVM
Ba kỹ thuật chính được sử dụng trong ứng dụng khai phá quan điểm này là:
- Gắn nhãn từ loại (POS tagging)
- Phân tích tính phụ thuộc bằng cách phân tách cấu trúc cây của câu.
- Xử lý các phép phủ định trong câu.
2.2. Ứng dụng vào việc phân loại virus máy tính
2.2.1. Khái quát chung
Có thể khi nói nhắc đến virus máy tính là hầu như mọi người đều hiểu nó là gì.
Tuy nhiên vẫn có nhiều cách hiểu khác nhau về vấn đề này. Trên thực tế có rất
nhiều định nghĩa về Virus máy tính theo tôi Virus máy tính là một chương trình
máy tính, nó có thể tự lây lan bằng cách gắn vào các chương trình khác và tự sao
Page 13


chép chính nó để lây nhiễm các máy khác trong cùng hệ thống. Khi virus phát tác,
chúng gây ra nhiều hậu quả phá hỏng hệ thống máy tính. Có thể gây ra các thông
báo bậy bạ cho đến những tác động làm lệch lạc khả năng thực hiện của phần mềm
hệ thống, hoặc xóa sạch mọi thông tin trên đĩa cứng.
Khi nghiên cứu virus máy tính, chúng ta cần quan tâm đến 3 vấn đề sau: Môi
trường, phương tiện và cơ hội.

Hình 2.2. Mối liên quan đến Virus Máy tính
Trong đó, Môi trường là hệ điều hành, kiến trúc máy tính, Phương tiện là nơi
chứa tin, cơ chế lây lan và Cơ hội là cộng đồng sử dụng, tần suất kích hoạt.
Với việc phát triển của mạng xã hội mạnh mẽ, cho nên xuất hiện các Virus đến
từ nhiều khía cạnh khác nhau. Điều này làm cho công tác bảo mật và phân loại rất
khó khăn khi thao tác các tệp dữ liệu lớn trong đó có chứa các tệp tin virus nguy
Page 14



hiểm. Hơn nữa, hiện nay do tính phổ biến của hệ điều hành Windows nên virus
máy tính trên hệ điều hành này cũng nhiều hơn.
Chính vì vậy con người đã tìm hiểu và nghiên cứu để phân loại các tệp tin có
chứa các mẫu virus. Điều này được vận dụng mà công cụ Support vector machine
có thể phân loại và phân chia các đối tượng rất là tối ưu.
2.2.2. Một số phương pháp phát hiện Virus
Thứ nhất: Phát hiện virus dựa vào chuỗi nhận dạng là hoạt động theo nguyên lý
nhận dạng mẫu, các AV sử dụng một CSDL chứa mẫu virus (ID-virus library).
Chúng ta có thể dễ mô phỏng khi nghĩ đến các phần mềm bảo vệ như anti-virus.
Mỗi khi có virus các chuyên gia anti-virus sẽ giải mã, trích chọn và cập nhật
chuỗi nhận dạng virus vào thư viện. Từ đó sẽ cho biết thông tin về đối tượng chẩn
đoán cùng với thông tin của virus (trong thư viện mẫu) sẽ cho kết luận về tình trạng
của đối tượng. Thông qua việc nhận dạng mẫu giúp AV phát hiện các virus đã biết
trên tập dữ liệu chẩn đoán với độ chính xác cao.
Tuy nhiên phương pháp này có khá nhiều nhược điểm như cồng kềnh, bị động
và dễ nhầm lẫn. Trên thực tế kích thước thư viện mẫu tỷ lệ thuận với số virus đã
cập nhật và tỷ lệ nghịch với tốc độ tìm kiếm điều này làm cho công kềnh. Antivirus chỉ hiệu quả trên các mẫu virus đã cập nhật, không đáp ứng kịp thời dịch bệnh
do tốn thời gian cho việc thu thập mẫu virus mới, giải mã, phân tích, lập thuật giải,
cập nhật phiên bản mới, phát hành đều này làm thụ động. Ngoài ra, các hacker cố
gắng tạo vỏ bọc an toàn cho virus. Khi AV so mẫu chẩn đoán giống với virus, dữ
liệu sạch của hệ thống sẽ bị tẩy (clean) nhầm dễ nhầm lẫn.
Thứ hai: Phát hiện virus dựa vào hành vi tức là tiếp cận nghiên cứu virus máy
tính dưới góc độ thi hành của tập mã lệnh. Cũng là chương trình máy tính, nhưng
khác với các phần mềm hữu ích, virus chỉ chứa các lệnh nguy hiểm.

Page 15



Căn cứ vào nghiên cứu trật tự, quy luật hình thành các lệnh máy của virus, tiếp
cận này dựa vào khái niệm hành vi để xây dựng cơ chế nhận dạng thông qua tập
các hành vi của chúng.
Tiếp đến là sử dụng tri thức hành vi từ kinh nghiệm chuyên gia nên tiếp cận này
còn gọi là phương pháp heuristic. Do các virus giống nhau thường có hành vi như
nhau nên AV có thể nhận dạng các virus cùng họ đây là điểm mạnh để chúng ta có
thể phân loại chúng.
Thứ ba: Phát hiện virus dựa vào ý định là do hãng Sandrasoft (Ấn Độ) đề
xướng từ năm 2005, tiếp cận intention-based lưu giữ hình ảnh chi tiết của máy tính
trong tình trạng sạch, sau đó tiếp tục theo dõi trạng thái hệ thống.
Các thay đổi quan trọng trong tập tin, cấu hình hệ thống hay hệ điều hành đều
được cảnh báo như một mối hiểm họa tiềm tàng. Khi những thay đổi này được
đánh giá nguy hiểm, hệ sẽ khôi phục máy về tình trạng ban đầu.
Tuy nhiên chúng ta có thể thấy nó là đơn giản nhưng tiếp cận nó tỏ ra khá hiệu
quả vì nó có thể bảo vệ máy tính khỏi các mối đe dọa chưa được biết đến, kể cả
virus máy tính. Ngoài ra, bản thân Windows XP cũng có chức năng phục hồi hệ
thống bằng System Restore. Tuy nhiên tiếp cận này kém hiệu quả khi các điểm
trạng thái được ghi nhận lúc hệ thống bị nhiễm virus lạ. Mặt khác, hệ cũng cần bộ
nhớ ngoài đủ lớn để lưu toàn bộ hình ảnh hệ thống qua từng thời điểm khác nhau.
Có thể thấy rằng việc ứng dụng SVM vào vấn đề này nhằm phân loại các thể
loại virus dựa trên các tập mẫu đã có, từ đó đánh giá phân tích ngăn ngừa các tác
hại của nó cho người sử dụng máy tính.
2.3. Ứng dụng vào việc phân loại Email
Trong hệ thống mà chúng ta làm việc ngày nay Email đóng vài trò cựu kỳ quan
trọng. Email là nguồn thư trong đổi vô cùng quý giá mà mỗi chúng ta hay gọi là
Page 16


hộp thư điện tử hiện đại. Hình thức này khác với cách thông thường mà chúng ta
thực hiện như ngày xưa đó là việc gửi thư bình thường như trước đây.

Việc sử dụng hộp thư điện tử mang lại rất nhiều lợi ích tuy nhiên nó cũng kéo
theo nhưng bất cập. Sau đây chúng ta có thể tìm hiểu về một số mặt tích cực của
chúng như là thư từ được gửi đi và nhận nhanh hơn nhiều so với cách thông
thường. Một điểm quan trọng là thông tin có thể sửa xóa dễ dàng so với việc tẩy
xóa bút mực như ngày xưa.
Vậy tại sao chúng ta lại vận dụng công cụ SVM và lĩnh vực này làm gì. Có thể
nói rằng hiện nay có rất nhiều nhà nghiên cứu đã tìm hiểu và cho chúng ta biết có
rất nhiều nguyên nhân mà chúng ta nên sử dụng SVM cho việc sử dụng email.
Như đã trình bày ở trên Virus máy tính, email là thông tin có thể cá nhân hay tổ
chức. Dù là của ai thì nó cực kỳ quan trọng bởi thông tin thư có thể bị đánh cắp khi
quá trình gửi và nhận. Cho nên việc sử dụng công cụ SVM mà chúng ta hay làm ở
lĩnh vực email này chính là phân loại các loại thư. Thư nhất đảm bảo tính nhất
chính xác khi gửi và nhận. Loại bỏ các thư rác, thư gây hại. Đây là vấn đề quan
trọng nhất mà chúng ta đã sử dụng SVM. Sử dụng SVM sẽ phân loại các loại thư từ
đó giúp con người nhận dạng thư dễ dàng và an toàn hơn.
Trên thực tế người ta đã phân loại cho chúng ta dễ thấy như hình 2.3 dưới đây.

Hình 2.3 phân loại thư của email
Ở hình 2.3 người ta đã phân làm 3 loại trong thư là Cá nhân, xã hội và các
thông tin khuyến mãi.
Page 17


2.4. Một số ứng dụng khác
Trên thực tế có rất nhiều ứng dụng mà chúng ta sử dụng công cụ SVM này.
SVM được sử dụng với nhiều mục đích khác nhau. Tuy nhiên nhìn chung thì SVM
được sử dụng đề phân loại hay nhận dạng, phát hiện… là chủ yếu trong thời gian
gần đây.
Có thể kể thêm một số ứng dụng của SVM như: ứng dụng trong nhận dạng
khuôn mặt, xử lý ảnh số, ứng dụng trong nhận dang gen, ứng dụng trong việc phát

hiện xâm nhập mạng, ứng dụng chuẩn đón lỗi trong một hệ thống công nghiệp…
Vâng có rất nhiều hệ thống được xây dựng ứng dụng sử dụng công cụ SVM.

Page 18


Chương 3. Các hướng phát triển của Support vector machine
Trên thực tế căn cứ vào các ứng dụng chúng ta có thể phân tích được các
hướng phát triển dựa vào công cụ support vector machine. Bộ công cụ này khá phổ
biết và được phát hiện nghiên cứu rất nhiều, phần này tôi sẽ trình bày một vài
hướng phát triển dựa trên công cụ support vector machine. Tuy nhiên nó không thể
mô phỏng hết các yếu tố, chỉ thể hiện ở một vài hướng phát triển gần đây nhất.
3.1. Sử dụng Support vector machine cho việc phân tích phần cứng máy tính
Có thể đây được xem là lĩnh vực đáng quan tâm cho những ai làm trong lĩnh
vực CNTT nói chung và phần cứng máy tính nói riêng. Với lĩnh vực này mang lại
rất nhiều lợi ích cho các khách hàng khi lựa chọn sảm phẩm từ các siêu thị hay ở
bất kỳ đâu khi mà họ có nhu cầu tìm hiểu và mua sản phẩm.
Hàng năn có rất nhiều sản phẩm máy tính ra đời và kéo theo đó là vô vàng
những thôn tin, công nghệ ngày càng phát triển điều này cũng kéo theo con người
nên cập nhật thông tin liên tục, vậy làm thế nào để đánh giá phân loại chúng theo
cách mà không những những người trong chuyên môn mà những người ngoài có
thể cập nhật và hiểu chúng một cách chính xác.
Để làm được điều này việc ứng dụng công cụ SVM cho việc phân tích phần
cứng máy tính theo tôi là cần thiết không những phụ vụ cho các công ty về vấn đề
phân loại sản phẩm, đánh giá sản phẩm, tìm hiểu về các thiện ý của khách hàng về
sản phẩm và đặc biệt là phục vụ lợi ích trước mắt cho công ty.
Hơn nữa, hiện nay cũng có nhiều quý công ty và các nhà khoa học đã nghiên
cứu về vấn đề này. Tuy nhiên để đảm bảo tính chính xác hơn về mỗi vùng miền thì
đây là lĩnh vực mà chúng ta nên quan tâm để phát triển nhiều hơn.
Ngoài ra nhìn vào ứng dụng cho việc phân loại virus máy tính chúng ta có thể

sử dụng SVM để triển khai các hướng phát triển như hình dưới:
Page 19


Hình 3.1. Một số vấn đề được nghiên cứu về Virus máy tính
3.2. Sử dụng Support vector machine khai thác quan điểm dữ liệu lớn
Có thể khẳng định rằng đây là lĩnh vực cũng được sử dụng nghiên cứu khá
nhiều trong thời gian gần đây. Tuy nhiên, đây vẫn là vẫn còn nhiều vấn đề mà
chúng ta đáng quan tâm để phát triển chúng nhiều hơn.
Thứ nhất: Khai phá quan điểm dựa trên bộ dự liệu có cấu trúc lớn. Đây là lĩnh
vực mà rất ít người đã nghiên cứu, lĩnh vực này khá lớn so với hiện thực. Tuy nhiên
cũng không ít độc giả đã nghiên cứu. Ở Việt Nam đã có nhiều độc giả nghiên cứu
về khái thác ý kiến khách hàng trên mạng xã hội. Những nghiên cứu này đã mang
lại rất nhiều điều thú vị giúp những thế hệ sau có thể tiếp túc nghiên cứu và mở ra
chương mới cho lĩnh vực khai phá dữ liệu (Data mining) và học máy.
Công cụ SVM đã góp phần lớn vào việc nghiên cứu và phân tích dữ liệu trong
lĩnh vực này. Truy nhiên nguồn thông tin đang bất tận nên chưa thế khai thác hết
các vấn đề liên quan. Chẳng hạn như nghiên cứu của ThS. Nguyễn Viết Hùng về
khái thách quan điểm dựa trên mạng xã hội sử dụng ngôn ngữ tự nhiên chỉ dừng lại
Page 20


ở những câu đơn, câu ghép đơn giản. Chưa thể thể hiện độ tin cậy khi xét một cách
tổng thể mà chỉ dừng lại ở mức trung bình. Tuy nhiên đây cũng là vấn đề đáng nể
của tác giả đã nghiên cứu và tìm ra hướng đi mới mà chúng ta có thể nâng cấp và
tìm hiểu nhiều hơn cho về các lĩnh vực khác liên quan.
Thứ hai: Khai phá quan điểm từ khách hàng như khách hàng công ty viễn thông
Lao telecom. Chúng ta có thể nghiên cứu để tìm kiếm khách hàng tiềm năng, loại
khách hàng mà không những telecom mà đông đảo các công ty khác đều mong
muốn tìm thấy nguồn khách hàng này. Bởi khách hàng này mang lại những giá trị

tích cực cho công ty và là thể hiện tầm ảnh hưởng cũng như khả năng phát triển lâu
dài của công ty.
Hơn nữa, Công ty viễn thông Lao Telecom là một công ty lớn nhất ở Lào, có
một khối lượng lớn dữ liệu về thông tin khách hàng và dữ liệu về chi tiết cuộc gọi.
Những nghiên cứu ứng dụng khai phá dữ liệu dựa trên việc xem xét luật kết hợp
giữa các dịch vụ viễn thông khách hàng sử dụng và phân lớp khách hàng chính là
việc mà chúng ta nên sử dụng bộ công cụ SVM bởi nó sẽ mang lại cho chúng ta có
nền tảng và phát triển nhiều ứng dụng hơn cho tương lai. Dựa vào SVM và dữ liệu
khách hàng có thể tìm để phân loại khách hàng. Trong đó có một vấn đề rất phổ
biến, chẳng hạn như ở công ty cần sự thay đổi nhà cung cấp dịch vụ đây là vấn đề
khá nghiêm trọng ảnh hưởng đến tốc độ phát triển thuê bao, cũng như doanh thu
của nhà cung cấp dịch vụ…
3.3. Các hướng phát triển khác sử dụng công cụ SVM
Nhìn chung các hướng phát triển dựa trên ứng dụng công cụ SVM chủ yếu
phân loại văn bản. Dựa trên các thuộc tính, phân tích các thuộc tính và đưa ra cách
phân loại dựa trên cơ sở đó.
Phân loại văn bản là một vấn đề quan trọng trong lĩnh vực xử lý ngôn ngữ. Có
rất nhiều nhiệm vụ được đưa ra cho các bài toán liên quan đến văn bản, có thể tôi
Page 21


đã trình bày một vài bài toán ứng dụng SVM mà tôi đã nêu ở trên. Trong cách phân
tích và nghiên cứu thông thường bài toán phân loại văn bản là việc chúng ta gán
các tài liệu văn bản vào nhóm các chủ đề cho trước. Đây là một trong những bài
toán mà chúng ta hay gặp trong đời sống thực tế như: phân tích quan điểm của
khách hàng về giá thành và chất lượng sản phẩm, hay một nhà chuyển phân tích thị
trường chứng khoán, với vấn đề chứng khoán anh ta cần phải tổng hợp rất nhiều tài
liệu bởi vì như vậy anh ta sẽ đưa ra các dự báo, các chuẩn đoán chính xác trên thị
trường chứng khoán. Tuy nhiên ở đây chúng ta có thể hiểu rằng anh ta không thể
đọc hết tất cả các bài viết, các bài báo hay các tài liệu để rồi phần loại chúng. Lý do

anh ta không thể làm được điều này vì có quá nhiều bài báo, bài viết bởi nếu anh có
đọc hết thì mất rất nhiều thời gian như thế sẽ không đáp ứng yêu cầu công việc.
Một ví dụ cụ thể mà tôi có trình bài ở trên như trong hệ thống email. Trong email
chúng ta sẽ rất cần một hệ thống phân tích loại bỏ các spam mail trong hòm thư.
Bởi vì một mail được gửi đến thì sẽ mất rất nhiều thời gian để đọc và lọc các thứ
spam mail điều này làm lãng phí nhiều thời gian. Cho nên rất cần một hệ thống
phân loại đâu là spam mail hay đâu là mail nên đọc.
Để giải quyết các vấn đề trên thì có rât nhiều phương pháp được đưa ra để giải
quyết như thuật toán Naïve Bayes, cây quyết định hay công cụ SVM. Mỗi thuật
toán đều cho ra kết quả khá tốt, tuy nhiên nếu chọn phân loại văn bản theo thuật
toán Bayes thì được sử dụng khá phổ biến và dễ cài đặt cũng mang nhiều rủi ro
hơn. Cho nên trong lĩnh vực này lựa chọn SVM là một điểm ưu như sau:
Thứ nhất: Hiệu quả giải quyết bài toán dữ liệu có số chiều lớn.
Thứ hai: Trong bộ công cụ SVM thì giải quyết vấn đề overfitting la rất tốt dù
dữ liệu có bị nhiễm, tách rời nhóm hay dữ liệu huấn luyện quá ít.
Thứ ba: SVM là công cụ hỗ trợ phân lớp nhanh, có hiệu suất tổng hợp tốt và
hiệu suất tính toán cao.
Page 22


Tuy nhiên chúng ta nên lưu ý các bước chính khi chúng ta sử dụng SVM như
sau:
Tiền xử lý dữ liệu: Vector của các số thực nếu chưa phải là số thực thì chuyển
về dạng số SVM, đều này tránh thực thi các số quá lớn, chúng thường co giãn dữ
liệu từ -1 đến 1 hay từ 0 đến 1.
Chọn hàm hạt nhân phù hợp cho từng bài toán cụ thế để có được kết quả chính
xác cao nhất có thể.
Luôn thực hiện việc kiểm tra chéo để xác định các tham số cho ứng dụng đầu
vào tối ưu nhất. Sử dụng các tham số cho việc huấn luyện tập mẫu và kiểm thử tập
dữ liệu Test.

Nhìn chung có rất nhiều hướng để phát triển dựa trên bộ công cụ SVM, ngoài
công cụ SVM hiện này thì đã có nhiều hướng nghiên cứu để kết hợp như SVM
cùng với Kernel Methods. Đây là phương pháp học mới, nó cung cấp nhiều công
cụ, dựa trên nền tảng lý thuyết thống kê sẽ tối ưu toàn cục, tạo một mô hình ứng
dụng chất lượng cao, chịu đựng được các nhiễu. Tuy nhiên với sự kết hợp này thì
độ phức tạp sẽ cao hơn nhiều điều này cũng dẫn đến gặp một số khó khăn như: khó
có thể biên dịch kết quả như mong muốn đối với việc xử lý dữ liệu kiểu số lớn.
Ngoài ra chúng ta có thể có những hướng nghiên cứu mới của SVM như:
 Phân tích dữ liệu và hỗ trợ ra quyết định (data analysis & decision
support)
 Điều trị y học (medical treatment)
 Text mining & Web mining
 Tin-sinh (bio-informatics)
 Tài chính và thị trường chứng khoán (finance & stock market)
 Bảo hiểm (insurance)
Page 23


 Nhận dạng (pattern recognition)
Nhìn một cách tổng thể, chúng ta có thể khẳng định rằng ứng dụng công cụ
SVM để phát triển đời sống thực tế hay cho tương lai ở trên toàn thế giới nói chung
và đất nước Lào nói riêng là rất cần thiết bởi đây là những lĩnh vực còn mới mẽ của
nước CHDCND Lào.
Có rất nhiều định hướng đã đi kèo với nhiều thành công, ví dụ như phát hiện
các dạng bệnh mắc phải của con người. Tìm ra các nhận xét đánh giá chuẩn đoán
kịp thời để phòng ngừa các căn bệnh có thể mắc phải trong thời gian tới.
3.4. Mô phỏng thuật toán SVM về hộp thư điện tử.
3.4.1. Mô tả cơ sở dữ liệu
Như tôi đã trình bày ở trên về thư điện tự (Email) thì chúng ta dễ hiểu về khái
niệm "thư rác" rất đa dạng: quảng cáo cho các sản phẩm trên trang web, kiếm tiền

nhanh chóng, chuỗi thư, nội dung khiêu dâm ...
Bộ dữ liệu được tôi thu thập [7], đây là bộ dữ liệu dùng để mô tả về một số vấn
đề như sau:
 Báo cáo kỹ thuật chỉ nội bộ của Hewlett-Packard.
 Xác định xem một email nhất định có phải là thư rác hay không.
 Xấp xĩ 7% lỗi phân loại sai. Thư được đánh dấu thư tốt là thư rá có nghĩa là
hộp thư này là không mong muốn. Xét về các thuộc tình thì bộ dữ liệu gồm
có:
Thứ nhất: 48 thuộc tính thực [0,100] liên tục thuộc loại word_freq_ word.
Chiếm tỷ lệ phần trăm các từ trong e-mail khớp với word, có nghĩa là 100 * (số lần
word xuất hiện trong e-mail) trên tổng số từ trong e-mail. Một "từ" trong trường
hợp này là bất kỳ, chuỗi ký tự chữ và số giới hạn bởi không chữ và số ký tự hoặc
cuối chuỗi.
Page 24


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×