Chính quy và các phép chiếu vectơ được kết nối thông qua ý tưởng tối ưu hóa bị ràng buộc và các điều kiện Karush-Kuhn (không liên quan) -Tucker .
Các điều kiện KKT là gì?
Tóm lại, những trạng thái này, nếu là một giải pháp cho vấn đề "tối thiểu hóa theo g ( x ) ≤ 0 ", thì x cũng là một giải pháp cho vấn đề ∇ f ( x ) = λ ∇ g ( x ) đối với một số vô hướng λ . Nhưng điều này là tương đương với nói ∇ f ( x ) - bước sóng ∇ g ( x ) = 0 , có nghĩa là x giảm thiểuf ( x )xf( x )g( X ) ≤ 0x∇ f( X ) = bước sóng ∇ g( x )λ∇ f( X ) - bước sóng ∇ g( x ) = 0xkhông bị giới hạn vấn đề tối ưu hóa "hạn chế tối đa ".f( x ) - λ g( x )
Trực giác là một trong hai:
. Trong trường hợp này, x là một "giải pháp bên trong" nên độ dốc của f phải bằng 0 tại điểm đó. (Nếu nó không được bằng không, chúng ta có thể di chuyển một chút theo hướng đó từ x , trong khi duy trì g ( x ) < 0 , và có một giá trị cao hơn cho f ( x ) . Sau đó, chúng tôi đặt λ = 0 và chúng tôi làm xong.g( x ) < 0xfxg( x ) < 0f( x )λ = 0
Hoặc, . Trong trường hợp này, x nằm trên cạnh của không gian giải pháp có thể. Tại địa phương, cạnh này trông giống như một siêu phẳng trực giao với độ dốc ∇ g ( x ) , bởi vì cách bạn duy trì ràng buộc g ( x ) = 0 là không di chuyển lên hoặc xuống độ dốc. Nhưng điều đó có nghĩa rằng sự chỉ đạo chỉ gradient ∇ f có thể có thể Vấn đề là cùng một hướng chính xác như ∇ g --Nếu như nó có bất kỳ thành phần đó là trực giao với ∇ g , chúng ta có thể di chuyển xg( x ) = 0x∇ g( x )g( x ) = 0∇ f∇ g∇gxmột chút theo hướng đó, ở lại trên siêu phẳng trực giao và tăng f ( x ) .g(x)=0f(x)
Làm thế nào các điều kiện KKT giải thích mối quan hệ giữa tối thiểu hóa và chính quy hóa bị ràng buộc
Nếu đối với một số chỉ tiêu và một số hằng số c , thì ràng buộc g ( x ) ≤ 0 có nghĩa là x nằm trên một quả cầu có bán kính c theo định mức đó. Và trong công thức không giới hạn, trừ λ g ( x ) khỏi hàm bạn muốn tối đa hóa là điều cuối cùng áp dụng hình phạt chính quy: bạn thực sự trừ λ | x | + λ c (và hằng số λg(x)=|x|−ccg(x)≤0xcλg(x)λ|x|+λc không quan trọng để tối ưu hóa).λc
Mọi người thường tận dụng "tính hai mặt" này giữa tối ưu hóa không bị ràng buộc và bị ràng buộc. Để biết một ví dụ mà tôi có thể tìm thấy nhanh chóng bằng cách Googling xem Trên LASSO và bản kép của nó .
Tại sao các dự đoán quan trọng ở đây?
OK, vậy tại sao một người nào đó viết một bài báo về các phép chiếu nhanh, mặc dù?
Về cơ bản, một cách bạn có thể thực hiện tối ưu hóa bị ràng buộc chung - "tối đa hóa theo x ∈ X " - là thực hiện như sau:f(x)x∈X
- Thực hiện bất kỳ thuật toán lặp để tối đa hóa không giới hạn của f(x)
- Bắt đầu với đoán x0
- Thực hiện một bước của thuật toán: x′0←step(x0)
- Sau đó chiếu lại vào tập : x 1 ← P X ( x ′ 0 ) .Xx1←PX(x′0)
- Và lặp lại cho đến khi hội tụ.
Ví dụ, đây là cách giảm độ dốc dự kiến bắt nguồn từ gốc dốc thông thường. Tất nhiên, tối ưu hóa chức năng chiếu là cực kỳ quan trọng ở đây.PX
Để tất cả chúng cùng nhau
argminβ(y−β′X)2+λ||β||1
Đó là phiên bản không giới hạn. Theo các điều kiện KKT, việc thêm thuật ngữ chính quy tương đương với việc hạn chế giải pháp nằm trong cho một số hằng số . Nhưng đó chỉ là quả bóng có bán kính !c ℓ 1 c||β||1≤ccℓ1c
Vì vậy, bạn có thể tưởng tượng việc giải quyết điều này với độ dốc dốc (phụ) được chiếu. * Nếu bạn đã làm, chức năng của bạn sẽ là một phép chiếu lên quả bóng đơn vị và bạn muốn thực hiện nhanh chóng.PX
* Tôi không nghĩ mọi người thực sự làm điều này, bởi vì có nhiều cách hiệu quả hơn. Nhưng những người cũng có thể sử dụng dự đoán. EDIT: như @Dougal chỉ ra, một biến thể tinh vi hơn của dòng dõi nâng cấp dự kiến là đủ tốt để viết một bài báo về năm 2008.