gpt4 book ai didi

machine-learning - 有没有办法在 python (sklearn/keras) 中使用余弦相似度而不是点积

转载 作者:太空宇宙 更新时间:2023-11-04 04:57:10 25 4
gpt4 key购买 nike

我刚开始使用 Sklearn (MLPRegressor) 和 Keras(顺序,带密集层)。

今天我读了this描述如何使用余弦相似度而不是点积来提高性能的论文。这基本上是说,如果我们将 f(w^Tx) 替换为 f((w^Tx)/(|x||w|)),即我们不我们不仅将点积提供给激活函数,而且对其进行了归一化处理,我们获得了更好更快的性能。

有没有办法在 Python 中执行此操作,特别是在 SKlearn(或其他)或 Keras 中的 MLPRegressor 中? (也许是 TensorFlow?)

最佳答案

Sklearn 使用预建网络,所以没有。我也不认为这在 Keras 中是可能的,因为它有预构建的层。

虽然它确实可以在 Tensorflow 中实现。请注意,在 TF 中,您可以显式定义图层。

例如 this snippet您需要在第 25 行添加规范化,即您可以将输出行 tf.nn.sigmoid(tf.matmul(X, w_1)) 除以输入行的适当规范(您可以得到它们使用 tf.nn.l2_normalizedim=1)

关于machine-learning - 有没有办法在 python (sklearn/keras) 中使用余弦相似度而不是点积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46793190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com