Loading [MathJax]/jax/output/CommonHTML/jax.js

シグモイド関数の数理

「シグモイド関数」は科学的に重要な関数の一つであり、入試問題の題材としてもよく見かけるが、高校(大学も?)においてその具体的な性質について学ぶ機会はあまり無いと思われる。或いは、そのような関数を目にしていても、それがシグモイドと呼ばれているとは知らない人も居るかもしれない。そこで本稿ではシグモイド関数の性質について解説していくことにする。


「シグモイド」という語

大学入試問題にシグモイド関数が登場していても、それに気付かない(存在を知らなければ「気付けない」)学生は多いと思われる。また、エンジニアなどの方であれば、人工知能の分野に触れて初めてシグモイド関数の存在を知ったという人も多いのではないだろうか。

シグモイド関数ς(x)=11+exς(x)=11+exはニューラルネットワークの活性化関数として用いられることの多い関数であり、エンジニアにとっては比較的馴染みのある関数であろう。

生化学の分野でもアロステリックタンパク質や酵素の活性を論じる際の飽和曲線として登場し、また医学や環境工学などにおいて用量反応関係を説明する数式にシグモイド関数が現れることも珍しくない。

酸素とヘモグロビンの結合に関する協同効果を説明する経験式として知られる「ヒルの式」(Hill equation)や、個体群成長モデルを記述する関数の一つとして知られる「ロジスティック関数」などの「S字型」の関数はすべて「シグモイド型」の関数であり、シグモイド曲線に属する。

「シグモイド」という言葉の意味は嚙み砕いて言えば「シグマっぽい」という意味合いのもので、曲線の形がギリシャ文字の「シグマ」に似ていることから、そのように呼ばれている。ただしシグマといってもσσの方ではなく、語末形のςςに由来している。

以下に y=ς(x)y=ς(x) のグラフを示す。やや扁平ではあるが、S字型の関数であることが分かるだろう。


ς(x)ς(x)の基本的な性質

冒頭で示した形の関数ς(x)=11+exς(x)=11+ex(1)は「標準シグモイド関数」と呼ばれており、より一般に「シグモイド関数」と言えばςa(x)=11+eaxςa(x)=11+eax(2)という形の関数群を指す。標準シグモイド関数とは、一般のシグモイド関数において a=1a=1 とした特殊な場合と言える。

シグモイド関数を係数aaを変化させながら描くと以下のようになる。

これを見て分かる通り、シグモイド関数は単調増加で変曲点は (0,12)(0,12) にのみ存在する。シグモイド関数は変曲点に関して点対称であり、ςa(x)12ςa(x)12 は奇関数なのでςa(x)=1ςa(x)ςa(x)=1ςa(x)(3)という関係式が成立する。

係数aaを大きくしていくと曲線のS字の曲り方は次第に直角に近付いていき、aaを無限大にするとほとんどヘヴィサイド関数(※注)のような形となる。

