【问题标题】:Is likelihood calculated over the whole training set or a single example?是在整个训练集还是单个示例上计算似然性?
【发布时间】:2015-06-04 09:30:41
【问题描述】:

假设我有一个(x, y) 对的训练集,其中x 是输入示例,y 是相应的目标,y 是一个值(1 ... k)k 是类的数量)。

在计算训练集的似然度时,是否应该针对整个训练集(所有的例子)进行计算,即:

L = P(y | x) = p(y1 | x1) * p(y2 | x2) * ...

或者是针对特定训练示例计算的可能性(x, y)

我之所以问是因为我看到了这些 lecture notes(第 2 页),他似乎在其中计算 L_i,这是每个训练示例分别计算的可能性。

【问题讨论】:

    标签: machine-learning probability mle language-model


    【解决方案1】:

    似然函数描述了在给定一些参数的情况下生成一组训练数据的概率,可用于找到以最大概率生成训练数据的那些参数。您可以为训练数据的子集创建似然函数,但这并不代表整个数据的可能性。但是,您可以做的(以及在讲义中显然默默地做的)是假设您的数据是independent and identically distributed (iid)。因此,您可以将联合概率函数拆分为更小的部分,即p(x|theta) = p(x1|theta) * p(x2|theta) * ...(基于独立性假设),并且您可以对每个部分使用具有相同参数 (theta) 的相同函数,例如正态分布(基于同一性假设)。然后,您可以使用对数将乘积转换为和,即p(x|theta) = p(x1|theta) + p(x2|theta) + ...。该函数可以通过将其导数设置为零来最大化。得到的最大值是以最大概率创建 x 的 theta,即您的最大似然估计量。

    【讨论】:

    • 谢谢@user3760780。在讲义中,pi(乘法)从 1 运行到 k(类数),因此它在整个数据集上运行;对于每个训练示例(用 L_i 表示),似然度似乎是单独计算的。我的问题是他为什么那样做。
    • 我想你说的是Li(w1, ..., wk) = log prod[k=1 to K](p(k|xi)^yik)。其中,p(k|xi) 应该计算生成标签k 的概率,例如xi。因为yik0 对应每个错误的标签,1 对应正确的标签,你得到p(k|xi)^1 对应正确的标签,而1(没有变化)对应所有其他标签。所以Li 包含正确标签的概率,例如i,给定xi 和权重w。之后,权重会根据单个示例进行更新,这是标准的stochastic gradient descent
    • 谢谢@user3760780,这正是我要问的部分。如果我理解正确,您说在应用随机梯度下降时,您仅将可能性用于单个训练示例,而不是整个训练集?
    • 是的,您将根据一个示例或一小部分示例(例如 128 个示例)的可能性梯度进行一步梯度下降。
    猜你喜欢
    • 2021-06-03
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    • 2017-04-26
    • 2018-08-07
    • 2018-05-26
    • 2021-01-20
    • 2020-10-22
    相关资源
    最近更新 更多