Articles

Sigmoid関数

Sigmoid関数とは何ですか?

シグモイド関数は、特徴的なS字型の曲線を持つ数学関数です。 ロジスティック関数、双曲線正接、アークタンジェント

など、多くの一般的なシグモイド関数があります。 機械学習では、用語

シグモイド関数は、通常、ロジスティック関数を具体的に参照するために使用され、ロジスティックシグモイド関数とも呼ばれます。

すべてのシグモイド関数は、数直線全体を0から1、または-1から1のような小さな範囲にマップするという性質を持っているので、シグモイド関

最も広く使用されているシグモイド関数の1つは、任意の実数値を範囲(0,1)にマップするロジスティック関数です。 シグモイド関数にその名前を与えた特徴的なS字形に注意してください(ギリシャ文字sigmaから)。

シグモイド関数は、人工ニューラルネットワークの活性化関数として使用できるため、ディープラーニングで一般的になっています。 彼らは、生物学的ニューラルネットワークの活性化の可能性に触発されました。

シグモイド関数は、実数を確率に変換する必要がある多くの機械学習アプリケーションにも役立ちます。 機械学習モデルの最後の層として配置されたシグモイド関数は、モデルの出力を確率スコアに変換するのに役立ち、操作と解釈が容易になります。

シグモイド関数はロジスティック回帰モデルの重要な部分です。 ロジスティック回帰は、2クラス分類の線形回帰を修正したもので、1つ以上の実数値入力を、顧客が製品を購入する確率などの確率に変換します。 ロジスティック回帰モデルの最終段階は、多くの場合、モデルが確率を出力できるようにするロジスティック関数に設定されます。

Sigmoid関数式

すべてのsigmoid関数は単調であり、ベル型の一次導関数を持ちます。 いくつかのシグモイド関数があり、最もよく知られている関数のいくつかを以下に示します。

最も一般的なシグモイド関数の三つ:ロジスティック関数、双曲線正接、および逆正接。 すべては同じ基本的なSの形を共有する。

ロジスティックシグモイド関数式

最も一般的なシグモイド関数の一つは、ロジスティックシグモイド関数です。 これは、機械学習の分野ではシグモイド関数と呼ばれることがよくあります。 ロジスティックシグモイド関数は次のように定義されます:

ロジスティックシグモイド関数の数学的定義、共通のシグモイド関数

ロジスティック関数は、任意の実数値の入力を取り、ゼロ

双曲線正接関数式

もう一つの一般的なシグモイド関数は双曲線関数です。 これにより、任意の実数値入力が-1~1の範囲にマップされます。

双曲線正接の数学的定義

逆正接関数式

第三の代替シグモイド関数は、正接関数の逆である逆正接です。p>

arctangent関数

arctangent関数は、実数値の入力を-π/2からπ/2の範囲にマップします。

以下のグラフでは、接線曲線、よく知られている三角関数、および逆正接、その逆数の両方を見ることができます:/p>

シグモイド関数の計算

ロジスティックシグモイド関数の計算例

ロジスティックシグモイド関数を取ると、関数の形を理解するために、いくつかのキーポイントで関数の値を評価することができます。

x=0では、ロジスティックシグモイド関数は次のように評価されます:

これは、ゼロ入力の結果が0.5の出力になり、両方のクラスの等しい確率を示すことを示すため、ロジスティック回帰モデル

x=1では、わずかに大きな値が見つかります。

そして、x=5では、シグモイド関数の値は1に非常に近くなります。

実際には、xの無限大に向かう傾向がある限界では、シグモイド関数は1に収束し、負の無限大の場合は-1に収束しますが、関数の導関数はゼロに達 これらは、限界に向かって傾向があるが、常に非ゼロ勾配を有するため、シグモイド関数の非常に有用な特性である。

双曲線正接関数の計算例

同様に、これらのキーポイントでtanh関数の値を計算することができます。 0.5を中心とするのではなく、tanh関数は0を中心とします。

1では、tanh関数はロジスティック関数よりも比較的急速に増加しています。

最後に、5では、tanh関数は小数点以下5桁以内に1にはるかに密接に収束しています。

実際には、双曲線正接関数と逆正接関数の両方がロジスティックシグモイド関数よりもはるかに急速に収束します。

アークタンジェント関数の計算例

アークタンジェント関数を同じ点で評価して、どこに収束するかを確認することができます:

上に示した他の二つのシグモイド関数とは対照的に、逆正接は1ではなくπ/2に収束することに注意してください。 さらに、x=5では最終値に近くないため、逆正接はよりゆっくりと収束します。 X=5000のような非常に大きな数によってのみ、アークタンジェントはπ/2に非常に近くなります。

