我一直在使用大多数显示不同属性/功能之间线性关系的数据集。我应该对线性数据集使用什么激活?到目前为止,我一直在使用sigmoid
函数。
我还必须尝试其他激活功能吗?
答案 0 :(得分:0)
1)太多的线性相关属性不好,因为与信息属性相比,它们可能会引入过多的噪声。如果您的样品喜欢在不同温度下某些气体的红外光谱,那么最好使用PCA(或其他维数减少算法)来减少数据的维数,以尽可能提供更多信息。
2)激活功能取决于NN的结构及其功能。例如。现在 ReLU 激活功能非常“时髦”。例如,请参见下面的代码,用于iris
库中的分类keras
数据集。图层具有不同的激活功能。
library(keras)
train <- iris[sample(nrow(iris)),]
y <- train[, "Species"]
x <- train[, 1:4]
x <- as.matrix(apply(x, 2, function(x) (x - min(x)) / (max(x) - min(x))))
levels(y) <- seq_along(y)
y <- to_categorical(as.integer(y) - 1 , num_classes = 3)
model <- keras_model_sequential()
# add layers and activation functions
model %>%
layer_dense(input_shape = ncol(x), units = 10, activation = "relu") %>%
layer_dense(units = 10, activation = "relu") %>%
layer_dense(units = 3, activation = "softmax")
model %>%
compile(
loss = "categorical_crossentropy",
optimizer = "adagrad",
metrics = "accuracy"
)
fit <- model %>%
fit(
x = x,
y = y,
shuffle = T,
batch_size = 5,
validation_split = 0.3,
epochs = 150
)