【问题标题】:Deep Learning Log Likelihood深度学习日志似然
【发布时间】:2018-09-20 20:15:49
【问题描述】:

我是深度学习领域的新手,我正在使用对数似然法来比较 MSE 指标。谁能展示如何计算以下 2 个预测输出示例,每个示例具有 3 个输出神经元。谢谢

yt = [ [1,0,0],[0,0,1]]

yp = [ [0.9, 0.2,0.2], [0.2,0.8,0.3] ]

【问题讨论】:

  • 你应该添加更多细节,因为在阅读了这个问题之后,我不明白你在问什么。

标签: machine-learning deep-learning log-likelihood


【解决方案1】:

MSE or Mean Squared Error 只是预测标签和真实标签之间平方差的期望值,表示为

\text{MSE}(\hat{\theta}) = E\left[(\hat{\theta} - \theta)^2\right]

其中 theta 是真实标签,theta^hat 是预测标签

我不确定你到底指的是什么,比如理论问题或代码的一部分

作为 Python 实现

def mean_squared_error(A, B):    
     return np.square(np.subtract(A,B)).mean()

yt = [[1,0,0],[0,0,1]] 
yp = [[0.9, 0.2,0.2], [0.2,0.8,0.3]]

mse = mean_squared_error(yt, yp) 
print(mse)

这将给出0.21的值

如果您正在使用像 TensorFlow 这样的 DL 框架之一,那么他们已经提供了 function 来计算张量之间的 mse 损失

tf.losses.mean_squared_error

在哪里

tf.losses.mean_squared_error(
    labels,
    predictions,
    weights=1.0,
    scope=None,
    loss_collection=tf.GraphKeys.LOSSES,
    reduction=Reduction.SUM_BY_NONZERO_WEIGHTS
)

参数:

标签:地面实况输出张量,与“预测”的维度相同。

预测:预测的输出。

权重: 等级为 0 或与标签相同等级的可选张量,并且必须可广播到标签(即所有维度 必须为 1,或与相应的损失维度相同)。

范围:计算损失的操作范围。

loss_collection: 将添加损失的集合。

减少:适用于损失的减少类型。

返回:

加权损失浮点张量。如果减少为 NONE,则具有相同的 形状作为标签;否则,它是标量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-05
    • 1970-01-01
    • 2021-02-25
    • 2020-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    相关资源
    最近更新 更多