1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thuật toán máy hỗ trợ vecto

37 388 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 37
Dung lượng 654,5 KB

Nội dung

Thuật toán máy hỗ trợ vector (support vector machineSVM)I.Thuật toán SVM 2. Mục đích Là tìm ra hàm phân lớp hiệu quả nhất để phân biệt thành phần của các lớp trong việc huấn luyện dữ liệu. + Ví dụ trong tập dữ liệu phân chia tuyến tính , hàm phân loại tuyến tính tương ứng với 1 siêu phẳng f(x) phân chia 2 tập hợp.khi hàm này đc xác định thì bất kỳ 1 thể hiện mới sẽ được phân lớp đơn giản bằng việc xét dấu của hàm f( ) nếu thuộc về tập các giá dương thì f( )>0 ngược lại thì thuộc tập các giá trị âm.

Trang 1

Thuật toán máy hỗ trợ vector (support vector machine-SVM)

Người hướng dẫn:CN.Vũ Tiến Thành

Sinhviên :Đinh thị Hương

Lớp : k52CA

Trang 2

Nội dung chính

I.Phát biểu bài toán.

1.Trình bày tóm tắt về phân lớp dữ liệu

2.Tại sao lại sử dụng thuật toán SVM để phân lớp dữ liệu?

II Thuật toán máy hỗ trợ vector(SVM)

III.Ứng dụng của SVM

Trang 3

I.Phát biểu bài toán:

1.Trình bày tóm tắt về phân lớp dữ liệu

- Phân lớp dữ liệu là một kỹ thuật trong khai

phá dữ liệu được sử dụng rộng rãi nhất và được nghiên cứu mở rộng hiện nay

- Mục đích: Để dự đoán những nhãn phân lớp cho các bộ dữ liệu hoặc mẫu mới

- Đầu vào: Một tập các mẫu dữ liệu huấn

luyện,với một nhãn phân lớp cho mỗi mẫu dữ

liệu

- Đầu ra:Bộ phân lớp dựa trên tập huấn

luyện,hoặc những nhãn phân lớp

Trang 4

- Kỹ thuật phân lớp dữ liệu được tiến hành bao gồm 2 bước:

Trang 5

Bước 1 Xây dựng mô hình

- Mỗi bộ/mẫu dữ liệu được phân vào một lóp

- Mô hình được biểu diễn bởi các luật phân

lớp,các cây quyết định hoặc các công thức toán học

Trang 7

Bước 2: Sử dụng mô hình

- Phân lớp cho những đối tượng mới hoặc

chưa được phân lớp

- Đánh giá độ chính xác của mô hình

+ Lớp biết trước của một mẫu/bộ dữ liệu đem kiểm tra được so sánh với kết quả thu được

từ mô hình.

+ Tỉ lệ chính xác bằng phần trăm các mẫu/bộ

dữ liệu được phân lớp đúng bởi mô hình trong

số các lần kiểm tra.

Trang 9

- Các thuật toán phân lớp dữ liệu phổ

biến:

+ Thuật toán cây quyết định

+ Thuật toán SVM

+ Thuật toán phân lớp Bayes

+ Thuật toán phân lớp K người láng giềng gần nhất

Trang 10

2.Tại sao lại sử dụng thuật toán SVM

trong phân lớp dữ liệu?

- SVM rất hiệu quả để giải quyết bài toán dữ liệu

có số chiều lớn(ảnh của dữ liệu biểu diễn

gene,protein, tế bào)

- SVM giải quyết vấn đề overfitting rất tốt (dữ liệu

có nhiễu và tách dời nhóm hoặc dữ liệu huấn luyện quá ít)

- Là phương pháp 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

Trang 11

II.Thuật toán SVM

1.Định nghĩa:

- Là phương pháp dựa trên nền tảng của lý

thuyết thống kê nên có một nền tảng toán học chặt chẽ để đảm bảo rằng kết quả tìm được là tối ưu

- Là thuật toán học giám sát (supervied

learning)được sử dụng cho phân lớp dữ liệu

- Là 1 phương pháp thử nghiệm,đưa ra 1 trong

những phương pháp mạnh và chính xác nhất trong số các thuật toán nổi tiếng về phân lớp

dữ liệu

Trang 12

- SVM là một phương pháp có tính tổng quát cao nên có thể được áp dụng cho nhiều loại bài toán nhận dạng và phân loại

-Ý tưởng chính của SVM: Là chuyển tập mẫu

