日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

数学优化

發布時間:2025/6/17 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数学优化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數學優化(Mathematical Optimization)問題,也叫最優化問題,是指在一定約束條件下,求解一個目標函數的最大值(或最小值)問題。

數學優化問題的定義為:給定一個目標函數(也叫代價函數)f : A → R,尋找一個變量(也叫參數)x? ∈ D,使得對于所有D中的x,f(x?) ≤ f(x)(最小化);或者f(x?) ≥ f(x)(最大化),其中D為變量x 的約束集,也叫可行域;D中的變量被稱為是可行解

?最優化問題一般可以表示為求最小值問題。求f(x) 最大值等價于求?f(x) 的最小值

?

數學優化的類型

離散優化問題

離散優化(Discrete Optimization)問題是目標函數的輸入變量為離散變量,比如為整數或有限集合中的元素。離散優化問題的求解一般都比較困難,優化算法的復雜度都比較高。離散優化問題主要有兩個分支:

  1. 組合優化(Combinatorial Optimization):其目標是從一個有限集合中找出使得目標函數最優的元素。在一般的組合優化問題中,集合中的元素之間存在一定的關聯,可以表示為圖結構。典型的組合優化問題有旅行商問題、最小生成樹問題、圖著色問題等。很多機器學習問題都是組合優化問題,比如特征選擇、聚類問題、超參數優化問題以及結構化學習(Structured Learning)中標簽預測問題等。

  2. 整數規劃(Integer Programming):輸入變量x ∈ Zd 為整數。一般常見的整數規劃問題為整數線性規劃(Integer Linear Programming,ILP)。整數線性規劃的一種最直接的求解方法是:

    (1)去掉輸入必須為整數的限制,將原問題轉換為一般的線性規劃問題,這個線性規劃問題為原問題的松弛問題;

    (2)求得相應松弛問題的解;

    (3)把松弛問題的解四舍五入到最接近的整數。但是這種方法得到的解一般都不是最優的,因此原問題的最優解不一定在松弛問題最優解的附近。另外,這種方法得到的解也不一定滿足約束條件。

?

連續優化問題

連續優化(Continuous Optimization)問題是目標函數的輸入變量為連續變量x ∈ Rd,即目標函數為實函數。

?

無約束優化和約束優化

在連續優化問題中,根據是否有變量的約束條件,可以將優化問題分為無約束優化問題和約束優化問題。

  無約束優化問題:可行域為整個實數域D = Rd,可以寫為

?

  其中x ∈ Rd 為輸入變量,f : Rd → R為目標函數。

  約束優化問題:變量x需要滿足一些等式或不等式的約束。約束優化問題通常使用拉格朗日乘數法來進行求解。

?

線性優化和非線性優化

如果在公式(C.1) 中,目標函數和所有的約束函數都為線性函數,則該問題為線性規劃問題(Linear Programming)。相反,如果目標函數或任何一個約束函數為非線性函數,則該問題為非線性規劃問題(Nonlinear Programming)

在非線性優化問題中,有一類比較特殊的問題是凸優化問題(Convex Programming)。在凸優化問題中,變量x 的可行域為凸集,即對于集合中任意兩點,它們的連線全部位于在集合內部目標函數f 也必須為凸函數,即滿足

凸優化問題是一種特殊的約束優化問題,需滿足目標函數為凸函數并且等式約束函數為線性函數不等式約束函數為凹函數

?

?

優化算法

優化問題一般都是通過迭代的方式來求解:通過猜測一個初始的估計x0,然后不斷迭代產生新的估計x1, x2, · · · xt,希望xt 最終收斂到期望的最優解x?。一個好的優化算法應該是在一定的時間或空間復雜度下能夠快速準確地找到最優解。同時,好的優化算法受初始猜測點的影響較小,通過迭代能穩定地找到最優解x? 的鄰域,然后迅速收斂于x?

優化算法中常用的迭代方法有線性搜索置信域方法等。線性搜索的策略是尋找方向和步長,具體算法有梯度下降法、牛頓法、共軛梯度法等。

?

全局最優和局部最優

對于很多非線性優化問題,會存在若干個局部的極小值。局部最小值,或局部最優解x? 定義為:存在一個δ > 0,對于所有的滿足∥x?x?∥ ≤ δ 的x,公式f(x?) ≤ f(x) 成立。也就是說,在x? 的附近區域內,所有的函數值都大于或者等于f(x?)。

對于所有的x ∈ A,都有f(x?) ≤ f(x) 成立,則x?全局最小值,或全局最優解(像loss一樣,loss最小)

一般的,求局部最優解是容易的,但很難保證其為全局最優解。對于線性規劃或凸優化問題,局部最優解就是全局最優解。

要確認一個點x? 是否為局部最優解,通過比較它的鄰域內有沒有更小的函數值是不現實的。如果函數f(x) 是二次連續可微(連續的二階導數)的,我們可以通過檢查目標函數在點x? 的梯度?f(x?) 和Hessian 矩陣?2f(x?) 來判斷。

  

局部最小值的一階必要條件: 如果x? 為局部最優解并且函數f 在x? 的鄰域內一階可微,則在?f(x?) = 0。

證明:如果函數f(x) 是連續可微的,根據泰勒展開公式(Taylor’s Formula),函數f(x) 的一階展開可以近似為

注:在這里可以將x*看做是x0,△x看做是x-x0,對照Taylaor展開式。

假設?f(x?) ?= 0,則可以找到一個△x(比如△x = ?α?f(x?),α為很小的正數),使得

這和局部最優的定義矛盾。

注:為什么要選a為正數,因為采用了反證法,找到了一個反例,那么這個就不成立

?

局部最優解的二階必要條件: 如果x? 為局部最優解并且函數f 在x? 的鄰域內二階可微,則在?f(x?) = 0,?2f(x?)為半正定矩陣。

證明:如果函數f(x) 是二次連續可微的,函數f(x) 的二階展開可以近似為

由一階必要性定理可知?f(x?) = 0,則

 

?

即?2f(x?) 為半正定矩陣

?

梯度下降法

梯度下降法(Gradient Descent Method),也叫最速下降法(Steepest Descend Method),經常用來求解無約束優化(可實行域為整個實數域)的極小值問題

對于函數f(x),如果f(x) 在點xt 附近是連續可微的,那么f(x) 下降最快的方向是f(x) 在xt 點的梯度方向的反方向。

根據泰勒一階展開公式,

要使得f(xt+1) < f(xt),就得使△xT?f(xt) < 0。我們取△x = ?α?f(xt)。如果α > 0 為一個夠小數值時,那么f(xt+1) < f(xt) 成立。

這樣我們就可以從一個初始值x0 出發,通過迭代公式

生成序列x0, x1, x2, . . . 使得

如果順利的話,序列(xn) 收斂到局部最優解x?。注意每次迭代步長α 可以改變,但其取值必須合適,如果過大就不會收斂,如果過小則收斂速度太慢。

?

梯度下降法為一階收斂算法,當靠近極小值時梯度變小,收斂速度會變慢,并且可能以“之字形”的方式下降。如果目標函數為二階連續可微,我們可以采用牛頓法。牛頓法為二階收斂算法,收斂速度更快,但是每次迭代需要計算Hessian 矩陣的逆矩陣,復雜度較高

轉載于:https://www.cnblogs.com/callyblog/p/11250845.html

總結

以上是生活随笔為你收集整理的数学优化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。