三つのシグモイド関数の概要

上に示した三つのシグモイド関数の主要なプロパティを表に比較することができます:

Sigmoid function Logistic function tanh arctan
Value in the limit x →-∞ 0 -1 -π/2
Value at x = 0 0.5 0 0
Value in the limit x →∞ 1 1 π/2
Converges Fast Very fast Very slow

Sigmoid Function vs. ReLU

現代の人工ニューラルネットワークでは、シグモイド関数の代わりに、整流器(整流線形単位、またはReLUとしても知られている)が活性化関数として使 ReLUは次のように定義されています。

整流器活性化関数の定義

ReLU関数のグラフ

ReLU関数は、ニューラルネットワークにおけるシグモイド関数よりもいくつかの主な利点があります。 主な利点は、ReLU関数が計算するのが非常に高速であることです。 さらに、生物学的ニューラルネットワークの活性化電位は負の入力に対して変化し続けないので、目標が生物学的システムを模倣することであれば、ReLUは生物学的現実に近いように見える。

さらに、正のx

に対して、ReLU関数は1の定数勾配を持ちますが、シグモイド関数は0に向かって急速に収束する勾配を持ちます。

また、正のx

に対して、ReLU関数は1の定数勾配を持ちます。 この性質により,シグモイド活性化関数を持つニューラルネットワークは学習が遅くなる。 この現象は消失勾配問題として知られています。 活性化関数としてのReLUの選択は、ReLUの勾配が正の

xに対して常に1であり、学習プロセスが勾配が小さくなることによって減速されないため、この問しかし、負のxのゼロ勾配は、ゼロ勾配問題として知られている同様の問題を提起することができますが、Xに小さな線形項を追加してReLU関数にすべての点で非ゼロの勾配を与えることによってこれを補償することができます。

シグモイド関数の応用

ロジスティック回帰におけるロジスティックシグモイド関数

シグモイド関数が不可欠である機械学習の重要な領域は、ロジスティック回帰モデルである。 ロジスティック回帰モデルは、死んだvs生きている、病気vs井戸、詐欺vs正直な取引などのバイナリイベントの確率を推定するために使用されます。 これは、0と1の間の確率値を出力します。

ロジスティック回帰では、ロジスティックシグモイド関数は、独立変数が任意の実数値を取ることができ、従属変数が0または1のいずれかであ

たとえば、腫瘍の測定と診断のデータセットを想像してみましょう。 私たちの目的は、その大きさをセンチメートルで考えると、腫瘍が広がる確率を予測することです。

腫瘍の寸法と結果のいくつかの測定

データセット全体をプロットすると、2.5cmから3.5cmの範囲の両方のクラスの明確な重複がありますが、腫瘍が大きくなればなるほど、広がっている可能性が高くなるという一般的な傾向があります。

腫瘍の転帰と腫瘍の寸法のプロット

ロジスティック回帰を使用して、ロジスティックS状結腸式を使用して腫瘍のサイズxの関数として腫瘍の状態y(0または1)をモデル化することができます:ここで、最適な値mとbを見つける必要があり、データに一致するようにシグモイド曲線をシフトして伸ばすことができます。

この場合、シグモイド曲線をフィッティングすると、次の値が得られます。

これらの値をシグモイド式に戻して曲線をプロットすることができます。

これは、例えば、サイズ3cmの腫瘍が与えられた場合、ロジスティック回帰モデルは、この腫瘍が広がる確率を次のように予測します:P>

直感的に、これは理にかなっています。 元のデータでは、3cm前後の腫瘍が両方のクラス間で多かれ少なかれ均等に分布していることがわかります。

サイズ6cmの腫瘍を考えてみましょう。 サイズが4cm以上の元のデータセット内のすべての腫瘍が広がっていたので、このモデルは腫瘍の広がりの高い可能性を返すことが期待されます。

モデルは1に非常に近い確率を返し、y=1に近い確実性を示します。

これは、シグモイド関数、特にロジスティック関数が確率モデリングにとって非常に強力であることを示しています。ロジスティック回帰でロジスティック関数が使用され、別のシグモイド関数では使用されないのはなぜですか?

ロジスティック回帰でロジスティック関数が使用されているのはなぜですか?

ロジスティック関数がロジスティック回帰で使用され、他のシグモイドバリアントのどれも使用されない理由は、0と1の間の値を便利に返 ロジスティック回帰は、両方のクラスのデータが正規分布しているという仮定から導出されます。

