模式识别
神经网络 用于面部识别等应用。
这些应用程序使用 模式识别.
这类 分类 可以用感知器.
感知器可用于将数据分为两部分。
感知器也被称为 线性二元分类器.
模式分类
想象空间中有一条直线(线性图),其中有分散的 xy 点。
如何对线上和线下的点进行分类?
可以训练感知器识别线上的点,而无需了解线的公式。
如何编写感知器程序
要编写感知器,我们可以使用一个简单的 JavaScript 程序,它将:
- 创建一个简单的绘图仪
- 创建 500 个随机 xy 点
- 显示 xy 点
- 创建一个线函数:f(x)
- 显示行
- 计算所需答案
- 显示所需答案
创建一个简单的绘图仪
创建一个简单的绘图仪对象在 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;
}
创建线函数
在绘图仪中显示线:
计算正确答案
根据线函数计算正确答案:
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);
}
如何训练感知器
在下一章中,您将学习如何使用正确答案来:
训练感知器 预测未知输入值的输出值。