- Thuật tốn lan truyền ngược thường được áp dụng trên mạng neural nhiều lớp. Ta áp dụng lại đối với thuật tốn perceptron, mạng neural của chúng ta sẽ cĩ cấu trúc như sau:
- Mạng neural gồm cĩ 3 lớp, lớp nhập gồm 4 neural để nhận 4 thuộc tính của lồi hoa. Lớp ẩn gồm 2 neural a và b, mỗi một neural trong lớp ẩn sẽ nhận giá trị xuất từ tất cả các neural trong lớp nhập. Lớp xuất chỉ cĩ 1 neural duy nhất mà giá trị của nĩ sẽ cho ta biết được lồi hoa đĩ cĩ thuộc lồi hoa versicolor hay khơng, neural xuất cũng nhận giá trị xuất từ tất cả các neural trong lớp ẩn
- Các neural ở lớp nhập cĩ cấu trúc rất đơn giản, thạm chí chúng cịn khơng được xem là các neural của mạng. Nhiệm vụ của các neural trong lớp nhập chỉ là truyền chính xác giá trị mà nĩ nhận được đến các neural trong lớp ẩn. Nĩi một cách đơn giản hơn giá trị đầu ra của các neural trong lớp nhập chính là giá trị đầu vào.
- Để tiện cho việc quan sát, chúng ta nên đặt tên cho các trọng số nối giữa các neural như sau: Các trọng số nối neural a với các neural O, 1, 2, 3, 4 lần lượt là: WOa, W1a, W2a, W3a,
W4a.
Các trọng số nối neural b với các neural O, 1, 2, 3, 4 lần lượt là: WOb, W1b, W2b, W3b, W4b.
Các trọng số nối neural O với các neural a,b lần lượt là: WaO, WbO.
- Trong mạng trên tất cả các neural của lớp ẩn(a, b) và lớp xuất(O) sử dụng chung hàm truyền là hàm sigma(σ). Giá trị đầu ra của neural này sẽ được tính bằng cơng thức σ(∑xiwi)
xi là các giá trị truyền đến neural wi là trọng số ứng với giá trị xi
- Cụ thể hơn, nếu gọi Oa, Ob, OO lần lượt là các giá trị xuất của neural a, b và O thì : Oa = σ(w0a + x1×w1a + x2×w2a + x2×w2a + x2×w2a )
Ob = σ(w0b + x1×w1b + x2×w2b + x2×w2b + x2×w2b ) OO = σ(w0O + Oa×waO + Ob×wbO)
Lưu ý: rằng hàm sigma cĩ miền xác định là (0,1).
- Cũng giống như thuật tốn perceptron, ban đầu ta khởi động với các trọng số của các neural một cách ngẫu nhiên :
w0b = 0.0; w1b = - 0.1; w2b = -0.2; w3b = 0.1; w4a = -0.1 w0O = 0.1; waO = 0.2; wbO = -0.1;
- Chúng ta cũng thực hiện thử và điều chỉnh gần giống như thuật tốn perceptron. Đầu tiên là áp dụng các trọng số hiện cĩ lên các mẫu cĩ sẵn để tính ra giá trị xuất của neural O.
- Áp dụng các trọng số đã cho với mẫu đầu tiên. Giá trị xuất của các neural a, b, O lần lượt là: Oa = 0.5050 ; Ob = 0.5695; OO = 0.5359
- Bước tiếp theo là dựa trên giá trị xuất thực sự của neural xuất (OO) và giá trị xuất mong muốn của neural xuất (EO) ta sẽ tính ra được sai số δO của neural xuất bằng cơng thức : δO = OO× (1 - OO) × (EO- OO)
- Tiếp theo, dựa trên sai số của neural xuất, giá trị xuất của neural ẩn và trọng số của "cung" nối giữa neural ẩn và neural xuất ta sẽ tính ra được sai số δ tại neural ẩn này. Như vậy, theo mạng của chúng ta, sai số tại neural a và neural b lần lượt là :
δa = Oa× (1 - Oa) × waO×δO
δb = Ob× (1 - Ob) × wbO×δO
- Trong trường hợp cĩ nhiều hơn một nút xuất O1, ..., On thì sai số tại một nút ẩn sẽ bằng tổng các sai số ứng với mỗi nút xuất :
δb = Ob× (1 - Ob) ×∑ wbOi×δOi
- Ở đây cĩ một điểm cần lưu ý. Thực sự hàm sigma khơng thể trả ra giá trị 0. Ở đây ta chọn một ngưỡng, chẳng hạn như 0.5 để quyết định loại hoa đĩ cĩ thể là loại versicolor hay khơng. Nếu OO < 0.5 thì khơng phải là versicolor, cịn nếu OO≥ 0.5 thì là loại versicolor. Do đĩ, để tăng hiệu quả của phép phân loại, ta sẽ mong muốn giá trị xuất 0.0 ứng với mẫu khơng là VersiColor và 1.0 đối với mẫu VersiColor. Việc đặt ra các giá trị mong muốn "cách xa" nhau như vậy sẽ giúp quá trình học tiến hành được thuận lợi hơn.
- Trong ví dụ của ta, giá trị mong đợi của neural xuất đối với mẫu đầu tiên là 0 (khơng phải là VersiColor). Áp dụng các cơng thức sai số ở trên ta sẽ cĩ được :
δO = -0.1333 δa = -0.0067 δb = 0.0033
- Thao tác cuối cùng là cập nhật lại các trọng số của các neural. Lưu ý là khác với thuật tốn perceptron, ở đây ta luơn luơn cập nhật trọng số bất chấp giá trị đầu ra cĩ đúng hay khơng. Ta sử dụng cơng thức sau :
w = w + r ×δ× x
- Với r là tỷ lệ học, δ là sai số của neural (đã tính được từ bước trên) và x là giá trị truyền đến neural theo "cung" cĩ trọng số w. Với ví dụ của chúng ta, các trọng số sẽ được cập nhật cụ thể là : - Neural ẩn a w0a = w0a + r ×δa × 1 = -0.0007 w1a = w1a + r ×δa × x1 = 0.0969 w2a = w2a + r ×δa × x2 = -0.1021 w3a = w3a + r ×δa × x3 = -0.1009 w4a = w4a + r ×δa × x4 = -0.0001 - Neural ẩn b
w0b = w0b + r ×δb× 1 = 0.0003 w1b = w1b + r ×δb× x1 = -0.0985 w2b = w2b + r ×δb× x2 = 0.2010 w3b = w3b + r ×δb× x3 = 0.1004 w4b = w4b + r ×δb× x4 = -0.0999 - Neural xuất O w0O = w0O + r ×δO× 1 = 0.0867 waO = waO + r ×δO× Oa = 0.1933 wbO = wbO + r ×δO× Ob = -0.1076
- Thử áp dụng các trọng số mới này cho mẫu đầu tiên ta tính được OO = 0.5304. Giá trị này gần 0 hơn giá trị ban đầu là 0.5359.
- Người ta đã đánh giá rằng so với perceptron, mạng lan truyền ngược cĩ tính hiệu quả cao hơn. Tuy nhiên, việc tìm ra cấu trúc mạng (số lượng neural ẩn) đối với từng bài tốn cụ thể nĩi chung thường khĩ khăn và địi hỏi nhiều kinh nghiệm trong lĩnh vực này. Hơn nữa để đạt được kết quả chính xác, hệ thống cần phải thực hiện một số lần lặp rất lớn nên tốc độ học thường chậm.
ChƯƠng 4. Cài Đăït Ứng DuÏng minh hoÏa
I. GIẢI THUẬT ILA.
- Input: bảng dữ liệu chứa thơng tin tập thuộc tính giả thiết và tập thuộc tính kết luận
STT Size Color Shape Decision 1 Medium Blue Brick Yes 2 Small Red Wedge No 3 Small Red Sphere Yes 4 Large Red Wedge No 5 Large Green Pillar Yes 6 Large Red Pillar No 7 Large Green Sphere Yes
- Output: tập các luật được tạo ra từ bảng quan sát.
R1: IF Color = Green THEN Decision = Yes
R2: IF Size = Medium THEN Decision = Yes
R3: IF Shape = sphere THEN Decision = Yes
R4: IF Shape = Wedge THEN Decision = No
R5: IF Size = large AND Color = red THEN Decision = No
- Thuật tốn:
For duyệt tất cả các dịng trong bảng cha
{
- Tạo ra bảng con tương ứng với tập thuộc tính kết luận
- Tập thuộc tính cĩ bao nhiêu giá trị thì tạo ra bấy nhiêu bảng con }
For bảng con {
While bảng con {
- Xét tổ hợp cĩ 1 thuộc tính giả thiết
For tổ hợp {
- Tính tần xuất xuất hiện cho từng giá trị của tổ hợp( Số lần xuất hiện giá trị tương ứng với tổ hợp trong bảng đang xét và đồng thời khơng xuất hiện trong các bảng cịn lại).
- Chọn tổ hợp cĩ tần suất xuất hiện lơn nhất
IF tần xuất của tổ hợp cĩ giá trị lớn nhất = 0 {
- Tăng số thuộc tính của tổ hợp lên 1 }
Else
{
- Rút ra luật
- Xĩa các dịng tương ứng với tổ hợp đang xét }
} }
- Hướng dẫn cài đặt và chạy chương trình:
Chương trình chạy trên hệ đều hành window Dùng phần mền Visua C++(nhấn F5)
Chạy file: CH_1101098.exe trong thư mục Debug Giao diện Console sau khi chay chương trình
- Mơn cơng nghệ tri thức & ứng dụng do GS.TSKH Hồng Văn Kiếm phụ trách giảng dạy đã cung cấp cho em rất nhiều kiến thức liên quan đến lĩnh vực máy học và khám phá tri thức.
- Bài thu hoạch máy học và khám phá tri thức đã cung cấp kiến thức tổng quan trong lĩnh vực máy học. những phương pháp giúp cho máy cĩ thể học như con người. trong thời đại ngày nay với sự phát triển bùm nổ của cơng nghệ thơng tin sẽ thúc đẩy cho ngành máy học phát triển hơn nữa trong tương lai.
- Bài thu hoạch đã mơ tả cách học bằng phương pháp xây dựng cây định danh của chương trình máy tính như thế nào? Đồng thời đã ứng dụng cài đặt thuật tốn để giải quyết bài tốn thực tế đã nêu ra.
- Tuy nhiên do thời gian và kiến thức cịn gĩi gọn trong mơn học nên chuyên đề sẽ khơng tránh được những sai xĩt, em mong nhận được sự đĩng gĩp xây dựng tích cực của thầy Hồng Văn Kiếm cùng bạn đọc.
- Nhân tiện em xin chân thành cám ơn sự hướng dẫn nhiệt tình của thầy Hồng Văn Kiếm cũng như Trung tâm phát triển phần mền trường Đại Học Kinh Tế Tài Chính đã tạo điều kiện thuận lợi giúp em hồn thành chuyên đề này.
TàaØi liêÏu tham khaÛo
I. Sách và Ebook.
1. Bài giảng cơng nghệ thi thức và ứng dụng Tác giả: GS.TSKH Hồng Văn Kiếm
2. Trí tuệ nhân tạo - các phương pháp và ứng dụng Tác giả: Bạch hưng khang & Hồng Kiếm
3. Giáo trình điện tử cơ sở dữ liệu nâng cao, Cơng nghệ tri thức, Trí tuệ nhận tạo Biên soạn: Trung tâm thơng tin – ĐH Quốc Gia TP.HCM
4. Slide bài giảng khai thác dữ liệu và ứng dụng Tác giả: ThS. Hồng Nguyễn Tú Anh
II. Các website.
1. http://vi.wikipedia.org/wiki/M%E1%BA%A1ng_n%C6%A1-ron