Сепмоид Перцептрона

Здравствуйте, я пытаюсь создать программу, которая будет рассчитывать веса из алгоритма персептрона. У меня все это работает прямо сейчас, но с самыми основами, это пошаговая функция и она однослойная. Прежде чем перейти к muilti-слою, я пытаюсь сделать его оптимальным и сигмовидным.

Так что это мой вопрос, у меня есть общее представление о сигмоиде, но я не могу найти никакой информации о том, как сделать линию оптимальной, чтобы она была на одинаковом расстоянии от точек данных. У кого-нибудь есть идеи?

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», я назвал ее здесь output, и он находит ее с помощью простой пошаговой функции, threshold = 0. Как я могу преобразовать это в сигмоид?

3

Решение

Следующее может работать:

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

Вы также можете любить tanh(net) или же 1 / (1 + abs(net)) функции, которые намного быстрее в соответствии с этот ответ.

0

Другие решения


По вопросам рекламы [email protected]