Học có giám sát

Một phần của tài liệu Luận văn Thạc sĩ Công nghệ thông tin: Hệ thống trích xuất tự động thông tin từ ảnh căn cước công dân (Trang 43 - 47)

Như vậy với học có giám sát, số lớp cần phân loại đã được biết trước. Nhiệm vụ của thuật toán là phải xác định được một cách thức phân lớp sao cho với mỗi vector đầu vào sẽ được phân loại chính xác vào lớp của nó.

2.4.7.3. Học không giám sát

Là việc học khơng cần có bất kỳ một sự giám sát nào.Trong bài tốn học khơng giám sát, tập dữ liệu huấn luyện được cho dưới dạng: D = {(x

1, x 2,.., x N)}, với (x 1, x 2, ..., x

N) là vector đặc trưng của mẫu huấn luyện. Nhiệm vụ của thuật toán là phải phân chia tập dữ liệu D thành các nhóm con, mỗi nhóm chứa các vector đầu vào có đặc trưng giống nhau.

Như vậy với học không giám sát, số lớp phân loại chưa được biết trước, và tùy theo tiêu chuẩn đánh giá độ tương tự giữa các mẫu mà ta có thể có các lớp phân loại khác nhau.

2.4.7.4. Học tăng cường

Đơi khi cịn được gọi là học thưởng-phạt, là sự tổ hợp của cả hai mơ hình trên. Phương pháp này cụ thể như sau: với vector đầu vào, quan sát vector đầu ra

44 do mạng tính được. Nếu kết quả được xem là “tốt” thì mạng sẽ được thưởng theo nghĩa tăng các trọng số kết nối lên; ngược lại mạng sẽ bị phạt, các trọng số kết nối khơng thích hợp sẽ được giảm xuống.

2.4.7.5. Thuật tốn học có giám sát trong các mạng nơron

Học có giám sát có thể được xem như việc xấp xỉ một ánh xạ: X→ Y, trong đó X là tập các vấn đề và Y là tập các lời giải tương ứng cho vấn đề đó. Các mẫu (x, y) với x = (x1, x2, . . ., xn) ∈ X, y = (yl, y2, . . ., ym) ∈ Y được cho trước. Học có giám sát trong các mạng nơron thường được thực hiện theo thuật tốn 2.8

Thuật tốn 2.8. Học có giám sát

Bước 1. Xây dựng cấu trúc thích hợp cho mạng nơron, chẳng hạn có (n + 1)

nơron vào (n nơron cho biến vào và 1 nơron cho ngưỡng x0), m nơron đầu ra, và khởi tạo các trọng số liên kết của mạng.

Bước 2. Đưa một vector x trong tập mẫu huấn luyện X vào mạng Bước 3. Tính vector đầu ra o của mạng

Bước 4. So sánh vector đầu ra mong muốn y (là kết quả được cho trong tập

huấn luyện) với vector đầu ra o do mạng tạo ra; nếu có thể thì đánh giá lỗi.

Bước 5. Hiệu chỉnh các trọng số liên kết theo một cách nào đó sao cho ở lần

tiếp theo khi đưa vector x vào mạng, vector đầu ra o sẽ giống với y hơn.

Bước 6. Nếu cần, lặp lại các bước từ 2 đến 5 cho tới khi mạng đạt tới trạng

thái hội tụ.

Việc đánh giá lỗi có thể thực hiện theo nhiều cách, cách dùng nhiều nhất là sử dụng lỗi tức thời: Err = (o - y), hoặc Err = |o - y|; lỗi trung bình bình phương (MSE: mean-square error): Err = (o- y)2/2;

Có hai loại lỗi trong đánh giá một mạng nơron. Thứ nhất, gọi là lỗi rõ ràng, đánh giá khả năng xấp xỉ các mẫu huấn luyện của một mạng đã được huấn luyện. Thứ hai, gọi là lỗi kiểm tra, đánh giá khả năng tổng quá hóa của một mạng đã được

45 huấn luyện, tức khả năng phản ứng với các vector đầu vào mới. Để đánh giá lỗi kiểm tra chúng ta phải biết đầu ra mong muốn cho các mẫu kiểm tra.

Thuật toán tổng quát ở trên cho học có giám sát trong các mạng nơron có nhiều cài đặt khác nhau, sự khác nhau chủ yếu là cách các trọng số liên kết được thay đổi trong suốt thời gian học. Trong đó tiêu biểu nhất là thuật toán lan truyền ngược.

2.4.7.6. Thuật tốn lan truyền ngược

Ta sử dụng một số kí hiệu sau: j: nơron thứ j (hay nút thứ j)

Xj: vector đầu vào của nút thứ j Wj: vector trọng số của nút thứ j

xji: đầu vào của nút thứ j từ nút thứ i wji: trọng số trên xji

bj: ngưỡng tại nút thứ j oj: đầu ra của nút thứ j

tj: đầu ra mong muốn của nút thứ j

Downstream(j): Tập tất cả các nút nhận đầu ra của nút thứ j làm một giá trị đầu vào.

η: tốc độ học

f: hàm truyền với f(x) = 1 / (1 + e-x) như thuật toán 2.9

Thuật toán 2.9. Thuận toán lan truyền ngược Input: Input:

- Mạng feed-forward với ni đầu vào, nh nút ẩn và no đầu ra. - Hệ số học η

- Tập dữ liệu huấn luyện D = {là vector đầu vào, là vector đầu ra mong muốn}.

46

Bước 1. Khởi tạo trọng số bởi các giá trị ngẫu nhiên nhỏ. Bước 2. Lặp lại cho tới khi thỏa mãn điều kiện kết thúc.

Với mỗi mẫu, thực hiện các bước sau:

2.1 Tính đầu ra oj cho mỗi nút j:

oj = f(d – bj) với d = Σxjiwji

2.2 Với mỗi nút k thuộc tầng ra, tính δk theo cơng thức:

δk = (tk – ok)(1 – ok)ok

2.3 Với mỗi nút h thuộc tầng ẩn, tính δh theo công thức:

δh = oh(1 – oh) Σδkwkh với k ∈ Downstream(j) Cập nhật: wji = wji + Δwji

Trong đó Δwji = ηδkxji

2.4.8. Mạng truyền thẳng

Một mạng truyền thẳng nhiều lớp bao gồm một lớp vào, một lớp ra và một hoặc nhiều lớp ẩn. Các nơron đầu vào thực chất không phải các nơron theo đúng nghĩa, bởi lẽ chúng không thực hiện bất kỳ một tính tốn nào trên dữ liệu vào, đơn giản nó chỉ tiếp nhận các dữ liệu vào và chuyển cho các lớp kế tiếp. Các nơron ở lớp ẩn và lớp ra mới thực sự thực hiện các tính tốn, kết quả được định dạng bởi hàm đầu ra (hàm chuyển). Cụm từ “truyền thẳng” (không phải là trái nghĩa của lan truyền ngược) liên quan đến một thực tế là tất cả các nơron chỉ có thể được kết nối với nhau theo một hướng: tới một hay nhiều các nơron khác trong lớp kế tiếp (loại trừ các nơron ở lớp ra), hình 2.12.

47

Một phần của tài liệu Luận văn Thạc sĩ Công nghệ thông tin: Hệ thống trích xuất tự động thông tin từ ảnh căn cước công dân (Trang 43 - 47)

Tải bản đầy đủ (PDF)

(82 trang)