什么是凸函數及如何判斷一個函數是否是凸函數


一、什么是凸函數

 對於一元函數f(xf(x),如果對於任意tϵ[0,1]tϵ[0,1]均滿足:f(tx1+(1t)x2)tf(x1)+(1t)f(x2)f(tx1+(1−t)x2)≤tf(x1)+(1−t)f(x2),則稱f(x)f(x)為凸函數(convex function)

 如果對於任意tϵ(0,1)tϵ(0,1)均滿足:f(tx1+(1t)x2)<tf(x1)+(1t)f(x2)f(tx1+(1−t)x2)<tf(x1)+(1−t)f(x2),則稱f(x)f(x)為嚴格凸函數(convex function)

 我們可以從幾何上直觀地理解凸函數的特點,凸函數的割線在函數曲線的上方,如圖1所示:

 上面的公式,完全可以推廣到多元函數。在數據科學的模型求解中,如果優化的目標函數是凸函數,則局部極小值就是全局最小值。這也意味着我們求得的模型是全局最優的,不會陷入到局部最優值。例如支持向量機的目標函數||w||2/2||w||2/2就是一個凸函數。

 

二、如何來判斷一個函數是否是凸函數呢?

 對於一元函數f(x)f(x),我們可以通過其二階導數f′′(x)f″(x) 的符號來判斷。如果函數的二階導數總是非負,即f′′(x)0f″(x)≥0 ,則f(x)f(x)是凸函數

 對於多元函數f(X)f(X),我們可以通過其Hessian矩陣(Hessian矩陣是由多元函數的二階導數組成的方陣)的正定性來判斷。如果Hessian矩陣是半正定矩陣,則是f(X)f(X)凸函數

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM