1. 程式人生 > >凸函式和凹函式判定,Jensen 不等式的理解和記憶

凸函式和凹函式判定,Jensen 不等式的理解和記憶

最近看到 EM 演算法,其中的證明有用到琴生不等式,在這裡做一個筆記。

在剛開始學習凸函式和凹函式的時候,我們會被凸函式和凹函式的命名所困擾,命名看起來是凹的,一些教材上卻偏偏說它是凸函式。其實這個只是一個定義,它叫什麼,並不影響函式本身的性質。就像我在 B 站上看到有些人戲稱三國時期的武將趙雲為“雲妹”,你叫他“雲姐”、“雲媽”都不會改變趙雲純爺們的形象,你管於正叫“於媽”,他本質上還是個男的,你管范冰冰叫“範爺”,她也是個女的,也得嫁人是一個道理。因此大可不必為凸函式、凹函式的命名所糾結,應該結合凸函式、凹函式的性質來記憶。

例1:函式
y

= log x y = \log x

的影象如下:

在這裡插入圖片描述

我們暫時先別糾結它叫什麼。我們看這個函式有什麼性質,和 Jensen 不等式又有什麼關係。

從函式影象上,我們可以看出,這個函式是逐漸上升的,這個函式的一階導數 y

= 1 x > 0 y\prime = \frac{1}{x} > 0 也說明了 y
= log x y = \log x
是增函式。

我們知道,導函式的增減性說明了函式的凹凸性,如果我們知道函式的凹凸性,就能夠確定區域性極值就是全域性最優值。

而導函式的增減性,就是二階導數。我們可以畫出各個點的切線,看看切線的斜率變化,就知道二階導數的增減性了。很容易知道,切線的斜率是越來越小的,因此,導函式的導函式是減函式,從函式的表示式上也很容易驗證。

y = 1 x 2 > 0 y\prime\prime = -\cfrac{1}{x^2} > 0

那麼 Jensen 不等式又說了什麼呢?對於 Jensen 不等式的兩點形式來說,就是圖中任意兩點的之間的部分都在這兩點的割線的上方,即:
f ( t a + ( 1 t ) b ) t f ( a ) + ( 1 t ) f ( b ) f(ta+(1-t)b) \ge tf(a) + (1-t)f(b)

因為概率分佈的一個重要性質就是各個取值都介於 0 和 1 之間,並且它們的和為 1,因此琴生不等式用概率論期望的語言解釋就是:
f ( E ( X ) ) E ( f ( x ) ) f(E(X)) \ge E(f(x))

應用於多個點,就是:

f ( i n λ i x i ) i n λ i f ( x i ) f(\sum_i^n \lambda_i x_i) \ge \sum_i^n \lambda_if(x_i)
其中 λ i 0 \lambda_i \ge0 i n λ i = 1 \sum_i^n \lambda_i = 1

f ( x ) = log x f(x) = \log x 應用到上面的式子,就是

log ( i n λ i x i ) i n λ i log ( x i ) \log(\sum_i^n \lambda_i x_i) \ge \sum_i^n \lambda_i\log(x_i)
其中 λ i 0 \lambda_i \ge0 i n λ i = 1 \sum_i^n \lambda_i = 1
這就是《統計學習方法》P159 腳註 1 的內容。我們看到這本書為了簡化說明,沒有給出凸函式和凹函式的描述,直接給出所需要的琴生不等式的部分。

如何記憶琴生不等式

針對於兩點形式(多點形式可以依次推廣),琴生不等式有兩個方面,

1、凸函式任意兩點的割線位於函式圖形的上方 ;
2、凹函式任意兩點的割線位於函式影象的下方。

我的記憶方法就是在稿紙上畫影象。

在這裡插入圖片描述

注意:不要糾結那兩條黑的曲線叫什麼。

任意兩點的割線位於函式影象的上方

這樣的曲線滿足的性質是:
1、切線的斜率逐漸增大;
2、函式的導函式是增函式;
3、函式的導函式的導函式大於0 ;
4、函式的二階導數大於 0。

因此,如果函式 f ( x ) f(x) 滿足 f ( x ) > 0 f''(x) > 0 ,就有

i n λ i f ( x i ) f ( i n λ i x i ) \sum_i^n \lambda_i f(x_i) \ge f(\sum_i^n \lambda_ix_i)
其中 λ i 0 \lambda_i \ge0 i n λ i = 1 \sum_i^n \lambda_i = 1

任意兩點的割線位於函式影象的下方

這樣的曲線滿足的性質是:
1、切線的斜率逐漸減小;
2、函式的導函式是減函式;
3、函式的導函式的導函式小於0 ;
4、函式的二階導數小於 0。

因此,如果函式 f ( x ) f(x) 滿足 f ( x ) < 0 f''(x) < 0 ,就有

f ( i n λ i x i ) i n λ i f ( x i ) f(\sum_i^n \lambda_ix_i) \ge \sum_i^n \lambda_i f(x_i)
其中 λ i 0 \lambda_i \ge0 i n λ i = 1 \sum_i^n \lambda_i = 1