Menu
×
   ❮     
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 GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

模式识别

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

这些应用使用模式识别

这种类型的分类 可以通过感知器 完成。

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

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

模式分类

想象在一个空间中有一条直线(线性图),上面散布着 x y 点。

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

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

Perceptron



如何编程感知器

要编程感知器,我们可以使用一个简单的 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;}
}

显示正确答案

对于每个点,如果 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);
}

自己尝试 »


如何训练感知器

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

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


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.