最适合网络开发者的网站
人工智能。初学者课程

尿素

模式识别

神经网络 用于面部识别等应用。

这些应用程序使用 模式识别.

这类 分类 可以用感知器.

感知器可用于将数据分为两部分。

感知器也被称为 线性二元分类器.

模式分类

想象空间中有一条直线(线性图),其中有分散的 xy 点。

如何对线上和线下的点进行分类?

可以训练感知器识别线上的点,而无需了解线的公式。

感知器


如何编写感知器程序

要编写感知器,我们可以使用一个简单的 JavaScript 程序,它将:

  1. 创建一个简单的绘图仪
  2. 创建 500 个随机 xy 点
  3. 显示 xy 点
  4. 创建一个线函数:f(x)
  5. 显示行
  6. 计算所需答案
  7. 显示所需答案

创建一个简单的绘图仪

创建一个简单的绘图仪对象在 AI画布章节.

例子

const 绘图仪 = new XYPlotter (“myCanvas”);
绘图仪.transformXY();

const xMax = 绘图仪.xMax;
const yMax = 绘图仪.yMax;
const xMin = 绘图仪.xMin;
const yMin = 绘图仪.yMin;

创建随机 XY 点

创建所需数量的 xy 点。

让 x 值随机(在 0 和最大值之间)。

让 y 值随机(在 0 和最大值之间)。

在绘图仪中显示点:

例子

const numPoints = 500;
const xPoints = [];
const yPoints = [];
对于(让 i = 0; i < numPoints; i++){
xPoints[i] = Math.random() * xMax;
yPoints[i] = Math.random() * yMax;
}

亲自尝试 »


创建线函数

在绘图仪中显示线:

例子

函数 f(x) {
返回 x * 1.2 + 50;
}

亲自尝试 »


计算正确答案

根据线函数计算正确答案:

y = x * 1.2 + 50。

如果 y 在线上,则所需答案为 1,如果 y 在线下,则所需答案为 0。

将所需的答案存储在数组 (desired[]) 中。

例子

让期望=[];
对于(让 i = 0; i < numPoints; i++){
期望[i] = 0;
如果 (yPoints[i] > f(xPoints[i])) {desired[i] = 1;}
}

显示正确答案

对于每个点,如果 desire[i] = 1,则显示一个黑点,否则显示一个蓝点。

例子

对于(让 i = 0; i < numPoints; i++){
让颜色=“蓝色”;
如果(所需[i])颜色=“黑色”;
绘图仪.plotPoint(xPoints[i], yPoints[i], color);
}

亲自尝试 »


如何训练感知器

在下一章中,您将学习如何使用正确答案来:

训练感知器 预测未知输入值的输出值。