Tải bản đầy đủ (.pdf) (67 trang)

Một số kỹ thuật mô hình hóa và áp dụng cho bài toán dự báo kết quả tuyển sinh đại học

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.23 MB, 67 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CNTT&TT

Điêu Thiện Chiến

MỘT SỐ KỸ THUẬT MƠ HÌNH HĨA VÀ ÁP DỤNG
CHO BÀI TỐN DỰ BÁO KẾT QUẢ TUYỂN SINH ĐẠI HỌC
.

LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH

Người hướng dẫn: GS. TS Nguyễn Thanh Thủy

Thái Nguyên, tháng 01 năm 2014

Số hóa bởi Trung tâm Học liệu

/>

MỤC LỤC
MỤC LỤC ........................................................................................................ 1
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT ................................... 3
DANH MỤC CÁC BẢNG .............................................................................. 4
DANH MỤC CÁC HÌNH ............................................................................... 5
MỞ ĐẦU .......................................................................................................... 6
NỘI DUNG....................................................................................................... 7
Chương 1: Các phương pháp mơ hình hóa dữ liệu. .................................... 7
1.1 Phương pháp trực quan............................................................................ 7
1.1.1 Quan sát các hoạt động không theo chủ quan ...................................... 7
1.1.2 Trực quan và đòi hỏi của nhận thức ..................................................... 7
1.1.3 Vẽ sơ đồ dữ liệu trên lược đồ trực quan............................................... 7


1.2 Phương pháp truyền thống. ..................................................................... 7
1.2.1 Phương pháp thống kê.......................................................................... 7
1.2.2 Phương pháp cây quyết định và luật .................................................... 8
1.2.3 Các luật kết hợp.................................................................................... 8
1.2.4 Mạng Nơron ........................................................................................ 8
1.2.5 Giải thuật di truyền............................................................................... 8
1.3 Phương pháp khác. ................................................................................... 9
1.3.1 Phân nhóm và phân đoạn ..................................................................... 9
1.3.2 Phương pháp suy diễn và quy nạp ....................................................... 9
1.3.3 Các phương pháp dựa trên mẫu ........................................................... 9
Chương 2: Mạng Nơron truyền thẳng và thuật toán lan truyền ngược .... 9
2.1 Tổng quan về mạng Nơron ....................................................................... 9
2.1.1 Lịch sử phát triển.................................................................................. 9
2.1.2 Khái niệm cơ bản ............................................................................... 12
2.1.3 Mơ hình mạng nơron nhân tạo ........................................................... 14
2.1.3.1 Đơn vị xử lý .................................................................................... 14
2.1.3.2 Hàm xử lý ....................................................................................... 15
2.2 Học và lan truyền trong mạng ............................................................... 19
2.2.1 Học và tổng quát hóa.......................................................................... 19
2.2.1.1 Học có giám sát............................................................................... 20
2.2.1.2 Học tăng cường .............................................................................. 22
2.2.1.3 Học không giám sát......................................................................... 22
2.2.2 Lan truyền trong mạng: ...................................................................... 24
Số hóa bởi Trung tâm Học liệu

/>

2.3 Hàm mục tiêu........................................................................................... 24
2.4 Mạng nơ ron truyền thẳng ..................................................................... 25
2.5 Khả năng thể hiện của mạng .................................................................. 27

2.6 Thiết kế cấu trúc mạng ........................................................................... 28
2.6.1 Số lớp ẩn ............................................................................................. 28
2.6.2 Số nơron trong lớp ẩn ......................................................................... 29
2.7 Thuật tốn lan truyền ngược (Back-Propagation) .............................. 30
2.7.1 Mơ tả thuật toán ................................................................................. 31
2.7.2 Sử dụng thuật toán lan truyền ngược ................................................. 32
2.7.2.1 Lựa chọn cấu trúc mạng ................................................................. 32
2.7.2.2 Quá trình hội tụ ............................................................................... 33
2.7.2.3 Tổng qt hóa ................................................................................. 33
2.7.3 Biến thể của thuật toán lan truyền ngược........................................... 34
2.7.3.1 Sử dụng tham số bước đà ................................................................ 34
2.7.3.2 Sử dụng hệ số học biến đổi ............................................................. 35
2.7.3.3 Sử dụng phương pháp Gradient kết hợp ......................................... 36
2.7.4 Nhận xét: ............................................................................................ 40
Chương 3: Ứng dụng mạng Nơ ron truyền thẳng và thuật toán lan truyền
ngược vào bài toán “Dự báo kết quả tuyển sinh Đại học” ......................... 42
3.1 Tổng quan về bài toán dự báo................................................................ 42
3.1.1 Phương pháp định tính ....................................................................... 42
3.1.2 Phương pháp định lượng .................................................................... 43
3.2 Bài toán dự báo kết quả tuyển sinh Đại học ......................................... 44
3.2.1 Các yếu tố ảnh hướng đến quá trình thiết kế và xây dựng................. 44
3.2.2 Các bước chính trong q trình thiết kế và xây dựng ........................ 45
3.3 Mơ hình “Dự báo kết tuyển sinh Đại học” ........................................... 51
3.3.1 Thiết lập mơ hình chương trình ......................................................... 51
3.3.2 Nhận xét kết quả ................................................................................ 51
3.3.2.1 Đồ thị hàm lỗi ................................................................................. 56
3.3.2.2 Kiểm tra sau khi mô hình hóa ......................................................... 57
KẾT LUẬN .................................................................................................... 60
TÀI LIỆU THM KHẢO ............................................................................... 62
PHỤ LỤC ....................................................................................................... 63

