菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA 生成式 AI SCIPY AWS CYBERSECURITY 数据科学
     ❯   

模式识别

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

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

这种类型的分类可以使用感知器来完成。

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

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

模式分类

想象一下空间中一条直线(线性图)上有散布的 x y 点。

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

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

Perceptron



如何编程感知器

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

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

创建一个简单的绘图仪

人工智能画布章节中描述了如何创建简单的绘图仪对象。

示例

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;}
}

显示正确答案

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

示例

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

自己动手试一试 »


如何训练感知器

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

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


×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持