自我介绍范文网

当前位置:自我介绍范文网 > 电脑教程 > 网络知识 > 网络基础知识 > >

无需基础知识,使用JavaScript构建你的第一个神经网络

来源::网络整理 | 作者:管理员 | 本文已影响

参与:程耀彤、李泽南

随着新技术和新工具的出现,构建神经网络已不再是一件需要大量机器学习相关知识的工作了。本文将会教你以 JavaScript 库 Brain.js 为基础,构建并训练自己的神经网络。

设定目标

(如果你只想直接上手,请跳过这部分......)

首先,本文作者还不是神经网络或机器学习方面的专家。坦率的说,我仍然对人工智能的大部分内容感到困惑。但希望这能够鼓励到正在读这篇文章,并急切想尝试机器学习的初学者们。

机器学习是近年来在人们眼前时不时会出现的新概念,这让我不禁对自己说:「看起来这很酷,但是我不确定我是否想在接下来几个月的时间里学习线性代数和微积分……」

然而,和很多的开发人员一样,我对 JavaScript 很感兴趣,偶尔也会寻找在 JS 中实现机器学习的例子,结果却发现大量的文章和 StackOverflow 的帖子都在告诉我们对于机器学习来说 JS 是一种多么糟糕的语言。诚然,目前这种观点还是事实。然后我就有所动摇了,认为他们是对的,我应该回头去验证格式输入并等待 CSS 网格的启动。

但是后来我发现了 Brain.js,这让我大吃一惊。它在是如何被人们雪藏的?!这个库的文档写得非常好且易于遵循,在上手大约 30 分钟之内,我就建立并训练了一个神经网络。事实上,如果你想直接跳过整篇文章,仅仅在 Github 上阅读该库的教程,请便。它真的很棒:https://github.com/BrainJS/brain.js

也就是说,接下来的内容不是关于深入研究神经网络的隐藏输入层、激活函数或如何使用 TensorFlow 的教程。相反,这是一个简单的、入门级别的关于如何实现 Brain.js 的解释,这有点超出了文档的范围。

构建一个神经网络

以下是我们将要做的事情的概述:


1. 创建你的起始文件

2. 决定你想要你的神经网络做什么

3. 设置 Brain.js 并搞清楚如何处理训练数据和用户输入

4. 收集一些训练数据

5. 运行神经网络

6. 利润?

如果你希望直接下载此项目的可用版本,而不是按照文章进行操作,那么你可以在这里克隆 Github 存储库:https://github.com/lordpoint/neural-network-author-classifier

1 - 起始文件

创建一个新目录并在其中放置一个 index.html 样板文件。然后创建三个 JS 文件:brain.js、 training-data.js 和 scripts.js(或用于默认 JS 文件的任何通用项),随后将所有这些文件导入到 index.html 的底部文件中。


无需基础知识,使用JavaScript构建你的第一个神经网络

永远不要害怕观察文件结构

到目前为止都很容易。

现在,在这里获取 Brain.js 的源代码:https://raw.githubusercontent.com/harthur-org/brain.js/master/browser.js


将全部内容复制并粘贴到空的 Brain.js 文件中,点击 save 和 bam:完成 4 个文件中的 2 个。

2 -「我的目的是什么?」

接下来是有趣的部分:决定你的机器能学到什么。今天的机器学习模型可以解决无数的实际问题,例如,进行情感分析或图像分类等。我碰巧认为将文本作为输入的机器学习的应用程序非常有趣,因为你几乎可以在任何地方找到训练数据,而它们还有各种各样的潜在用途,所以我们将在这里使用的例子是一个处理文本分类的例子:

我们将训练一个模型,让它判定一条推特是由 Donald Trump(唐纳德·特朗普)还是 Kim Kardashian(金·卡戴珊)写的。

Ok,这可能不是最有用的应用程序。但是 Twitter 是机器学习素材的宝库,尽管它可能是无用的,但我们的推特作者识别器仍然会说明一个强大的观点。一旦它被训练完成,我们的神经网络将可以在看到它从未看过的推特后确定它是由 Donald Trump 还是 Kim Kardashian 所发出的,仅仅通过识别他们所写东西中的模式。为了做到这一点,我们将需要提供尽可能多的训练数据,以便将其复制/粘贴到我们的 training-data.js 文件中,然后我们可以看看我们是否能找到一些推特的作者。

3 - 建立和数据处理

现在剩下要做的就是在我们的 scripts.js 文件中建立 Brain.js,并提供一些在 training-data.js 文件中的训练数据。但是在此之前,让我们先从整个项目的高度上来看一下这些组件是如何工作的。

建立 Brain.js 非常简单,所以我们不会花费太多时间,但是有一些关于如何预测其输入数据被格式化的细节,我们应该先来看一下。我们先看一下文档汇中包含的建立示例(我在此略微做过修改),这些示例很好地说明了这一点:


let net = new brain.NeuralNetwork();

net.train([
 {
   Input: { r: 0.03, g: 0.7, b: 0.5 },
   Output: { black: 1 }
 },{
   Input: { r: 0.16, g: 0.09, b: 0.2 },
   Output: { black: 1 }
 },{
   Input: { r: 0.5, b: 0.5 },
   Output: { black: 1 }
 }
]);

let output = net.run({ r: 1, g: 0.4, b: 0 });



本文标题:无需基础知识,使用JavaScript构建你的第一个神经网络
分享到: 更多

随机阅读TODAY'S FOCUS