以下是逻辑回归代码,我用它来建立剂量值(形状672,1)与疾病结果(形状672,1;二元结果0,1)之间的关联,使用Keras。我的目标是计算优势比,我认为这是exp(权重),并将其与我使用Fisher测试计算的优势比进行比较。
from keras.models import Sequential
from keras.layers import Dense, Activation
from keras import layers
class logit:
def lg_keras(self,input_dim,output_dim,ep,X,y):
model = Sequential()
model.add(Dense(output_dim, input_dim=input_dim, activation='sigmoid'))
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
model.fit(X, y, nb_epoch=ep, verbose=0)
print("Done")
return model
我的问题是当我从Keras模型中提取权重时。我希望只为一个输出节点获得一个权重,但我收到了两个。下面是代码和输出。
model = lgd.lg_keras(X.shape[1], y.shape[1],20,X,y)
for layer in model.layers:
weights = layer.get_weights() # list of numpy arrays
print(weights)
[array([[ - 0.00019858]],dtype = float32),array([ - 0.06999612],dtype = float32)]
这两个重量值的含义是什么?
答案 0 :(得分:1)
我想我找到了自己问题的答案。第一个数字/数组用于权重项,第二个数组用于偏差项。因为如果我在我的要素表中添加两列,那么我在权重数组中得到两个值,在偏置数组中有一个值,这是有道理的。