1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn công nghệ tri thức Ứng dụng mạng NEURAL dự đoán kết quả học sinh theo học kỳ

55 445 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 55
Dung lượng 4,32 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một đơn vị thần kinh nhân tạo có cấu tạo như sau : Trong đó, x 1, …, x n là các giá trị truyền đến đơn vị thần kinh nhân tạo giá trị này có thể là giá trị xuất từ một neural khác hoặc t

Trang 1

LỜI NÓI ĐẦU



Trong những năm gần đây, vai trò của máy tính trong việc lưu trữ và

xử lý thông tin ngày càng trở nên quan trọng Bên cạnh đó, các thiết bị thu thập dữ liệu tự động cũng phát triển mạnh góp phần tạo ra những kho dữ liệu khổng lồ.

Dữ liệu được thu thập ngày càng nhiều nhưng người ra quyết định lại cần có những thông tin bổ ích và chính xác từ những tri thức được rút ra từ nguồn dữ liệu chưa được khai phá.

Với những yêu cầu đó, mô hình CSDL truyền thống không còn thích hợp nữa Để có được tri thức từ CSDL người ta đã phát triển các lĩnh vực nghiên cứu về tổ chức các kho dữ liệu và kho thông tin, các hệ trợ giúp ra quyết định, các phương pháp khai phá dữ liệu và phát hiện tri thức trong CSDL Trong đó khai phá dữ liệu và phát hiện tri thức đã trở thành một lĩnh vực nghiên cứu khá sôi động.

Qua quá trình học tập nghiên cứu môn Công Nghệ Tri Thức và Ứng Dụng, và sự hướng dẫn của thầy GS.TS Hoàng Kiếm chúng em đã học được những tri thức nền tảng về biểu diễn xây dựng các hệ cơ sở tri thức cũng như việc khám phá tri thức Nhưng do thời gian và khả năng có hạn nên trong nội dung chuyên đề em chỉ trình bày một phần nhỏ về lĩnh vực máy học, cụ thể là kỹ thuật huấn luyện mạng neural và ứng dụng trong SQL Server 2008

Chuyên ngành: KHOA HỌC MÁY TÍNH

Mã số: 60 48 01

Trang 2

MỤC LỤC

CHƯƠNG I: MỞ ĐẦU 3

I Tổng quan 3

II Thuật toán học đơn giản trên Perceptron 7

III Thuật toán lan truyền ngược 11

CHƯƠNG II MỘT SỐ KỸ THUẬT HUẤN LUYỆN MẠNG NEURAL VÀ CÁC VẤN ĐỀ THỰC TẾ 16

I Kỹ thuật huấn luyện mạng Perceptron 18

II Mạng Perceptron một lớp 22

III Huấn luyện Gradient Descent 24

IV Các vấn đề thực tế 27

1 Tỉ lệ huấn luyện 27

2 Phương pháp huấn luyện mạng theo mẫu gốc (pattern) và xử lý theo khối (batch) 28

3 Khởi tạo giá trị ba đầu 29

4 Hiệu chỉnh tỉ lệ 29

CHƯƠNG III ỨNG DỤNG MẠNG NEURAL TRONG MICROSOFT SQL SERVER 2008 31

1 Thuật toán hoạt động như thế nào? 31

2 Thực hiện thuật giải Microsoft Neural Network 32

3 Huấn luyện Neural Networks 34

4 Lựa chọn các tính năng 36

5 Scoring Methods 37

6 Dữ liệu được yêu cầu cho mạng Neural 38

7 Quan sát một mô hình mạng neural 38

8 Mô hình ứng dụng dự đoán kết quả học tập theo học kỳ của học sinh trường TCN Nhân Đạo 39

Chương VI KẾT LUẬN VÀ KIẾN NGHỊ 50 TÀI LIỆU THAM KHẢO 53

Trang 3

Cấu trúc của một tế bào thần kinh sinh học

Mạng neural nhân tạo là sự mô phỏng cấu trúc của mạng neural sinh học Mạng

neural nhân tạo được tạo thành bởi sự nối kết giữa rất nhiều đơn vị thần kinh gọi là

