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))

  • 相关阅读:
    stenciljs 学习四 组件装饰器
    stenciljs 学习三 组件生命周期
    stenciljs 学习二 pwa 简单应用开发
    stenciljs ionic 团队开发的方便web 组件框架
    stenciljs 学习一 web 组件开发
    使用npm init快速创建web 应用
    adnanh webhook 框架 hook rule
    adnanh webhook 框架 hook 定义
    adnanh webhook 框架request values 说明
    adnanh webhook 框架execute-command 以及参数传递处理
  • 原文地址:https://www.cnblogs.com/always-fight/p/9377554.html
Copyright © 2011-2022 走看看