模式识别


如何编写感知器

要了解有关如何编写感知器的更多信息,我们将创建一个非常简单的 JavaScript 程序,该程序将:

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

创建一个简单的绘图仪

使用AI绘图仪章节中描述的简单绘图仪对象。

实例

const plotter = new XYPlotter("myCanvas");
plotter.transformXY();

const xMax = plotter.xMax;
const yMax = plotter.yMax;
const xMin = plotter.xMin;
const yMin = plotter.yMin;

创建随机 X Y 点

根据需要创建任意数量的 xy 点。

让 x 值是随机的,介于 0 和最大值之间。

让 y 值是随机的,介于 0 和最大值之间。

在绘图仪中显示点:

实例

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

亲自试一试 »


创建线条函数

在绘图仪中显示线条:

实例

function f(x) {
  return x * 1.2 + 50;
}

亲自试一试 »


计算期望的答案

根据线函数计算所需的答案:

y = x * 1.2 + 50.

如果 y 超过该线,则期望的答案是 1,如果 y 低于该线,则为 0。

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

实例

let desired = [];
for (let i = 0; i < numPoints; i++) {
  desired[i] = 0;
  if (yPoints[i] > f(xPoints[i])) {desired[i] = 1;}
}

显示所需的答案

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

实例

for (let i = 0; i < numPoints; i++) {
  let color = "blue";
  if (desired[i]) color = "black";
  plotter.plotPoint(xPoints[i], yPoints[i], color);
}

亲自试一试 »


如何训练感知器

在接下来的章节中,您将了解有关如何训练感知器的更多信息