神经网络用于面部识别等应用程序。
这些应用程序使用模式识别。
这类分类可以用一个来完成感知器。
感知器可用于将数据分为两部分。
感知器也被称为线性二元分类器。
想象一下在具有分散 xy 点的空间中的一条直线(线性图)。
如何对线上方和线下的点进行分类?
感知器可以被训练来识别线上的点,而无需知道线的公式。
为了对感知器进行编程,我们可以使用一个简单的 JavaScript 程序,该程序将:
创建一个简单的绘图仪对象的描述见AI画布篇。
const plotter = new XYPlotter("myCanvas");
plotter.transformXY();
const xMax = plotter.xMax;
const yMax = plotter.yMax;
const xMin = plotter.xMin;
const yMin = plotter.yMin;
根据需要创建任意多个 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;
}
在绘图仪中显示该线:
根据线函数计算正确答案:
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);
}
在下一章中,您将学习如何使用正确答案来:
训练感知器预测未知输入值的输出值。
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!