日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于判断函数凸或凹以及最优化的问题

發布時間:2023/12/2 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于判断函数凸或凹以及最优化的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大部分情況下都轉換為凸優化問題,并通過最優化方法來求解,因此了解相關知識就顯得尤為重要了。

主要內容:

  • 問題引出
  • 凸集
  • 凸函數
  • 凸優化
  • 最優化
  • 1、問題引出

    在n維空間中,對于任意兩個點,對于0<=μ<=1,則表達式μx+(1-μ)y表示x和y連線之間的所有點。

    證明略。

    2、凸集

    定義:

    對于某集合中的任意x, y兩個點,若x和y連線之間的所有點(0<=μ<=1,μx+(1-μ)y)仍屬于這個集合,則稱此集合為凸集。

    維基百科:http://en.wikipedia.org/wiki/Convex_set

    直觀的幾何表示:

    左邊的是凸集,右邊的不是凸集,因為右邊的集合中任意兩點x和y連線之間的所有點有時不屬于這個集合(右圖中的連線)。

    3、凸函數

    定義:

    對于f(x)是定義在某凸集(非空的,空集也被規定為凸集)上的函數,對于凸集中的任意兩點x1x_1x1?x2x_2x2?,若

    f[μx1+(1?μ)x2]<=μf(x1)+(1?μ)f(x2)f[μx_1+(1-μ)x_2]<=μf(x_1)+(1-μ)f(x_2)f[μx1?+(1?μ)x2?]<=μf(x1?)+(1?μ)f(x2?)

    則稱函數f(x)為凸函數。

    維基百科:http://en.wikipedia.org/wiki/Convex_function

    直觀的幾何表示:

    也就是說兩點對應的函數值f(x1)和f(x2)的之間的連線(μf(x1)+(1-μ)f(x2))大于等于相應的(即同一個μ值)兩點之間連線(μx1+(1-μ)x2)所對應的函數值f[μx1+(1-μ)x2]。

    這其實應叫下凸。

    如果把上面不等式中的等號去掉,即

    $f[μx_1+(1-μ)x_2]<μf(x_1)+(1-μ)f(x_2) $,其中0<μ<1

    則稱f(x)為嚴格凸函數。

    凸函數的判定方法:

    • 1.求導計算判斷:

    其中要求f二階可微,表示二階導數需大于0才是凸函數。

    • 2.常用函數分析法:

    指數函數是凸函數;
    對數函數是凹函數,然后負對數函數就是凸函數;
    對于一個凸函數進行仿射變換,可以理解為線性變換,結果還是凸函數;
    二次函數是凸函數(二次項系數為正);
    高斯分布函數是凹函數;
    常見的范數函數是凸函數;
    多個凸函數的線性加權,如果權值是大于等于零的,那么整個加權結果函數是凸函數。

    4、凸優化

    定義

    同時滿足如下兩個條件的優化問題稱為凸優化:

    1)目標函數(objective function)是凸函數;

    2)可行集合(feasible set)必須是凸集;

    即在凸集上尋找凸函數的全局最值的過程稱為凸優化。

    對于一下的優化問題:

    若目標函數f(x)是凸函數且可行集R是凸集,則稱這樣的問題為凸優化問題。

    或者:

    如果目標函數f(x)和共l個約束函數gi(x)g_i(x)gi?(x)都是凸函數,則稱這樣的問題為凸優化問題。

    實際上,可以證明,約束函數gi(x)g_i(x)gi?(x)都是凸函數,則它的可行集是凸集。

    凸優化的特點

    1)如果一個實際的問題可以被表示成凸優化問題,那么我們就可以認為其能夠得到很好的解決。

    2)還有的問題不是凸優化問題,但是凸優化問題同樣可以在求解該問題中發揮重要的左右。比如松弛算法和拉格朗日松弛算法,將非凸的限制條件松弛為凸限制條件。

    3)對于凸優化問題來說,局部最優解就是全局最優解。

    4)若f(x)在非空可行集R上是嚴格凸函數,則全局極值點是唯一的。

    也就是說如果把一個非凸優化問題轉化為凸優化問題(松弛算法),則若求得一個局部最優解即為得到了全局最優解(若目標函數在可行集上是嚴格凸函數,則此解還是唯一的),并且凸優化問題能夠比較好的得解決,因此在看壓縮感知的文獻時經常會看到如何如之何修改一下約束條件使之變為一個凸優化問題。

    非凸優化問題如何轉化為凸優化問題

    1)修改目標函數,使之轉化為凸函數

    2)拋棄一些約束條件,使新的可行域為凸集并且包含原可行域

    實際建模中判斷一個最優化問題是不是凸優化問題的方法

    1、目標函數f如果不是凸函數,則不是凸優化問題

    2、決策變量x中包含離散變量(0-1變量或整數變量),則不是凸優化問題

    3、約束條件寫成g(x)<=0時,g如果不是凸函數,則不是凸優化問題

    5、最優化

    最優化問題:

    最優化手段:

    梯度上升(下降)法

    牛頓法 / 擬牛頓法

    坐標下降法:

    6、參考文章

    http://blog.csdn.net/jbb0523/article/details/40742955

    http://m.blog.csdn.net/blog/njustzj001/47400411

    https://www.cnblogs.com/AndyJee/p/5048735.html

    總結

    以上是生活随笔為你收集整理的关于判断函数凸或凹以及最优化的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

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