Можно ли как-нибудь добавить простую регуляризацию L1 / L2 в функцию neuralnet()
в R?Я знаю, что другие пакеты в R, такие как neuralnetwork()
, предлагают методы регуляризации в функции, но у меня есть пользовательская функция ошибок, и neuralnet()
позволяет это контрастировать со многими другими функциями нейронной сети.
КогдаЯ добавляю норму Фробениуса к своей функции ошибок:
vError <- function(x,y, startweights){
0.01*frobenius.norm(startweights) + 0.9*(y-x) + 0.01*log(1+(exp(-(y-
x)/0.01)))
}
и вызываю эту функцию ошибок в neuralnet()
err.fct= vError(x, y, nn$weights[[1]][[1]])
Я получаю ошибку:
Ошибка в .cbind.ts (список (e1, e2), c (deparse (заменитель (e1)) [1L], deparse (заменитель (e2)) [1L]),: нетвсе серии имеют одинаковую частоту. Предпочтение отдается решениям, не требующим ручной регулировки