PHỤ LỤC A – GIỚI THIỆU VỀ PHẦN MỀM DỰ BÁO SpiceMLP ..... 63
PHỤ LỤC B – DỮ LIỆU HỌC VÀ DỮ LIỆU KIỂM TRA ...................... 66
Số hóa bởi Trung tâm Học liệu

/>

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
THPT: Trung học phổ thông
ĐH: Đại học
TK: Thế kỷ
TSĐH: tuyển sinh Đại học
School_Cla: trường/lớp
Time_X: thời gian tự học
Time_Y: thời gian học thêm
Pressure: áp lực
Point_School: tổng điểm 3 môn thi Đại học ở bậc THPT
Mark: tổng điểm thi Đại học
Group: nhóm
MLP: mạng nơron truyền thẳng nhiều lớp

Số hóa bởi Trung tâm Học liệu

/>

DANH MỤC CÁC BẢNG
3.1 Dữ liệu thu thập được ................................................................................ 43
3.2 Dữ liệu đầu vò và đầu ra của mạng ........................................................ .. 48

Số hóa bởi Trung tâm Học liệu


/>

DANH MỤC CÁC HÌNH

2.1 Cấu tạo của tế bào nơron sinh học ......................................................... 8
2.2 Mơ hình nơron nhân tạo ......................................................................... 8
2.3 Đơn vị xử lý ........................................................................................... 10
2.4 Hàm đồng nhất ....................................................................................... 12
2.5 Hàm bước nhị phân ................................................................................ 12
2.6 Hàm sigmoid .......................................................................................... 13
2.7 Hàm sigmoid lưỡng cực ......................................................................... 13
2.8 Sơ đồ học tham số có giám sát ............................................................... 17
2.9 Sơ đồ học tăng cường ............................................................................. 17
2.10 Sơ đồ học không giám sát .................................................................... 18
2.11 Sơ đồ mạng nơron truyền thẳng nhiều lớp ............................................ 20
2.12 Xác định tần số ..................................................................................... 33
2.13 Giảm kích thước của tần số khơng chắc chắn ...................................... 34
3.1 Màn hình làm việc ban đầu của chương trình ........................................ 50
3.2 Thiết lập các thông số cho mạng ............................................................ 51
3.3 Kết quả của mạng học ............................................................................ 52
3.4 Đồ thị hàm lỗi ......................................................................................... 53
3.5 Đồ thị đầu ra của dữ liệu học ................................................................. 53
3.6 Đồ thị dữ liệu kiểm tra ........................................................................... 54

Số hóa bởi Trung tâm Học liệu

/>

MỞ ĐẦU
Bài toán dự báo tuyển sinh Đại học ngày càng được các trường Cao

đẳng và Đại học quan tâm trong bối cảnh, nhiều trường được thành lập và gặp
khó khăn về tuyển sinh đầu vào. Học sinh sau khi tốt nghiệp THPT lựa chọn
ngành dự thi còn chưa phù hợp với năng lực của mình cũng như nhu cầu việc
làm của xã hội. Sinh viên ra trường chưa có việc làm đúng ngành nghề của
mình cịn nhiều.
Một số kỹ thuật mơ hình hóa dữ liệu được áp dụng nhằm dự báo kết quả
tuyển sinh Đại học sẽ giúp cho học sinh THPT biết được năng lực và khả
năng thi tuyển đầu vào của các trường Đại học, Cao đẳng.
Mạng nơron truyền thẳng và thuật toán lan truyền ngược được áp dụng để dự
báo kết quả tuyển sinh Đại học. Số liệu thu thập từ các sinh viên trường Đại
học Hùng Vương Phú Thọ. Bài toán dự báo dựa vào các yếu tố có ảnh hưởng
đến kết quả tuyển sinh Đại học của thí sinh.

Số hóa bởi Trung tâm Học liệu

/>

NỘI DUNG
Chương 1: Các phương pháp mơ hình hóa dữ liệu.
1.1 Phương pháp trực quan.[1]
1.1.1 Quan sát các hoạt động không theo chủ quan
Kỹ thuật khai phá dữ liệu trực quan cung cấp cho người khai phá khả
năng đầy đủ để quan sát các hoạt động mà không theo định kiến cá nhân nào
cả. Điều đó có nghĩa là ta khơng cần phải biết là cần phải tìm kiếm cái gì
trong thời gian sáp tới. Hơn thế, bạn có thể bắt dữ liệu chỉ ra cho bạn thấy cái
gì là quan trọng.
1.1.2 Trực quan và địi hỏi của nhận thức
Có thể sự mở rộng lớn nhất trong việc sử dụng trực quan trong các
phương pháp khai phá dữ liệu là phương pháp trực quan cốt để làm nổi bật
khả năng nhận thức, kinh nghiệm của con người có thể làm tốt và một số công

