Я новичок в нейронных сетях и в пакете mxnet
в Р. Я хочу сделать логистическую регрессию на своих предсказателях, так как мои наблюдения - это вероятности от 0 до 1. Я хотел бы весить свои наблюдения вектором obsWeights
У меня есть , но я не уверен, где реализовать вес. Там, кажется, weight=
вариант в mx.symbol.FullyConnected
, но если я пытаюсь weight=obsWeights
я получаю следующее сообщение об ошибкеКак оценивать наблюдения в mxnet?
Error in mx.varg.symbol.FullyConnected(list(...)) :
Cannot find argument 'weight', Possible Arguments:
----------------
num_hidden : int, required
Number of hidden nodes of the output.
no_bias : boolean, optional, default=False
Whether to disable bias parameter.
Как я должен приступить к взвешивать свои наблюдения? Вот мой код на данный момент.
# Prepare data
train.mm = model.matrix(obs ~ . , data = train_data)
train_label = train_data$obs
# Normalize
train.mm = apply(train.mm, 2, function(x) (x-min(x))/(max(x)-min(x)))
# Create MXDataIter compatible iterator
batch_size = 128
train.iter = mx.io.arrayiter(data=t(train.mm), label=train_label,
batch.size=batch_size, shuffle=T)
# Symbolic model definition
data = mx.symbol.Variable('data')
fc1 = mx.symbol.FullyConnected(data=data, num.hidden=128, name='fc1')
act1 = mx.symbol.Activation(data=fc1, act.type='relu', name='act1')
final = mx.symbol.FullyConnected(data=act1, num.hidden=1, name='final')
logistic = mx.symbol.LogisticRegressionOutput(data=final, name='logistic')
# Run model
mxnet_train = mx.model.FeedForward.create(
symbol = logistic,
X = train.iter,
initializer = mx.init.Xavier(rnd_type = 'gaussian', factor_type = 'avg', magnitude = 2),
num.round = 25)
Это имеет большой смысл, я не знал, что вы можете определить свои собственные функции потерь. Позвольте мне сделать некоторые тесты, а затем я предоставлю свои результаты, чтобы вы могли редактировать свой код соответственно, и я могу принять этот ответ. Благодаря! – jgadoury