【发布时间】:2016-06-09 21:04:30
【问题描述】:
什么是机器学习中的归纳偏差?为什么有必要?
【问题讨论】:
-
看here
标签: machine-learning terminology
什么是机器学习中的归纳偏差?为什么有必要?
【问题讨论】:
标签: machine-learning terminology
每一种机器学习算法都具有在它所看到的训练数据之外进行泛化能力的某种类型的归纳偏差,这是模型为学习目标函数和在训练数据之外进行泛化而做出的假设。
例如,在线性回归中,模型假设输出或因变量与自变量线性相关(在权重中)。这是模型的归纳偏差。
【讨论】:
几乎机器学习中的每一个设计选择都意味着某种归纳偏差。 "Relational inductive biases, deep learning, and graph networks" (Battaglia et. al, 2018) 是一个了不起的 ? 读物,我将在整个答案中提及。
归纳偏差允许学习算法将一种解决方案(或解释)优先于另一种解决方案,而与观察到的数据无关。 [...] 归纳偏差可以表达关于数据生成过程或解决方案空间的假设。
具体来说,深度学习中非常层的组合?提供了一种关系归纳偏差:分层处理。 层的类型施加了进一步的关系归纳偏差:
更一般地说,深度学习中使用的非关系归纳偏差包括:
在贝叶斯模型中,归纳偏差通常通过先验分布的选择和参数化来表示。在损失函数中添加 Tikhonov 正则化惩罚意味着假设更简单的假设更有可能。
归纳偏置越强,样本效率就越好——这可以用bias-variance tradeoff来理解。许多现代深度学习方法遵循“端到端”设计理念,强调最小先验表示和计算假设,这解释了为什么它们往往如此数据密集型。另一方面,有很多研究将更强的关系归纳偏差烘焙到深度学习架构中,例如图网络。
在哲学中,归纳推理是指从特定观察到结论的概括。这是演绎推理的对立面,演绎推理是指从一般概念到结论的专业化。
【讨论】:
归纳偏差是学习者用来预测其尚未遇到的输入的结果的一组假设。
【讨论】:
根据Tom Mitchell的定义,
学习者的归纳偏差是一组附加假设 足以证明它的归纳推理是演绎的 推论。
我不太明白上面的定义,所以我搜索了维基百科,并能够用外行的术语来概括这个定义。
给定一个数据集,应该采用哪种学习模型(=Inductive Bias) 选择了吗?
归纳偏差对任务有一些先验假设。没有一种偏见对所有问题都是最好的,并且已经进行了大量研究工作来自动发现归纳偏见。
以下是机器学习算法中常见的归纳偏差列表。
最大条件独立:如果可以在贝叶斯框架中提出假设,则尝试最大化条件独立。这是朴素贝叶斯分类器中使用的偏差。
最小交叉验证误差:尝试在假设中进行选择时,选择具有最低交叉验证误差的假设。尽管交叉验证似乎没有偏见,但“没有免费的午餐”定理表明交叉验证必须有偏见。
最大边距:在两个类之间绘制边界时,尝试最大化边界的宽度。这是支持向量机中使用的偏差。假设是不同的类往往被宽边界分开。
最小描述长度:在形成假设时,尝试最小化假设描述的长度。假设是更简单的假设更有可能是正确的。参见奥卡姆剃刀。
最低限度的功能:除非有充分的证据表明某项功能有用,否则应将其删除。这是特征选择算法背后的假设。
最近邻:假设特征空间中一个小邻域中的大多数情况属于同一类。给定一个类别未知的案例,猜测它与其直接邻域中的大多数属于同一类别。这是 k-最近邻算法中使用的偏差。假设是彼此靠近的案例往往属于同一类。
【讨论】:
归纳偏差可以被认为是我们对我们正在尝试了解的领域所做的一组假设。
从技术上讲,当我们试图从 X 中学习 Y 时,最初,Y 的假设空间(学习 X->Y 的不同函数)是无限的。要学习任何东西,我们需要缩小范围。这是以我们对假设空间的信念/假设的形式完成的,也称为归纳偏差。
通过引入这些假设,我们限制了我们的假设空间,并获得了以超参数形式对数据进行增量测试和改进的能力。
归纳偏置示例 -
【讨论】:
归纳偏差只不过是模型通过观察数据点之间的关系来学习的一组假设,以形成一个广义的模型。当实时暴露于新的测试数据时,预测的准确性将会提高。
例如:
让我们考虑一个回归模型来预测将出勤率作为自变量的学生的分数-
在这里,模型将假设出勤率与学生的分数之间存在线性关系。这种假设只不过是一种归纳偏差。
将来,如果将任何新的测试数据应用于模型,则该模型将尝试预测与通过该训练数据获得的学习相关的分数。线性是这个模型在第一次看到测试数据之前就有的重要信息(假设)。因此,该模型的归纳偏差是对自变量和因变量之间线性关系的假设。
考虑另一个例子,我们有支持向量机模型来根据车辆的轮数作为自变量来分类车辆是汽车还是自行车-
在这里,模型将尝试通过最大化决策边界之间的宽度来增加 2 个类之间的距离。这种学习将被用作测试数据中的假设,这是该模型的归纳偏差。
同样,我们可以考虑机器学习中关于许多算法的特征的许多示例,例如-
K个最近邻 - 假设一个新数据点的类属于K个最近邻类中的大多数。
关联规则 - 假设有高置信度值的 2 件商品大部分时间可能会被客户一起购买。
时间序列分析 - 假设当时间相关变量的内在值从下到上穿过移动平均线时,时间相关值的值有可能随着时间的推移而增加。
【讨论】:
我认为这是一组假设,人们可以根据这些假设从不在我们更正确的数据集中的输入进行预测。模型必须有一些归纳偏差,因为只有有了它,模型才能对更多数据更有用。模型的目标是拟合大部分数据,而不仅仅是样本数据。所以归纳偏差很重要。
【讨论】:
经常看到机器学习算法在训练集上测试时效果很好,而在处理新数据时效果不佳,这是从未见过的。在机器学习中,归纳偏差一词是指学习算法做出的一组假设,用于将有限的观察(训练数据)集合推广到领域的一般模型中。
例如 在线性回归中,模型意味着输出或因变量与自变量线性相关(在权重中)。这是模型的归纳偏差。 希望这个答案有帮助。
【讨论】:
(学习算法的)归纳偏差是指一组假设,学习者使用这些假设来预测给定未知输入的输出。最常用的 ML 模型依赖于归纳偏置,例如
Maximum conditional independence in Bayesian framework
Minimum cross-validation error
Maximum margin in Support Vector Machine (SVM)
Minimum description length (Based on Occam’s razor principle that argues simpler hypotheses are more likely to be true)
Minimum features (Unless there is good evidence that a feature is useful, it should be deleted)
Nearest neighbors in clustering
Model ensemble in boosting algorithms (using multiple additive classifiers to obtain better predictive performance).
【讨论】: