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 giai_bai_toan_toi_uu_bang_phuong_phap_gradient_va_ung_dung.pdf




