我试图了解一些机器学习术语。学习参数,超参数和结构之间有什么区别?

时间:2016-08-25 15:46:26

标签: machine-learning artificial-intelligence

我正在尝试理解一些机器学习术语:参数,超参数和结构 - 所有这些都在Bayes-net上下文中使用。 1)特别是,结构如何与参数或超参数不同。 2)参数化意味着什么?感谢。

3 个答案:

答案 0 :(得分:1)

一般情况下(但确切的定义可能因作者/论文/模型而异):

  • 结构 - 描述图形/模型的元素如何连接/组织,因此它通常是信息流动的一般描述。通常它表示为有向图。在结构层面上,您经常会忽略模型细节等细节。示例:逻辑回归模型由输入节点和输出节点组成,其中输出节点生成P(y | x)。
  • 参数化 - 由于贝叶斯(和整个ML)方法中的共同语言是概率语言,许多模型用概率/其他数量表示,这些数学是一个很好的数学对象,但无论如何都不能实现/优化/使用。它们只是抽象的概念。参数化是一个获取这种抽象对象并将可能值的空间缩小到一组参数化(通常通过实值向量/矩阵/张量)的函数的过程。例如,逻辑回归的P(y | x)可以参数化作为x到P(y|x) = 1/(1 + exp(-<x, w>))的线性函数,其中w参数即可。
  • 参数 - 如上所示 - 是在参数化过程中引入的模型元素,通常是可学习。意思是,您可以提供合理的数学方法来找到它们的最佳值。例如,在上面的示例中,w是一个参数,在概率最大化期间可以学习,例如使用最速下降法(SGD)。
  • 超参数 - 这些是值,与参数非常相似,但是你无法真正提供好的学习方案。这通常是由于它们的非连续性,通常是交替结构。例如,在神经网络中,超参数是隐藏单元的数量。你无法区分这个元素,所以SGD无法真正学到这个价值。你必须先设置它,或者使用一些元学习技术(通常效率极低)。一般来说,参数和超参数之间的区别非常模糊,并且取决于上下文 - 它们会改变分配。例如,如果您应用遗传算法来学习神经网络的超参数,神经网络的这些超参数将成为GA学习模型的参数。

答案 1 :(得分:1)

<强>结构

网络的结构或拓扑应该捕获变量之间的定性关系。特别是,如果一个节点影响或导致另一个节点,则应直接连接两个节点,其中弧指示效果的方向。

Structure

让我们考虑上面的例子,我们可能会问哪些因素会影响患者的机会 患癌症?如果答案是“污染和吸烟”,那么我们应该添加弧线 从污染和吸烟者到癌症。同样,患有癌症会影响患者 呼吸和获得正X射线结果的可能性。所以我们添加弧线 从癌症到Dyspnoea和XRay。得到的结构如上图所示。

结构术语和布局

在讨论网络结构时,使用家庭隐喻是有用的:如果从前者到后者有弧,则节点是孩子的父母。扩展隐喻,如果存在有向节点链,则一个节点是另一个节点的祖先 它出现在链的前面,而节点是另一个节点的后代 在链条的后期出现。在我们的例子中,癌症节点有两个父母,污染和吸烟者,而吸烟者是X射线和呼吸困难的祖先。同样,Xray是癌症的孩子,也是吸烟者和污染的后裔。节点X的父节点集由Parents(X)给出。

按照惯例,为了更容易目视检查BN结构,通常布置网络,使得弧通常从上到下指向。这意味着BN“树”通常被颠倒描绘,根部位于顶部,叶子位于底部!

答案 2 :(得分:-1)

要添加lejlot的答案,我想在术语“参数”上花一些时间。

对于许多算法,paratemer的同义词是weight。大多数线性模型都是如此,其中权重是描述模型的线的系数。在这种情况下,parameters仅用于学习算法的参数,这在移动到其他类型的ML算法时可能有点混乱。而且,与lejlot所说的相反,这些参数可能不那么抽象:通常它们对学习过程的影响具有明确的含义。例如,对于SVM,参数可能会加重错误分类的重要性。