Сигмовидная функция дает лучшие результаты, чем 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))