幻灯片解释了适用于任何线性模型的限制。例如,它同样适用于线性回归。
他所说的手工生成的特征是什么意思?
这意味着通过分析问题生成的任何特征。例如,如果您想对建筑物进行分类,您可能需要它的高度和宽度。手动生成的特征可能是决定将高度乘以宽度以获得建筑面积,因为它看起来很适合解决问题。
我没有得到二进制输入示例,为什么它是一个查表类型的问题,为什么它不会泛化?
查表解决方案只是这种方法的逻辑极端。如果您有一个非常复杂的分类,并且您的原始特征不直接相关(作为目标的线性倍数),您可以对它们进行非常具体的操作,从而为每个输入示例提供正确的答案。本质上,这与用正确答案标记训练数据中的每个示例相同,从概念上讲,它具有input: desired output与每个示例一个条目的表格相同的结构。
事实上,这可能会泛化,但只能与精心设计的功能一样好。在实践中,当你有一个复杂的问题和样本数据只能部分解释你的目标变量时(即在大多数数据科学场景中),然后生成派生特征,直到你找到一些解释数据与过度拟合密切相关的特征。
从您的评论中:
在他的视频讲座中,他说:“例如,假设我们有二进制输入向量。我们创建一个单独的特征单元,由这些二进制输入向量中的一个激活。我们需要成倍增加的特征单元。但现在我们可以二进制输入向量的任何可能歧视。因此,对于二进制输入向量,如果您愿意制作足够的特征单元,则没有限制。1.有什么特点?2.我们为什么要创建这个功能?为什么添加指数这样的特征我们可以区分这些向量?
这是 Geoffrey Hinton 描述的方案的一个示例。假设您有 4 个二进制特征,与一个目标值相关联,并查看以下数据:
data 0 1 1 0 -> class 1
data 1 1 1 0 -> class 2
data 0 1 0 1 -> class 1
data 1 1 1 0 -> class 2
data 0 1 1 1 -> class 2
data 0 1 0 0 -> class 1
通过制作如下特征,可以让感知器预测正确的输出值:
data 0 1 1 0 -> features 1 0 0 0 0 -> class 1
data 1 1 1 0 -> features 0 1 0 0 0 -> class 2
data 0 1 0 1 -> features 0 0 1 0 0 -> class 1
data 1 1 1 0 -> features 0 1 0 0 0 -> class 2
data 0 1 1 1 -> features 0 0 0 1 0 -> class 2
data 0 1 0 0 -> features 0 0 0 0 1 -> class 1
每个唯一的原始数据集都分配了一个新的单热编码类别。很明显,最终如果你有n原始功能,您需要2n此类派生类别 - 这是与n.
像这样工作,不可能进行泛化,因为任何你没有转化为派生特征并学习到正确值的模式都不会对感知器产生任何影响,它只会被编码为全零。然而,它会学习很好地拟合训练数据,它可以将每个唯一向量与等于训练输出的权重相关联——这实际上是一种查表。
这个描述的全部意义在于表明“修复”感知器的手工特征并不是一个好的策略。即使它们可以用于训练数据,最终你还是会自欺欺人。