perceptron Những đơn vị này có nhiệm vụ nhận các tín hiệu từ các đơn vị khác

hoặc từ dữ liệu nhập; thông qua các mối liên kết, đơn vị sẽ tiến hành tổng hợp tín hiệu đến nó, xử lý và truyền các tín hiệu sang các đơn vị thần kinh khác hoặc đến

đầu ra

Trục Nhánh

Khớp Thân

Trang 4

Một đơn vị thần kinh nhân tạo có cấu tạo như sau :

Trong đó, x 1, …, x n là các giá trị truyền đến đơn vị thần kinh nhân tạo (giá trị này có

thể là giá trị xuất từ một neural khác hoặc từ đầu vào) w 1 ,… , w n là các trọng số

ứng với mỗi giá trị được truyền đến neural

Giá trị đầu ra y của một perceptron được tính bằng công thức sau :

y = f((xnwn+ xn-1wn-1 + … + w2n2 + w1n1 + w0) - ) Hàm f được gọi là hàm truyền Một hàm truyền cần phải có tính chất sau :

- bị chặn

- đơn điệu tăng

- hàm liên tục tăngCác hàm truyền thường được sử dụng là :

Hàm logistic (hay còn gọi là hàm Sigma)

Hàm hyperbol

Hàm tang-hyperbol

Trong đó hàm sigmoid là hàm thường được dùng nhất

 được gọi là ngưỡng kích hoạt của neural

x1

x2

xn

f (x )= 11+ex

Trang 5

Có thể nói rằng mạng neural nhân tạo là một phát minh quan trọng trong lĩnh vựctrí tuệ nhân tạo Ngày nay, mạng neural được ứng dụng trong nhiều lãnh vực khácnhau: công nghệ thông tin (khám phá tính năng xử lý không dùng ký hiệu và các hệmáy học nói chung), kỹ thuật (giám sát tình trạng của động cơ máy bay, kiểm soátquá trình sản xuất hay nhận dạng chữ ký), khoa học về tri thức (mô tả kiểu suy luận

và nhận thức), vật lý (mô hình hóa các hiện tượng trong cơ học thống kê), sinh học(lý giải các chuỗi nucleotid), kinh tế (dự đoán về thị trường tiền tệ và chứng khoáng),dược học (liên quan cấu trúc-tác dụng)

Một cách tổng quát, một mạng neural nhân tạo chỉ là một đồ thị bao gồm các đơn

vị thần kinh nhân tạo kết nối với nhau Tuy nhiên, có nhiều ứng dụng trong thực tiễnnhất là các mạng neural sau :

- Mạng Hopfield : là mô hình mạng 1 lớp với trọng số đối xứng, đượcHopfield đề xuất vào năm 1982

- Mạng Kohonen (winner-take-all) : do Kohonen đề xuất năm 1984, làmạng neural dựa trên ý tưởng phân lớp các giá trị đầu vào

- Mạng lan truyền ngược : Do Rumelhart và McClelland giới thiệu năm

1984, mô hình này ứng dụng trong các dạng mạng neural phức tạp, nhiềulớp Và đây cũng là một mô hình này đang được sử dụng khá phổ biếntrong các bài toán trí tuệ nhân tạo

* Để ngắn gọn hơn, từ đây về sau, chúng ta sẽ dùng từ neural thay cho đơn vị thần

kinh nhân tạo

Trong bài toán học mà chúng ta đã quen thuộc, để phân loại các đối tượng có m

thuộc tính khác nhau vào n thuộc tính quyết định khác nhau Chúng ta sẽ xây dựng

mạng neural gồm có :

m neural nhập, mỗi neural ứng với một thuộc tính của đối tượng và nhận một

giá trị trong miền giá trị xác định bởi miền giá trị của thuộc tính

 một hoặc nhiều các neural “trung gian” hay các neural ẩn

Trang 6

n neural xuất, mỗi neural ứng với một thuộc tính quyết định, miền giá trị của

đầu ra của mỗi neural này là chính là miền giá trị của thuộc tính quyết địnhứng với neural đó

Vấn đề lớn nhất trong việc xây dựng mạng neural là việc xác định giá trị thích