việc khác lại làm rất tốt. Việc lựa chọn phương pháp nghiên cứu thường phải
có sự cân nhắc về kiểu xử lý thông tin mà người đó địi hỏi trong suất q
trình nghiên cứu.
1.1.3 Vẽ sơ đồ dữ liệu trên lược đồ trực quan
Khi đưa dữ liệu vào trong một môi trường trực quan, bạn phải quyết
định làm sao để trình bày dữ liệu theo một kiểu cách có ý nghĩa. Hoạt động
này tập trung vào sử dụng những thuộc tính của các phần tử dữ liệu đã được
định nghĩa trong mơ hình để xác định làm sao thơng tin sẽ được nhìn thấy và
cảm nhận. bạn có thể chọn những giải thuật xác định vị trí như gộp nhóm,
phân cụm, …
1.2 Phương pháp truyền thống
1.2.1 Phương pháp thống kê
Trong phương pháp này, ta sử dụng những thông tin được thống kê để
suy luận và miêu tả xa hơn trong phân tích dữ liệu.

Số hóa bởi Trung tâm Học liệu

/>

Trong hệ thống hỗ trợ quyết định thì việc dùng phương pháp thống kê
là rất phổ biến.
1.2.2 Phương pháp cây quyết định và luật
Cây quyết định là công cụ phân tích để khám phá ra các luật và mối
quan hệ bằng phương pháp phân tích thống kê phân chi thành các phần nhỏ
các thông tin chứa trong tập dữ liệu.
Cây quyết định là một mô tả tri thức dạng đơn giản nhằm phân các đối tượng
dữ liệu thành một số lóp nhất định. Các nút của cây được gán nhãn là tên các
thuộc tính, các cạnh được gán các giá trị cụ thể các thuộc tính, các lá miêu tả
các lớp khác nhau. Các đối tượng được phân lớp theo các đường đi trên cây,
các cạnh tương ứng với giá trị các thuộc tính của đối tượng tới lá.

1.2.3 Các luật kết hợp
Những luật kết hợp được dẫn xuất ra từ sự phân tích các thơng tin trùng
hợp. Phương pháp luật kết hợp này cho phép khám phá những tương quan,
hoặc những biến cố trong giao dịch là các sự kiện.
Các luật kết hợp là một dạng biểu diễn tri thức, hay chính xác hơn là dạng
mẫu của hình thành tri thức. Phương pháp này nhằm phát hiện ra các luật kết
hợp giữa các hình thành phân dữ liệu trong cơ sở dữ liệu. Mẫu đầu ra của giải
thuật khai phá dữ liệu là các tập luật kết hợp tìm được.
1.2.4 Mạng Nơron
Mạng nơron là một hệ thống bao gồm rất nhiều phần tử xử lý đơn giản
cùng hoạt động song song. Tính năng hoạt động của hệ thống này phụ thuộc
vào cấu trúc của hệ thống, vào cường độ liên kết giữa các phần tử trong hệ
thống và dựa vào quá trình xử lý bên trong các phần tử đó. Hệ thống này có
thể học từ các dữ liệu có khả năng tổng quát hóa các dữ liệu đó.
1.2.5 Giải thuật di truyền
Giải thuật di truyền được phát triển mơ phỏng lại hệ thống tiến hóa
trong tự nhiên, chính xác hơn đó là giải thuật chỉ ra tập các cá thể được hình
Số hóa bởi Trung tâm Học liệu

/>

thành, được ước lượng và biến đổi như thế nào. Giải thuật cũng mô phỏng lại
yếu tố gen trong nhiễm sắc thể sinh học trên máy tính để có thể giải quyết
nhiều bài toán thực tế khác nhau.
Giải thuật di truyền dựa trên ba cơ chế cơ bản: Chọn lọc, tương giao chéo và
đột biến.[1]
1.3 Phương pháp khác
1.3.1 Phân nhóm và phân đoạn
Phương pháp phân nhóm và phân đoạn là những kỹ thuật phân chia dữ liệu
sao cho mỗi phần hoặc một nhóm giống nhau theo một tiêu chuẩn nào đó.

1.3.2 Phương pháp suy diễn và quy nạp
Một cơ sở dữ liệu là một kho thông tin những các thông tin quan trọng hơn
cũng có thể được suy diễn từ kho thơng tin đó. Có hai kỹ thuật chính để thực
hiện việc này là suy diễn và quy nạp.
Phương pháp suy diễn: Nhằm rút ra những thông tin là kết quả logic của các
thông tin trong cơ sở dữ liệu, dựa trên các quan hệ trong dữ liệu.
Phương pháp quy nạp: Nhằm suy ra các thông tin được sinh ra từ cơ sở dữ
liệu.
1.3.3 Các phương pháp dựa trên mẫu
Sử dụng các mẫu miêu tả ừ cơ sơ dữ liệu để tạo nên mọt mơ hình dự
đốn các mẫu mới dằng cách rút ra các thuộc tính tương tự như các mẫu đã
biết trong mo hình. Ở đây, nhiệm vụ chính là phải xác định được độ đo giống
nhau giữa các mẫu, sau đó mới rạo ra mẫu dự đốn.[1]
Chương 2: Mạng Nơron truyền thẳng và thuật toán lan truyền ngược
2.1 Tổng quan về mạng Nơron
2.1.1 Lịch sử phát triển
Khái niệm mạng nơ-ron được đề xuất nhằm mô tả hoạt động của nơron
trong bộ não con người. Ý tưởng này bắt đầu được nêu ra trong mơ hình tính
tốn mạng Perceptron. (Perceptron là một bộ phân loại tuyến tính dành cho
Số hóa bởi Trung tâm Học liệu

/>

việc phân loại dữ liệu
một hàm đầu ra

xác định bằng các tham số




)

