小编Fab*_*ioL的帖子

Keras 中每个输出的连接指标(在多个输出中)

我正在 Keras 中研究多输出模型。我实现了两个自定义指标 auroc 和 auprc,它们被传递给compileKeras 模型的方法:

def auc(y_true, y_pred, curve='PR'):
    score, up_opt = tf.compat.v1.metrics.auc(y_true, y_pred, curve=curve, summation_method="careful_interpolation")
    K.get_session().run(tf.local_variables_initializer())
    with tf.control_dependencies([up_opt]):
        score = tf.identity(score)
    return score

def auprc(y_true, y_pred):
    return auc(y_true, y_pred, curve='PR')

def auroc(y_true, y_pred):
    return auc(y_true, y_pred, curve='ROC')

mlp_model.compile(loss=...,
                    optimizer=...,
                    metrics=[auprc, auroc])
Run Code Online (Sandbox Code Playgroud)

使用此方法,我获得每个输出的 auprc/auroc 值,但是,为了使用贝叶斯优化器优化我的超参数,我需要一个指标(例如:每个输出的 auprc 的平均值或总和)。我不知道如何将我的指标加入到一个指标中。

编辑:这里是所需结果的示例

现在,对于每个时期,都会打印以下指标:

out1_auprc: 0.0267 - out2_auprc: 0.0277 - out3_auprc: 0.0294
Run Code Online (Sandbox Code Playgroud)

其中out1, out2,out3是我的神经网络输出,我希望获得如下结果:

average_auprc: 0.0279 - out1_auprc: 0.0267 - out2_auprc: 0.0277 - out3_auprc: 0.0294
Run Code Online (Sandbox Code Playgroud)

我正在使用 …

python machine-learning deep-learning keras tensorflow

6
推荐指数
1
解决办法
1495
查看次数

将tf-idf与FastText向量一起使用

我对将tf-idf与FastText库一起使用很感兴趣,但是找到了一种处理ngram的逻辑方法。我已经将tf-idf与SpaCy向量一起使用了,以发现以下示例:

但是对于FastText库,我不太清楚,因为它的粒度不太直观,例如EG

对于一般的word2vec方法,我每个单词都有一个矢量,我可以计算该矢量的词频,并相应地除以其值。

但是对于fastText,同一个单词会有几个n-gram

“听最新新闻摘要”将具有由滑动窗口生成的n-gram,例如:

十个孩子...

这些n-gram由模型内部处理,因此当我尝试时:

model["Listen to the latest news summary"] 
Run Code Online (Sandbox Code Playgroud)

我直接得到最终的向量,因此我所需要的是在输入模型之前将文本拆分为n元语法:

model['lis']
model['ist']
model['ten']
Run Code Online (Sandbox Code Playgroud)

然后从那里制作tf-idf,但这似乎都是一种低效的方法,是否存在将tf-idf应用于此类矢量n-gram的标准方法。

python nlp fasttext

5
推荐指数
1
解决办法
264
查看次数