từ không gian biểu diễn Rn của chúng sang một không gian Rd có số chiều lớn hơn Trong

không gian Rd, tìm một siêu phẳng tối ưu để

phân hoạch tập mẫu này dựa trên phân lớp của chúng, cũng có nghĩa là tìm ra miền phân bố của từng lớp trong không gian Rn để từ đó xác định được phân lớp của 1 mẫu cần nhận dạng

Trang 13

I.Thuật toán SVM

2 Mục đích

- Là tìm ra hàm phân lớp hiệu quả nhất để phân biệt thành phần của các lớp trong việc

huấn luyện dữ liệu

+ Ví dụ trong tập dữ liệu phân chia tuyến tính , hàm phân loại tuyến tính tương ứng với 1 siêu phẳng f(x) phân chia 2 tập hợp.khi hàm này đc xác định thì bất kỳ 1 thể hiện mới sẽ được

phân lớp đơn giản bằng việc xét dấu của hàm f( ) nếu thuộc về tập các giá dương thì

f( )>0 ngược lại thì thuộc tập các giá trị âm

Trang 14

I Thuật toán SVM

3 Mô hình giải thuật

- Tính chất nổi trội của SVM là đồng thời cực tiểu lỗi phân lớp và cực đại khoảng cách lề giữa các lớp

+ Giả sử có 1 số điểm dữ liệu thuộc một trong hai lớp,và mục tiêu của ta là xác định xem dữ liệu mới thêm vào sẽ thuộc lớp nào.Ta coi mỗi điểm

dữ liệu như một vector p chiều và chúng ta muốn biết là liệu có tách được những điểm đó bằng một siêu phẳng p-1 chiều hay không( được gọi là phân loại tuyến tính)

Trang 15

+ Xem dữ liệu đầu vào như 2 tập vector n

chiều,một SVM sẽ xây dựng một siêu phẳng riêng biệt trong không gian đó sao cho nó tối đa hóa

biên lề giữa hai tập dữ liệu

+ Để tính lề,hai siêu phẳng song song được xây dựng,mỗi cái nằm ở một phía của siêu phẳng

phân biệt và chúng được đẩy về phía hai tập dữ liệu

+ Một cách trực quan,một phân biệt tốt sẽ thu

được bởi siêu phẳng có khoảng cách lớn nhất đến các điểm lân cận của hai lớp,vì lề càng lớn thì sai

số tổng quát hóa của bộ phân lớp càng tốt hơn

Trang 16

H3 (green) doesn't separate the 2 classes H1 (blue) does, with a small margin and H2 (red) with the maximum margin

Trang 17

Trình bày với bộ phân lớp nhị phân

- Cho tập dữ liệu học gồm n dữ liệu gắn

nhãn D={(x1, y1), (x1, y1), , (xn, yn)} với yi

{-1,1} là một số nguyên xác định lớp của xi Mỗi xi

là một văn bản được biểu diễn dưới dạng một

vector thực d chiều Bộ phân lớp tuyến tính (mô

hình phân lớp) được xác định thông qua một

siêu phẳng có dạng:

f(x) = w.x – b = 0trong đó: w là vector pháp tuyến của siêu phẳng và b đóng vai trò là tham số mô hình

- Bộ phân lớp nhị phân được xác định thông qua dấu của f(x):

Trang 18

- Để tìm được siêu phẳng phân cách có lề cực đại,xây dựng các vector hỗ trợ và các siêu phẳng song song với siêu phẳng phân cách

và gần vector hỗ trợ nhất,đó là các hàm :

w.x – b = 1w.x – b = -1

- Khoảng cách giữa 2 siêu phẳng là do đó cần phải cực tiểu hóa để đảm bảo với mọi i ta có:

w.x – b > 1 cho lớp thứ nhấtw.x – b <-1 cho lớp thứ hai

2 w

w

Trang 19

Hình 1 Biểu diễn siêu phẳng lề cực đại cho bộ phân lớp SVM trên 2 lớp

Trang 20

- Để đảm bảo là luôn tìm đc siêu phẳng phân cách

có lề cực đại,hàm xác định SVM sẽ làm cực đại hàm sau với vector và hằng số b:

Lp =

Trong đó : + t là số lượng mẫu thử

+ với i =1…t là các số nguyên dương thỏa mãn đạo hàm Lp theo biến =0 được gọi là nhân tử lagrange(điểm yên ngựa) và Lp

được gọi là hàm lagrange

+ vector và hằng số b xác định mặt

phẳng

w uur

Trang 21

- Với cách làm như trên thì ta có: yi(w.xi -b) -1 >0vấn đề này được giải quyết bằng các kỹ thuật lập trình bậc 2.vector w biểu thị sự kết hợp giữa số hạng tuyến tính và đào tạo dữ liệu:

với xi là vector hỗ trợ,nó nằm trên lề và thỏa mãn yi(w.xi -b) =1 b =w.xi – yi

trên đây là một cách tương đối để xác định b

Trong thực tế,nó sẽ chính xác hơn khi được tính theo công thức:

sv

Trang 22

4.Câu hỏi

a.Có thể mở rộng mô hình SVM để xử lý trường

hợp cho phép lỗi tồn tại,khi nào siêu phẳng tốt nhất cho phép tồn tại một số lỗi trong đào tạo dữ liệu?

b.Có thể mở rộng mô hình SVM trong tình trường hợp dữ liệu không phân chia tuyến tính?

c.Có thể thiết kế thuật giải trên cho việc tìm siêu

phẳng phân cách có lề cực đại cho hàng ngàn hay hàng triệu thực thể không?

Trang 23

5.Trả lời:

a.Có thể mở rộng mô hình SVM để xử lý trường

hợp cho phép lỗi tồn tại,khi nào siêu phẳng tốt

nhất cho phép tồn tại một số lỗi trong đào tạo dữ liệu?

- giả sử có 1 số dữ liệu âm vượt quá giới

hạn,những điểm này thể hiện số lượng lỗi ngay

cả khi tồn tại mặt phẳng phân cách có lề cực đại

- phương pháp lề mềm được sử dụng để mở

rộng bài toán SVM do đó siêu phẳng sẽ cho phép một số dữ liệu nhiễu tồn tại

Trang 24

- Phương pháp lề mềm (softmargin) được sử dụng bằng cách đưa thêm một biến nới lỏng

nó đo độ phân lớp sai cho dữ liệu x:

thỏamãn các ràng buộc

được tính bằng khoảng cách từ lớp dữ liệu

bị lỗi đến hàm f(xn).do đó tổng giá trị các biến tạm được so sánh với giá trị của hàm cực

tiểu ban đầu

i

ξ

Trang 25

Vd minh họa dữ liệu bị nhiễu

Trang 26

b.Có thể mở rộng mô hình SVM trong tình

trường hợp dữ liệu không phân chia tuyến

tính?

- SVM ban đầu là một thuật toán phân lớp tuyến

tính,nhờ áp dụng các hàm kernel, thuật toán có

thể tìm ra các siêu phẳng trong không gian phi

tuyến đặc trưng biến đổi

- Mở rộng tích vô hướng thông qua hàm ánh

xạ cho biến trong không gian H lớn hơn

và thậm chí có thể vô hạn chiều,theo đó đẳng

thức vẫn được giữ đúng

Trong mỗi đẳng thức,khi chúng ta có tích vô

hướng thì chúng ta cũng tính được tích vô

hướng thông qua phép biến đổi các vectors

Trang 27

- Hàm kernel được sử dụng để xác định nhiều

quan hệ đầu vào không tuyến tính

- Đối với hàm kernel tuyến tính ta có thể xác định được nhiều hàm bậc hai hoặc hàm mũ

- Trong những năm gần đây ,nhiều nghiên cứu đã

đi sâu vào nghiên cứu các kernel khác nhau cho

sự phân lớp SVM và cho nhiều thống kê thử

nghiệm khác

Trang 28

c.Có thể thiết kế thuật giải trên cho việc tìm

siêu phẳng phân cách có lề cực đại cho hàng ngàn hay hàng triệu thực thể không?

- Một trong những trở ngại ban đầu của SVM là kém hiệu quả trong việc tính toán

- Tuy nhiên vấn đề này đang được giải quyết

thành công

+ Cách tiếp cận :chia các vấn đề tối ưu hóa lớn thành các vấn đề nhỏ hơn sao cho cuối cùng chỉ gồm một vài biến được lựa chọn cẩn thận để

sự tối ưu hóa đạt hiệu quả cao.Quá trình này

được lặp đi lặp lại cho đến khi tất cả các vấn đề tối ưu hóa được triển khai thành công

Trang 29

+Một cách tiếp cận mới gần đây là xem xét các

vấn đề nghiên cứu về SVM là tìm ra một bao

