R语言 如何使用神经网络进行分类
神经网络是机器学习和数据科学中一个众所周知的词。由于其可靠性和数学能力,神经网络几乎被用于每一个机器学习应用中。在这篇文章中,让我们通过使用R编程来处理神经网络在分类问题中的应用。首先简要介绍一下神经网络和分类算法,然后结合这两个概念。
神经网络
神经网络是一个由神经元组成的通用电路,可以在任何数量的输入上工作,通常适用于处理非线性数据集。神经网络更加灵活,可以用于处理回归和分类问题。因此,想象一下,在这种情况下,我们应该训练一个模型,并检查我们是否在正确的轨道上,因此我们反复进行前向传播和反向传播,以获得最高的准确性(一般使用epochs),这整个过程只不过是在一个神经网络上工作而已!这就是神经网络。以下是一个神经网络的一般可视化。
分类法
分类是处理离散数据的一个强大工具。大多数 真/假或是/否 类型的机器学习问题都是通过分类来解决的。预测一封电子邮件是否是垃圾邮件是二进制分类的一个著名例子。其他的例子包括将乳腺癌分类为恶性或良性,对手写字符进行分类,等等。以下是一个分类的一般可视化。
现在我们已经熟悉了神经网络和分类算法,让我们来讨论一下神经网络在分类中的应用。神经网络分类被广泛应用于图像处理、手写数字分类、签名识别、数据分析、数据比较等方面。神经网络的隐藏层相互之间以及与输入层之间进行历时,以提高准确性并使损失函数最小化。
在R中的实现
让我们在R中构建一个简单的神经网络,并将神经网络的真实值和预测值可视化。对于这个例子,让我们使用R内置的 波士顿 数据集。
示例:
加载数据集如下。
现在让我们把数据集拟合到测试集和训练集,如下所示。
在拟合和划分我们的数据集后,现在准备神经网络的拟合,这可以按以下方式进行。
现在使用 neuralnet 库对神经网络的隐藏层等参数进行处理,如下所示。
之后,编译我们的函数,用神经网络来预测 medv ,如下所示。
现在,让我们绘制最终的图表,以直观地看到神经网络的真实值和预测值。
输出: