【问题标题】:gradient descent as applied to feature vector bag of words classification task梯度下降应用于词分类任务的特征向量包
【发布时间】:2015-03-08 13:15:07
【问题描述】:

我一遍又一遍地观看Andrew Ng videos,但我仍然不明白如何将梯度下降应用于我的问题。

他几乎只处理高级概念解释领域,但我需要的是基本的战术见解。

我的输入是以下形式的特征向量:

例子:

Document 1 = ["I", "am", "awesome"]
Document 2 = ["I", "am", "great", "great"]

字典是:

["I", "am", "awesome", "great"]

所以作为向量的文档看起来像:

Document 1 = [1, 1, 1, 0]
Document 2 = [1, 1, 0, 2]

根据我看到的梯度下降算法是这样的:

我目前的理解是α是学习率,x(i)是一个特征,在上面的例子中为Document 2,x(3) =2。

y(i) 是标签,在我的情况下,我试图预测与特定特征向量关联的Document,例如 y(0) 将与 Document 1 关联,& y(1) 将代表 Document 2

可能会有很多文档,比如说 10 个,所以我可以有 5 个与 y(0) 关联的文档和 5 个与 y(1) 关联的文档,在这种情况下m = 10

首先我不太明白的是,Θ0 & Θ1的作用是什么?

我认为它们是权重值,与感知器算法一样,我将它们应用于特征值,以努力哄该特征,不管其固有值如何,输出标签的值它是关联的。那是对的吗? 所以我一直在将 Θ 值与感知器的权重值相等,这准确吗?

此外,我不明白我们在采用什么梯度。我真的不想再听到关于在山上行走之类的高级解释,实际上,对于我刚刚在上面详述的情况,我们采用什么梯度?两个后续迭代中的权重?一个特征的价值和它的真实标签?

感谢您的考虑,任何见解将不胜感激。

【问题讨论】:

  • 您能否编辑您的问题,详细而清晰地描述您的问题是什么以及您要预测什么?我们为您提供的解决方案可能不会使用 Andrew Ng 的视频。
  • 这应该至少分成两个问题:你的理论问题和代码。缩小您在代码中遇到的任何问题,并就这些问题提出具体问题。
  • @TimBiegeleisen 我正在尝试预测与词袋特征向量相关的文档

标签: java machine-learning gradient-descent


【解决方案1】:

他几乎只处理高级概念解释领域,但我需要的是底层战术见解。

我发现他的视频是最实用和“最基础的”,尤其是因为您还可以查看代码。你看过吗?

我目前的理解是 α 是学习率,x(i) 是一个特征,在上面的文档 2 示例中,x(3)=2。

关于 α 正确,关于 x(i) 错误:x(i)instancesample。在您的示例中,您有:

Document 1 = [1, 1, 1, 0] = x(1)
Document 2 = [1, 1, 0, 2] = x(2)

例如,功能x(1, 2) = 1

y(i) 是标签,在我的情况下,我试图预测与特定特征向量相关联的文档,例如 y(0) 将与文档 1 相关联,& y(1) 将表示文档2.

正确。虽然我相信 Andrew Ng 的讲座使用基于 1 的索引,所以应该是 y(1)y(2)

可能会有很多文档,比如说 10 个,所以我可以有 5 个与 y(0) 关联的文档和 5 个与 y(1) 关联的文档,在这种情况下 m = 10。

你不应该这么看。每个文档都有自己的标签(y 值)。它们之间的标签是否相等是另一回事。文档 1 的标签为 y(1),文档 5 的标签为 y(5)。到目前为止,y(1) == y(5) 是否无关紧要。

首先我不太明白的是,Θ0 和 Θ1 的作用是什么?

Theta0Theta1 代表您的模型,这是您用来预测标签的东西:

prediction = Theta * input
           = Theta0 * input(0) + Theta1 * input(1)

其中input(i) 是特征的值,input(0) 通常定义为始终等于1

当然,由于您拥有多个功能,因此您将需要两个以上的Theta 值。 Andrew Ng 在他介绍您发布的公式之后的讲座中继续概括此过程以获得更多功能。

我认为它们是权重值,与感知器算法一样,我将它们应用于特征值,以努力哄该特征,不管其固有值如何,输出标签的值它是关联的。那是对的吗?所以我一直把 Θ 值和感知器的权重值等同起来,这样准确吗?

是的,没错。

此外,我不明白我们要采用什么渐变。我真的不想再听到关于在山上行走之类的高级解释,实际上,对于我刚刚在上面详述的情况,我们采用什么梯度?两个后续迭代中的权重?一个特征的价值和它的真实标签?

首先,你知道什么是渐变吗?它基本上是一个偏导数数组,因此更容易解释我们对什么进行偏导数以及对什么进行偏导数。

我们对每个Theta 值取成本函数(在 Andrew Ng 的讲座中定义为差的平方)的偏导数。所有这些偏导数构成了梯度。

我真的不知道如何更实际地解释它。与您列出的最接近的是“特征的值及其真实标签”,因为成本函数告诉我们模型有多好,它相对于每个特征权重的偏导数有点告诉我们每个模型有多糟糕体重到此为止。

您似乎又混淆了功能和示例。要素没有标签。样本或实例有标签。样本或实例也特征组成。

【讨论】:

  • 理论题和代码题好像分了,请问this question和代码更具体相关吗?
猜你喜欢
  • 2017-07-27
  • 1970-01-01
  • 1970-01-01
  • 2014-01-11
  • 1970-01-01
  • 2014-01-11
  • 2020-03-23
  • 1970-01-01
  • 2017-06-05
相关资源
最近更新 更多