選單
×
   ❮     
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 提供支援