Dưới đây là các mốc trong các nghiên cứu về mạng nơron;[5]
Cuối TK 19, đầu TK 20, sự phát triển chủ yếu chỉ là những cơng việc
có sự tham gia của cả ba ngành Vật lý học, Tâm lý học và Thần kinh học, bởi
các nhà khoa học như Hermann von Hemholtz, Ernst Mach, Ivan Pavlov. Các
cơng trình nghiên cứu của họ chủ yếu đi sâu vào các lý thuyết tổng quát về
HỌC (Learning), NHÌN (vision) và LẬP LUẬN (conditioning),... và khơng
hề đưa ra những mơ hình tốn học cụ thể mơ tả hoạt động của các nơron.
• Mọi chuyện thực sự bắt đầu vào những năm 1940 với cơng trình của
Warren McCulloch và Walter Pitts. Họ chỉ ra rằng về nguyên tắc, mạng của
các nơron nhân tạo có thể tính tốn bất kỳ một hàm số học hay logic nào!
• Tiếp theo hai người là Donald Hebb phát biểu rằng: việc thuyết lập
luận cổ điển (classical conditioning) (như Pavlov đưa ra) là hiện thực bởi do
các thuộc tính của từng nơron riêng biệt. Ơng cũng nêu ra một phương pháp
học của các nơron nhân tạo.
• Ứng dụng thực nghiệm đầu tiên của các nơron nhân tạo có được vào
cuối những năm 50 cùng với phát minh của mạng nhận thức (perceptron
network) và luật học tương ứng bởi Frank Rosenblatt. Mạng này có khả năng
nhận dạng các mẫu. Điều này đã mở ra rất nhiều hy vọng cho việc nghiên cứu
mạng nơron. Tuy nhiên nó có hạn chế là chỉ có thể giải quyết một số lớp hữu
hạn các bài tốn.
• Cùng thời gian đó, Bernard Widrow và Ted Hoff đã đưa ra một thuật
toán học mới và sử dụng nó để huấn luyện cho các mạng nơron tuyến tính
thích nghi, mạng có cấu trúc và chức năng tương tự như mạng của Rosenblatt.
Luật học Widrow-Hoff vẫn còn được sử dụng cho đến nay.

Số hóa bởi Trung tâm Học liệu

/>


• Tuy nhiên cả Rosenblatt và Widrow-Hoff đều cùng vấp phải một vấn
đề do Marvin Minsky và Seymour Papert phát hiện ra, đó là các mạng nhận
thức chỉ có khả năng giải quyết các bài tốn khả phân tuyến tính. Họ cố gắng
cải tiến luật học và mạng để có thể vượt qua được hạn chế này nhưng họ đã
không thành cơng trong việc cải tiến luật học để có thể huấn luyện được các
mạng có cấu trúc phức tạp hơn.
• Do những kết quả của Minsky-Papert nên việc nghiên cứu vềmạng
nơron gần như bị đình lại trong suốt một thập kỷ do ngun nhân là khơng có
được các máy tính đủ mạnh để có thể thực nghiệm.
• Mặc dù vậy, cũng có một vài phát kiến quan trọng vào những năm
70. Năm 1972, Teuvo Kohonen và James Anderson độc lập nhau phát triển
một loại mạng mới có thể hoạt động như một bộ nhớ. Stephen Grossberg
cũng rất tích cực trong việc khảo sát các mạng tự tổ chức (Self organizing
networks).
• Vào những năm 80, việc nghiên cứu mạng nơron phát triển rất mạnh
mẽ cùng với sự ra đời của PC. Có hai khái niệm mới liên quan đến sự hồi sinh
này, đó là:
1. Việc sử dụng các phương pháp thống kê để giải thích hoạt động của
một lớp các mạng hồi quy (recurrent networks) có thể được dùng như bộ nhớ
liên hợp (associative memory) trong cơng trình của nhà vật lý học Johh
Hopfield.
2. Sự ra đời của thuật toán lan truyền ngược (back-propagation) để
luyện các mạng nhiều lớp được một vài nhà nghiên cứu độc lập tìm ra như:
David Rumelhart, James McCelland,.... Đó cũng là câu trả lời cho MinskyPapert. [5]

Số hóa bởi Trung tâm Học liệu

/>


2.1.2 Khái niệm cơ bản
Theo các nhà nghiên cứu sinh học về bộ não, hệ thống thần kinh của
con người bao gồm khoảng 100 tỷ tế bào thần kinh, thường gọi là các nơron.
Mỗi tế bào nơron gồm ba phần:
- Thân nơron với nhân bên trong (gọi là soma), là nơi tiếp nhận hay
phát ra các xung động thần kinh.
- Một hệ thống dạng cây các dây thần kinh vào (gọi là dendrite) để đưa
tín hiệu tới nhân nơron. Các dây thần kinh vào tạo thành một lưới dày đặc
xung quanh thân nơron, chiếm diện tích khoảng 0,25mm2.
- Đầu dây thần kinh ra (gọi là sợi trục axon) phân nhánh dạng hình cây,
có thể dài từ một cm đến hàng mét. Chúng nối với các dây thần kinh vào hoặc
trực tiếp với nhân tế bào của nơron khác thông qua các khớp nối (gọi là
synapse). Thơng thường mỗi nơron có thể có từ vài chục cho tới hàng trăm
ngàn khớp nối để nới với các nơron khác. Có hai loại khớp nối, khớp nối kích
thích (excitatory) sẽ cho tín hiệu qua nó để tới nơron cịn khớp nối ức chế
(inhibitory) có tác dụng làm cản tín hiệu tới nơron. Người ta ước tính mỗi nơ
ron trong bộ não của con người có khoảng 104 khớp nối (Hình 2.1).
Chức năng cơ bản của tế bào nơron là liên kết với nhau để tạo nên hệ
thống thần kinh điều khiển hoạt động của cơ thể sống. Các tế bào nơron
truyền tín hiệu cho nhau thông qua các dây thần kinh vào và ra, các tín hiệu
đó có dạng xung điện và được tạo ra từ các q trình phản ứng hóa học phức
tạp. Tại nhân tế bào, khi điện thế của tín hiệu vào đạt ngưỡng nào đó thì nó sẽ
ta ra xung điện dấn tới trục dây thần kinh ra. Xung này truyền theo trục ra tới
các nhánh rẽ và tiếp tục truyền tới nơron khác. [8]

Số hóa bởi Trung tâm Học liệu

/>

Hình 2.1 Cấu tạo của tế bào nơron sinh học

Với mục tiêu tạo ra một mơ hình tính tốn phỏng theo các làm việc của
nơron trong bộ não con người, vào năm 1943, các tác giả McCulloch và Pitts
đã đề xuất một mơ hình tốn cho một nơron như sau:

Hình 2.2 Mơ hình nơron nhân tạo
Trong mơ hình này, một nơron thứ i sẽ nhận các tín hiệu vào xj với các
m

wij x j

trọng số tương ứng wij, tổng các thơng tin vào có trọng số là
j 1

Thơng tin đầu ra ở thời điểm t+1 được tính từ các thơng tin đầu vào như sau:

Số hóa bởi Trung tâm Học liệu

/>

out gwt i
(1
t )
(
i x)
j j

(1.1)

Trong đó g là hàm kích hoạt (cịn gọi là hàm chuyển) có dạng là bước
nhảy, nó đóng vai trị biến đổi từ thơng tin đàu vào thành tín hiệu đàu ra.

Trong mơ hình nơron của McCullch và Pitts, các trọng số Wij thể hiện ảnh
hưởng của khớp nối trong liên kết giữa nơron j (nơron gửi tín hiệu) và nơron i
(nơron nhận tín hiệu). Trọng số wij dương ứng với khớp nối kích thích, trọng
số âm ứng với khớp nối ức chế còn wij = 0 khi khơng có liên kết giữa nơron.
Hàm chuyển g có nhiều dạng thể hiện khác nhau.
Thơng qua cách mơ hình hóa đơn giản một nơron sinh học trên,
McCullch và Pitts đã đưa ra một mơ hình nơron nhân tạo có tiềm năg tính
tốn quan trọng. Nó có thể thực hiện các phép toán logic cơ bản như AND,
OR và NOT khi các trọng số và ngưỡng được chọn phù hợp. Sự liên kết giữa
các nơron nhân tạo với các cách thức khác nhau sẽ tạo nên các loại mạng
nơron nhân tạo (Artificial Neural Network – ANN) với các tính chất và khả
năng làm việc khác nhau.
2.1.3 Mơ hình mạng nơron nhân tạo
Như đã giới thiệu ở trên, mạng nơron nhân tạo là một hệ thống xử lý
thông tin được xây dựng dựa trên cơ sở tổng quát hóa mơ hình tốn học của
nơron sinh học và phỏng theo cơ chế làm việc của bộ não con người. Mạng
nơron nhân tạo được thể hiện thông qua ba thành phần cơ bản: mơ hình của
nơron, cấu trúc và sự liên kết giữa các nơron, phương pháp học được áp
dụng cho mạng nơron.
2.1.3.1 Đơn vị xử lý
Một đơn vị xử lý (Hình 2.3), cũng được gọi là một nơron hay một nút
(node), thực hiện một cơng việc rất đơn giản: nó nhận tín hiệu vào từ các đơn
vị phía trước hay một nguồn bên ngồi và sử dụng chúng để tính tín hiệu ra sẽ
được lan truyền sang các đơn vị khác.
Số hóa bởi Trung tâm Học liệu

/>

x0


wj0

x1

wj1



wjn

j

aj



xn

g(aj)

zj

n

aj

w j xi

j


zj

g (a j )

i 1

Hình 2.3: Đơn vị xử lý (Processing unit)
xi : các đầu vào
wji : các trọng số tương ứng với các đầu vào
j

: độ lệch (bias)

aj : đầu vào mạng (net – input)
zj: đầu ra của nơron
g(a): hàm chuyển (hàm kích hoạt)
Trong một mạng nơron có ba kiểu đơn vị:
1) Các nơron đầu vào (Input units), nhận tín hiệu từbên ngồi;
2) Các nơron đầu ra (Output units), gửi dữ liệu ra bên ngoài;
3) Các nơron ẩn (Hidden units), tín hiệu vào (input) và ra (output) của
nó nằm trong mạng.
Mỗi đơn vị j có thể có một hoặc nhiều đầu vào: x0, x1,x2,… xn, nhưng
chỉ có một đầu ra zj.
Một đầu vào tới một đơn vị có thể là dữ liệu từ bên ngồi mạng, hoặc
đầu ra của một đơn vị khác, hoặc là đầu ra của chính nó.
2.1.3.2 Hàm xử lý
2.1.3.2.1 Hàm kết hợp
Mỗi một nơron trong một mạng kết hợp các giá trị đưa vào nó thơng
qua các liên kết với các đơn vị khác, sinh ra một giá trị gọi là net input. Hàm
thực hiện nhiệm vụ này gọi là hàm kết hợp (combination function), được định

Số hóa bởi Trung tâm Học liệu

/>

nghĩa bởi một luật lan truyền cụ thể. Trong phần lớn các mạng nơron, chúng
ta giả sử rằng mỗi một đơn vị cung cấp một bộ cộng như là đầu vào cho đơn
vị mà nó có liên kết. Tổng đầu vào đơn vị j đơn giản chỉ là tổng trọng số của
các đầu ra riêng lẻ từ các đơn vị kết nối cộng thêm ngưỡng hay độ lệch (bias)
θj :

n

aj

w ji xi

j

i 1

Trường hợp wji > 0, nơron được coi là đang ở trong trạng thái kích
thích. Tương tự, nếu như wji < 0, nơron ở trạng thái kiềm chế. Chúng ta gọi
các đơn vị với luật lan truyền như trên là các sigma units.
Trong một vài trường hợp người ta cũng có thể sử dụng các luật lan truyền
phức tạp hơn.
Một trong số đó là luật sigma-pi, có dạng như sau:
m

n


aj

w ji
i 1

xik

j

k 1

nhiều hàm kết hợp sử dụng một "độ lệch" hay "ngưỡng" để tính net
input tới đơn vị. Đối với một đơn vị đầu ra tuyến tính, thông thường, θj được
chọn là hằng số và trong bài tốn xấp xỉ đa thức θj = 1.
2.1.3.2.2 Hàm kích hoạt (hàm chuyển)
Phần lớn các nơron trong mạng nơron chuyển mạng đầu vào (net input) bằng
cách sử dụng một hàm vơ hướng (scalar-to-scalar function) gọi là hàm kích
hoạt, kết quả của hàm này là một giá trị gọi là mức độ kích hoạt của đơn vị
(unit's activation). Loại trừ khả năng đơn vị đó thuộc lớp ra, giá trị kích hoạt
được đưa vào một hay nhiều đơn vị khác. Các hàm kích hoạt thường bị ép vào
một khoảng giá trị xác định, do đó thường được gọi là các hàm bẹp
(squashing). Các hàm kích hoạt hay được sử dụng là:
1) Hàm đồng nhất (Linear function, Identity function ) g( x) = x
Nếu coi các đầu vào là một đơn vị thì chúng sẽ sử dụng hàm này. Đơi khi một
hằng số được nhân với net-input để tạo ra một hàm đồng nhất.

Số hóa bởi Trung tâm Học liệu

/>


g(x)
1
-1

1

0

-1
Hình 2.4: Hàm đồng nhất (Indentity function)
2) Hàm bước nhị phân (Binary step function, Hard limit function)
Hàm này cũng được biết đến với tên "Hàm ngưỡng" (Threshold function hay
Heaviside function). Đầu ra của hàm này được giới hạn vào một trong hai giá
trị:
g( x )

1 nÕu x
0 nÕu x <

Dạng hàm này được sử dụng trong các mạng chỉ có một lớp. Trong hình vẽ
sau, θ được chọn bằng 1.

g(x)
1

-2

-1

0


1

2

x

Hình 2.5: Hàm bước nhị phân (Binary step function)
3) Hàm sigmoid (Sigmoid function (logsig)) g ( x)

1
1 e

x

Hàm này đặc biệt thuận lợi khi sử dụng cho các mạng được huấn luyện
(trained) bởi thuật tốn Lan truyền ngược (back-propagation), bởi vì nó dễ lấy
đạo hàm, do đó có thể giảm đáng kể tính tốn trong q trình huấn luyện.
Hàm này được ứng dụng cho các chương trình ứng dụng mà các đầu ra mong
muốn rơi vào khoảng [0,1].

Số hóa bởi Trung tâm Học liệu

/>

g(x)
1
x
-6


-4

-2

0

2

4

6

Hình 2.6: Hàm Sigmoid
4) Hàm sigmoid lưỡng cực (Bipolar sigmoid function (tansig)

g ( x)

1 ex
1 ex

Hàm này có các thuộc tính tương tự hàm sigmoid. Nó làm việc tốt đối
với các ứng dụng có đầu ra yêu cầu trong khoảng [-1,1].
g(x)
1
-6

-4

-2


0

x
2

4

6

Hình 2.7: Hàm sigmoid lưỡng cực
Các hàm truyền của các đơn vị ẩn (hidden units) là cần thiết để biểu
diễn sự phi tuyến vào trong mạng. Lý do là hợp thành của các hàm đồng nhất
là một hàm đồng nhất. Mặc dù vậy nhưng nó mang tính chất phi tuyến (nghĩa
là, khả năng biểu diễn các hàm phi tuyến) làm cho các mạng nhiều tầng có
khả năng rất tốt trong biểu diễn các ánh xạ phi tuyến. Tuy nhiên, đối với luật
học lan truyền ngược, hàm phải khả vi (differentiable) và sẽ có ích nếu như
hàm được gắn trong một khoảng nào đó. Do vậy, hàm sigmoid là lựa chọn
thơng dụng nhất. Đối với các đơn vị đầu ra (output units), các hàm chuyển
cần được chọn sao cho phù hợp với sự phân phối của các giá trị đích mong
muốn. Chúng ta đã thấy rằng đối với các giá trịra trong khoảng [0,1], hàm
sigmoid là có ích; đối với các giá trị đích mong muốn là liên tục trong khoảng
đó thì hàm này cũng vẫn có ích, nó có thể cho ta các giá trị ra hay giá trị đích
được căn trong một khoảng của hàm kích hoạt đầu ra. Nhưng nếu các giá trị
đích khơng được biết trước khoảng xác định thì hàm hay được sửdụng nhất là
Số hóa bởi Trung tâm Học liệu

/>

hàm đồng nhất (identity function). Nếu giá trị mong muốn là dương nhưng
khơng biết cận trên thì nên sử dụng một hàm kích hoạt dạng mũ(exponential

output activation function). [4], [8]
2.2 Học và lan truyền trong mạng
2.2.1 Học và tổng quát hóa
Mạng nơron thực hiện hai chức năng quan trọng là học và tổng qt
hóa. Học là q trình hiệu chỉnh các tham số và các trọng số liên kết trong
mạng để tối thiểu hóa sai số với vectơ đầu vào cho trước. Quá trình học dừng
khi mạng thỏa mãn một tiêu chuẩn dừng nào đó, chẳng hạn khi các trọng số
của mạng tạo ra lỗi đủ nhỏ giữa đầu ra mong đợi và kết quả đầu ra tính được
từ mạng.
Tổng qt hóa là q trình đưa vào một vector đầu vào mới và sản sinh
ra quyết định dựa trên vector đầu ra tính được từ mạng.
Bài tốn học có thể được mô tả như sau: Cho tập mẫu (Xi, Yi) với Xi và Yi là
hai vector không gian của một hoặc nhiều chiều, cần xác định bộ trọng số W 0
trên không gian tham số để computer(Xi, W0) = Yi-.
Quá trình học được thực hiện qua hai bước: Xác định hàm giá trị trên các
tham số và tối thiểu hóa tham số trong không gian của các tham số.
Học chia thành hai loại: học tham số và học có cấu trúc.
Học tham số:
Là quá trình xác định một tập hợp tham số W0 là các trọng số tốt nhất
với một cấu trúc mạng cố định. Để làm được điều này cần xây dựng một hàm
giá dựa trên tập dữ liệu Ttrain và tập trọng số W. Hàm giá có thể là một hàm
khả vi bất kỳ có tính chất đạt đến cực tiểu khi các đầu ra Oi đúng bằng đầu ra
lý tưởng Yi của tập mẫu. Có thể xây dựng hàm giá dưới dạng Ln như sau:
E

1
p

( yi Oi ) p với 1 ≤ p ≤ ∞
i


Số hóa bởi Trung tâm Học liệu

/>

Với bộ tham số này, có thể áp dụng một giải thuật tìm kiếm nào đó trên
khơng gian Rm của tập trọng số. Nếu thu được kết quả tốt với một cực tiểu
tồn cục, ta sẽ có một bộ tham số tốt nhất cho mạng.
Học có cấu trúc:
Với học tham số ta giả định rằng mạng có một cấu trúc cố định. Việc
học cấu trúc của mạng truyền thẳng gắn với yêu cầu tìm ra số lớp của mạng L
và số nơron trên mỗi lớp ni. Tuy nhiên, với các mạng hồi quy còn phải xác
định thêm các tham số ngưỡng

của các nơron trong mạng. Một cách tổng

quát là phải xác định bộ tham số P =(L, n1, n2, …, nl,

1

, 2 , 3 ...

k

).

Các kỹ thuật học của mạng nơron chỉ ra cách chỉnh sửa các trọng số liên kết
mạng khi một mẫu học được đưa vào mạng. Sau đây sẽ trình bầy cụ thể về
các kỹ thuật học. [4]
Chức năng của một mạng nơron được quyết định bởi các nhân tố như:

hình trạng mạng (số lớp, số đơn vị trên mỗi lớp, và cách mà các lớp được liên
kết với nhau) và các trọng số của các liên kết bên trong mạng. Hình trạng của
mạng thường là cố định, và các trọng số được quyết định bởi một thuật tốn
huấn luyện (training algorithm). Tiến trình điều chỉnh các trọng số để mạng
“nhận biết” được quan hệ giữa đầu vào và đích mong muốn được gọi là học
(learning) hay huấn luyện (training).
2.2.1.1 Học có giám sát
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 các
bước sau:

Số hóa bởi Trung tâm Học liệu

/>

♦ B1: 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.
♦ B2: Đưa một vector x trong tập mẫu huấn luyện X vào mạng
♦ B3: Tính vector đầu ra o của mạng
♦ B4: 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.
♦ B5: 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.
♦ B6: 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 (apparent error), đá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 (test error), đánh giá
khả năng tổng quá hóa của một mạng đã được 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 tốn
lan truyền ngược.

Số hóa bởi Trung tâm Học liệu

/>

Hình 2.8: Sơ đồ học tham số có giám sát
2.2.1.2 Học tăng cường
Ta thấy trong kỹ thuật học có giám sát, các vecter đầu ra được biết một
cách chính xác, nhưng trong một số trường hợp có ít thơng tin, chẳng hạn chỉ
có thể nói là mạng sinh Output quá lớn hoặc chỉ đúng khoảng 40%. Khi đó
chỉ có một tín hiệu đánh giá là “True” hoặc “False”quay lại mạng, các thủ tục
học đó gọi là thủ tục học tăng cường.

Hình 2.9: Sơ đồ học tăng cường
2.2.1.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 , x ,
1

2


..., x )}, với (x , x , ..., x ) là vector đặc trưng của mẫu huấn luyện. Nhiệm vụ
N

1

2

N

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.

Số hóa bởi Trung tâm Học liệu

/>

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.

Hình 2.10 Sơ đồ học không giám sát
Như vậy, giải thuật học là giải thuật xuất phát từ một tập mẫu, qua quá
trình huấn luyện để tìm ra bộ trọng số liên kết giữa các nơron, có thể mơ tả
tổng qt như sau:
Đầu vào: Một tập mẫu gồm n phần tử mẫu
Đầu ra: Cấu trúc mạng và bộ trọng số các liên kết nơron.
Giải thuật:
1. Khởi tạo trọng số của mạng, đặt i = 1;
2. Đưa mẫu i vào lớp vào của mạng;

3. Sử dụng thuật toán lan truyền, nhận được giá trị nút ra.
Nếu giá trị đầu ra của mạng đạt yêu cầu hoặc thỏa mãn
tiêu chuẩn dừng thì kết thúc.
4. Sửa đổi trọng số bằng luật học của mạng;
5. Nếu i = n thì i =1, nếu khơng thì tăng i lên 1: i:=i+1
Quay lại bước 2.
Có nhiều tiêu chuẩn dừng quá trình học, chảng hạn:
- Chuẩn lỗi E nhỏ hơn một ngưỡng cho trước: E <
- Các trọng số của mạng khơng thay đổi nhiều sau khi hiệu chỉnh:

Số hóa bởi Trung tâm Học liệu

/>

new
w ij

-

old
w ij

Việc lặp bị bão hòa, tức là số lần lặp vượt một ngưỡng N cho trước.

2.2.2 Lan truyền trong mạng:
Mạng nơron lan truyền thông tin từ lớp vào đến lớp ra. Khi việc lan
truyền kết thúc, thông tin tại lớp ra chính là kết quả của q trình lan truyền.
Giải thuật lan truyền được thể hiện như sau: [4],[6]
Đầu vào: Một tập tín hiệu vào
Đầu ra: Kết quả ra tương ứng với tập tín hiệu vào

Giải thuật:
1. Đưa tập tín hiệu vào vào lớp vào của mạng;
2. Tính mức tích cực của các nút trong mạng;
3.
3.1. Với mạng truyền thẳng: Nếu mức tích cực của nút ra đã biết thì
kết thúc.
3.2. Với mạng phản hồi: Nếu nức tích cực của nút ra bằng hoặc xấp xỉ
bằng hằng số thì kết thúc
Nếu khơng quay lại bước 2.[4], [8]
2.3 Hàm mục tiêu
Để huấn luyện một mạng và xem xét nó thực hiện tốt đến đâu, ta cần
xây dựng một hàm mục tiêu (hàm giá) để cung cấp cách thức đánh giá khả
năng hệ thống một cách không nhập nhằng. Việc chọn hàm mục tiêu là rất
quan trọng bởi vì hàm này thể hiện các mục tiêu đo được chính xác cái chúng
ta muốn không phải là dễ dàng. Một vài hàm cơ bản được sử dụng rộng rãi.
Một trong số chúng là hàm tổng bình phương lỗi (sum of spuares error
function),
Trong đó: E

1
NP

p

N

(t pi
p 1

y pi ) 2


i 1

Số hóa bởi Trung tâm Học liệu

/>

×