※注:ヘヴィサイド関数H(x)H(x)は正の引数に対して11を、負の引数に対して00を返す階段関数の一種である。具体的に書き表すと、H(x)={1   (x>0)0   (x<0)H(x)={1   (x>0)0   (x<0)となる。

また、ςa(x)ςa(x) は双曲線正接関数 tanhx=exexex+extanhx=exexex+ex によってςa(x)=12(tanhax2+1)ςa(x)=12(tanhax2+1)(4)と表すことができる。


ς(x)の逆関数

係数aは「ゲイン」(gain)と呼ばれるが、これは恐らくシグモイド関数の逆関数に関連する用語と思われる。シグモイド関数 y=11+eaxxについて解けば、x=1alog(1yy)となるので、シグモイド関数の逆関数ς1a(x)ς1a(x)=1alog(x1x)と求められる。ここでlog(x1x)には「ロジット関数」という名前が付いている。ロジット関数は 0<x<1 の範囲で定義される関数で、logit(x)と表記される。ロジット関数は確率論における「オッズ」(odds)に対数をとったものと解釈でき、統計学や心理学にも応用される関数である。x1xxを「ある事象Aが起こる確率」と読み替えれば、Aが起こる確率とAが起こらない確率の比になっていることが理解できるだろう。オッズは賭け率とも呼ばれ、事象Aが「ギャンブルに勝つこと」だとすると、そのギャンブルがどれだけの勝率であるかの指標となる。単純化されたギャンブルなどはロジスティック回帰の適当なモデルとなる。


ς(x)の導関数

シグモイド関数ςa(x)xについて微分するとςa(x)=aeax(1+eax)2となり、これは元のςa(x)を用いてςa(x)=aςa(x){1ςa(x)}と表せる。途中の式変形はそれほど難しくないので、まずは各自で確認して頂きたい。

» 式変形の例


ςa(x)を残すように変形すればよく、   ddxςa(x)=ddx(11+eax)=ddx(1+eax)1=(1+eax)(1+eax)2=aeax(1+eax)2=a11+eaxeax1+eax=aςa(x)eax1+eax=aςa(x)(1+eax1+eax11+eax)=aςa(x){1ςa(x)}を得る。


» 閉じる

また、二次導関数は(7)式を微分すればよいだけなので、ςa(x)=a2ςa(x){1ςa(x)}{12ςa(x)}と表せる。

このように導関数が元の関数を用いて再帰的に表現できるため、プログラミングと相性が良い場合がある。この関係式の存在が、深層学習においてシグモイド関数が活性化関数として利用されている所以である。

因みに三次導関数はあまりすっきりした式にはならず、ςa(x)=a3ςa(x){1ςa(x)}{16ςa(x)+6ς2a(x)}となるが、再帰的に表記することは一応可能である。

また、ςa(x)に対数をとった関数の導関数も、以下のように再帰的に表せることが知られている。

ddxlogςa(x)=aςa(x)=a{1ςa(x)}


ς(x)の積分

    dx1+eax=eax1+eaxdx=((1+eax)1+eax)dx=1alog(1+eax)+Cとなり、    log(1+eax)=log(11+eax)=log(eax1+eax)=log(111+eax)=log(1ςa(x))となるので、シグモイド関数の積分はςa(x)dx=1alog(1ςa(x))+Cと求められる。これより、y=1y=ςa(x) 及びy軸で囲まれた部分の面積は、広義積分の知識を使うことにより 1alog2 であることが分かる(y=ςa(x) 及びx軸、y軸で囲まれた部分の面積も同様)。

このように、シグモイド関数の原始関数もまた導関数と同様に、再帰的に表現できる。



シグモイドに関する入試問題

それでは折角なのでシグモイドを題材とした入試問題を1問だけ示しておこう。2017年の横浜市立大の小問にシグモイドの導関数に関する至ってシンプルな出題がある。


《問題》

関数f(x)y=11+exとする。このとき、導関数f(x)の最大値を求めよ。


さて、シグモイドの導関数はいわゆる「ガウシアン型」の関数となり、必ず最大値をもつ。これはシグモイドの接線の傾きが変曲点において最大となることを意味している。

関数 y=f(x) を微分すると、dydx=ddx(11+ex)=ddx(1+ex)1=(1+ex)(1+ex)2=ex(1+ex)2となる。ここでex(1+ex)2=ex1+e2x+2ex=1ex+ex+2と変形できることを利用すれば、分母について相加相乗平均の不等関係が利用でき、ex+ex2exex=2(等号成立は x=0)が成り立つので、f(x)=1ex+ex+212+2=14となる。故に導関数f(x)の最大値は 14 と求められる。


この問題は相加相乗平均の不等式が利用できるところがポイントである。勿論、更に微分しても良いのだが、計算はより煩雑になってしまう。

本問は非常に易しい部類の問題であるが、他にもシグモイド関数が題材となっている入試問題はちらほら見掛ける。試験対策というほどでもないが、問題を見たときに予備知識があると何かと見通しが良くなることがある。これを機にシグモイド関数を知って頂ければ幸いである。

 

“シグモイド関数の数理” への2件の返信

  1. 最近はChatGPTや生成AI等で人工知能の普及がアルゴリズム革命の衝撃といってブームとなっていますよね。ニュートンやアインシュタイン物理学のような理論駆動型を打ち壊して、データ駆動型の世界を切り開いているという。当然ながらこのアルゴリズム人間の思考を模擬するのだがら、当然哲学にも影響を与えるし、中国の文化大革命のようなイデオロギーにも影響を及ぼす。さらにはこの人工知能にはブラックボックス問題という数学的に分解してもなぜそうなったのか分からないという問題が存在している。そんな中、単純な問題であれば分解できるとした「材料物理数学再武装」というものが以前より脚光を浴びてきた。これは非線形関数の造形方法とはどういうことかという問題を大局的にとらえ、たとえば経済学で主張されている国富論の神の見えざる手というものが2つの関数の結合を行う行為で、関数接合論と呼ばれ、それの高次的状態がニューラルネットワークをはじめとするAI研究の最前線につながっているとするものだ。この関数接合論は経営学ではKPI競合モデルとも呼ばれ、トレードオフ関係の全体最適化に関わる様々な分野へその思想が波及してきている。この新たな科学哲学の胎動は「哲学」だけあってあらゆるものの根本を揺さぶり始めている。こういうのは従来の科学技術の一神教的観点でなく日本らしさとも呼べるような多神教的発想と考えられる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

©Copyright 2017-2025 理系のための備忘録 All Rights Reserved.