Этот вопрос должен быть очень простым. Но документация не помогает.
Я использую R. Я должен использовать пакет neuralnet
для задачи полиномиальной классификации.
Все примеры относятся к биномиальному или линейному выходу. Я мог бы сделать некоторую реализацию «один против всех», используя биномиальный вывод. Но я считаю, что должен быть в состоянии сделать это, имея 3 единицы в качестве выходного слоя, где каждый является биномиальным (т.е. вероятность того, что это правильный результат). Нет?
Это то, что я бы использовал nnet
(который, я считаю, делает то, что я хочу):
data(iris)
library(nnet)
m1 <- nnet(Species ~ ., iris, size = 3)
table(predict(m1, iris, type = "class"), iris$Species)
Это то, что я пытаюсь сделать, используя neuralnet
(взлом формулы, потому что neuralnet
, похоже, не поддерживает обозначение «.
» в формуле):
data(iris)
library(neuralnet)
formula <- paste('Species ~', paste(names(iris)[-length(iris)], collapse='+'))
m2 <- neuralnet(formula, iris, hidden=3, linear.output=FALSE)
# fails !