0 / 0 / 1
Регистрация: 26.03.2018
Сообщений: 3
1

Пороговая функция активации для нейросети Тарика Рашида

14.04.2018, 09:48. Показов 1282. Ответов 2
Метки нет (Все метки)

Добрый день уважаемые форумчане.

Изучал книгу "Создаем нейронную сеть" Тарика Рашида.
Он использует - сигмоидальную функцию активации:

Python
1
2
self.activation_function = lambda x: scipy.special.expit(x)
hidden_outputs = self.activation_function(hidden_inputs)
Как мне заменить её на пороговую?
Чтобы выглядело примерно так:

Python
1
self.activation_function = (lambda x: 1 if x >= 1 else 0)
В общем должна быть пороговая функция - "все или ни чего". Проблема в том что выдает ошибку:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all().
Подставляю x.any() или x.any() - и функция активации начинает суммировать выходные значения.
- До внесения изменений в функцию активации мы получали на входе 200 значений и на выходе (после активации) - 200 значений. Все работало.
- После изменений выдает на входе 200 значений на выходе 10. Что мне подправить чтобы функция активации работала как пороговая и при этом число входных-выходных значений не менялось?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.04.2018, 09:48
Ответы с готовыми решениями:

Работа нейросети из книги Тарика Рашида "Создаем нейронную сеть"
Здравствуйте! Вопрос наверное к тем, кто читал сабжевую книгу и понимает, что там за сетка...

Функция активации для нейросети
Пожалуйста, покажите мне каким образом можно сделать функцию активации для нейросети... Вот это ...

Радиально-симметричная функция активации
Здравствуйте! Объясните пожалуйста, как интерпретировать результат радиально-симметричной функции...

Многослойный персептрон. Функция активации
Доброго времени суток! Создаю однослойный персептрон с обратным распространением ошибки. Суть его...

2
612 / 422 / 205
Регистрация: 06.09.2013
Сообщений: 1,189
14.04.2018, 12:46 2
braid27, попробуйте написать:
Python
1
self.activation_function = lambda x: (x >= 1).astype(float)
1
0 / 0 / 1
Регистрация: 26.03.2018
Сообщений: 3
14.04.2018, 14:25  [ТС] 3
Цитата Сообщение от woldemas Посмотреть сообщение
braid27, попробуйте написать:
Python
1
self.activation_function = lambda x: (x >= 1).astype(float)
То что нужно! Спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.04.2018, 14:25

Сигмоидная функция активации нейронной сети
Доброго времени суток! Начал изучать нейронные сети. Возник следующий вопрос: предположим, что я...

Нейросети для чайников
помогите пожалуйста разобраться я смотрю вот эту статью, но мне кажется что там какие то ошибки в...

Подобрать обучение для нейросети
Привет! Имею классическую нейронную сеть (двухслойную, прямого распространения). Наигравшись...

Библиотека для распознавания силами нейросети
Здравствуйте! Хочу написать программу на C#, которая будет принимать .txt файл, содержащий набор...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.