LỜI CẢM ƠN Để thực hiện và hoàn thành Luận văn cao học ‘‘Nghiên cứu mô hình tối ưu lồi cho một số bài toán phân lớp nhị phân“, em xin gửi lời cảm ơn và biết ơn chân thành đến các thành
Trang 2NGUYỄN THỊ TỐ MI
NGHIÊN CỨU MÔ HÌNH TỐI ƯU LỒI CHO MỘT SỐ
BÀI TOÁN PHÂN LỚP NHỊ PHÂN
Chuyên ngành: Công nghệ thông tin
Mã số: 60480201
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Người hướng dẫn khoa học: TS LÊ HỒNG TRANG
LONG AN, 2017
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự hướng dẫn của Tiến sĩ Lê Hồng Trang Các số liệu, kết quả nêu trong luận văn là trung thực và những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo
Ngoài ra, trong luận văn còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện luận văn này
đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc
Học viên thực hiện Luận văn
Nguyễn Thị Tố Mi
Trang 4LỜI CẢM ƠN
Để thực hiện và hoàn thành Luận văn cao học ‘‘Nghiên cứu mô hình tối
ưu lồi cho một số bài toán phân lớp nhị phân“, em xin gửi lời cảm ơn và biết
ơn chân thành đến các thành viên đã giúp đỡ em trong quá trình thực hiện luận văn
Trước tiên, em xin cảm ơn Khoa Công Nghệ Thông Tin Trường Đại Học Vinh đã mở lớp liên kết giảng dạy tại Long An để em có cơ hội tham gia khóa học này, em xin cảm ơn Trường Đại học Kinh tế - Công nghiệp Long
An đã phối hợp với Trường Đại học Vinh để tạo mọi điều kiện cơ sở vật chất tốt nhất để hỗ trợ chúng em hoàn thành khóa học cao học (2015-2017) Bên cạnh đó, em cũng xin gửi lời cảm ơn chân thành đến quý thầy cô đã tham gia giảng dạy các bộ môn trong suốt khóa học của em Đặc biệt, em xin gửi lời cảm ơn và biết ơn sâu sắc đến thầy Tiến sĩ Lê Hồng Trang đã nhiệt tình hướng dẫn, góp ý nhận xét, động viên và dành rất nhiều thời gian, tâm huyết
để nghiên cứu giúp đỡ em có thể hoàn thành được luận văn cao học này Bên cạnh đó, em cũng xin gửi lời cảm ơn đến gia đình, bạn bè đồng nghiệp vẫn luôn giúp đỡ và tạo điều kiện cho em dành thời gian hoàn thành luận văn cao học của mình
Trong lời cảm ơn này, em cũng xin kính chúc quý thầy cô Khoa Công Nghệ Thông Tin, quý thầy cô Phòng Sau Đại học trường Đại học Vinh và quý thầy cô Khoa liên kết đào tạo Trường Đại học Kinh tế - Công nghiệp Long
An nhiều sức khỏe, luôn hoàn thành tốt mọi công tác chuyên môn và những công tác khác trong sự nghiệp giáo dục của quý thầy cô
Trong quá trình thực hiện luận văn, mặc dù dành nhiều thời gian nghiên cứu và được hỗ trợ rất nhiều từ Tiến sĩ Lê Hồng Trang nhưng sẽ không tránh khỏi những thiếu sót và hạn chế về kiến thức nên em hy vọng quý thầy cô sau khi
tham khảo luận văn sẽ có những góp ý nhận xét gửi đến em để em có thể chỉnh sửa kịp thời và hoàn thiện luận văn của mình hơn nữa
Em xin chân thành cảm ơn!
Tân An, ngày 20 tháng 02 năm 2017
Học viên
Nguyễn Thị Tố Mi
Trang 5MỤC LỤC
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 2
MỤC LỤC 3
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT 5
DANH MỤC CÁC HÌNH 6
DANH MỤC CÁC BẢNG 6
MỞ ĐẦU 7
1.1 Đặt vấn đề 13
1.2 Các kiến thức cơ bản về tập lồi và hàm lồi 13
1.2.1 Tập lồi 13
1.2.2 Tính tách rời của các tập lồi 18
1.2.3 Hàm lồi 18
1.3 Bài toán tối ưu lồi 22
1.3.1 Tối ưu dạng chuẩn (standard form) 22
1.3.2 Tối ưu lồi (convex optimization) 23
1.3.3 Tối ưu tuyến tính (linear optimization) 25
1.3.4 Tối ưu bậc hai (quadractic optimization) 26
1.4 Bài toán phân lớp nhị phân 28
1.4.1 Giới thiệu Phân lớp (classification) 28
1.4.2 Một số hướng tiếp cận để giải bài toán phân lớp nhị phân 28
Chương 2: MÔ HÌNH TỐI ƯU LỒI CHO CÁC BÀI TOÁN PHÂN LỚP NHỊ PHÂN 30
2.1 Phân lớp cơ bản 30
2.1.1 Giới thiệu 30
2.1.2 Hướng tiếp cận phân lớp cơ bản 30
2.1.3 Ví dụ phân lớp cơ bản 31
2.2 Phân lớp dạng Robust 31
2.2.1 Giới thiệu 31
2.2.2 Hướng tiếp cận phân lớp dạng Robust 32
2.2.3 Ví dụ phân lớp nhị phân dạng Robust 33
2.3 Phân lớp mô hình Logistic 34
2.3.1 Giới thiệu 34
2.3.2 Hướng tiếp cận phân lớp mô hình Logistic 34
2.3.3 Ví dụ phân lớp nhị phân mô hình Logistic 36
2.4 Phân lớp Support Vector Classifer 36
2.4.1 Giới thiệu 36
2.4.2 Mô hình Support Vector Classifer 37
2.4.3 Ví dụ phân lớp Support Vector Classifer (SVM) 39
2.5 Phân lớp bậc hai 40
Trang 62.5.1 Giới thiệu 40
2.5.2 Hướng tiếp cận phân lớp bậc hai 40
2.5.3 Ví dụ phân lớp bậc hai 42
2.6 Phân lớp đa thức 42
2.6.1 Giới thiệu 42
2.6.2 Hướng tiếp cận phân lớp đa thức 43
2.6.3 Ví dụ phân lớp đa thức 44
Chương 3: XÂY DỰNG ỨNG DỤNG PHÂN LỚP NHỊ PHÂN 45
3.1 Giới thiệu phân lớp với thuật toán Support Vector Machine 45
3.2 Giới thiệu công cụ mô hình hóa CVX 48
3.3 Thực thi một số ứng dụng số phân lớp nhị phân tuyến tính 50
3.4 Đánh giá thực nghiệm 55
3.5 Ứng dụng lọc thư spam với thuật toán Support Vector Machine 58
3.6 Nhận xét và đề xuất 66
KẾT LUẬN 67
TÀI LIỆU THAM KHẢO 68
Trang 7DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
SVM Support Vector Machine (Máy vec-tơ hỗ trợ) SDP Semi-Definite Programing
Trang 8DANH MỤC CÁC HÌNH
Hình 1 1: Bao lồi 14
Hình 1 2: Tổ hợp nón 15
Hình 1 3: Siêu phẳng 15
Hình 1 4: Nửa không gian 16
Hình 1 5: Đa diện 17
Hình 1 6: Siêu phẳng hỗ trợ 17
Hình 1 7: Siêu phẳng x| aT x b tách Cvà D 18
Hình 1 8: Xấp xỉ bậc nhất của hàm f 20
Hình 1 9: Đồ thị trên 21
Hình 1 10: Điều kiện tối ưu với f 0 khả vi 25
Hình 1 11: Tập phương án là một đa diện 26
Hình 1 12: Bài toán cực tiểu một hàm bậc hai lồi trên một đa diện 27
Hình 1 13: Ví dụ phân lớp nhị phân 28
Hình 1 14: Mô hình phân lớp tuyến tính 29
Hình 2 1: Phân lớp cơ bản 31
Hình 2 2: Giải pháp của bài toán phân biệt tuyến tính Robust 34
Hình 2 3: Phân lớp nhị phân qua mô hình logistic 36
Hình 2 4: Phân lớp tuyến tính qua quy hoạch tuyến tính 37
Hình 2 5: Phân lớp tuyến tính qua phương pháp phân lớp hỗ trợ vector với 39
Hình 2 6: Phân lớp bậc hai với điều kiện là P 0 42
Hình 2 7: Mức độ tối thiểu của phân lớp đa thức trong không gian 2 44
Hình 3 1: Mô hình phân lớp trong Khai phá dữ liệu 47
Hình 3 2: Ví dụ dữ liệu chưa phân lớp 48
Hình 3 3: Phân lớp đơn giản sử dụng một hàm affine 51
Hình 3 4: Phân lớp nhị phân qua bài toán tối ưu 52
Hình 3 5: Phân lớp nhị phân tuyến tính sử dụng Support Vector Classifier 54 Hình 3 6: Thời gian chạy của ba trình giải khi M, N nhỏ 56
Hình 3 7: Thời gian chạy của ba trình giải khi M, N lớn 57
DANH MỤC CÁC BẢNG Bảng 3 1: Thời gian và nghiệm thực thi trên 10 bộ dữ liệu ngẫu nhiên 55
Bảng 3 2: So sánh kết quả lọc trích email spam từ các thuật toán 61
Bảng 3 3: Kết quả phân lớp 63
Bảng 3 4: Sự kết hợp các thuật toán phân lớp 65
Bảng 3 5: Kết quả kết hợp các thuật toán lọc thư spam 65
Trang 9MỞ ĐẦU
1 Lý do chọn đề tài
Tối ưu hóa là một trong các lĩnh vực kinh điển của toán học có ảnh hưởng đến các ngành khoa học – công nghệ và kinh tế - xã hội Trong thực tế, tối ưu là một công cụ quan trọng trong khoa học quyết định và phân tích các
hệ thống vật lý đặc biệt khi muốn tìm giải pháp tối ưu cho một bài toán hay vấn đề nào cần xác định các mục tiêu là các đại lượng đo được như lợi nhuận, thời gian, năng lượng,…dựa trên các đặc trưng của hệ thống từ đó xác định phương án để tối ưu mục tiêu cần tìm Phương án tối ưu là phương án hợp lý nhất, tốt nhất, tiết kiệm chi phí, tài nguyên, nguồn lực mà lại cho hiệu quả cao
Bài toán tối ưu lồi là một trong các bài toán cơ bản của bài toán tối ưu, bài toán đã tạo ra một tiền đề, mở ra một hướng giải quyết mới cho các bài toán trong ngành khoa học kỹ thuật máy tính hiện nay Trong đó, việc xây dựng mô hình tối ưu lồi cho các bài toán phân lớp nhị phân là vấn đề cấp bách cần nghiên cứu và ứng dụng rộng rãi Về phương diện tính toán có rất nhiều phương pháp để phân lớp bài toán nhị phân tuy nhiên, việc sử dụng mô hình tối ưu lồi để xây dựng các ứng dụng phân lớp nhị phân tuyến tính đã và đang được chú ý phát triển
Phân lớp nhị phân tuyến tính là một khái niệm tổng quát về phân lớp tuyến tính của Fisher, một phương pháp được sử dụng trong thống kê (statistics), nhận dạng mẫu (Pattern Recognition), học máy (Learning Machine), khai phá dữ liệu (Data Mining) để tìm một sự kết hợp tuyến tính của các tính năng đặc trưng để tách hai lớp của các đối tượng hoặc sự kiện Kết quả của sự kết hợp này là tách hai tập điểm bằng một siêu phẳng
Với lý do muốn tìm hiểu, nghiên cứu các mô hình tối ưu lồi (Covex Optimization) và ứng dụng vào bài toán phân lớp, đồng thời tìm hiểu các phương pháp dùng để phân lớp bài toán phân lớp mà cụ thể là bài toán phân lớp nhị phân, được sự đồng ý của thầy Tiến sĩ Lê Hồng Trang nên tôi đã chọn
và thực hiện luận văn Nghiên cứu mô hình tối ưu lồi cho bài toán phân lớp nhị phân
Trang 102 Lịch sử vấn đề
Trãi qua quá trình hình thành và phát triển việc phân lớp đã trở nên đơn giản hơn với con người thông qua nhiều phương pháp và kỹ thuật khác nhau Tuy nhiên, việc sử dụng kỹ thuật phân lớp nhị phân tuyến tính bằng cách sử dụng
mô hình Tối ưu lồi là một hướng đi mới và tiềm năng hơn Qua đó, người dùng có thể linh động lựa chọn một số phương pháp phân lớp tuyến tính hay phi tuyến Đặc biệt, các ứng dụng phân lớp này đều có thể chạy trên môi trường Matlab và công cụ mô hình CVX
3 Đối tượng và phạm vi nghiên cứu
3.1 Đối tượng
3.1.1 Nghiên cứu lý thuyết
Nghiên cứu bài toán tối ưu toán học, cụ thể là tối ưu lồi
Nghiên cứu bài toán phân lớp nhị phân, cụ thể là các phương pháp phân lớp nhị phân như phân lớp nhị phân tuyến tính và phân lớp nhị phân phi tuyến
3.1.2 Nghiên cứu thực nghiệm
Nghiên cứu sử dụng công cụ lập trình Matlab và công cụ CVX để xây dựng
và thực thi ứng dụng minh họa cho bài toán phân lớp nhị phân tuyến tính với phương pháp phân lớp nhị phân Support Vector Machine
4 Mục đích, nhiệm vụ nghiên cứu
Luận văn sẽ tập trung thực hiện những mục đích sau đây:
4.1 Mục đích tổng quát
Nghiên cứu mô hình tối ưu lồi cho một số bài toán phân lớp nhị phân
Trang 114.2 Mục đích cụ thể
(i) Nghiên cứu mô hình tối ưu lồi
(ii) Nghiên cứu bài toán phân lớp nhị phân
(iii) Nghiên cứu việc áp dụng mô hình tối ưu lồi để giải một số bài toán phân lớp nhị phân tuyến tính và phân lớp nhị phân phi tuyến
(iv) Nghiên cứu công cụ tính toán số (Matlab và CVX) cho mô hình tối ưu lồi (v) Xây dựng ứng dụng và sử dụng phương pháp phân lớp nhị phân tuyến tính Support Vector Machine để thực thi một ứng dụng minh họa
5 Phương pháp nghiên cứu
Luận văn chủ yếu được thực hiện bằng 02 phương pháp sau:
5.1 Phương pháp offine
- Nghiên cứu mô hình Tối ưu lồi và bài toán phân lớp nhị phân trong cuốn
sách Stephen Boyd & Lieven Vandenberghe, Convex Optimization,
Cambridge University Press, 2004
- Trao đổi báo cáo với giáo viên hướng dẫn, bạn bè các nội dung đã tìm đọc sau khi nghiên cứu
5 Đóng góp của luận văn
- Luận văn đã xây dựng nên các phương pháp phân lớp thông qua các mô hình Tối ưu lồi
- Áp dụng các phương pháp phân lớp tuyến tính và phương pháp phân lớp phi tuyến để minh họa cho bài toán phân lớp nhị phân với mô hình Tối ưu lồi
Trang 12- Xây dựng và thực thi ứng dụng trên môi trường công cụ lập trình Matlab và công cụ mô hình CVX để minh họa cho bài toán phân lớp nhị phân tuyến tính
- Luận văn cũng đánh giá được quá trình thực thi bài toán tối ưu lồi qua 03 trình giải SDPT3, Sedumi, và Mosek khi bộ dữ liệu lớn và nhỏ
6 Cấu trúc của luận văn
Luận văn được thực hiện trong 03 chương cụ thể:
CHƯƠNG 1: TỔNG QUAN
Trong chương này sẽ trình bày sự cần thiết của việc nghiên cứu mô hình tối
ưu lồi và bài toán phân lớp nhị phân; Giới thiệu tổng quan về các khái niệm kiến thức cơ bản tập lồi, làm hồi; Giới thiệu về các bài toán tối ưu lồi; Giới thiệu bài toán phân lớp nhị phân Nội dung của Chương 1 được trình bày như sau:
1.1 Đặt vấn đề
1.2 Các kiến thức cơ bản về tập lồi và hàm lồi
1.2.1 Tập lồi 1.2.2 Tính tách rời của các tập lồi 1.2.3 Hàm lồi
1.3 Bài toán tối ưu lồi
1.3.1 Tối ưu dạng chuẩn (standard form) 1.3.2 Tối ưu lồi (convex optimization) 1.3.3 Tối ưu tuyến tính (linear optimization) 1.3.4 Tối ưu bậc hai (quadractic optimization) 1.4 Bài toán phân lớp nhị phân
1.4.1 Giới thiệu 1.4.2 Một số hướng tiếp cận để giải bài toán phân lớp nhị phân
Trang 13CHƯƠNG 2: MÔ HÌNH TỐI ƯU LỒI CHO CÁC BÀI TOÁN PHÂN LỚP NHỊ PHÂN
Trong chương này sẽ trình bày các phương pháp dùng để phân lớp nhị phân tuyến tính được sử dụng phổ biến hiện nay như là phân lớp cơ bản, phân lớp dạng Robust, Phân lớp mô hình Logistic, Phân lớp Support Vector Classifer
và các phương pháp dùng để phân lớp nhị phân phi tuyến như là phân lớp bậc hai, phân lớp đa thức mà cụ thể là sẽ giới thiệu về các phương pháp đó, hướng tiếp cận và ví dụ minh họa cho từng phương pháp với công cụ lập trình Matlab và công cụ CVX Nội dung của Chương 2 được trình bày như sau:
2.1 Phân lớp cơ bản
2.1.1 Giới thiệu 2.1.2 Hướng tiếp cận phân lớp cơ bản 2.1.3 Ví dụ phân lớp cơ bản
2.2 Phân lớp dạng Robust
2.2.1 Giới thiệu 2.2.2 Hướng tiếp cận phân lớp dạng Robust 2.2.3 Ví dụ phân lớp nhị phân dạng Robust 2.3 Phân lớp mô hình Logistic
2.3.1 Giới thiệu 2.3.2 Hướng tiếp cận phân lớp mô hình Logistic 2.3.3 Ví dụ phân lớp nhị phân mô hình Logistic 2.4 Phân lớp Support Vector Classifer
2.4.1 Giới thiệu 2.4.2 Mô hình Support Vector Classifer 2.4.3 Ví dụ phân lớp Support Vector Classifer 2.5 Phân lớp bậc hai
2.5.1 Giới thiệu
Trang 142.5.2 Hướng tiếp cận phân lớp bậc hai 2.5.3 Ví dụ phân lớp bậc hai
2.6 Phân lớp đa thức
2.6.1 Giới thiệu 2.6.2 Hướng tiếp cận phân lớp đa thức 2.6.3 Ví dụ phân lớp đa thức
CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG PHÂN LỚP NHỊ PHÂN
Trong chương này sẽ giới thiệu về mô hình phân lớp Support Vector Machine, công cụ mô hình CVX sau đó xây dựng ứng dụng phân lớp nhị phân
mà cụ thể là trên mô hình Support Vector Machine, hàm affine, phân lớp tuyến tính qua bài toán tối ưu Demo minh họa ứng dụng số phân lớp nhị
phân đó với công cụ lập trình Matlab và công cụ mô hình CVX Sau đó, đánh giá nhận xét kết quả và đề xuất hướng phát triển trong thời gian sắp tới Nội dung của Chương 3 được trình bày như sau:
3.1 Giới thiệu
3.2 Mô hình Support Vector Machine
3.3 Giới thiệu công cụ mô hình hóa CVX
3.4 Thực thi một số ứng dụng số phân lớp nhị phân
3.5 Nhận xét và đề xuất
Trang 15Chương 1: TỔNG QUAN
Trong chương này sẽ trình bày sự cần thiết của việc nghiên cứu mô hình tối
ưu lồi và bài toán phân lớp nhị phân; Giới thiệu tổng quan về các khái niệm kiến thức cơ bản tập lồi, làm hồi; Giới thiệu về các bài toán tối ưu lồi; Giới thiệu bài toán phân lớp nhị phân Nội dung của Chương 1 được trình bày như sau:
Tìm các giá trị của biến để tối ưu (optimize) mục tiêu
Bài toán tối ưu lồi là một trong các bài toán cơ bản của bài toán tối ưu, bài toán đã tạo ra một tiền đề, mở ra một hướng giải quyết mới cho các bài toán trong ngành khoa học kỹ thuật máy tính hiện nay
1.2 Các kiến thức cơ bản về tập lồi và hàm lồi
Trang 16 Tập lồi
Đoạn thẳng (line segment)
Cho x x1, 2 n, đoạn thẳng giữa x và 1 x là tập tất cả các điểm 2
Bao lồi (convex hull)
ConvS là tập tất cả các tổ hợp lồi của các điểm trong S
Hình 1 1: Bao lồi
Bao lồi (convex hull) là tập lồi nhỏ nhất chứa S
Tổ hợp nón (conic combination)
Cho x x1, , ,2 x k n,
Trang 171 1 2 2,
x x x
được gọi là một tổ hợp nón (không âm) của x1 và x2, với 1, 2 0
Hình 1 2: Tổ hợp nón
Nón lồi (convex cone)
Nón lồi là một tập chứa tất cả các tổ hợp nón của các điểm trong tập đó
Siêu phẳng (hyperplane)
Siêu phẳng là tập dạng x| aT x bvới a0
Hình 1 3: Siêu phẳng
Nửa không gian (halfspace)
Nửa không gian là tập dạng x| aT x b, với a0
Trang 18Hình 1 4: Nửa không gian
Trong đó:
- a là vector pháp tuyến
- Siêu phẳng là affine và lồi, nửa không gian là lồi
Đa diện (polyhedra)
Đa diện là tập nghiệm của một số hữu hạn các phương trình và bất phương trình tuyến tính
Ax b Cx d
Trong đó A m n ,C p n và là bất đẳng thức theo từng thành phần (compomentwise inequality)
Trang 19Hình 1 5: Đa diện
Một đa diện là giao của một tập hữa hạn các nửa không gian và siêu phẳng
Siêu phẳng hỗ trợ (supporting hyperplane)
Siêu phẳng hỗ trợ của tập C tại một điểm biên x là 0
Trang 201.2.2 Tính tách rời của các tập lồi
Trang 21Lưu ý:
f là lõm (convace) nếu f là lồi
f là lồi ngặt (strictly convex) nếu dom f là lồi và
f(x 1 y) f x 1 f y , với mọi ,
Hàm trị tuyệt đối: x p trên , với p1
Hàm lũy thừa: xtrên , với 1 hoặc 0
o Hàm lõm
Hàm affine a x b trên , với a b,
Hàm lũy thừa: x trên , với 0 1
Hàm logarit:log x trên
Các hàm affine là lồi và lõm
Các hàm chuẩn (norm) là lồi
Ví dụ:
Trang 22 Hàm affine f x( ) a T x b trên với a b ,
Hàm chuẩn (norm): 1
n p p i
tồn tại với mỗi x dom f
Một hàm khả vi f với dom f là lồi nếu và chỉ nếu
T
f y f x f x y x với mọi x y dom f,
Hình 1 8: Xấp xỉ bậc nhất của hàm f
- Điều kiện bậc hai:
Tính khả vi hai lần (twice differentiable)
f là một hàm khả vi hai lần nếu dom f là mở và Hessian
Trang 23Cho hàm khả vi hai lần f với dom f là lồi,
f là lồi nếu và chỉ nếu 2
Trang 241.3 Bài toán tối ưu lồi
1.3.1 Tối ưu dạng chuẩn (standard form)
p nếu bài toán không bị chặn dưới (unbounded below)
Điểm tối ưu và tối ưu địa phương
x là một phương án nếu x dom f 0và thõa mãn các ràng buộc
Một phương án x là tối ưu nếu *
0
f x p ;X optlà tập các điểm tối ưu
x là tối ưu địa phương (locally optimal) nếu tồn tại một r 0 sao cho x là điểm tối ưu của:
0
2
min
0, 1, , ,
Trang 25 Bài toán khả thi (feasibility problem)
Trang 26 f là lồi; tập phương án 0 x x1, 2|x1 x2 0là lồi
Nhưng, bài toán trên là bài toán không lồi vì, theo định nghĩa, f1 là không lồi và h1 không là affine
Tuy nhiên, nó tương đương (nhưng không đồng nhất) với bài toán lồi sau đây:
y x 2 r nên 0 1/ 2;
z là tổ hợp lồi của hai phương án x y, , nên z cũng là phương án;
Trang 27 z x 2 r / 2 và f z0 f y0 1 f x0 f x0 , điều này mâu thuẫn với giả sử rằng x là điểm tối ưu địa phương
Điều kiện tối ưu với f0 khả vi
với mọi phương án y
Hình 1 10: Điều kiện tối ưu với f 0 khả vi
Nếu khác 0, f x0 định nghĩa một siêu phẳng hỗ trợ (supporting hyperplane) của tập phương án X tại x
1.3.3 Tối ưu tuyến tính (linear optimization)
Trang 28Hình 1 11: Tập phương án là một đa diện
Ví dụ: Bài toán ăn kiêng
Chọn một lượng x1, , xn trong n loại thực phẩm:
Một đơn vị của thực phẩm j có giá cj, và chứa một lượng aij dinh dưỡng I;
Việc ăn kiêng yêu cầu lượng dinh dưỡng i tối thiểu là b i
Bài toán ăn kiêng cần tìm một công thức ăn kiêng rẻ nhất mà vẫn đảm bảo các yêu cầu
Mô hình quy hoạch tuyến tính cho bài toán ăn kiêng:
Trang 29Hình 1 12: Bài toán cực tiểu một hàm bậc hai lồi trên một đa diện
Quy hoạch bậc hai với ràng buộc bậc hai (quadratically constrained quadratic program)
PS nên hàm mục tiêu và các hàm ràng buộc là lồi (bậc hai)
Quy hoạch nón bậc hai (second order cone programming)
i
A F
Bất đẳng thức được gọi là ràng buộc nón bậc hai
Với ni=0, bài toán chuyển về quy hoạch tuyến tính
Nếu ci =0, bài toán chuyển về quy hoạch bậc hai với ràng buộc bậc hai
Trang 301.4 Bài toán phân lớp nhị phân
1.4.1 Giới thiệu Phân lớp (classification)
Bài toán phân lớp tuyến tính
Tách hai tập điểm x1, ,x N, y1, ,y Mbằng một siêu phẳng
Hình 1 13: Ví dụ phân lớp nhị phân
Đối với bài toán phân lớp có thể ứng dụng trong các lĩnh vực của Khoa học máy tính như:
Học máy (Machine Learning),
Nhận dạng mẫu (Pattern Recognition),
Khai phá dữ liệu (Data mining),
1.4.2 Một số hướng tiếp cận để giải bài toán phân lớp nhị phân
Chúng ta có thể giải bài toán phân lớp nhị phân bằng việc áp dụng các mô hình tối ưu lồi Trong luận văn này, tôi đề cập các mô hình tối ưu lồi để giải bài toán phân lớp nhị phân trong đó trọng tâm là phương pháp phân lớp nhị phân tuyến tính và phương pháp phân lớp nhị phân phi tuyến
Mô hình tối ưu lồi cho phân lớp tuyến tính
Sử dụng siêu phẳng a x b T 0, do đó hai điều kiện sau phải thỏa mãn:
0, 1, ,
T
i
a x b i N và a y T i b 0, i1, ,M
Trang 32Chương 2: MÔ HÌNH TỐI ƯU LỒI CHO CÁC BÀI TOÁN PHÂN LỚP
NHỊ PHÂN
Trong chương này sẽ trình bày các phương pháp dùng để phân lớp nhị phân tuyến tính được sử dụng phổ biến hiện nay như là phân lớp cơ bản, phân lớp dạng Robust, Phân lớp mô hình Logistic, Phân lớp Support Vector Classifer
và các phương pháp dùng để phân lớp nhị phân phi tuyến như là phân lớp bậc hai, phân lớp đa thức mà cụ thể là sẽ giới thiệu về các phương pháp đó, hướng tiếp cận và ví dụ minh họa cho từng phương pháp với công cụ lập trình Matlab và công cụ CVX Nội dung của Chương 2 được trình bày như sau:
2.1.2 Hướng tiếp cận phân lớp cơ bản
Trong hàm phân biệt tuyến tính, có thể tìm thấy một hàm affine f(x) = T
Trong hình học, chúng ta có thể tìm thấy một siêu phẳng để tách hai tập
điểm Từ bất đẳng thức ngặt (1) thì a và b giống nhau, sẽ khả vi nếu và chỉ
nếu tập bất đẳng thức tuyến tính không ngặt
Trang 33Hàm phân biệt tuyến tính thay thế
Sự thay thế mạnh mẽ của tập bất đẳng thức ngặt là sự tồn tại của như sau:
y được thể hiện bằng hình tròn đặc màu đen Hai tập điểm này được
phân lớp bởi hàm affine f
Trang 34phân biệt tuyến tính, sau đó có một đa giác (polyhedron) của hàm affine mà
phân biệt được Và chúng ta có thể chọn một trong các bài toán tối ưu để đo thiết thực (robustness) Chúng ta có thể cho ví dụ tìm hàm đưa ra khả năng lớn nhất trống (gap) giữa quá trình khẳng định giá trị ở điểm x và phủ i
định giá trị ở điểm y i Để làm điều này, chúng ta phải cho a và b ở điều kiện bình thường, sau đó kể từ những trường hợp khác chúng ta có thể (scale) ước
lượng a và b bởi một hằng số khẳng định và làm chỗ trống có giá trị khoảng
rộng tùy ý Điều này dẫn đến một bài toán:
Ví dụ:
*
2
a = 1;
Chúng ta có thể đưa ra một ví dụ đơn giản thông qua mô hình hình học
của bài toán trong mô hình Robust phân biệt tuyến tính
2.2.2 Hướng tiếp cận phân lớp dạng Robust
Nếu a = 1 (như là một trường hợp ở bất kỳ điểm tối nào), 2 a x T i b là
khoảng cách Euclidean từ điểm x i đến siêu phẳng đang tách H =
z a z| T b Tương tự, T
i
b a y là khoảng cách từ điểm y i đến siêu phẳng Vì
Trang 35thế bài toán tìm siêu phẳng để tách hai tập điểm và có khoảng cách lớn nhất
đến những tập đó Trong những trường hợp khác, nó sẽ chỉ ra biên dày nhất
để tách hai tập điểm
Giá trị tối ưu t* nằm bên ngoài một nửa khoảng cách giữa vỏ lồi của
hai tập các điểm Điều này có thể được xem là đã xóa từ hai phía của bài toán
phân biệt tuyến tính Robust Mô hình bài toán cho bài toán nhỏ nhất -t là
2.2.3 Ví dụ phân lớp nhị phân dạng Robust
Ví dụ tìm khoảng cách giữa những vỏ lồi của hai tập điểm
a