非拡散腫瘍と拡散腫瘍がそれぞれ正規分布に従うと想像してみましょう。 非拡散腫瘍は平均1.84cmおよび標準偏差1cmで正常に分布し、拡散腫瘍は平均4.3cm、また標準偏差1cmで正常に分布している。 これらの両方の正規分布の両方の確率密度関数をプロットできます:

各点で、スプレッド腫瘍の確率密度関数を両方の確率密度関数(非スプレッド+スプレッド腫瘍)の合計で割った二つの分布のオッズ比を計算することができます。

オッズ比をxの関数としてプロットすると、次のように見ることができます。結果が元のロジスティックシグモイド曲線であることを示します。

ロジスティック関数がロジスティック回帰に選択される理由は、両方とも正規分布している二つのクラスをモデル化していると仮定しているためであり、ロジスティック関数は正規確率密度関数の比から自然に生じる。

人工ニューラルネットワークにおける活性化関数としてのシグモイド関数

人工ニューラルネットワークは、複数の層の関数で構成され、互いに:

二つの隠された層を持つフィードフォワードニューラルネットワーク

各層は、通常、いくつかの重みとバイアスと小さな線形回帰 層の重要な部分は、活性化機能でもあります。

重みがWで表され、バイアスがbで表され、活性化関数がgであるフィードフォワードニューラルネットワークの最初の隠れ層の式。

ただし、ニューラルネットワーク内のすべての層に重みとバイアスのみが含まれ、活性化関数が含まれていない場合、ネットワーク全体は重みとバイアスの単一の線形結合と同等になります。 言い換えれば、ニューラルネットワークの式を因数分解し、単純な線形回帰モデルに単純化することができます。 このようなモデルは、非常に単純な線形依存関係を拾うことができますが、画像や音声認識などのニューラルネットワークが有名な印象的なタスクを実

活性化関数は、非線形性を導入するために、ニューラルネットワークの層の間に導入されました。 もともとロジスティック関数、アークタンジェント、双曲線正接などのシグモイド関数が使用されており、今日ではReLUとその変種が非常に人気があります。 すべての活性化機能は、ネットワークに非線形性を導入するという同じ目的を果たします。 シグモイド関数は、生物学的ニューラルネットワークにおける活性化電位との知覚類似性のおかげで、最初の活性化関数のいくつかとして選択された。

多層ニューラルネットワーク内のさまざまな点でシグモイド関数を使用することにより、入力例のより洗練された特徴を連続した層にピックアップさせるようにニューラルネットワークを構築することができます。

シグモイド関数の歴史

1798年、イギリスの聖職者で経済学者のトーマス-ロバート-マルサスは、人口の原則に関するエッセイと呼ばれるペンネームで本を出版し、食料供給が算術的に増加している間に人口は幾何学的な進行(25年ごとに倍増)で増加しており、両者の違いは広範な飢饉の原因であると主張した。

1830年代後半、ベルギーの数学者Pierre François Verhulstは、人口増加をモデル化するさまざまな方法を実験しており、人口の増加は最終的に自己制限的であり、指数関数的に永遠に増加しないという事実を説明したいと考えていました。 Verhulstは、人口が資源を使い果たし始めたときに起こる人口の成長の減速をモデル化するために、単純な指数モデルへの論理的調整としてロジスティック関数を選択しました。

次の世紀にわたって、生物学者や他の科学者は、細菌コロニーから人間の文明まで、人口増加をモデル化するための標準的なツールとしてsigmoid関数を使

1943年、ウォーレン-マカロックとウォルター-ピッツは、ハードカットオフを活性化関数として使用する人工ニューラルネットワークモデルを開発し、ニューロンはその入力がしきい値を上回っているか下回っているかに応じて1または0を出力する。

1972年、シカゴ大学の生物学者Hugh WilsonとJack Cowanは、生物学的ニューロンを計算的にモデル化しようとしており、活性化電位よりも大きい信号を受信すると、ニューロンが別のニューロンに信号を送るWilson–Cowanモデルを発表した。 WilsonとCowanは、ニューロンの活性化を刺激の関数としてモデル化するためにロジスティックs状結腸関数を選択しました。

1970年代から1980年代以降、多くの研究者が生物学的ニューラルネットワークからインスピレーションを得て、人工ニューラルネットワークの定式化にシグモイド関数を使用するようになった。 1998年、Yann LeCunは、手書きの数字を実用的なレベルの精度で認識できる最初の画期的な畳み込みニューラルネットワークLeNetの活性化関数として双曲線正接を選択しました。

近年、人工ニューラルネットワークは、シグモイド関数のすべての変種が計算に集中的であり、ReLUはネットワークの深さを利用するために必要な非線形性を提供し、計算も非常に高速であるため、ReLU関数を支持してシグモイド関数から離れている。