计算机科学的机器学习领域专注于创建可以从经验中学习的算法。机器学习的目标是创建算法,当它们接触到额外的数据时,可以自动提高它们在给定任务上的性能。处理输入和输出之间的非线性相关性是机器学习的核心难点之一。XOR 问题和甜甜圈问题是机器学习中非线性分类问题的两个著名示例,本文将对此进行介绍。
异或问题
XOR 问题是分类问题的一个众所周知的例子,其目标是将输入分为两类之一。XOR 问题的类别是“0”和“1”,输入是二进制数据。当输入和类之间存在非线性可分连接时,就会出现问题。换句话说,不可能用一条简单的直线将输入分为两类。
要理解为什么 XOR 问题是非线性可分的,请考虑以下真值表:
当且仅当恰好有一个输入为“1”时,此真值表的输出为“1”。因为没有平面(或直线)可以将输入分为两类,所以这种关系不能线性分离。
解决异或问题需要更复杂的算法,如人工神经网络,它可以识别输入和输出之间的非线性相关性。神经网络(即将发布)由许多连接的节点组成,这些节点可以对输入执行非线性转换。神经网络可以通过使用多层非线性变换来学习逼近任何非线性函数,包括 XOR 函数。然而,异或问题可以用线性模型来解决。为了使其线性,我们需要通过将第一个和第二个输入相乘并将它们转置或重塑为特定格式来为输入添加第三维。在代码中&