đóng nhỏ nhất của tập mẫu dữ liệu

Với những mẫu dữ liệu này,khi ánh xạ vào không gian n chiều,đại diện của tập gốc sẽ được

sử dụng để xây dựng những bao đóng xấp xỉ

nhỏ nhất của tập mẫu dữ liệu.Phương pháp này đạt hiệu quả rất cao.ta có thể sử dụng máy core-vector để phân lớp được hàng triệu dữ liệu trong vài giây

Trang 30

5.Transductive support vector machine

-Giả sử có L mẫu được gán nhãn và U mẫu

chưa được gán nhãn gọi là tập U

Trang 31

- Cực tiểu hóa theo các biến ( ) hàm mục tiêu:

đáp ứng các đk :

trong đó C và C* là những tham số do người dùng thiết

lập,có ý nghĩa cân bằng độ lớn của lề với những ví dụ bị phân lớp sai hoặc những ví dụ chưa được gán nhãn.

-Ban đầu dùng bộ phân lớp học quy nạp gán nhãn cho các ví dụ tập U sau đó nâng cấp nghiệm bằng cách đổi lại nhãn cho các ví dụ trong tập U và L bị gán sai rồi

huấn luyện lại,nó được lặp cho đến khi và hoặc cả

2 không còn nhỏ thua tham số người dùng C* nữa.

*

C

* +

C

Trang 32

Ví dụ minh họa TSVM

- các dữ liệu đã gán nhãn,siêu phẳng có phân

cách lề cực đại là đường chấm chấm,

- với các dữ liệu chưa gán nhãn(các điểm đen)thì

siêu phẳng có phân cách lề cực đại là đường

thẳng màu đen

Trang 33

III.Ứng dụng của SVM: Sử dụng trong phân loại và nhận dạng

- Trong việc nhận dạng chữ viết tay tiếng Việt

+Dựa trên cơ sở các thành phần liên thông của ảnh,phân tập ký tự tiếng Việt thành 3 nhóm (box,dạng chữ rời,dạng chữ liên tục) và tách các

ký tự có dấu thành các phần rời nhau

+Sau đó xây dựng máy phân lớp SVM để nhận dạng cho từng phần chữ và phần dấu

+ Kết quả thực nghiệm cho thấy mô hình nhận dạng có độ chính xác tương đối cao

Trang 34

- Trong nhận dạng mặt người :

+Giai đoạn huấn luyện: các ảnh mẫu được

vector hóa x= { } rồi dùng phương

pháp PCA để rút trích đặc trưng thành vector y

={ } rồi đưa vào bộ huấn luyện SVM

+Giai đoạn nhận dạng:Mẫu cần nhận dạng được vector hóa và rút trích như trên sau đó đưa vào

Trang 35

- Phân tích vi ảnh protein subcelluar location

+ Ảnh đầu vào được tiền xử lý thông qua các

thuật giải khử nhiễu, điều chỉnh tự động cường

Trang 36

Tài liệu tham khảo:

- tài liệu tham khảo chính: [3] Xindong Wu, Vipin Kumar, J.Ross

Quinlan, Joydeep Ghosh, Qiang Yang, Hiroshi Motoda,

Geoffrey J McLachlan, Angus Ng, Bing Liu, Philip S Yu ,

Zhi-Hua Zhou, Michael Steinbach, David J Hand, Dan

Steinberg, Top 10 algorithms in data mining, Knowl Inf Syst

(2008)

- [CV95] Corinna Cortes, Vladimir Vapnik (1995) Support-Vector

Networks, Machine Learning, 20(3): 273-297

- http://en.wikipedia.org/wiki/Support_vector_machine

- Nguyễn Thị Hương Thảo, Nguyễn Thị Thùy Linh, Nguyễn Thu

Trang, Hà Quang Thụy (2007) Một giải pháp học bán giám sát SVM phân lớp trang web tiếng Việt, Baos cao FAIR 07, Nha Trang

Trang 37

Xin chân thành cảm ơn!

Ngày đăng: 27/08/2014, 17:01

HÌNH ẢNH LIÊN QUAN

Hình 1. Biểu diễn siêu phẳng lề cực đại cho bộ phân  lớp SVM trên 2 lớp - Thuật toán máy hỗ trợ vecto
Hình 1. Biểu diễn siêu phẳng lề cực đại cho bộ phân lớp SVM trên 2 lớp (Trang 19)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w