Tiểu luận môn Máy học và ứng dụng TÌM HIỂU PHÂN LOẠI ĐA LỚP VỚI PHƯƠNG PHÁP MÁY HỌC SVM

24 930 2
Tiểu luận môn Máy học và ứng dụng TÌM HIỂU PHÂN LOẠI ĐA LỚP VỚI PHƯƠNG PHÁP MÁY HỌC SVM

Đ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ầy PGS-TS.Vũ Thanh Nguyên Nguyễn Văn Trường CH1301036 Tháng 03 Năm 2014 Mục Lục  !) Báo cáo môn Máy học và ứng dụng Hướng dẫn PGS.TS. Vũ Thanh Nguyên &*(+ 1.1 ,-,./,01 Máy học là một chi nhánh của trí tuệ nhân tạo, liên quan đến quá trình xây dựng hệ thống có thể học từ dữ liệu. Ví dụ, một hệ thống học máy có thể được huấn luyện về các tin nhắn email để học cách phân biệt giữa thư rác và thư bình thường. Sau khi học, máy học có thể được sử dụng để phân loại các tin nhắn email mới vào thư mục thư rác và thư bình thường. Máy học kiểm tra những ví dụ trước đó và kiểm tra luôn cả những kết quả của chúng khi xuất và học làm cách nào để tái tạo lại những kết quả này và tạo nên những sự tổng quát hóa cho những trường hợp mới. Nói chung, máy học sử dụng một tập hữu hạn dữ liệu được gọi là tập huấn luyện. Tập này chứa những mẫu dữ liệu mà nó được viết bằng mã theo một cách nào đó để máy có thể đọc và hiểu được. Một số hệ thống máy học cố gắng để loại bỏ sự cần thiết của con người trong phân tích dữ liệu, trong khi một số khác thông qua một cách tiếp cận hợp tác giữa con người và máy. Các thuật toán máy học có thể được tổ chức thành nhóm phân loại dựa trên các kết quả mong muốn của thuật toán hoặc các loại dữ liệu đầu vào. Máy học hiện nay đươc ứng dụng rộng rãi trong nhiều hệ thống minh minh, và một trong số đó là phân lớp dữ liệu tự động. Ví dụ như, quá trình nhận dạng ký tự quang học, trong đó các ký tự in được phân loại tự động dựa trên mẫu huấn luyện trước đó, là một ví dụ điển hình của máy học. HVTH: Nguyễn Văn Trường Trang 4 Báo cáo môn Máy học và ứng dụng Hướng dẫn PGS.TS. Vũ Thanh Nguyên Hình 1.1: Quy trình phân lớp dùng máy học Trong các bài toán phân lớp dùng máy học, các mẫu dữ liệu được phân lớp được xem là tập huấn luyện, và các thuật toán máy học sẽ phân tích dữ liệu và nhận ra sự mối quan hệ (có thể là phi tuyến hoặc tuyến tính) giữa các đối tượng dữ liệu. Kết quả của việc học có thể là: nhóm các đối tượng vào trong các lớp, tạo ra các luật, tiên đoán lớp cho các đối tượng mới. 1.2 /234,./56/,07 • Tìm hiểu, nghiên cứu lý thuyết và ứng dụng của Support Vector Machines • Tìm hiểu Kernel Support Vector Machines trong bài toán phân loại phi tuyến tính, sử dụng phương pháp kernel trick • Tìm hiểu và nghiên cứu phương pháp phân loại đa lớp Multi-class Support Vector Machines • Xây dựng và phát triển ứng dụng minh họa phân loại các ký tự hình vẽ bằng Multi- class Support Vector Machines 1.3 81.9:6;<=6<= />?7@*: Trình bày tổng quan về máy học và phân lớp máy học; phạm vi thực hiện của báo cáo. />?7@A( Trình bày phương pháp máy học SVM, thuật toán Sequential Minimal Optimization, kernel function và phân loại đa lớp trong SVM. />?7@B( Trình bày ứng dụng demo phân loại các ký tự hình vẽ dùng Multi-class Support Vector Machines HVTH: Nguyễn Văn Trường Trang 5 Các luật phân loại Báo cáo môn Máy học và ứng dụng Hướng dẫn PGS.TS. Vũ Thanh Nguyên />?7@C( Tóm tắt nội dung báo cáo HVTH: Nguyễn Văn Trường Trang 6 Báo cáo môn Máy học và ứng dụng Hướng dẫn PGS.TS. Vũ Thanh Nguyên &A(&#$ ' 2.1 <D/E6' Support Vector Machines (SVMs) là một phương pháp phân loại máy học 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à một phương pháp phân loại xuất phát từ lý thuyết học thống kê, dựa trên nguyên tắc tối thiểu rủi ro cấu trúc (Structural Risk Minimisation). SVM là một phương pháp phân loại tuyến tính nhị phân không xác suất, là mô hình học giám sát kết hợp với với các thuật toán học liên quan để phân tích dữ liệu, nhận ra các mô hình, được sử dụng để phân loại và phân tích hồi quy. Cho một tập các mẫu dữ liệu huấn luyện, mỗi dữ liệu được đánh dấu là thuộc một trong hai loại, SVM sẽ xây dựng một mô hình dự đoán thông qua tập huấn luyện để phân loại mẫu dữ liệu mới vào một trong hai phân lớp, Dữ liệu huấn luyện của SVMs là tập các dữ liệu đã được gán nhãn trước D={(x 1 , y 1 ), (x 2 , y 2 ), …, (x n , y n )}, trong đó, x i là vector dữ liệu biểu diễn mẫu dữ liệu d i (x i ∈ R n ), cặp (x i , y i ) được hiểu là vector x i được gán nhãn là y i, y i ∈{+1, -1}. Ý tưởng của SVMs là tìm một mặt hình học (siêu phẳng) f(x) “tốt nhất” trong không gian n-chiều để phân chia dữ liệu sao cho tất cả các điểm x+ được gán nhãn 1 thuộc về phía dương của siêu phẳng (f(x+)>0), các điểm x- được gán nhãn –1 thuộc về phía âm của siêu phẳng (f(x-)<0). Với bài toán phân loại SVMs, một siêu phẳng phân chia dữ liệu được gọi là “tốt nhất”, nếu khoảng cách từ điểm dữ liệu gần nhất đến siêu phẳng là lớn nhất. Khi đó, việc xác định một mẫu dữ liệu x D có thuộc phân loại c hay không, tương ứng với việc xét dấu của∉ f(x), nếu f(x)>0 thì x∈c, nếu f(x)≤0 thì x c. ∉ Khái niệm siêu phẳng là nói đến việc phân tách các mẫu dữ liệu được gán nhãn -1 mẫu nhãn +1 với một khoảng cách giữa các lớp tối đa được gọi là lề giới hạn (margin) HVTH: Nguyễn Văn Trường Trang 7 Báo cáo môn Máy học và ứng dụng Hướng dẫn PGS.TS. Vũ Thanh Nguyên Hình 2.1. Siêu phẳng tối ưu là một siêu phẳng phân tách dữ liệu với margin lớn nhất. 2.1.1 /F76/,G.1DH7.I7/ Bài toán có thể được chuyển thành một bài toán tối ưu. Siêu phẳng SVM có để được biểu diễn bởi hàm f(x): do đó: khi: (1) và lề là lớn nhất. Có thể chỉ ra rằng lề là 2/||m||. Bởi vậy, bằng cách tối thiểu hoá số lượng ½(m . m) đã đảm bảo tính tối ưu của siêu phẳng. Bài toán kết quả là: đối với: y i (m • x i +b) ≥ 1 ∀ i ∈ 1, ,n với: m ∈ R d , b ∈ R Nếu chúng ta chuyển thành công thức Lagrangian: HVTH: Nguyễn Văn Trường Trang 8 Báo cáo môn Máy học và ứng dụng Hướng dẫn PGS.TS. Vũ Thanh Nguyên (2) Bài toán bội (dual problem) có thể được chuyển hoá áp dụng các điều kiện tối ưu hoá Karush-Kuhn-Tucker trên công thức Lagrangian. (3) (4) Thay thế (2),(3) vào (4), thu được: và bài toán bội là Chú ý rằng dữ liệu huấn luyện xuất hiện chỉ trong kiểu các tính trong giữa các vector. Đặc tính này sẽ chứng minh là hữu ích khi SVM được áp dụng tới các tập huấn luyện phân tách không tuyến tính. Cho α* là giải pháp tối ưu của (4). Giá trị tối ưu của b có thể cuối cùng xem xét αi* >0 và các điều kiện KKT thêm vào: Giải pháp siêu phẳng được quyết định bởi các điểm x i huấn luyện nằm trên các siêu phẳng song song đặt tại một khoảng cách bằng với lề Các điểm này được gọi là các vector đặc trưng (support vectors). HVTH: Nguyễn Văn Trường Trang 9 Báo cáo môn Máy học và ứng dụng Hướng dẫn PGS.TS. Vũ Thanh Nguyên 2.1.2 /F7.I6/J/K7@.1DH7.I7/ Giải thuật trên, nếu áp dụng tới một tập huấn luyện phân tách không tuyến tính, sẽ không tìm được bất kỳ giải pháp nào hợp lý. Bởi vậy cần mở rộng mô hình tới trường hợp không thể phân tách, các ràng buộc có thể được thả lỏng (công thức (1)) nhưng chỉ khi cần. Việc này có thể được thực hiện bằng đưa vào các biến dương không chặt ξi với ∀i ∈ {1, ,n} với các ràng buộc: Bởi vậy, với một lỗi xảy ra, ξi tương ứng phải vượt quá 1 đơn vị (unity), ∑iξi là một giới hạn trên số các lỗi huấn luyện. Bởi vậy một cách tự nhiên để gán một giá trị thêm với các lỗi là để thay đổi hàm mục tiệu được tối thiểu hoá từ: với C là một tham số được chọn bởi người dùng; một C lớn tương ứng để gán một bất lợi lớn tới lỗi, trong khi một C nhỏ có nghĩa là các lỗi ít hơn. Có thể chỉ ra rằng bài toán bội tương ứng là: (5) Nếu giải pháp của vấn đề này là không đủ để đạt được một sự thực hiện tổng quát hoá tốt (lớp các siêu phẳng là quá kém để phân tách các mẫu huấn luyện), thì có một phương pháp mà có thể được sử dụng để thiết lập một sự tổng quát hoá tốt theo một cách đơn giản. Đầu tiên chú ý rằng chỉ có cách trong đó các mẫu huấn luyện xuất hiện trong bài toán học (5) là theo kiểu của các tích trong xi xj. Bây giờ, giả sử đầu tiên chúng ta⋅ ánh xạ dữ liệu tới một vài không gian Euclit khác (có thể số chiều vô hạn), sử dụng một ánh xạ mà chúng ta gọi φ: HVTH: Nguyễn Văn Trường Trang 10 [...]... đương với chiến lược OAR Hàm quyết định phân lớp của lớp i đối với lớp j trong chiến lược OAO là: Đối với một vector x ta tính : Với Và x được phân vào lớp i sao cho Ví dụ: Để phân bài toán thành 3 lớp A, B, C ta có các máy học sau: HVTH: Nguyễn Văn Trường Trang 14 Báo cáo môn Máy học và ứng dụng Hướng dẫn PGS.TS Vũ Thanh Nguyên Và kết quả phân loại là A = 1, B = 0, C = 2, thì lớp C sẽ được chọn là lớp. .. toán SVM ban đầu chỉ có thể áp dụng cho bài toán phân loại nhị nhân Để có thể phân loại đa lớp, bài toán phân loại đa lớp là chuyển về bài toán phân loại hai lớp bằng cách xây dựng nhiều bộ phân loại hai lớp để giải quyết Các chiến lược phân loại đa lớp phổ biến này là One-against-One (OAO) và One-against-Rest (OAR) 2.3.1 Chiến lược One-against-Rest (OAR) Trong chiến lược này ta sử dụng (n-1) bộ phân loại. .. cáo môn Máy học và ứng dụng Hướng dẫn PGS.TS Vũ Thanh Nguyên Dữ liệu đầu vào Hình 3.2: Mô hình quá trình tạo ra các máy học SVM Để khởi động quá trình tạo các máy học SVM trong MSVM, tập các mẫu hỉnh vẽ với các phân lớp tương ứng và DynamicTimeWarping kernel là dữ liệu đầu vào của MSVM Thuật toán SMO sẽ được dùng để huấn luyện trong quá trình tạo MSVM Mỗi máy học tạo ra trong quá trình huấn luyên MSVM... hai lớp một và sử dụng phương pháp lựa chọn theo đa số để kết hợp các bộ phân loại này để xác định được kết quả phân loại cuối cùng Số lượng các bộ phân loại là n(n-1)/2 HVTH: Nguyễn Văn Trường Trang 13 Báo cáo môn Máy học và ứng dụng Hướng dẫn PGS.TS Vũ Thanh Nguyên So với chiến lược OAR thì chiến lược này ngoài ưu điểm giảm bớt vùng không thể phân loại mà còn làm tăng độ chính xác của việc phân loại. .. học và ứng dụng Hướng dẫn PGS.TS Vũ Thanh Nguyên CHƯƠNG 4: KẾT LUẬN Qua quá trình tìm hiểu và nghiên cứu phương pháp máy học SVM, có thể nói đây là một trong những phương pháp học giám sát: • Mạnh và có độ chính xác cao • Không đòi hỏi nhiều về số mẫu huấn luyện • Có nền tảng lý thuyết tốt Báo cáo đã trình bày tổng quát về mô hình máy học SVM cùng như quá trình hoạt động của nó trong ứng dụng phân loại. .. loại SVM có thể được dùng để phân loại tuyến tính hoặc phi tuyến tính (bằng kernel trick) Cùng với đó báo cáo cũng đã giới thiệu một số loại hàm kernel phổ biến như …Mỗi loại hàm kernel thì lại có thế mạnh riêng Do đó tùy thuộc vào từng ứng dụng cụ thể mà ta chọn hàm kernel phù hợp SVM là một phương pháp phân loại nhị phân Do đó để ứng dụng để phân loại nhiều lớp, bài toán phân loại trở thành tập các SVM. .. phân loại đối với n lớp Bài toán phân loại n lớp được chuyển thành n bài toán phân loại hai lớp Trong đó bộ phân loại hai lớp thứ i được xây dựng trên lớp thứ i và tất cả các lớp còn lại Hàm quyết định thứ i dùng để phân lớp thứ i và những lớp còn lại có dạng: Siêu phẳng Di(x) = 0 hình thành siêu phẳng phân chia tối ưu, các support vector thuộc lớp i thỏa Di(x) =1 và các support vector thuộc lớp còn lại... từng máy học SVM Chương trình sử dụng chiến lược “Chiến lược One-against-One” trong phân loại đa lớp Do ta có tất cả là 4 phân lớp: 1, 2, 3, a và b nên sẽ gồm 10 máy học con SVM Mỗi SVM gồm tập các vector đặc trưng và tập các trọng số tương ứng cùng với giá tri threshold Tất cả các giá trị này được tính qua quá trình huấn luyện MSVM bằng thuất toán SMO HVTH: Nguyễn Văn Trường Trang 22 Báo cáo môn Máy học. .. lớp của mẫu dữ liệu Hình 2.3: Biểu đồ phân loại OAO CHƯƠNG 3: ỨNG DỤNG NHẬN DẠNG MẪU HÌNH VẼ MULTI-CLASS SUPPORT VECTOR MACHINES 3.1 Quy trình hoạt động của ứng dụng HVTH: Nguyễn Văn Trường Trang 15 Báo cáo môn Máy học và ứng dụng Hướng dẫn PGS.TS Vũ Thanh Nguyên Huấn luyện dùng MSVM Hình 3.1: Mô hình hoạt động phân loại mẫu hình vẽ Multi class SVM Quá trình phân loại mẫu hình vẽ bắt đầu quá trình rút... đặc trưng của từng phân lớp Sau đó tập dữ liệu này cùng với phân lớp tương ứng được huấn luyện qua máy học MSVM, để hình thành mô hình phân loại dữ liệu Sau đó các dữ liệu mới sẽ được dữ đoán phân lớp tương ứng từ mô hình phân loại MSVM Bên cạnh, ta cũng có thể cập nhật các mẫu dữ liệu huấn luyện trong quá trình hoạt động của chương trình Số lượng mẫu hình vẽ huấn luyện của từng lớp càng nhiều thì . của máy học. HVTH: Nguyễn Văn Trường Trang 4 Báo cáo môn Máy học và ứng dụng Hướng dẫn PGS.TS. Vũ Thanh Nguyên Hình 1.1: Quy trình phân lớp dùng máy học Trong các bài toán phân lớp dùng máy học, . Vector Machines • Tìm hiểu Kernel Support Vector Machines trong bài toán phân loại phi tuyến tính, sử dụng phương pháp kernel trick • Tìm hiểu và nghiên cứu phương pháp phân loại đa lớp Multi-class. toán SVM ban đầu chỉ có thể áp dụng cho bài toán phân loại nhị nhân. Để có thể phân loại đa lớp, bài toán phân loại đa lớp là chuyển về bài toán phân loại hai lớp bằng cách xây dựng nhiều bộ phân

Ngày đăng: 21/05/2015, 12:49

Từ khóa liên quan

Mục lục

  • CHƯƠNG 1: TỔNG QUAN

    • 1.1 Giới thiệu

      • Hình 1.1: Quy trình phân lớp dùng máy học

      • 1.2 Phạm vi thực hiện

      • 1.3 Cấu trúc báo cáo

      • CHƯƠNG 2: PHƯƠNG PHÁP PHÂN LOẠI MÁY HỌC SVM

        • 2.1 Máy học SVM

        • Support Vector Machines (SVMs) là một phương pháp phân loại máy học 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à một phương pháp phân loại xuất phát từ lý thuyết học thống kê, dựa trên nguyên tắc tối thiểu rủi ro cấu trúc (Structural Risk Minimisation).

          • Hình 2.1. Siêu phẳng tối ưu là một siêu phẳng phân tách dữ liệu với margin lớn nhất.

          • 2.1.1 Phân chia tuyến tính

          • Bài toán có thể được chuyển thành một bài toán tối ưu. Siêu phẳng SVM có để được biểu diễn bởi hàm f(x):

          • do đó:

          • khi:

          • (1)

          • và lề là lớn nhất. Có thể chỉ ra rằng lề là 2/||m||. Bởi vậy, bằng cách tối thiểu hoá số lượng ½(m . m) đã đảm bảo tính tối ưu của siêu phẳng. Bài toán kết quả là:

          • đối với: yi(m • xi +b) ≥ 1 ∀i ∈ 1,..,n với: m ∈ Rd, b ∈ R

          • Nếu chúng ta chuyển thành công thức Lagrangian:

          • (2)

          • Bài toán bội (dual problem) có thể được chuyển hoá áp dụng các điều kiện tối ưu hoá Karush-Kuhn-Tucker trên công thức Lagrangian.

          • (3)

          • (4)

          • Thay thế (2),(3) vào (4), thu được:

Tài liệu cùng người dùng

Tài liệu liên quan