hợp của các trọng số w cho các liên kết giữa các neural và chọn hàm truyền thích hợp

cho mỗi neural Và quá trình xác định các trọng số w gọi là quá trình huấn luyệnmạng neural hay còn gọi là quá trình học

Để xác định các trọng số w, người ta sử dụng một tập dữ liệu mẫu trong đó có

mô tả đầy đủ dữ liệu đầu vào và dữ liệu đầu ra tương ứng (tập dữ liệu huấn luyệntương tự như các tập mẫu mà chúng ta đã quen trong các thuật toán học trước,điểmkhác là ở đây các giá trị thuộc tính đều phải là các giá trị số) và một thuật toán

dùng để điều chỉnh trọng số w của các neural – thuật toán học

Mạng neural đa lớp bao gồm lớp nhập, lớp ẩn và lớp xuất

Chẳng hạn, xét lại ví dụ cháy nắng trong thuật toán học bằng cách xây dựng cây định danh Để tiện theo dõi, bảng

Trang 7

số liệu mẫu của ví dụ này sẽ được để dưới đây

Vì các neural chỉ có thể làm việc trên các kiểu dữ liệu số nên ta có thể “lượng hóa” giá trị các thuộc tính như sau :

Tóc : vàng = 0, nâu = 1, đỏ = 2 Ch.Cao : thấp = 0, TB = 1, cao = 2Cân nặng : nhẹ = 0, TB = 1, nặng = 2Dùng kem : không = 0, có = 1

Cháy nắng : không = 0, có = 1Như vậy mạng neural sẽ gồm :

- 4 neural nhập, mỗi neural lần lượt ứng với mỗi thuộc tính màu tóc, chiều cao, cânnặng và có dùng kem hay không Neural ứng với màu tóc sẽ nhận giá trị đầu vào

Perceptron có thể được xem là mạng neural đơn giản nhất vì chỉ gồm có mộtneural duy nhất Tuy không mấy hữu ích so với một mạng neural đầy đủ nhưng nó lại

Trang 8

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 tiếpcận máy học bằng mạng neural Chúng ta sẽ sử dụng thuật toán học 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 toán perceptron, ta sẽ “lượng hóa” thuộc tính loài Loài = 1 làversicolorl Loài = -1 là loài khác

Chúng ta có các mẫu với các thuộc tính cho trong bảng sau :

Công thức truyền của perceptron trong bài toán này sẽ như sau :

f ( y )={−1 nếu y ≥ 0 1nếu y <0

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àmf(y) có giá trị như trong cột loài đối với tất cả mẫu đã cho Nghĩa là giải hệ phươngtrì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

Trang 9

Ý tưởng của thuật toán perceptron là chọn ngẫu nhiên một bộ giá trị bất kỳ chocác wi Sau đó thuật toán sẽ tiến hành điều chỉnh lại dần dần cho "khớp" (tính chất tự

hoàn thiện qua thời gian) Cách thực hiện này quả thật là một kiểu giải phương trìnhbằng cách "mò" nghiệm của con người! Tuy vậy người ta đã chứng minh được rằngphương pháp tìm nghiệm này (trong một số điều kiện chặt chẽ nhất định) sẽ dẫn đếnkết quả sau một số lần lặp hữu hạn

Giả sử các trọng số ban đầu có cá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w 0 + 4.7w 1 + 3.2w 2 + 1.3w 3 + 0.2w 4) =

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 điều

chỉnh lại các trọng số wi Sở dĩ hàm f cho kết quả 1 là vì tổng xiwi > 0 Do đó, để f

trả ra -1 ta cần điều chỉnh w i sao cho tổng xiwi giảm giá trị Dễ dàng thấy rằngphép trừ sau sẽ làm giảm giá trị của wi (với r là một hằng số dương)

wi = wi - r.xi

Như vậy tổng xiwi sẽ giảm giá trị nếu mọi wi đều giảm giá trị (bất chấp wi

âm hay dương)

Suy luận tương tự, có thể dễ dàng thấy rằng trong trường hợp ngược lại (hàm

f cho ra kết quả là -1 thay vì 1) ta sẽ cập nhật các trọng số wi (để làm tăng giá trị củatổng xiwi ) bằng công thức :

