凸関数とは?
とつかんすう
凸関数とは、グラフ上の任意の二点を結ぶ線分がグラフの上側または上側に位置するという性質を持つ関数で、最適化問題の中心的な概念です。
凸関数(convex function)とは、定義域上の任意の二点 x、y と任意の実数 t(0≦t≦1)に対して、f(tx+(1-t)y) ≦ tf(x)+(1-t)f(y) が成立する関数のことです。直感的には、グラフ上のどの二点を結ぶ線分も、その間のグラフ曲線の上側か同じ位置にあるという形状を指します。
凸関数の重要な性質として、局所的な最小値が大域的な最小値に一致するという点があります。これは最適化において極めて重要で、勾配降下法などのアルゴリズムが確実に大域最適解に収束することを保証します。
代表的な凸関数の例には次のようなものがあります。
- f(x) = x²(二次関数)
- f(x) = e^x(指数関数)
- f(x) = -log x(x>0のとき)
- ノルム関数(ベクトルの大きさ)
一方、グラフが「上に凸」の形状を持つものは凹関数(concave function)と呼ばれます。なお日本語では「上に凸」と「凸関数(下に凸)」で使われ方が逆になる場合があるため注意が必要です。
機械学習の損失関数設計や経済学の効用関数・費用関数の理論において、凸性の解析は不可欠です。
使い方・例文
機械学習でモデルを学習する際、損失関数が凸関数であれば勾配降下法で必ず最適なパラメータにたどり着けるため、凸関数かどうかの確認は重要な設計指針になります。
この用語をシェア
最終更新: