zoukankan      html  css  js  c++  java
  • 什么是凸函数及如何判断一个函数是否是凸函数

    t元j

    一、什么是凸函数

     对于一元函数(f(x)),如果对于任意(tepsilon[0,1])均满足:(f(tx_1 + (1-t)x_2) leq tf(x_1) + (1-t)f(x_2)),则称(f(x))为凸函数(convex function)

     如果对于任意(tepsilon(0,1))均满足:(f(tx_1 + (1-t)x_2) < tf(x_1) + (1-t)f(x_2)),则称(f(x))为严格凸函数(convex function)

     我们可以从几何上直观地理解凸函数的特点,凸函数的割线在函数曲线的上方,如图1所示:

     上面的公式,完全可以推广到多元函数。在数据科学的模型求解中,如果优化的目标函数是凸函数,则局部极小值就是全局最小值。这也意味着我们求得的模型是全局最优的,不会陷入到局部最优值。例如支持向量机的目标函数(||w||^2/2)就是一个凸函数。

    二、如何来判断一个函数是否是凸函数呢?

     对于一元函数(f(x)),我们可以通过其二阶导数(f''(x)) 的符号来判断。如果函数的二阶导数总是非负,即(f''(x) geq 0) ,则(f(x))是凸函数

     对于多元函数(f(X)),我们可以通过其Hessian矩阵(Hessian矩阵是由多元函数的二阶导数组成的方阵)的正定性来判断。如果Hessian矩阵是半正定矩阵,则是(f(X))凸函数

    三、Jensen不等式

     对于凸函数,我们可以推广出一个重要的不等式,即Jensen不等式。如果 f 是凸函数,X是随机变量,那么(f(E(X)) leq  E(f(X))),上式就是Jensen不等式的一般形式

     我们还可以看它的另一种描述。假设有 n 个样本({x_1,x_2,...,x_n})和对应的权重({alpha_1,alpha_2,...,alpha_n}),权重满足(a_i geqslant 0,sumalpha_i = 1),对于凸函数 f,以下不等式成立:

    (f(sum_{i=1}^{n}alpha_ix_i) leq sum_{i=1}^{n}alpha_if(x_i))

  • 相关阅读:
    YbtOJ#573后缀表达【二分图匹配】
    CF605EIntergalaxy Trips【期望dp】
    YbtOJ#482爬上山顶【凸壳,链表】
    AT4996[AGC034F]RNG and XOR【FWT,生成函数】
    YbtOJ#903染色方案【拉格朗日插值,NTT,分治】
    YbtOJ#832鸽子饲养【凸包,Floyd】
    YbtOJ#463序列划分【二分答案,线段树,dp】
    CF618FDouble Knapsack【结论】
    P3214[HNOI2011]卡农【dp】
    YbtOJ#526折纸游戏【二分,hash】
  • 原文地址:https://www.cnblogs.com/always-fight/p/9377554.html
Copyright © 2011-2022 走看看