wi = wi + r.xi

Trở lại ví dụ của chúng ta, chọn r = 0.05 Như vậy, các trọng số sẽ được điều chỉnhnhư sau :

w0 = w0 - r.x0 = 1 - 0.051 = 0.95

Trang 10

Ví dụ của chúng ta sẽ dừng sau 1358 lần thử và điều chỉnh cho tất cả mẫu Cáctrọng số wi kết quả là :

w0 = -1.80; w2= -0.30; w3 = -0.19; w4 = 4.65; w5 = -11.56Thuật toán Peceptron khá đơn giản và gần gũi với suy nghĩ của con người.Tuy nhiên, chính vì điều này, thuật toán này lại không mấy hữu hiệu trong nhữngtrường hợp phức tạp Ví dụ của minh họa mà chúng ta vừa khảo sát là một trườnghợp tuyến tính đơn giản nên sau một số lần điều chỉnh hữu hạn các wi sẽ "hội tụ" về

Trang 11

kết quả Do đó, trong thực tế thuật toán perceptron được dùng để minh họa cho tiếpcậ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 đó

Trong mục này chúng ta cùng nhau khảo sát một thuật toán học thực tiễn hơn Thuật toán này thường được áp dụng trên mạng neural có nhiều Dùng lại ví

dụ trong thuật toán perceptron Mạng neural của chúng ta sẽ có cấu trúc như sau :

Trên hình vẽ, mạng neural này gồm có 3 lớp Lớp nhập gồm 4 neural để nhận 4 giá trị thuộc tính của loại hoa Lớp ẩn gồm có 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ỉ gồm một neural duy nhất mà giá trị xuất của nó sẽ cho biết loại hoa đó có phải

thuộc loại versicolor hay không, neural xuất cũng sẽ nhận giá trị xuất từ tất cả các

neural trong lớp ẩn

Việc chọn số neural cho lớp ẩn thực sự là một nghệ thuật Về mặt nguyêntắc, không có một lý do nào để giới hạn số lượng neural hoặc số lượng lớp ẩn trongmột mạng neural Đã có nhiều công trình nghiên cứu công phu đã được tiến hànhnhằm tìm hiểu xem việc thêm các lớp ẩn có cải thiện được năng lực của mạngneural hay không (tốc độ học, độ chính xác, ) Tuy nhiên, cho đến nay, người tavẫn chưa thể đưa ra được một lý thuyết nào hoàn toàn thuyết phục về vấn đề này

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 mà thôi Nói

1 2 3 4

a

b

o

Trang 12

một cách đơn giản giá trị đầu ra của các neural trong lớp nhập chính là giá trị đầuvào

Để tiện theo dõi, chúng ta hãy đặt tên cho các trọng số nối giữa các neural

Các trọng số của neural a lần lượt là w 0a , w 1a , w 2a , w 3a , w 4a Trong đó, chẳng hạn

như w 2a là trọng số của "cung" nối từ neural nhập 2 đến a; w 0a là trọng số tự do của

neural a Các trọng số của neural b lần lượt là : w 0b , w 1b , w 2b , w 3b , w 4b Các trọng

số của neural O là : w 0O , w aO , w bO

Trong mạng trên, tất cả neural trong lớp ẩn và lớp xuất (a, b, O) đều sử dụng

cùng một hàm truyền là hàm sigma () Giá trị đầu ra của các neural này sẽ được tính bằng công thức  (x i w i) (trong đó xtrong đó x i là các giá trị truyền đến neural và w i là trọng số ứng với giá trị x i ) 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 toán perceptron, ban đầu ta khởi động với các trọng số củacác neural một cách ngẫu nhiên :

Trang 13

Á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ấtbằ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ụ, 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

Trang 14

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ớithuật toá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    xVớ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à :

w0O = w0O + r  O  1 = 0.0867

waO = waO + r  O  Oa = 0.1933

Trang 15

wbO = wbO + r  O  Ob = -0.1076Thử á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ínhhiệ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ớitừng bài toán cụ thể nói chung thường khó khăn và đòi hỏi nhiều kinh nghiệm tronglĩ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ệnmột số lần lặp rất lớn nên tốc độ học thường chậm

Trang 16

Các mạng nơron có một tiềm năng cho các hệ thống điều khiển thôngminh bởi vì chúng có thể học hỏi và thích ứng, chúng có thể ước tínhchức năng phi tuyến, thích hợp cho xử lý song song và phân phối, và mô hình hóa hệthống đa biến.

Nếu một mô hình vật lý là không có hoặc quá đắt để phát triển, một mô hìnhmạng neural có thể là một thay thế

Cho một vấn đề phân loại, tập hợp các dữ liệu u được phân thành hai lớp C1 và C2 Mộtmạng noron có thể học từ những dữ liệu đưa vào và nâng cao hiệu xuất của nó thông quaviệc học này, đó chính là khả năng mà chúng ta đang rất quan tâm nghiên cứu

Trong một giai đoạn máy học, em mong muốn tìm hiểu một ví dụ nhỏ trong những ví

dụ về huấn luyện mạng noron Sau quá trình huấn luyện, mạng noron sẽ có thể phân loạichính xác dữ liệu hơn so với dữ liệu ban đầu

Cho một bảng dữ liệu về cường độ của 10 viên gạch ngói:

Trang 17

Những viên gạch ngói được nhào nặn từ đất sét thành các hình dạng chuẩn, trángmen và nung trong lò Nhưng trong quá trình nung gạch có thể xuất hiện các vết nứt vôhình bên trong viên gạch Bộ phận kiểm tra xác định bằng cách dùng búa gõ vào viêngạch, một hệ thống tự động ghi lại âm thanh bằng một microphone, lọc âm, biến đổifourier, chuẩn hóa Một tập hợp nhỏ những dữ liệu (trích từ MIT, 1997) được cho trongbảng trên

Perceptron là một mạng noron đơn giản nhất, cũng phân chia dữ liệu thành hai lớp,nói chung nó bao gồm một noron đơn và một số những điều chỉnh về trọng số

Perceptron là một bộ vi xử lý của một mạng nơron Nó có ba yếu tố chính như sau:

- Một tập hợp các kết nối liên kết (hoặc các khớp thần kinh), mỗi liên kết mang một trọng

số (hoặc đơn điệu tăng) w0, w1, w2

- Một phép lấy tổng (hoặc bộ cộng) tổng kết các tín hiệu đầu vào sau khi được nhânvới trọng số tương ứng của chúng

- Kích hoạt một hàm f(x) giới hạn đầu ra của tế bào nơron Thông thường đầu ra giới hạntrong khoảng [0;1] hoặc [-1;1]

Phép lấy tổng trong mạng noron cũng bao gồm một w0 bù đắp cho việc hạ thấp hoặc nângcao đầu vào hàm kích hoạt của mạng

Về mặt toán học, đầu vào của mạng noron được đại diện bởi một vector u=(1,u1,u2,

…,un)T, và đầu ra là một đại lượng vô hướng y=f(x)

Trọng số kết nối được đại diện bởi vector w=(w0,w1,wn)T trong đó w0 là đại lượng bù trừ(lệch)

Đầu ra của mạng được tính toán như sau: y= f(wTu)

Trang 18

Hình 1: Mạng noron Perceptron

Trọng số W được điều chỉnh bằng cách sử dụng một nguyên tắc học hỏi thích ứng

Có nghĩa là thuật toán hội tụ perceptron Nếu hai lớp C1 và C2 phân chia tuyến tính,

sẽ tồn tại một vector trọng số w với những thuộc tính như sau:

wtu ≥ 0 thì mọi vector đầu vào u theo lớp C1

wtu < 0 thì mọi vector đầu vào u theo lớp C2

Giả sử rằng Perceptron có m đầu vào, với công thức wTu=0, trong tọa độ khônggian m chiều u1, u2, …, um, định nghĩa một mặt phẳng không gian ba chiều như mộtmặt phẳng chuyển đổi giữa hai lớp khác nhau của đầu vào

Quá trình huấn luyện là điều chỉnh trọng số w để thỏa mãn hai bất đẳng thức trên

Một tập hấn luyện bao gồm K mẫu đầu vào vector u, cùng với các thành phần của

