Perceptron là một mạng nơron đơn giản, ứng dụng đầu tiên của perceptron được đề xuất vào năm 1958 trong [7]. Trong [7], Rosenblatt và các đồng sự đã xây dựng một ứng dụng trong bài toán nhận diện mẫu. Và đây chính là bước khởi đầu cho sự phát triển các ứng dụng của mạng nơron sau này
II.3.1.1 Kiến trúc của một perceptron
Hình 7: Mạng perceptron
Một vectơ vô hướng đầu vào p nhân với một trọng số vô hướng W được
Wp. Giá trị này được đưa vào bộ cộng cùng với một giá trị bias b. Giá trị tổng nhận được là n. n thường được gọi là đầu vào của mạng (net input) và sẽ được đưa qua một hàm gọi là hàm chuyển (hàm hardlim) để thu được kết quả là a. Ta nói a là đầu ra nơron vô hướng của mạng perceptron.
Cặp (W, b) được gọi là một vectơ đoán nhận (sử dụng vectơ đoán nhận này để thực hiện việc tính kết quả đầu ra của mạng).
Trong đó hàm hardlim được định nghĩa như sau: a = p Rx1 SxR W b + Sx1 Sx1 n Sx1 a input
Hardlim Limit Layer
a = hardlim (Wp + b)
1 nếu n >= 0 -1 nếu n < 0
II.3.1.2 Luật học
Luật học của perceptron là một dạng của luật học có giám sát. Trong đó luật học được cung cấp một tập các cặp:
{x1,y1}, {x2,y2}, …,{xm,ym}
Với xi là một đầu vào của mạng và yi là đầu ra mong muốn của mạng. Với mỗi đầu vào được đưa lần lượt qua mạng, giá trị đầu ra của mạng sẽ được đem so sánh với giá trị mong muốn. Luật học sau đó sẽ cập nhật trọng số (W) và bias (b) của mạng để sao cho giá trị đầu ra của mạng càng gần với đầu ra mong muốn tương ứng càng tốt.
Giả thiết đầu ra của mạng tương ứng với đầu vào yi là yˆi. Gọi e là số lỗi của mạng đối với giá trị đầu vào xi:
e = yi- yˆi. Giá trị của w sẽ được cập nhật theo cách sau:
wnew = wold + ei= wold + (yi-yˆi)xi bnew = bold + e.
Để ý rằng trong trường hợp e = 0, tức là không xảy ra lỗi, khi đó giá trị của trọng số W và bias b được giữ nguyên.
Quá trình này được thực hiện tuần tự qua từng cặp {xi, yi} vào được lặp đi lặp lại cho đến khi có được vectơ tham số đoán nhận đúng với mọi xi.
Người ta đã chứng minh rằng, nếu dữ liệu được phân tách một cách tuyến tính thì thuật toán perceptron sẽ chỉ có một số lượng hạn chế nhất định các lỗi mà thôi. Vì thế việc huấn luyện lặp đi lặp lại trên tập huấn luyện sẽ hội tụ tới một vectơ phân lớp chính xác trên tất cả các mẫu huấn luyện [3].