Giải bài toán tối ưu bằng phương pháp Gradient và ứng dụng
Bài báo phân tích phương pháp để giải bài toán tối ưu phi tuyến có rằng buộc
bằng phương pháp Gradient cổ điển. Đối với phương pháp gradient cổ điển sử dụng
phương pháp hàm chắn để đưa về bài toán phi tuyến không ràng buộc ! " # $%,
sau đó thực hiện giải bài toán tối ưu phi tuyến không ràng buộc.Trong bài báo cũng đưa
ra phương pháp Gradient cải tiến để giải bài toán tối ưu !% với hàm $ phức tạp
hơn nhiều so với phương pháp gradient cổ điển.Trong bài báo cũng trình bày bài toán
phân lớp dữ liệu (SVM), áp dụng phương pháp Gradient để đưa bài toán phân lớp dữ liệu
về bài toán tối ưu.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Giải bài toán tối ưu bằng phương pháp Gradient và ứng dụng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Giải bài toán tối ưu bằng phương pháp Gradient và ứng dụng
t c ñi n. Trong bài báo cũng gi i thi u v bài toán phân l p d li u dùng phương pháp SVM ñ ñưa bài toán phân l p d li u v bài toán t i ưu. Sau ñó, bài báo trình bày m t s tính toán th nghi m, ng v i các thu t toán ñã ñư c ñ xu t. TẠP CHÍ KHOA HỌC −−− SỐ 18/2017 137 2. GI I THI U V BÀI TOÁN PHÂN L P D LI U SUPPORT VECTOR MACHINE (SVM) Support Vector Machines (SVM) [1] là k thu t m i ñ i v i bài toán phân l p d li u, ñây cũng là m t trong nh ng phương pháp h c s d ng không gian gi thi t các hàm tuy n tính trên không gian ñ c trưng nhi u chi u d a vào lý thuy t t i ưu và lý thuy t th ng kê. Trong k thu t SVM , không gian d li u nh p ban ñ u ñư c ánh x vào không gian ñ c trưng có xác ñ nh m t siêu ph ng phân chia t i ưu. SVM d ng chu n nh n d li u vào và phân lo i chúng vào hai l p khác nhau. Do ñó, SVM là m t thu t toán phân lo i nh phân. n T p D={}( xcxRiiii , ), ∈= , 1,2,..., mc , i ∈−{} 1,1 ñư c g i là t p m u h c. T p m u h c t m thư ng n u t t c các nhãn ci có giá tr như nhau. Gi s t p là phân tách tuy n tính, nghĩa là t p ñư c chia thành hai mi n ñư c xác ñ nh b i hai siêu ph ng song song, sao cho m i m t l p thu c v m t không mi n không gian mà không n m gi a hai siêu ph ng. Hình 1. Các siêu ph ng phân tách trong không gian hai chi u. Hình 2. Siêu ph ng tách. Hình 3. Siêu ph ng t i ưu. 138 TRƯỜNG ĐẠI HỌC THỦ ĐÔ H NỘI Phương trình tương ng c a hai siêu ph ng: +) , 1. +) , 1. Trong ñó: +) w g i là vector pháp tuy n n chi u. +) b là giá tr ngư ng, xác ñ nh kho ng cách gi a siêu ph ng và g c. Ngư i ta mu n tìm m t véc tơ W sao cho kho ng cách gi a hai siêu ph ng tách là l n nh t. Đi u ñó d n ñ n bài toán t i ưu và bài báo s trình bày m c 4. 3. GI I BÀI TOÁN T I ƯU B NG PHƯƠNG PHÁP GRADIENT 3.1. Phương pháp Gradient 3.1.1. Bài toán qui ho ch phi tuy n không ràng bu c Xét bài toán qui ho ch phi tuy n không ràng bu c: [3] min ∈ , Gi s r ng là hàm kh vi, khi ñó ñi m c c tr c a th a mãn: ∗ ∗ Vi c tr c ti p gi i phương trình 0, r t ph c t p. Do ñó c n xây d ng m t phương án hi u qu hơn so v i vi c gi i tr c ti p 0 bài toán . Ý tư ng c a phương pháp này là tìm m t dãy phương án ch p 0nh n ñư c h i t ñ n . Giá tr m i c a dãy s t i bư c ñư c ư c tính: ∗ 1 Trong ñó, véc tơ là hư ng di chuy n t ñ n , và ñ dài bư c di chuy n . Đ ñi u ki n: ñư c b o ñ m t i m i giá tr m i, thì véc tơ hư ng gi m ph i th a mãn: Khi ñó v i ñ dài bư c ñ bé 〈ta có: , 〉 0. Ch n hư ng . Suy ra: 〈 , 〉 , TẠP CHÍ KHOA HỌC −−− SỐ 18/2017 139 xk+1 =−∇ x kk tfxk( k ), = 1,2,3... Bi u di n dư i d ng t a ñ bi u th c trên: ()xik+1 = () x ikk −∂ tfx ( k )/ ∂= xi i , 1,2,...,. n Vì tính ñơn gi n, hi u qu nên ñây là phương pháp ph bi n ñư c s d ng cho bài toán qui ho ch phi tuy n không ràng bu c. V n ñ còn l i là l a ch n tk trong m i bư c tính như th nào. Thu t toán sau ñây ñưa ra giá tr ư c tính c a tk t i m i bư c . Bư c 0. Ch n trư c m t giá tr . Bư c 1. Tính x= xk − tfx ∇ ( k ), Bư c 2. Ki m tra: − N u fx()< fx ()k , l y tk = t . − Ngư c l i, ñ t t= t / 2 và quay l i bư c 1. Hình 4. Ý nghĩa hình h c c a phương pháp gradient. 3.1.2. Bài toán t i ưu có r ng bu c Xét bài toán t i ưu có ràng bu c: [3] minfx ()< fx (k ) (3.1) x∈ C Đ áp d ng các phương pháp gi i bài toán t i ưu không ràng bu c, ngư i ta chuy n bài toán t i ưu có ràng bu c v d ng bài toán t i ưu không ràng bu c. Có nhi u phương pháp chuy n ñ i như: Phương pháp nhân t Lagrange, phương pháp hàm ch n. ñây ta s d ng phương pháp hàm ch n, b ng cách ñ nh nghĩa m t hàm ch n Ψ là hàm l i trên t p như sau: 0, x∈ C Ψ(x ) = +∞,x ∉ C . Và th c hi n xét bài toán t i ưu không ràng bu c c a hàm ñư c bi u di n b i t ng c a hai hàm: 140 TRƯỜNG ĐẠI HỌC THỦ ĐÔ H NỘI (3.2) Ψ xác ñ nh trên t p . Trong ñó, kh vi. Tuy nhiên, ta không th áp d ng tr c ti p phương pháp gradient vì hàm là không kh vi t i biên c a . Do ñó ngư i ta s d ng thu t toán gradient c i ti n ñ gi iΨ bài toán t i nói trên. Đ t: là t p các hư ng ch n nh n . , ∈ , 0 ⊂ ñư c t i . Và: , là m t nón l i. : , 0, ∈ ⊂ , ∈ Ta xét các ñi u ki n t i ưu tương ñương ñ là ñi m c c ti u: ∗ (3.3) ∗ ∗ ∗ ∗ ∈ , v i . Nói cách khác: ∗ ∗ ∈ Ψ (3.4) ∗ ∗ , 0, ∀ ∈ , Mà là hàm l i, suy ra: Ψ (3.5) ∗ ∗ , 0, ∀ ∈ . Chú ý: V i trư ng h p hàm l i, m t trong các ràng bu c t (3.2) ñ n (3.4) là ñi u ki n ñ ñ là c c ti u toàn c c c a trên t p l i . ∗ Đ nh lý 3.1: Đi m th a mãn ñi u ki n t i ưu c c ti u ñ a phương b c nh t c a hàm trên t p v i ñ chính∈ xác n u: 0 (3.6) 〈 ̅ , 〉 , ∀ ∈ , || || 1. Đây cũng là ñi u ki n d ng c a thu t toán gradient. Trong trư ng h p và , rút g n b t ñ ng th c (2.5): Ψ 0 | | 〈 , 〉 | | ∈ ̅ 〈 ̅ , 〉 | | ∈ ̅ 〈 ̅ , 〉 ∈ ̅ | | 〈 ̅ , 〉 | | ‖ ̅ ‖. TẠP CHÍ KHOA HỌC −−− SỐ 18/2017 141 V i m i , ký hi u: ∈ (3.7) ; 〈 , 〉 ‖ ‖ Ψ , 2 (3.8) ∈ ; , trong ñó là h ng s dương. Xét véc tơ: (3.9) ∈ . Trong trư ng h p thì v i m i tham s . M t s tính ch t c a ≡ ñi u , Ψki n ≡ 0t i ưu b c nh t: ≡ 0 (3.10) 〈 , 〉 0, ∀ ∈ , trong ñó . Suy ra: ∈ Ψ (3.11) ∈ . Gi s hàm m c tiêu (2.1) th a mãn ñi u ki n Lipschitz: (3.12) ‖ ‖ ‖ ‖, ∀ , ∈ , Do t p l i, bi u th c (3.9) tương ñương v i: (3.13) | 〈 , 〉| ‖ ‖ , ∀ , ∈ , 2 G i là ñ bi n thiên c a hàm trên t p . ‖ ‖ 3.1.3. Thu t toán gradient [4] Thu t toán 3.1. Vòng l p c a phương pháp gradient , . : : . : : . , . : . . : , . : , . ; , . ; 142 TRƯỜNG ĐẠI HỌC THỦ ĐÔ H NỘI Ch n giá tr kh i t o cho thu t toán gradient: − trong ñó là h ng s Lipschitz c a gradient c a hàm f (thư ng ch n h ng , 0 s L r t l n). − Hai tham s ñi u ch nh và . 1 1 − Ch n b t kỳ. ∈ − k nguyên, . V i vi c ch n tham 0 s ñi u ch nh như trên, d th y r ng giá tr luôn tăng và . Thu t toán 3.2. Thu t toán gradient , . ITERATION: (Bư c l p k) : , . , ≔ , . , ≔ max , . Suy ra , t thu t toán trên thu ñư c bi u th c sau hi n nhiên ñúng: (3.14) . Ngoài ra, n u thì: , ∀ 0. 3.2. Thu t toán Gradient c i ti n Sau ñây, chúng ta phát bi u thu t toán Gradient ñ i ng u. Thu t toán 3.2. Thu t toán Gradient ñ i ng u [2] , , 0 INITIAL (Kh i t o) : Cho , ñ nh nghĩa hàm , ch n h ng s dương sao cho . ∈ Ψ ‖ ‖ ITERATION (Bư c l p k) : , , , , 1 max , , , 〈 , 〉 Ψ . TẠP CHÍ KHOA HỌC −−− SỐ 18/2017 143 Ti p theo ñây, chúng ta s xét ñ n m t thu t toán ñư c c i ti n có t c ñ h i t t t hơn h n so v i hai thu t toán là thu t toán gradient và thu t toán gradient ñ i ng u ñã ñư c xét ñ n. Thu t toán 3.3. Thu t toán gradient c i ti n [1] INITIAL (Kh i t o) : Ch n , thu c ño n, , ñ bé, . Đ t , ch n h ng s dương x ∈saodom choΨ . 0, 0 ‖ ITERATION ‖ (Bư c l p k) : Đ t : Tìm là giá tr th a mãn phương trình b c hai . Đ t , tính 2 theo bi u th c (3.7). N u d ng thu t toán, l y giá tr N u không,〈 chuy n , sang bư c 〉 iii và th c hi n gán: ≔ . . ≔ , ≔ , ≔ , ≔ , ≔ , Quay l i bư c ii. 〈 , 〉 Ψ . 4. M T S TÍNH TOÁN TH NGHI M T bài toán phân l p nêu M c 2, chúng ta ñưa bài toán ñó v d ng t i ưu. Vùng không gian n m gi a hai siêu ph ng g i là c n biên, kho ng cách gi a hai siêu ph ng là 2 . Bài toán ñ t ra là, tìm kho ng cách l n nh t gi a hai siêu ph ng. Như v y, bài toán w chuy n v bài toán t i ưu ñư c phát bi u như sau: Tìm c c ti u c a hàm: v i ñi u ki n: || || Trong nhi u trư ng , 1,∀ h p, t p hu n 1,2,..., . luy n D có th không phân tách tuy n tính (hay t n t i ñi m nhi u), khi ñó ta s d ng bi n bù ñ ño m c ñ không th phân lo i ñi m d li u : hàm m c tiêu tăng thêm m t lư ng , tương ng 1 khi tham, 1 s . khác không. C th bài toán lúc này tr thành: 144 TRƯỜNG ĐẠI HỌC THỦ ĐÔ H NỘI 1 min ‖ ‖ v i ñi u ki n 2 Đây là hàm ,m c tiêu d ng 1 quy ,∀ ho ch 1,2,..., .toàn phương, m t trư ng h p riêng c a qui ho ch l i tuy n tính. Vì v y, nó còn có th ñư c gi i b ng phương pháp Franke Wolfe hay phương pháp ñơn hình Beale. Ti p ñây, chúng ta s d ng thu t toán gradient cơ b n ñ gi i bài toán t i ưu v i hàm m c tiêu trên. 1 Xét v i m t trư ng h p riêng c a bài toán nêu trên khi , ch n tham s C = 0 λm vi t l i bài toán t i ưu c n gi i: (4.1) 1 ‖ ‖ 2 v i ñi u ki n: Trong trư ng h p này , và hàm 0,1 , . , 1,2,..., . ‖ ‖ Ψ ∑ Ta s s d ng thu t toán gradient ñ gi i bài toán c th trên. T c là tìm t a ñ c a véc tơ là nghi m t i ưu toàn c c c a hàm s : , 1 ‖ ‖ Ý tư ng c a bài toán như sau: 2 − Cho trư c m t véc tơ pháp tuy n a, có g c n m trên ñư ng th ng b t kỳ phân chia hai l p d li u cho trư c. − Hai l p d li u này ñư c t o ng u nhiên và gán nhãn . − Sau ñó s d ng thu toán t i ưu gradient ñ tìm véc tơ 1; pháp 1 tuy n c a ñư ng th ng t i ưu phân chia hai l p d li u ñã t o ng u nhiên (véc tơ pháp tuy n này có g c n m trên ñư ng th ng). − Khi ñã xác ñ nh ñư c véc tơ pháp tuy n có g c n m trên ñư ng th ng, thì chúng ta cũng d dàng xác ñ nh ñư ng th ng duy nh t th a mãn ñi u ki n này. Khai báo sai s . Thu t toán có th ñư c vi t l i như sau: Thu t toán 4.1: Thu t 10 toán gradient Ch n giá tr ban ñ u , ch n s cho trư c . L p: 0 Bư c 1: Tính 1,2, . .. Bư c 2: Ki m tra: TẠP CHÍ KHOA HỌC −−− SỐ 18/2017 145 N u fx(k+1 )< fx () k , ch n . α Ngư c l i, ñ t α = và quay l i Bư c 1. 2 Ch y th nghi m v i m t s b d li u sau: a. Th nghi m v i d li u ng u nhiên g m 20 ñi m >> [a,w] = PhanLop(20,2) a = w = 2.2805 1.0671 5.6246 3.1872 Hình 5. Mô ph ng ñ th phân l p d li u 20 ñi m ng u nhiên. b. T o 100 ñi m d li u ng u nhiên >> [a,w] = PhanLop(100,2) a = w = 1.2821 1.1631 0.5431 0.5111 Hình 6. Khi tăng ñi m d li u lên 100 ñi m ng u nhiên. 146 TRƯỜNG ĐẠI HỌC THỦ ĐÔ H NỘI Th c hi n tăng s ñi m ng u nhiên trên không gian 2 chi u. c. Th nghi m v i 200 ñi m d li u ng u nhiên >> [a,w] = PhanLop(200,2) a = w = 5.3324 4.5695 2.6038 2.2495 Hình 7. Mô ph ng khi tăng h s ñi m ng u nhiên d. Th nghi m v i100 ñi m d li u ng u nhiên trên không gian ba chi u >> [a,w] = PhanLop(100,3) a = w = 1.0645 0.8317 3.9196 3.2198 3.6634 3.1436 e. Th nghi m v i100 ñi m d li u ng u nhiên trên không gian 5 chi u >> [a,w] = PhanLop(100,5) a = w = 1.1616 0.6263 4.9320 2.5409 0.8892 0.7258 5.2191 2.8727 3.5934 2.0685 D a trên các k t qu trên, có th ñưa ra m t s các nh n xét như sau: − Khi s ñi m ng u nhiên càng ít, có th th y ñư c 2 véc tơ phân chia 2 l p d li u t i ưu tìm ñư c có kho ng cách l n hơn rõ so v i 2 véc tơ ng u nhiên ch n ban ñ u. TẠP CHÍ KHOA HỌC −−− SỐ 18/2017 147 − Đi m d li u ng u nhiên càng nhi u, 2 véc tơ ch n ng u nhiên ban ñ u r t g n so v i 2 véc tơ t i ưu tìm ñư c v sau. Đi u này là do v i s ñi m d li u nhi u thì có r t nhi u ñi m c a phân l p thu c trên véc tơ phân cách, do ñó kh năng ch p nh n ñư c c a thu t toán là ít và r t g n nhau. 5. K T LU N − Bài báo ñã trình bày bài toán phân c m d li u và phương pháp Support Vector Machines ñưa bài toán phân c m d li u v bài toán t i ưu. Sau ñó dùng phương pháp Gradient ñ gi i quy t bài toán t i ưu. − Bài báo t p trung vào phương pháp Gradient và Gradient c i ti n gi i bài toán t i ưu phi tuy n không r ng bu c và áp d ng nó vào bài toán phân c m d li u. Chương trình ñư c cài ñ t trên MATLAB cho th y k t qu là r t t t. TÀI LI U THAM KH O 1. Tseng, P. Yun, A coordinate gradient descent method for linearly constrained smooth optimization and support vector machines training , B 47, pp.179 206. 2. Tseng, P. Yun (2009), A coordinate gradient descent method for nonsmooth separable minimization.Math , Program, B117, pp.387 423. 3. Nguy n Tr ng Toàn (2012), Giáo trình các phương pháp tính toán s , H c vi n K thu t Quân s . 4. Nguy n Th B ch Kim (2014), Giáo trình các phương pháp t i ưu lý thuy t và thu t toán , Nxb Đ i h c Bách khoa. SOLVING THE OPTIMAL PROBLEM USING THE GRADIENT METHOD AND THE APPLICATION AbstractAbstract: The article analyzes the method to solve the nonlinear optimization problem that is bound by the classical Gradient method. For classical gradient methods use the defining method to take on the non constraint nonlinear problem , then solve the non constraint optimal nonlinear problem. The article also provides the advanced gradient method for solving the optimal problem with a function Ψ much more complex than the classical gradient method. The article also presents the problem of data stratification; apply Gradient method to put the data stratification problem to optimization problem. KeywordsKeywords: The gradient method, Advanced Gradient Method, Support vector machine, defining, sample set.
File đính kèm:
- giai_bai_toan_toi_uu_bang_phuong_phap_gradient_va_ung_dung.pdf