mỗi lớp mẫu (0 hoặc 1) Đại diện của một thiết lập huấn luyện hoàn tất đối với các

lớp perceptron gọi là epoch Việc học được tiếp tục bởi các epoch cho đến khi các

wk+1 = wk nếu wkT uk ≥ 0 và uk theo lớp C1 

wk+1 = wk nếu wkT uk < 0 và uk theo lớp C2 Ngược lại, trọng số của các perceptron được cập nhật theo các qui tắc :

wk+1= wk - n kuk nếu wkT uk ≥ 0 và uk theo lớp C2

Trang 19

Hình 2: Sau hai lầnthay đổi góc θ lớn hơn 900 và

lặp k, chúng ta có một fixed increment cho các qui luật thích nghi của perceptron.

Các thuật toán đã chứng minh (Haykin:1994; Lippmann:1987)

Các điểm của vector đầu vào u trong không gian m-chiều được đánh dấu bằng mộtngôi sao Qui tắc cập nhật này dựa trên tích vô hướng của hai vector, liên quan gócgiữa vector đầu vào và vector trọng số w:

wTu = |w||u|cos(θ)Hình 2 chỉ ra vị trí trọng số w(1) cần được thay đổi, góc θ nhỏ hơn 90 độ, và cos(θ

) là một số dương, nguyên tắc cập nhật thay đổi các vector trọng số w(2) bởi số lượng

n u theo phương ngược lại với u Vector trọng số đã quay, nhưng chưa đủ, vì vậy cần

một vector khác là w(3) Bây giờ góc đã lớn hơn 900 và dấu của wTu đã đúng Vector

w là giao của các mặt phẳng không gian ba chiều phân biệt các lớp với nhau Khi wquay, mặt phẳng không gian ba chiều quay với nó cho đến khi mặt phẳng tách rời cáclớp một cách đúng đắn

Huấn luyện mạng noron trong hình 2 để xác định những viên gạch không đạt chấtlượng Giá trị đầu vào của mạng noron là hai cột tần số của Bảng 1, chúng ta chia

Trang 20

gạch thành hai loại tốt và xấu, loại tốt gắn với lớp C1 và loại xấu gắn với lớp C2 Đầutiên kiểm tra đầu vào của perceptron:

uT = (1,0.958,0.003) (7)Điều này tương ứng với một viên gạch ở lớp C1, những trọng số bao gồm cả trọng

số bù, phải gán giá trị ban đầu, giá trị khởi đầu là:

Sau khi qua lần đầu tiên, có vẻ mạng perceptron đã có thể nhận ra các viên gạchxấu, nhưng khi các trọng số đã được thay đổi so với lần chạy đầu tiên, thì chúng taphải quay lại kiểm tra những viên gạch tốt trong lần lặp thứ hai, trọng số đã đượcthay đổi, nhưng sau đó không có sự thay đổi thêm Qua đến lần thứ ba, cho thấy sựthay thế đã dừng lại

Trang 21

Mạng Perceptron thực sự có thể phân biệt giữa viên gạch tốt và xấu.

Hình 5: Phân loại gạch trong không gian theo dữ liệu đầu vào (trong đó x trục logarit)

Hình 5 cho thấy đường thẳng phân chia giữa hai lớp Trọng số cuối cùng là:

wT = (0,0.977,0.425)Đường thẳng đánh dấu sự chuyển đổi giữa hai lớp, được xác định như sau:

0.977u1 – 0.425u2 = 0Tương đương với: u2 = (0.977/0.425)u1

Với một giới hạn cứng (hàm signum), hàm kích hoạt perceptron tạo đầu ra theo:

u T u

Côn g thức

Trang 22

) (0,0.499,0.448) 0 0.783 (5) (-0.5,0.498,-0.427)(1,0.014,1.839

) (-0.5,0.498,-0.427) 0 -1.277 (3) (-0.5,0.498,-0.427)(1,0.007,1.021

) (-0.5,0.498,-0.427) 0 -0.932 (3) (-0.5,0.498,-0.427)(1,0.004,0.214

) (-0.5,0.498,-0.427) 0 -0.589 (3) (-0.5,0.498,-0.427)

Lần 2

Chất lượn g

w T u

Côn g thức

Trang 24

Hình 6: Mạng Perceptron một lớp với ba nút đầu ra.

Mỗi một noron đầu ra xác định một vector trọng số trong một mặt phẳng không gian.Hàm kích hoạt sẽ có những dạng khác nhau tùy thuộc vào từng ứng dụng cụ thể

lớp.

Trang 25

Có nhiều thuật toán có thể dùng cho việc huấn luyện các mô hình mạng nơ-ron;hầu hết có thể được xem là áp dụng trực tiếp của lý thuyết tối ưu hóa và ước lượngthống kê.

Phần lớn các thuật toán huấn luyện mạng nơ-ron sử dụng một kiểu xuống

dốc (gradient descent - tiến dần tới cực tiểu địa phương) nào đó Điều này được thực

hiện bằng cách lấy đạo hàm của hàm chi phí theo các tham số của mạng và thay đổi

các tham số đó theo một hướng được tính toán theo độ dốc (gradient-related

direction) để tiến dần tới cực tiểu địa phương của hàm chi phí.

Trang 26

Các phương pháp thường dùng cho huấn luyện mạng nơ-ron là: phương pháp tiến

hóa, giải thuật luyện kim (simulated annealing), expectation maximisation (cực đại

hóa kỳ vọng) và các phương pháp không tham số (non-parametric methods)

Kết quả trả về mong muốn của mạng:

