почему сигмовидная функция в этом случае превосходит tanh и softmax? - PullRequest
0 голосов
/ 28 марта 2019

Сигмовидная функция дает лучшие результаты, чем tanh или softmax для указанной ниже нейронной сети.

Если я меняю функцию активации с сигмовидной на tanh или softmax, ошибка увеличивается, точность уменьшается. Хотя я узнал, что tanh и softmax лучше по сравнению с сигмовидной. Может ли кто-нибудь помочь мне понять это? используемый набор данных: база данных диабета ирисов и индейцев пима .Я использовал тензор потока 1.5 и кераса 2.2.4

from keras.layers import Dense
from sklearn.model_selection import train_test_split
import numpy as np

dataset = np.genfromtxt('diabetes.csv',dtype=float,delimiter=',')
X = dataset[1:,0:8]
Y = dataset[1:,8]

xtrain,xtest,ytrain,ytest = train_test_split(X,Y,test_size=0.2,random_state=42)

model = Sequential()
model.add(Dense(10,input_dim=8,activation='relu'))
model.add(Dense(1,activation='sigmoid'))

model.compile(loss='binary_crossentropy' , optimizer='adam',metrics=['accuracy'])
model.fit(xtrain,ytrain,epochs=50,batch_size=20)
print(model.metrics_names)
print(model.evaluate(xtest,ytest))



1 Ответ

0 голосов
/ 29 марта 2019

Функция активации Softmax обычно используется в качестве категориальной активации.Это связано с тем, что softmax сжимает выходы в диапазоне (0,1), так что сумма выходов всегда равна 1 .Если ваш выходной слой имеет только одну единицу / нейрон, он всегда будет иметь константу 1 в качестве выходного.

Tanh или гиперболический тангенс - логистическая функция, которая отображает выходные данные в диапазониз (-1,1).Tanh может использоваться в бинарной классификации между двумя классами.При использовании tanh не забудьте пометить данные соответственно с помощью [-1,1].

Сигмовидная функция - другая логистическая функция, такая как tanh.Если входные сигналы сигмоидальной функции ограничены действительными и положительными значениями, выходной сигнал будет в диапазоне (0,1).Это делает сигмоид отличной функцией для прогнозирования вероятности чего-либо.

Итак, в общем, функция активации вывода обычно не является выбором производительности модели, но на самом деле зависит от задачи и сетевой архитектуры, с которой вы работаете.с.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...