シグモイド関数は、機械学習やニューラルネットワークなどの分野でよく使用される関数です。
ここでは、C言語でシグモイド関数を実装する方法について、解説します。
目次
シグモイド関数とは
シグモイド関数は、入力値を0から1の範囲に変換する非線形の関数です。この関数は、機械学習やニューラルネットワークなどの分野で広く使用され、入力値を確率のように扱うことができます。
シグモイド関数は、次の式で表されます。
$$ f(x) = \frac{1}{1 + e^{-x}} $$
ここで、eは自然対数の底であり、xは入力値を表します。この関数は、xを入力として受け取り、それを0から1の範囲に正規化した値を返します。
シグモイド関数は、入力値が大きくなるにつれて、出力値が1に近づき、入力値が小さくなるにつれて、出力値が0に近づく性質を持っています。
シグモイド関数の実装
以下に、シグモイド関数の実装例を示します。
#include <math.h>
double sigmoid(double x)
{
return 1.0 / (1.0 + exp(-x));
}
sigmoid()
関数は、引数としてxを受け取り、シグモイド関数の計算結果を戻り値として返します。
自然対数の底eのべき乗を求めるために、exp()
関数を利用しています。利用するにはmath.h
をインクルードする必要があります。
コメント