Nhận dạng mẫu trong Machine Learning

  • Mạng nơ-ron được sử dụng trong các ứng dụng như nhận dạng khuôn mặt.
  • Các ứng dụng này sử dụng nhận dạng mẫu.
  • Loại phân loại này có thể được thực hiện bằng Perceptron.
  • Perceptron có thể được sử dụng để phân loại dữ liệu thành hai phần.
  • Perceptron còn được gọi là bộ phân loại nhị phân tuyến tính.

Phân loại mẫu

Hãy tưởng tượng một đường thẳng (đồ thị tuyến tính) trong không gian với các điểm x và y rải rác. Làm thế nào bạn có thể phân loại các điểm nằm trên và dưới đường thẳng?

Một perceptron có thể được huấn luyện để nhận dạng các điểm nằm trên đường thẳng, mà không cần biết công thức của đường thẳng đó.

Perceptron
Perceptron

Cách lập trình mạng nơ-ron

Để lập trình một mạng nơ-ron, chúng ta có thể sử dụng một chương trình JavaScript đơn giản để:

  1. Tạo một đối tượng vẽ đồ thị đơn giản
  2. Tạo 500 điểm x, y ngẫu nhiên
  3. Hiển thị các điểm x, y
  4. Tạo một hàm vẽ đường thẳng: f(x)
  5. Hiển thị đường thẳng
  6. Tính toán các kết quả mong muốn
  7. Hiển thị các kết quả mong muốn

Tạo một đối tượng vẽ đồ thị đơn giản

Việc tạo một đối tượng vẽ đồ thị đơn giản được mô tả trong AI Canvas.

Ví dụ:

const plotter = new XYPlotter("myCanvas");
plotter.transformXY();

const xMax = plotter.xMax;
const yMax = plotter.yMax;
const xMin = plotter.xMin;
const yMin = plotter.yMin;

Tạo các điểm X, Y ngẫu nhiên

  • Tạo bao nhiêu điểm xy tùy ý.
  • Cho giá trị x là ngẫu nhiên (từ 0 đến giá trị lớn nhất).
  • Cho giá trị y là ngẫu nhiên (từ 0 đến giá trị lớn nhất).
  • Hiển thị các điểm trên đồ thị:

Ví dụ:

const numPoints = 500;
const xPoints = [];
const yPoints = [];
for (let i = 0; i < numPoints; i++) {
  xPoints[i] = Math.random() * xMax;
  yPoints[i] = Math.random() * yMax;
}

Tạo hàm vẽ đường thẳng

Hiển thị đường thẳng trên plotter:

Ví dụ:

function f(x) {
  return x * 1.2 + 50;
}

Tính toán đáp án đúng

Tính toán đáp án đúng dựa trên hàm số đường thẳng:

y = x * 1.2 + 50.

Đáp án mong muốn là 1 nếu y nằm trên đường thẳng và 0 nếu y nằm dưới đường thẳng.

Lưu trữ các đáp án mong muốn vào một mảng (desired[]).

Ví dụ:

let desired = [];
for (let i = 0; i < numPoints; i++) {
  desired[i] = 0;
  if (yPoints[i] > f(xPoints[i])) {desired[i] = 1;}
}

Hiển thị các câu trả lời đúng

Đối với mỗi điểm, nếu desired[i] = 1 thì hiển thị điểm màu đen, nếu không thì hiển thị điểm màu xanh lam.

Ví dụ:

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

Cách huấn luyện một Perceptron

Trong chương tiếp theo, bạn sẽ học cách sử dụng các câu trả lời đúng để: Huấn luyện một perceptron để dự đoán giá trị đầu ra của những giá trị đầu vào chưa biết.

Thứ Hai, 02/03/2026 10:01
31 👨
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo