THUẬT TỐN HỌC ĐƠN GIẢN TRÊN PERCEPTRON

Một phần của tài liệu Tiểu luận công nghệ tri thức và ứng dụng THUẬT TOÁN QUINLAN (Trang 44)

- Percetron cĩ thể được xem là mạng neural đơn giản nhất vì chỉ cĩ một neural duy nhất. Tuy khơng mấy hữu ích xo với một mạng neural đầy đủ nhưng nĩ lại rất hữu ích trong việc giúp chúng ta nắm được những nguyên tắc cơ bản trong cách tiếp cận máy học bằng mạng neural. Chúng ta sẽ sử dụng thuật tốn trên perceptron để xây dựng hàm để xác định một loại hoa cĩ thuộc loại versicolor hay khơng? Để tiện vân dụng thuật tốn perceptron , ta sẽ “mã hĩa” thuộc tính lồi. Lồi bằng 1 là versicolor, lồi bằng -1 là một lồi khác.

- Cho bảng quan sát gồm các mẫu thuộc tính sau:

Loại hoa Độ dài đài hoa X1 Độ rộng đài hoa X2 Độ dài cánh hoa X3 Độ rộng cách hoa X4 Lồi f A 4.7 3.2 1.3 0.2 -1

1 nếu v 0 -1 nếu v < 0 0 0 B 6.1 2.8 4.7 1.2 1 C 5.6 3.0 4.1 1.3 1 D 5.8 2.7 5.1 1.9 -1 E 6.5 3.2 5.1 2.0 -1

- Cơng thức truyền của perceptron trong bài tốn này như sau:

- f(y) =

- và y = x0w0 + x1w1 + x2w2 + x3w3 + x4w4

- Trong đĩ:

 x1, x2, x3, x4 lần lượt là giá trị các thuộc tính độ dài đài hoa, độ rộng đài hoa, độ dài cánh hoa và độ rộng cánh hoa.

 x0 luơn cĩ giá trị bằng 1 và được gọi là hệ số tự do.

- Nhiệm vụ của chúng ta là xác định giá trị cho các trọng số wi sao cho hàm f(y) cĩ giá trị như trong cột lồi đối với tất cả các mẫu đã cho. Nghĩa là ta phải giải hệ phương trình sau:

f(1.w0 + 4.7w1 + 3.2w2 + 1.3w3 + 0.2w4) = -1 f(1.w0 + 6.1w1 + 2.8w2 + 4.7w3 + 1.2w4) = 1 f(1.w0 + 5.6w1 + 3.0w2 + 4.1w3 + 1.3w4) = 1 f(1.w0 + 5.8w1 + 2.7w2 + 5.1w3 + 1.9w4) = -1 f(1.w0 + 6.5w1 + 3.2w2 + 5.1w3 + 2.0w4) = -1

- Ý tưởng của thuật tốn perceptron là chọn ngẫu nhiên một bộ giá trị bất kỳ cho các wi. Sau đĩ thuật tốn sẽ tiến hành đều chỉnh lại dần dần cho khớp. Cách thực hiện này thực

chất là một kiểu giải hệ phương trình bằng cách mị nghiệm của con người, tuy nhiên người ta đã chứng minh được rằng phương pháp tìm nghiệm kiểu này sẽ cho ra kết quả sau một số lần lập hữu hạn.

- Giả sử các trọng số ban đầu cĩ giá trị như sau: w0 = 1; w1 = 0; w2 = 0; w3 = 0; w4 = 1

- Thử với mẫu đầu tiên ta được:

f(1×w0 + 4.7×w1 + 3.2×w2 + 1.3×w3 + 0.2×w4) = f(1×1 + 4.7 ×0 + 3.2×0 + 1.3×0 + 0.2×1) = f(1.2) = 1

- Hàm f cho kết quả khác với mong đợi là 1 thay vì -1. Do đĩ ta cần phải đều chỉnh lại các trọng số wi. Sở dĩ hàm f cho kết quả 1 là vì > 0. Do đĩ, để f cho kết quả là -1 ta cần đều chỉnh wi sao cho giảm giá trị. Dễ dàng thấy phép trừ sau sẽ làm giảm giá trị của wi.

- wi = wi - r.xi (r là một hằng số dương)

- Như vậy tổng sẽ giảm giá trị với mọi wi đề giảm giá trị bất chấp wi âm hay dương.

- Suy luận tương tự, ta nhân thấy rằng trong trường hợp ngược lại hàm f cho ra giá trị -1 thay vì là 1. Ta cũng phải cập nhật các trong số wi để làm tăng giá trị bằng cơng thức: wi = wi + r.xi

a b 1 2 3 4

- Trở lại ví dụ, chọn r = 0.05. Như vậy các trọng số sẽ được đều chỉnh như sau: w0 = w0 - r.x0 = 1 - 0.05×1 = 0.95

w1 = w1 - r.x1 = 0 - 0.05×4.7 = -0.24 w2 = w2 - r.x2 = 0 - 0.05×3.2 = -0.16 w3 = w3 - r.x3 = 0 - 0.05×1.3 = -0.07 w4 = w4 - r.x4 = 1 - 0.05×0.2 = 0.99

- Ta áp dụng các wi mới được đề chỉnh cho mẫu tiếp theo f(1×w0 + 6.1×w1 + 2.8×w2 + 4.7×w3 + 1.2×w4)

= f(1×0.95 + 6.1×(-0.24) + 2.8×(-0.16) + 4.7×(-0.07) + 1.2×0.99) = f(-0.05) = -1

- Lần này f cũng lại trả kết quả khác với mong đợi là -1 thay vì là 1. Ta sẽ đều chỉnh tăng các wi. w0 = w0 + r.x0 = -0.95 + 0.05×1 = -1.00 w1 = w1 + r.x1 = -0.24 + 0.05×6.1 = -0.07 w2 = w2 + r.x2 = -0.16 + 0.05×2.8 = -0.02 w3 = w3 + r.x3 = -0.07 + 0.05×4.7 = -0.17 w4 = w4 + r.x4 = -0.99 + 0.05×1.2 = -1.05

- Tiếp tục áp dụng quá trình thử và đều chỉnh này cho các mẫu kế tiếp, nếu hết mẫu, quay lại từ mẫu đầu tiên cho đến khi cĩ được bộ trọng số wi thỏa tất cả các mẫu đã cho hoặc thời gian chạy vượt quá một giới hạn cho phép nào đĩ.

- Ví dụ của chúng ta sẽ sau 1358 lần thử và đều chỉnh cho tất cả các mẫu. Các trọng số wi kết quả là: w0 = -1.80; w2= -0.30; w3 = -0.19; w4 = 4.65; w5 = -11.56

- Thuật tốn perseptron khá đơn giản và gần gũi với suy nghĩ của con người. Tuy nhiên, chính vì đều này thuật tốn lại khơng mấy hữu hiệu trong những trường hợp phức tạp. Ví dụ mà chúng ta vừa khảo sát là một trường hợp tuyến tính đơn giản nên sau một số lần đều chỉnh hữu hạn thì các wi sẽ “hội tụ” về kết quả. Do đĩ trong thực tế, thuật tốn perceptron được dùng để minh họa cho tiếp cận học bằng mạng neural hơn là để áp dụng vào một ví dụ thực tiễn nào đĩ.

(adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Tiểu luận công nghệ tri thức và ứng dụng THUẬT TOÁN QUINLAN (Trang 44)