【问题标题】:Weights in logistic regression in Keras layersKeras 层中逻辑回归的权重
【发布时间】:2018-09-20 18:04:02
【问题描述】:

以下是我使用 Keras 建立剂量值(形状 672,1)和疾病结果(形状 672,1;二元结果 0,1)之间关联的逻辑回归代码。我的目标是计算优势比,我发现它是 exp(weights),并将其与我使用 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)

[数组([[-0.00019858]], dtype=float32), 数组([-0.06999612], dtype=float32)]

这两个权重值是干什么用的?

【问题讨论】:

    标签: python tensorflow keras logistic-regression


    【解决方案1】:

    我想我已经找到了自己问题的答案。第一个数字/数组用于权重项,第二个数组用于偏置项。因为如果我在特征表中添加两列,那么我会在权重数组中得到两个值,而偏差数组中只有一个值,这是有道理的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-22
      • 1970-01-01
      • 2020-10-25
      • 2015-09-20
      • 2012-10-04
      • 1970-01-01
      • 2018-04-24
      • 2018-05-05
      相关资源
      最近更新 更多