d={+1 nếu u t h uộc về lớp C1

−1 nếu u t h uộc về lớp C2 (18)Các luật huấn luyện từ (3) đến (6) có thể biểu diễn một cách thuận tiện hơn, chúng cóthể được tóm lược theo một dạng gọi là luật delta, thể hiện như sau:

w k+1=w k+∆ w k

¿w k+nk(d ky k)uk

Sự khác biệt của d k -y k đóng vai trò tín hiệu báo lỗi và k tương ứng với mẫu huấn

luyện hiện tại Tham số tỷ lệ huấn luyện n là một hằng số dương giới hạn trongkhoảng

0 ≤ n ≤ 1 Nguyên tắc huấn luyện là làm tăng đầu ra y bằng cách làm tăng w khi

e=d–y là số dương.

Do đó wi tăng nếu ui dương, và wi giảm nếu ui âm Các tính năng theo ba nguyên tắcnhư sau:

- Đơn giản

- Việc huấn luyện có thể thực hiện cục bộ tại mỗi noron

- Việc cập nhật trọng số được thực hiện ngay và dùng những trọng số này

để huấn luyện cho những mẫu kế tiếp

Mục đích cuối cùng của việc huấn sửa lỗi là giảm tối thiểu hàm chi phí dựa trên tín

hiệu báo lỗi e Phản hồi của mỗi đầu ra của mạng noron gần đáp ứng được mục tiêu

của mạng noron trong các trường hợp thống kê phán đoán Thật vậy, một khi hàmđánh giá được chọn thì sự huấn luyện thật sự là vấn đề tối ưu hóa Giá trị của hàmphổ biến là tổng bình phương của error:

Trang 27

Phân số ½ dùng để đơn giản hóa sự khác biệt khi giảm thiểu ε Một đồ thị biểu diễn giátrị hàm ε (w) là một mặt phẳng đa chiều error – surface Tùy thuộc vào loại hàm kích

hoạt được sử dụng cho mạng chúng ta có thể gặp hai trường hợp:

1- Mạng hoàn toàn là những noron tuyến tính ( Mặt phẳng error là một hàmbậc hai của trọng số, có hình chảo với một điểm tối thiểu duy nhất)

2- Mạng gồm những noron không tuyến tính ( Toàn bộ bề mặt cực tiểu).Trong cả hai trường hợp, mục tiêu của việc huấn luyện bắt đầu từ một điểm bất kỳtrên bề mặt, được xác định bởi trọng số và các yếu tố đầu vào ban đầu, di chuyển theohướng cực tiểu toàn bộ từng bước một Điều này khả thi với trường hợp thứ nhất, trongkhi với trường hợp thứ hai thuật toán có thể bị vướng trong một tối tiểu cục bộ màkhông bao giờ đạt tối tiểu toàn cục

Hình 9: Ví dụ về bề mặt lỗi của một mạng Perceptron đơn giản.

Để xem bề mặt lỗi được hình thành như thế nào chúng ta sẽ tiến hành phân tíchmột mạng Perceptron đơn giản với một noron r =1, đầu vào m=1, một đối số, một hàmkích hoạt tuyến tính Đầu ra của mạng là:

y=f(w T u)=w T u=(w 0 , w1)(1,u)T=w0+w1u (22)

Giả sử cho một đầu vào cụ thể u=1, và một đầu ra mong muốn d=0.5, chúng ta có

đồ thị mặt phẳng lỗi và hàm như sau:

Ngày đăng: 04/07/2015, 03:36

HÌNH ẢNH LIÊN QUAN

Hình 2:   Sau   hai   lần   thay - Tiểu luận môn công nghệ tri thức Ứng dụng mạng NEURAL dự đoán kết quả học sinh theo học kỳ
Hình 2 Sau hai lần thay (Trang 19)
Hình 5: Phân loại gạch trong không gian theo dữ liệu đầu vào ( trục logarit) - Tiểu luận môn công nghệ tri thức Ứng dụng mạng NEURAL dự đoán kết quả học sinh theo học kỳ
Hình 5 Phân loại gạch trong không gian theo dữ liệu đầu vào ( trục logarit) (Trang 21)
Hình 5 cho thấy đường thẳng phân chia giữa hai lớp. Trọng số cuối cùng là: - Tiểu luận môn công nghệ tri thức Ứng dụng mạng NEURAL dự đoán kết quả học sinh theo học kỳ
Hình 5 cho thấy đường thẳng phân chia giữa hai lớp. Trọng số cuối cùng là: (Trang 21)
Hình 7: Ba đường - Tiểu luận môn công nghệ tri thức Ứng dụng mạng NEURAL dự đoán kết quả học sinh theo học kỳ
Hình 7 Ba đường (Trang 24)
Hình 6:  Mạng Perceptron một lớp với ba nút đầu ra. - Tiểu luận môn công nghệ tri thức Ứng dụng mạng NEURAL dự đoán kết quả học sinh theo học kỳ
Hình 6 Mạng Perceptron một lớp với ba nút đầu ra (Trang 24)
Hình 9: Ví dụ về bề mặt lỗi của một mạng Perceptron đơn giản. - Tiểu luận môn công nghệ tri thức Ứng dụng mạng NEURAL dự đoán kết quả học sinh theo học kỳ
Hình 9 Ví dụ về bề mặt lỗi của một mạng Perceptron đơn giản (Trang 27)
Hình 12-8 cho thấy một ví dụ về chuẩn hóa đầu vào và lập bản đồ - Tiểu luận môn công nghệ tri thức Ứng dụng mạng NEURAL dự đoán kết quả học sinh theo học kỳ
Hình 12 8 cho thấy một ví dụ về chuẩn hóa đầu vào và lập bản đồ (Trang 42)
Bảng 5.1 Bảng thuộc tính Kết quả học sinh - Tiểu luận môn công nghệ tri thức Ứng dụng mạng NEURAL dự đoán kết quả học sinh theo học kỳ
Bảng 5.1 Bảng thuộc tính Kết quả học sinh (Trang 45)
Hình 5.2  Data source - Tiểu luận môn công nghệ tri thức Ứng dụng mạng NEURAL dự đoán kết quả học sinh theo học kỳ
Hình 5.2 Data source (Trang 46)
Hình 5.4 Quá trình Import dữ liệu - Tiểu luận môn công nghệ tri thức Ứng dụng mạng NEURAL dự đoán kết quả học sinh theo học kỳ
Hình 5.4 Quá trình Import dữ liệu (Trang 47)
Hình 5.5 Tạo kết nối đến Data Source - Tiểu luận môn công nghệ tri thức Ứng dụng mạng NEURAL dự đoán kết quả học sinh theo học kỳ
Hình 5.5 Tạo kết nối đến Data Source (Trang 48)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w