3

こんにちは、パーセプトロン アルゴリズムから重みを計算するプログラムを作成しようとしています。私は今それをすべて機能させていますが、非常に基本的なことで、それはステップ関数であり、単層です。マルチレイヤーに移る前に、それを最適化してシグモイドにしようとしています。

これらが私の質問です。シグモイドの一般的な考えはありますが、線を最適にする方法に関する情報が見つからないため、データポイントから等距離です。誰でも何か考えがありますか?

net = 0;
for(i=0; i<N; i++)
{
    net = net + (x[i] * w[i]);      //Calculates weighted sum
}

if(net >= threshold) output =  1;     //Finds the output based on the net
if(net <  threshold) output = -1;

これは、「y」変数を見つけるための現在のコードです。ここで出力と呼び、単純なステップ関数、しきい値 = 0 を使用して見つけています。これをシグモイドに変換するにはどうすればよいですか?

4

1 に答える 1

0

以下が機能する可能性があります。

output = 1 / (1 + exp(-net));

この回答によると、はるかに高速なtanh(net)or関数も好きかもしれません。1 / (1 + abs(net))

于 2014-12-19T13:32:30.627 に答える