Luận văn, khóa luận, chuyên đề, tiểu luận, quản trị, khoa học, tự nhiên, kinh tế
Trang 1TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TPHCM
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ TRI THỨC
W X
NGUYỄN QUANG PHƯỚC - 0112193
NGHIÊN CỨU THUẬT TOÁN PHÂN LỚP
NHỊ PHÂN VÀ ỨNG DỤNG CHO BÀI TOÁN PROTEIN FOLDING
LUẬN VĂN CỬ NHÂN TIN HỌC
GIÁO VIÊN HƯỚNG DẪN Ths CHU TẤT BÍCH SAN
Niên khóa 2001 - 2005
Trang 2NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Tp HCM, ngày tháng năm 2005
ThS Chu Tất Bích San
Trang 3NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Tp HCM, ngày tháng năm 2005
TS Lê Hoài Bắc
Trang 4Em xin chân thành cám ơn Khoa Công Nghệ Thông Tin, Trường Đại học Khoa Học Tự Nhiên Tp HCM đã tạo điều kiện cho em thực hiện đề tài tốt nghiệp này
Em xin chân thành cám ơn quý thày cô trong Khoa Công Nghệ Thông Tin đã tận tình giảng dạy, truyền đạt cho em những kiến thức quý báu trong những năm học vừa qua
Sau cùng, em xin chân thành cảm ơn gia đình, những người thân và bạn
bè đã giúp đỡ, động viên em trong suốt thời gian học tập và làm luận văn này
Một lần nữa, xin chân thành cám ơn tất cả mọi người!
TpHCM, Tháng 7/2005 Sinh viên thực hiện
Nguyễn Quang Phước
Trang 5MỞ ĐẦU
Trong những năm gần đây, khai thác dữ liệu đã trở thành một trong những hướng nghiên cứu lớn nhất của lĩnh vực khoa học máy tính và công nghệ tri thức Khai thác dữ liệu đã và đang ứng dụng thành công vào nhiều lĩnh vực thương mại, tài chính, thị trường chứng khoáng, y học, thiên văn, môi trường, giáo dục, viễn thông và sinh học v.v
Khối lượng thông tin đã được xử lý và đã được sản sinh trong tất cả các lĩnh vực hoạt động của loài người đã và đang tăng lên đáng kể, chúng được lưu trữ trong các cơ sở dữ liệu tập trung hay phân tán Trong những kho dữ liệu này ẩn chứa một kho tàng tri thức quý báu, muốn lấy được kho báu này chúng ta phải có một công cụ đó là các phương pháp khai thác dữ liệu
Khai thác dữ liệu gồm nhiều hướng tiếp cận Các kỹ thuật chính được
áp dụng trong lĩnh vự này phần lớn được kế thừa từ các lĩnh vực cơ sở dữ liệu, máy học (machine learning), trí tuệ nhân tạo (artificial intelligence), lý thuyết thông tin (information theory), xác suất thống kê (probability & statistics), tính toán hiệu năng cao (high performance computing), và phương pháp tính toán mềm (soft computing methodologies) Các bài toán chủ yếu trong khai thác dữ liệu là khai thác chuỗi (text mining), khai thác web (web mining), khai thác chuỗi (sequence mining), khai thác luật kết hợp (association rules mining), lý thuyết tập thô (rough set theory), gom cụm (clustering), phân lớp (classification)… Trong đó phân lớp là một trong các nội dung quan trọng của khai thác dữ liệu và đây là một lĩnh vực nghiên cứu có nhiều triển vọng với nhiều khả năng ứng dụng thực tế Luận văn này được xây dựng dựa trên ý tưởng cho một thuật toán giảm thiểu sự phân lớp quá khớp (overfitting) và sự phân lớp quá khái quát (overgeneralization) của thầy Phạm Nguyễn Anh Huy
Trang 6(2005) Sau đó, áp dụng thuật toán này cho bài toán protein folding, đây là một bài toán khám phá cấu trúc 3D của protein Cấu trúc 3D của protein được hình thành từ cấu tạo các chuỗi amino axit, nó cung cấp những manh mối quan trọng về các chức năng của từng protein Vì vậy, bài toán protein folding
là một bài toán lớn và quan trọng trong ngành sinh học Phần này sẽ được trình bày kỹ hơn trong nội dung luận văn
Luận văn sẽ bao gồm các phần chính như sau:
Chương 1: Giới thiệu tổng quan về bài toán phân lớp (classification)
và protein folding Chương này sẽ giới thiệu các khái niệm về phân lớp, các bước để giải quyết một bài toán phân lớp và trình bày vấn đề quá khớp(overfitting) và quá khái quát (overgeneralization) trong bài toán phân lớp Đồng thời giới thiệu bài toán protein folding
Chương 2 : Trình bày một số thuật toán phân lớp phổ biến hiện nay
như cây quyết định (decision trees), mạng Bayesian, mạng neural và thuật toán Support Vector Machine (SVM)
Chương 3 : Trình bày chi tiết thuật toán phân lớp kết hợp giữa phân
lớp quá khớp với phân lớp quá khái quát của thầy Phạm Nguyễn Anh Huy
Chương 4 : Áp dụng bài toán phân lớp cho Protein folding và đánh giá
kết quả được, so sánh kết quả đạt được so với các thuật toán phân lớp khác
Trang 7MỤC LỤC
DANH SÁCH CÁC BẢNG i
DANH SÁCH CÁC HÌNH iii
CHƯƠNG 1:TỔNG QUAN BÀI TOÁN PHÂN LỚPVÀ PROTEIN FOLDING 1
1.1 BÀI TOÁN PHÂN LỚP (CLASSIFICATION) 2
1.1.1 Giới thiệu 2
1.1.2 Các bước chính để giải quyết bài toán phân lớp 3
1.2 OVERFITTING VÀ OVERGENERALIZATION TRONG BÀI TOÁN PHÂN LỚP 6
1.3 PROTEIN FOLDING 7
CHƯƠNG 2: MỘT SỐ THUẬT TOÁN PHÂN LỚP PHỔ BIẾN 9
2.1 CÂY QUYẾT ĐỊNH (DECISION TREES) 10
2.1.1 Định nghĩa và thuật toán tạo cây quyết định 10
2.1.2 Độ đo Entropy 13
2.1.3 Rút trích luật phân lớp từ cây quyết định đo Entropy … 14
2.2 MẠNG BAYESIAN 17
2.2.1 Lý thuyết Bayes 17
2.2.2.Thuật toán phân lớp Naive Bayes 18
2.2.3 Mạng Bayesian 20
2.2.4.Học (huấn luyện) trên mạng Bayesian 22
2.3 MẠNG NEURAL 24
2.3.1 Mạng lan truyền tiến đa tầng 24
2.3.2 Xây dựng cấu trúc mạng 25
Trang 82.3.3 Lan truyền ngược……… 26
2.4 SUPPORT VECTOR MACHINE (SVM) 31
2.4.1 Giới thiệu SVM 31
2.4.2 RBF Kernel 32
2.4.3 Tối ưu tham số 33
CHƯƠNG 3: THUẬT TOÁN PHÂN LỚP ĐIỀU CHỈNH SỰ QUÁ KHỚP VÀ QUÁ KHÁI QUÁT 36
3.1 GIỚI THIỆU 37
3.2 MỘT SỐ ĐỊNH NGHĨA 38
3.2.1 Homogenous Clauses 38
3.2.2 Mật độ của một Homogenous Clause 41
3.3 CHI TIẾT THUẬT TOÁN 41
3.3.1 Thuật toán chính 42
3.3.2 Các thuật toán hỗ trợ 46
3.3.2.1 Thuật toán tìm các Positive Clauses 46
3.3.2.2 Thuật toán tìm các Homogenous Clauses 48
3.3.2.3 Thuật toán mở rộng Homogenous Clause 50
3.3.2.4 Thuật toán gom các Homogenous Clauses 53
CHƯƠNG 4: CÀI ĐẶT THUẬT TOÁN VÀ ÁP DỤNG CHO BÀI TOÁN PROTEIN FOLDING 55
4.1 CÀI ĐẶT THUẬT TOÁN 56
4.1.1 Chương trình Demo trên không gian hai chiều 56
4.1.2 Cài đặt thuật toán trên không gian N chiều 64
4.1.2.1 Chuẩn bị dữ liệu 64
Trang 94.1.2.2 Giao diện và các chức năng của chương trình 65
4.2 KẾT QUẢ ĐẠT ĐƯỢC 69
4.2.1 Nguồn dữ liệu trên web site http://www.csie.ntu.edu.tw/~cjlin/papers/guide/data 69
4.2.2 Nguồn dữ liệu trên web site http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/binary 71
4.3 ÁP DỤNG PHÂN LỚP CHO BÀI TOÁN PROTEIN FOLDING 74
4.3.1 Bài toán Protein Folding 74
4.3.2 Mô tả cơ sở dữ liệu 76
4.3.3 Kết quả thực hiện 80
TỔNG KẾT 85
TÀI LIỆU THAM KHẢO 86
Trang 10DANH SÁCH CÁC HÌNH
Hình 1-1: Bước 1 - Học để xây dựng mô hình phân lớp 4
Hình 1-2: Bước 2 - Kiểm tra và đánh giá 5
Hình 1-3: Cấu trúc lớp hoàn toàn xoắn ốc (all- α) của protein 8
Hình 1-4: Cấu trúc lớp hoàn toàn hình sợi (all- β) của protein 8
Hình 2-1: Minh họa cây quyết định với việc phân lớp tế bào ung thư 10
Hình 2-2: Một ví dụ của mạng Bayesian 21
Hình 2-3: Mạng lan truyền hai tầng 25
Hình 2-4: Một neural trong tầng ẩn hoặc tầng xuất 28
Hình 2-5: Bộ phân lớp quá khít và bộ phân lớp tốt hơn 34
Hình 3-1: Minh họa định nghĩa Homogenous Clauses 39
Hình 3-2: Vùng A được thay thế bằng hai Homogenous Clauses A1 và A2 40
Hình 3-3: Một tập mẫu học hai chiều 43
Hình 3-4: Các Positive Clauses tìm được ở bước 1 43
Hình 3-5: Các Homogenous Clauses tìm được ở bước 2 44
Hình 3-6: Các Homogenous Clauses được mở rộng ở bước 3 45
Hình 3-7: Một ví dụ Positive Clauses với hai ngưỡng khoảng cách 48
Hình 3-8: Các Homogenous Clauses cho mỗi Positive Clauses 50
Hình 3-9: Các Homogenous Clauses sau khi được mở rộng 53
Trang 11Hình 3-10: Minh họa việc gom các Homogenous Clauses 54
Hình 4-1: Giao diện chương trình Demo 56
Hình 4-2: Giao diện chương trình sau khi nhập dữ liệu 60
Hình 4-3: Giao diện chương trình sau khi tìm các Positive Clauses 61
Hình 4-4: Giao diện chương trình sau khi tìm các Homogenous Clauses 62
Hình 4-5: Giao diện chương trình sau khi mở rộng Homogenous Clauses 63
Hình 4-6: Giao diện chương trình phân lớp cho dữ liệu N chiều 65
Hình 4-7: Giao diện chương trình sau khi đã học xong tập mẫu học 67
Hình 4-8: Giao diện chương trình sau khi đã kiểm tra và đánh giá xong tậpmẫu thử……….68
Hình 4-9: Biểu đồ so sánh kết quả ……….71
Hình 4-10: Các bậc cấu trúc khác nhau của phân tử protein………75
Hình 4-11: Biểu đồ so sánh kết quả phân lớp cấu trúc Protein 84
Bảng 4-12: Kết quả phân lớp protein của thuật toán SVM và NN 84
Trang 12DANH SÁCH CÁC BẢNG
Bảng 2-: Thuật toán phát sinh cây quyết định 12
Bảng 2-2 : Bảng ngẫu nhiên cho mỗi luật 15
Bảng 2-3 : Thuật giải lan truyền ngược 31
Bảng 3-1: Thuật toán chính 42
Bảng 3-2: Thuật toán tìm các Positive Clauses 47
Bảng 3-3: Thuật toán tìm các Homogenous Clauses cho mỗi Positive Clauses 49
Bảng 3-4: Thuật toán mở rộng Homogenous Clause C 52
Bảng 3-5: Thuật toán gom các Homogenous Clauses 54
Bảng 4-1: Ví dụ một tập mẫu hai chiều 59
Bảng 4-2: Mô tả các tập dữ liệu trên websitehttp://www.csie.ntu.edu.tw/~cjlin/papers/guide/data/ 69
Bảng 4-3: Kết quả phân lớp các tập dữ liệu trên websitehttp://www.csie.ntu.edu.tw/~cjlin/papers/guide/data/ 70
Bảng 4-4: Kết quả phân lớp theo thuật toán SVM của Cjlin 71
Bảng 4-5: Kết quả của quá trình học và dự đoán lớp cho tập dữ liệu trên website: http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/binary/ 74
Bảng 4-6: Kết quả phân lớp protein vào lớp all-α 81
Bảng 4-7: Kết quả phân lớp protein vào lớp all-β 81
Trang 13Bảng 4-8: Kết quả phân lớp protein vào lớp α /β .82 Bảng 4-9: Kết quả phân lớp protein vào lớp α +β .82 Bảng 4-10: Kết quả phân lớp protein của thuật toán phân lớp điều chỉnh tính quá khớp và quá khái quát dữ liệu 83
Trang 14TỔNG QUAN
CHƯƠNG 1:
TỔNG QUAN BÀI TOÁN PHÂN LỚP
VÀ PROTEIN FOLDING
Trang 15cả các đối tượng đã biết trước vào các lớp tương ứng, lúc này mỗi lớp được đặc trưng bởi tập các thuộc tính của các đối tượng chứa trong lớp đó Ví dụ: phân lớp tế bào để xác định tế bào ung thư, giả sử mỗi tế bào có ba thuộc tính
là màu sắc, đuôi và nhân, được biểu diễn tế bào(màu sắc, đuôi, nhân) và ta đã xếp được ba tế bào vào lớp “tế bào ung thư”, ba tế bào này có giá trị thuộc tính như sau: tế bào1(tối, 2, 2), tế bào2(tối, 2, 1), tế bào3 (tối, 3, 2) Khi xem xét một tế bào mới có thuộc tính (tối, 3, 1) ta có thể kết luận nó bị ung thư hay
không bằng cách xác định một lớp mà tế bào này thuộc về, nếu tế bào này
thuộc về lớp “tế bào ung thư” thì tế bào này có thể bị ung thư, ngược lại tế
bào này có thể không bị ung thư
Phân lớp còn được gọi là phân lớp có giám sát (supervised classification), là một trong những lĩnh vực phổ biến nhất của học máy (machine learning) và khai thác dữ liệu (data mining) Nó giải quyết việc xác định những quy tắc giữa số lượng biến số độc lập và kết quả đạt được hay một biến số xác định phụ thuộc trong tập dữ liệu được đưa ra Tổng quát, đưa ra một tập mẫu học (xi1, xi2, …., xik, yi), i=1,….,N, nhiệm vụ là phải ước lượng được một bộ phân lớp hay một mô hình xấp xỉ một hàm y = f(x) chưa biết mà phân lớp chính xác cho bất kỳ mẫu nào thuộc tập các mẫu học Có nhiều cách
để biểu diễn một mô hình phân lớp và có rất nhiều thuật toán giải quyết nó Các thuật toán phân lớp tiêu biểu bao gồm như mạng neural, cây quyết định,
Trang 16TỔNG QUAN
suy luận quy nạp, mạng Beyesian, Support Vector Machine… Tất cả các cách tiếp cập này xây dựng những mô hình đều có khả năng phân lớp cho một mẫu mới chưa biết dựa vào những mẫu tương tự đã được học
Bài toán phân lớp có thể xử lý thông tin được thu thập từ mọi lĩnh vực hoạt động của con người và thế giới tự nhiên được biểu diễn dưới dạng các bảng Bảng này bao gồm các đối tượng và các thuộc tính Các phần tử trong bảng là các giá trị xác định các thuộc tính (attributes hay features) của các đối tượng Trong đó số cột chính là số thuộc tính của các đối tượng, mỗi cột là một thuộc tính và số dòng chính là số đối tượng chứa trong dữ liệu này Mọi
dữ liệu được biểu diễn dưới các dạng khác có thể được chuyển thành dạng bảng như trên để thực hiện quá trình phân lớp Bài toán phân lớp gồm các bước như sau:
1.1.2 Các bước chính để giải quyết bài toán phân lớp
Phân lớp dữ liệu gồm hai bước xử lý chính:
Bước 1: Học (training), mục đích của bước này là xây dựng một mô
hình xác định một tập các lớp dữ liệu Mô hình này được xây dựng bằng cách phân tích các bộ dữ liệu của một cơ sở dữ liệu, mỗi bộ dữ liệu được xác định bởi giá trị của các thuộc tính Giả sử mỗi bộ dữ liệu đã thuộc về một trong các lớp đã đựơc định nghĩa trước, điều này được xác định bởi một trong các thuộc tính, gọi là thuộc tính phân lớp Trong ngữ cảnh của bài toán phân lớp, mỗi bộ
dữ liệu được xem như là một mẫu, một ví dụ, hay một đối tượng Những bộ
dữ liệu được phân tích để xây dựng mô hình phân lớp được lấy từ trong tập
dữ liệu học hay dữ liệu huấn luyện (training data set) Những bộ dữ liệu riêng
lẻ tạo thành tập dữ liệu huấn luyện còn gọi là những mẫu huấn luyện (training samples) và được chọn ngẫu nhiên từ một kho các mẫu Bước này được xem
Trang 17TỔNG QUAN
là học có giám sát, ngược lại với học có giám sát là học không có giám sát (unsupervised learing), tiêu biểu là bài toán gom cụm (clustering) trong đó các lớp mà các mẫu huấn luyện thuộc về là không biết trước và số lớp dữ liệu cũng không được biết trước
Hình 1-1: Bước 1 - Học để xây dựng mô hình phân lớp
Mô hình được đưa ra sau khi đã phân tích xong tập dữ liệu huấn luyện thường có dạng là những quy tắc phân lớp, cây quyết định hay các công thức
toán học Ví dụ, hình 1.1 có một cơ sở dữ liệu về thông tin khách hàng, một
mô hình phân lớp (hay luật phân lớp) được xây dựng sau quá trình học ở
bước 1 có thể xác định những khách hàng tin cậy và những khách hàng bình
thường của một cửa hàng Luật phân lớp này có thể được sử dụng để phân
Trang 18TỔNG QUAN
loại các mẫu dữ liệu liệu trong tương lai, cũng như nó cung cấp một tri thức hữu ích chứa trong cơ sở dữ liệu
Bước 2 : Kiểm tra và đánh giá, bước này sử dụng mô hình phân lớp đã
được xây dựng ở bước 1 vào việc phân lớp.
Hình 1-2: Bước 2 - Kiểm tra và đánh giá
Đầu tiên, đánh giá độ chính xác của mô hình hay bộ phân lớp này, bằng cách sử dụng một tập các mẫu đã được phân lớp để thử (test) gọi là bộ thử (test set) Những mẫu này được chọn ngẫu nhiên và độc lập với các mẫu đã
được học ở bước 1 gọi là mẫu thử (test sample) Độ chính xác của một mô
hình phân lớp dựa trên bộ thử là tỷ lệ những mẫu thử được phân lớp đúng bằng mô hình phân lớp đó Nghĩa là với mỗi mẫu thử, so sánh lớp đúng mà mẫu thử đó thuộc về với lớp mà mô hình phân lớp này dự đoán cho mẫu thử
đó Lưu ý, nếu độ chính xác của mô hình này dựa trên tập dữ liệu huấn luyện,
Trang 19TỔNG QUAN
thì mô hình này được đánh giá là tối ưu, nó phân lớp đúng hoàn toàn trên các mẫu đã được học, trong trường hợp này, mô hình hướng tới sự quá khít (overfitting) của dữ liệu Vì vậy phải sử dụng một bộ dữ liệu liệu thử Nếu độ chính xác của một mô hình được xem xét có thể chấp nhận được thì mô hình
đó được dùng để phân lớp cho các bộ dữ liệu hoặc các đối tượng trong tương
lai Ví dụ, mô hình phân lớp được xây dựng trong bước 1 bằng cách phân
tích dữ liệu của các khách hàng đã biết, được dùng để dự đoán sự “đánh giá”
các khách hàng mới trong tương lai ở hình 1-2
1.2 OVERFITTING VÀ OVERGENERALIZATION TRONG BÀI TOÁN PHÂN LỚP
Trong những năm gần đây, có rất nhiều thuật toán cải tiến cho bài toán phân lớp nhưng chưa có một thuật toán nào hay một hệ thống phân lớp nào có khả năng phân lớp chính xác tuyệt đối cho các mẫu hay các đối tượng mới (là những mẫu chưa được học) Độ chính xác của các thuật toán phân lớp chỉ đạt được ở một mức độ nhất định đối với tập mẫu thử Độ chính xác này có thể gần như tuyệt đối hay thấp phụ thuộc vào sự trùng hợp của tập mẫu thử với tập mẫu đã được học Gốc của vấn đề này là tính quá khớp (overfitting) và quá khái quát (overgeneralization) của các thuật toán phân lớp này Một số thuật toán đưa ra mô hình phân lớp rất phức tạp để có thể phân lớp chính xác cho các mẫu học nhưng không chắc rằng mô hình này có thể phân lớp chính xác cho các mẫu mới, đây chính là sự quá khớp Rõ hơn, thuật toán mang tính quá khớp dữ liệu nghĩa là mô hình của thuật toán này đưa ra phân lớp rất tốt cho những mẫu dữ liệu đã biết nhưng không thể phân lớp chính xác cho các mẫu dữ liệu mới chưa được biết trước Sự quá khái quát xuất hiện khi hệ thống sử dụng dữ liệu sẵn có và cố gắng phân tích cho số lượng lớn dữ liệu
Trang 20TỔNG QUAN
với các luật quá khái quát Cả hai vấn đề này có thể là nguyên nhân của độ chính xác phân lớp không tốt Đây là lĩnh vực nghiên cứu của các thuật toán thống kê, như mạng Neural cây quyết định, Support Vector Machine
1.3 PROTEIN FOLDING
Protein folding là bài toán tìm kiếm cấu trúc 3D cho một protein, cũng được gọi là trạng thái tự nhiên của nó Một cấu trúc 3D của một protein được tạo thành từ các chuỗi axit amin của nó, mỗi axit amin là một hợp chất hữu
cơ Có 20 loại axit amin khác nhau, được đặt tên là A, C, G, T,… và một protein được xem như là một chuỗi các axit amin (ví dụ : AGGTC….) Vì vậy, bài toán protein folding là tìm ra cách mà một chuỗi axit amin (cấu trúc 1D) này xoắn vào trạng thái tự nhiên (cấu trúc 3D) của nó Bài toán protein folding là một lĩnh vực nghiên cứu rộng từ cấu trúc 3D của protein sẽ cung cấp những manh mối quan trọng về chức năng của một protein, trong khi những chức năng này không thể tìm hiểu được nhanh chóng và dễ dàng qua các phương pháp thực nghiệm
Trong quá trình tìm kiếm cấu trúc 3D của protein phải dựa vào một bước là tìm cấu trúc 2D, đây là hình dạng bên trong chuỗi axit amin con của protein, những hình dạng này là một hình xoắn ốc (gọi là α-helix) hoặc một hình sợi (gọi là β-strand) Một protein được phân loại vào một trong bốn lớp cấu trúc, phụ thuộc vào thành phần cấu trúc phụ đó là : hoàn toàn xoắn ốc (gọi
là all-α), hoàn toàn hình sợi (gọi là all-β), α /β, α +β Hình dưới đây minh họa
hình dạng hai lớp cấu trúc all- α và all- β
Trang 21TỔNG QUAN
Hình 1-3 : Cấu trúc lớp hoàn toàn xoắn ốc (all- α) của protein
Hình 1-4 : Cấu trúc lớp hoàn toàn hình sợi (all- β) của protein
Trong đề tài này, phân lớp cấu trúc protein dựa vào sự tổng hợp các axit amin (Amino Acid Composition - ACC), ACC là một vector 20 chiều tương ứng với 20 loại axit amin khác nhau, vector này chỉ rõ tỷ lệ của mỗi loại axit amin trong sự tổng hợp của 20 loại axit amin khác nhau Mỗi protein
sẽ được sắp xếp vào một trong bốn lớp cấu trúc all-α, all-β, α /β, α +β
Trang 22MỘT SỐ THUẬT TOÁN PHÂN LỚP PHỔ BIẾN
CHƯƠNG 2
MỘT SỐ THUẬT TOÁN PHÂN LỚP PHỔ BIẾN
Trang 23MỘT SỐ THUẬT TOÁN PHÂN LỚP PHỔ BIẾN
2.1 CÂY QUYẾT ĐỊNH (DECISION TREES)
2.1.1 Định nghĩa và thuật toán tạo cây quyết định
Một cây quyết định là một cấu trúc cây, trong đó mỗi node trong biểu thị cho một phép phân nhánh tương ứng cho một thuộc tính, mỗi nhánh biểu thị cho một kết quả của một phép thử, các node lá biểu thị cho lớp hoặc các phân bố lớp Node trên cùng trong một cây được gọi là gốc Minh họa cho cây
quyết định, hình 2-1 lấy lại ví dụ phân lớp tế bào ung thư với node trong
được biểu diễn bằng hình chữ nhật, node lá được biểu diễn bằng hình ellipse
Hình 2-1 : Minh họa cây quyết định với việc phân lớp tế bào ung thư
Để phân lớp một mẫu chưa biết, những giá trị thuộc tính của mẫu đó được thử ngược lại trên cây quyết định Một đường dẫn từ gốc đến một node
lá là cơ sở cho việc dự đoán lớp của một mẫu Cây quyết định có thể dễ dàng chuyển đổi sang một tập các luật phân lớp
Trang 24MỘT SỐ THUẬT TOÁN PHÂN LỚP PHỔ BIẾN
Cơ sở toán học của cây quyết định là thuật toán tham lam (greedy algorithm), thuật toán này đã xây dựng cây quyết định đệ quy từ trên xuống dưới, theo phương pháp chia để trị Thuật toán phát sinh cây quyết định dựa vào dữ liệu học như sau:
Input : những mẫu học được biểu thị bằng những thuộc tính riêng biệt,
một tập các thuộc tính đặc trưng và danh sách các thuộc tính
Output : một cây quyết định
1) Khởi tạo một node N;
2) if tất cả các mẫu đều thuộc vào cùng một lớp C then 3) return node N, được xem là một node lá và đặt tên là lớp C; 4) if danh sách thuộc tính là rỗng then
5) return node N, là một node lá được đặt tên lớp là lớp chung nhất
trong các mẫu ; //đây là sự biểu quyết đa số 6) Chọn thuộc tính thử, là một thuộc tính trong danh sách thuộc tính mà
có độ đo cao nhất;
7) Đặt tên node N với tên của thuộc tính thử;
8) Với mỗi giá trị ai đã biết của thuộc tính thử 9) Tạo ra một nhánh từ node N cho điều kiện thuộc tính thử = ai ; 10) Đặt Si là một tập các mẫu lấy trong các mẫu ban đầu với thuộc
tính thử = ai;
11) if Si là rỗng then
Trang 25MỘT SỐ THUẬT TOÁN PHÂN LỚP PHỔ BIẾN
12) Tạo ra một node lá trên cây quyết định, được đặt tên lớp là
lớp chung nhất của hầu hết các mẫu ;
13) else thêm vào một node là cây kết quả của thuật toán tạo cây với
tham số đầu vào(Si, danh sách thuộc tính , thuộc tính thử) // một node cũng có cấu trúc cây
Bảng 2-1: Thuật toán phát sinh cây quyết định
Đây cũng là cách xây dựng cây quyết định của thuật toán nổi tiếng ID3 (Quinlan 1986), theo thuật toán này :
+ Cây khởi đầu là một node đơn biểu thị cho các mẫu học [bước 1)] + Nếu tất cả các mẫu đều thuộc cùng một lớp thì node này trở thành node lá và được đặt tên là tên của lớp các mẫu thuộc về [bước 2) và 3)]
+ Ngược lại, thuật toán sử dụng một độ đo Entropy hay còn gọi là độ
đo thông tin là một heuristic lựa chọn thuộc tính có khả năng phân chia cao nhất các mẫu vào các lớp khác nhau [bước 6)], độ đo này sẽ được trình bày trong phần 2.1.2 Thuộc tính này trở thành thuộc tính thử hay thuộc tính quyết định [bước7)] Trong thuật toán này tất cả các thuộc tính đều có giá trị rời rạc
+ Một nhánh được tạo ra cho mỗi giá trị đã biết của thuộc tính thử và các mẫu được phân chia tương ứng [bước 8) - 10)]
+ Thuật toán sử dụng quá trình đệ quy tương tự để hình thành nên cây quyết định cho các mẫu tại mỗi bước phân chia Mỗi lần, một thuộc tính xuất hiện tại mỗi node nó không cần xác định bất kỳ node con cháu nào [bước 13)]
+ Sự phân chia đệ quy chỉ dừng khi thỏa một trong các điều kiện sau:
Trang 26MỘT SỐ THUẬT TOÁN PHÂN LỚP PHỔ BIẾN
1 Tất cả các mẫu đã cho thuộc cùng một lớp [bước 2), 3)], hoặc
2 Không còn lại thuộc tính nào để các mẫu có thể phân chia được nữa [bước )] Trong trường hợp này, sử dụng sự biểu quyết đa
số [bước5)], kéo theo sự biến đổi node được đưa ra thành node lá và đạt tên là tên lớp chung nhất trong các mẫu, hoặc
3 Không còn mẫu nào trong nhánh mà có thuộc tính thử =ai [bước11)] Trong trường hợp này, một node lá được tạo ra với lớp chung nhất trong các mẫu [bước 12]
2.1.2 Độ đo Entropy
Độ đo thông tin được dùng để chọn thuộc tính thử tại mỗi node trong
cây Độ đo này được xem như là độ đo lựa chọn thuộc tính hay độ đo khả năng của sự phân chia Thuộc tính có độ đo thông tin cao nhất (hay sự giảm thiểu Entropy lớn nhất) được chọn là thuộc tính thử cho node hiện hành, thuộc tính này làm giảm thiểu những thông tin cần thiết để phân lớp cho các mẫu trong kết quả của những phần phân chia(gồm các mẫu có cùng giá trị thuộc tính thử) Đây là cách tiếp cận lý thuyết thông tin tối giản việc thử cần thiết
để phân lớp các đối tượng và đảm bảo một cây đơn giản được tạo thành
Cho S là một tập gồm s mẫu dữ liệu , giả sử có m lớp riêng biệt Ci, i=1…m, gọi si là số mẫu trong tập S mà thuộc lớp Ci, thông tin cần thiết để phân lớp các mẫu đã cho được xác định bởi công thức:
Trong đó, pi là tỷ lệ các mẫu thuộc lớp Ci , pi= si / s
Giả sử thuộc tính A có v giá trị {a1, a2 , , av}, thuộc tính A có thể chia tập S thành v tập con {S1, S2, …, Sv}, trong đó Sj gồm các mẫu trong tập S mà
Trang 27MỘT SỐ THUẬT TOÁN PHÂN LỚP PHỔ BIẾN
có giá trị thuộc tính A là ai Nếu A được chọn là thuộc tính thử (thuộc tính tốt nhất để phân chia) thì những tập con Si tương ứng với các nhánh được hình thành từ node chứa tập S Đặt sij số mẫu thuộc lớp Ci mà chứa trong tập con
Sj thì Entropy của thuộc tính A trong các tập con cho bởi công thức:
Gain(A) = I(s 1 ,s 2 , , s m ) – E(A) (2.3)
Thuật toán này xác định độ đo thông tin cho mỗi thuộc tính, thuộc tính
có độ đo thông tin cao nhất sẽ được chọn làm thuộc tính thử của tập S Node
A được tạo ra và đặt tên là tên thuộc tính, các nhánh được tạo ra cho mỗi giá trị của thuộc tính này và các mẫu được chia ra như đã trình bày
2.1.3 Rút trích luật phân lớp từ cây quyết định
Tri thức trên cây quyết định có thể được rút trích và biểu diễn thành
một dạng luật phân lớp IF - THEN Khi đã xây dựng được cây quyết định, ta
có thể dễ dàng chuyển cây quyết định này thành một tập các luật phân lớp
tương đương, một luật tương đương với một đường đi từ gốc đến node lá
Sau khi thu được một tập các luật phân lớp từ cây quyết định, cần phải tiến hành rút gọn các luật dư thừa nếu có Một phương pháp đơn giản sử dụng
Trang 28MỘT SỐ THUẬT TOÁN PHÂN LỚP PHỔ BIẾN
các phép thử thống kê để loại bỏ các luật không cần thiết, phương pháp này bao gồm các bước như sau:
1) Loại bỏ các tiền đề không cần thiết để đơn giản hóa các luật + Xây dựng một bảng ngẫu nhiên cho mỗi luật có chứa nhiều hơn
- R 1 và R 2 biểu diễn các trạng thái boolean của một tiền đề đối
với các kết luận C 1 và C 2 (C 2 là phủ định của C 1 ).
- x 1 , x 2 , x 3 , x 4 biểu diễn tần xuất của từng cặp tiền đề - kết luận
- R 1T , R 2T , C 1T , C 2T là tổng biên của các dòng và các cột
- T là tổng tất cả các tần xuất của bảng
+ Kiểm chứng sự độc lập của kết quả đối với một tiền đề bằng một trong các phép thử sau:
- Phép thử “Khi bình phương” nếu tần xuất mong đợi >10
- Phép thử “Yates” nếu tần xuất mong đợi thuộc [5,10]
- Phép thử “Fisher” nếu tần xuất mong đợi <5
Chi tiết phương pháp kiểm sự độc lập, cho một bảng ngẫu nhiên gồm r dòng và cột:
Trang 29MỘT SỐ THUẬT TOÁN PHÂN LỚP PHỔ BIẾN
2
χ
Giả sử mức ý nghĩa α =0.05 Nếu > thì giữ lại tiền đề này vì kết luận phụ thuộc vào nó
2
0χ
Nếu χ 2 ≤ thì loại bỏ tiền đề này vì kết luận không phụ thuộc vào nó
2 0χ
2) Loại bỏ các luật không cần thiết để rút gọn tập luật
Trang 30MỘT SỐ THUẬT TOÁN PHÂN LỚP PHỔ BIẾN
2.2 MẠNG BAYESIAN
Bayesian là phương pháp phân lớp dựa vào thống kê Ta có thể dự đoán xác suất của các lớp trong tập dữ liệu, dựa vào xác suất này có thể xếp các mẫu vào các lớp riêng biệt Thuật toán phân lớp Bayesian giả thiết rằng giá trị các thuộc tính của một lớp độc lập với giá trị của các thuộc tính khác, giả thiết này còn được gọi là lớp độc lập có điều kiện, nó làm đơn giản các tính toán sau này Mạng Bayesian là một đồ thị, trên đồ thị cho phép biểu diễn mối quan hệ giữa các thuộc tính
2.2.1 Lý thuyết Bayes
Cho X là một mẫu dữ liệu chưa được phân lớp, gọi H là các giả thiết nào đó sao cho mẫu X thuộc về một lớp xác định C Vấn đề phân lớp là xác định P(H|X), là xác suất giả thiết H được chọn với mẫu dữ liệu X cho trước
P(H|X) gọi là xác suất đến sau hay xác suất hậu nghiệm, đây là xác suất cần tính vì nó thể hiện độ tin cậy hay khả năng đối với phân lớp tương ứng với giả thiết H sau khi có mẫu dữ liệu X Trái lại, P(H) gọi là xác suất đến trước hay xác suất tiên nghiệm, là xác suất giả thiết H đúng, trước khi có tập các mẫu dữ liệu Có thể thấy rằng, xác suất hậu nghiệm P(H|X) phản ánh sự ảnh hưởng của mẫu dữ liệu X lên giả thiết H Ví dụ có tập dữ liệu về trái cây với các thuộc tính là màu sắc và hình dạng, nếu X là một mẫu có màu đỏ, hình tròn và H là giả thiết X là trái cà chua thì P(H|X) là xác suất X là trái cà chua khi biết X có các thuộc tính màu đỏ và hình tròn Còn P(H) là xác suất xuất hiện trái cà chua, không quan tâm đến mẫu X
Tương tự, P(X|H) cũng là xác suất hậu nghiệm, cho biết khả năng mẫu
dữ liệu X thuộc về phân lớp của giả thiết H Với ví dụ trên P(X|H) là xác suất
X có màu đỏ và hình tròn khi biết X là trái cà chua P(X) được tính theo công
Trang 31MỘT SỐ THUẬT TOÁN PHÂN LỚP PHỔ BIẾN
thức xác suất đầy đủ, là xác suất mà mẫu X xảy ra, không cần biết thuộc về phân lớp nào P(X|H) được xem là xác suất tiên nghiệm vì phải xác định trước Trong ví dụ P(X) là xác suất một mẫu X lấy từ trong tập dữ liệu có màu
đỏ và hình tròn
Các xác suất P(X), P(H) và P(X|H) có thể ước lượng dựa vào thống kê tập dữ liệu Lý thuyết Bayes ra công thức tính xác suất P(H|X) như sau:
)(
)
|()()
|(
X P
H X P H P X H
2.2.2.Thuật toán phân lớp Naive Bayes
Một ứng dụng mang tính thực tiễn của lý thuyết Bayes là thuật toán phân lớp Naive Bayes Bộ phân lớp Naive Bayes hoạt động theo các bước sau:
1) Mỗi mẫu dữ liệu được biểu diễn bằng một vector đặc trưng n chiều, X=(x1, x2, …, xn) tương ứng với n giá trị của n thuộc tính A1, A2, …, An
2) Giả sử có m lớp C1, C2, …, Cm , lấy một mẫu dữ liệu X chưa biết thuộc lớp nào Thuật toán phân lớp sẽ dự đoán X thuộc về lớp có xác suất hậu nghiệm cao nhất với điều kiện biết trước X Đó là bộ phân lớp Naive Bayes xếp một mẫu X vào lớp Ci nếu và chỉ nếu :
P(Ci|X) > P(Cj|X) với i≠j và 1≤ i , j ≤ m Như vậy, P(Ci|X) là cực đại, theo công thứ Bayes thì:
)(
)
|()()
|(
X P
C X P C P X C
P i = i i3) P(X) là không đổi với tất cả các lớp, vì vậy muốn P(Ci|X) cực đại thì P(X|Ci) và P(Ci) cực đại Nếu xác suất P(Ci) không biết thì thường cho xác
Trang 32MỘT SỐ THUẬT TỐN PHÂN LỚP PHỔ BIẾN
suất xuất hiện các lớp là như nhau P(C1) = P(C2)= … = P(Cm) và vì vậy P(X|Ci) là cực đại Ngược lại xác suất P(Ci) đã biết trước thì cực đại P(X|Ci)P(Ci) Xác suất P(C1) được ước lượng bằng cơng thức P(C1) =
S
S i , trong đĩ Si là số mẫu trong tập dữ liệu học thuộc về lớp Ci, S là tổng số mẫu học
4) Cho các tập dữ liệu với nhiều thuộc tính, thì rất tốn kém để tính P(X|Ci), để giảm tốn kém này, thuật tốn phân lớp Nạve Bayes đưa ra giả định “lớp độc lập cĩ điều kiện” Nĩ cho rằng giá trị của các thuộc tính độc lập
cĩ điều kiện với nhau, khơng cĩ sự phụ thuộc liên hệ giữa các thuộc tính, vì vậy :
Các xác suất P(x1|Ci), P(x2|Ci), …, P(xk|Ci) được ước lượng dựa vào tập dữ liệu học Trong đĩ:
a) Nếu Ak cĩ giá trị rời rạc, thì P(xk|Ci)=
i
ik
S
S , Sik là số mẫu trong tập dữ liệu học thuộc lớp Ci cĩ giá trị thuộc tính Ak bằng xk và Si tổng
C C k i
2 2 2
) (
2
1 )
, , ( )
|
σ π σ
Trang 33MỘT SỐ THUẬT TỐN PHÂN LỚP PHỔ BIẾN
Trong đĩ, g ( xk, µC i, σC i) là hàm mật độ Gaussian cho thuộc tính Ak, cịn µC i và σC i lần lượt là kỳ vọng và phương sai các giá trị của thuộc tính Ak của các mẫu học thuộc lớp Ci
5) Để phân lớp cho một mẫu X, P(X|Ci)P(Ci) được ước lượng cho mỗi lớp Ci Mẫu X được xếp vào lớp Ci nếu và chỉ nếu:
P(X|Ci)P(Ci) > P(X|Cj)P(Cj) với 1≤ j ≤ m, j i ≠Nĩi cách khác X được xếp vào lớp Ci nếu P(X|Ci)P(Ci) cực đại
2.2.3 Mạng Bayesian
Thuật tốn phân lớp Nạve Bayes đưa ra giả định “lớp độc lập cĩ điều kiện”, nghĩa là giá trị của các thuộc tính độc lập với nhau, giả định này làm đơn giản việc tính tốn Khi giả định này đúng thì bộ phân lớp Nạve Bayes
cĩ độ chính xác cao nhất so với các bộ phân lớp khác (cây quyết định, mạng neural,…) Tuy nhiên trong thực tế lại tồn tại sự phụ thuộc lẫn nhau của các giá trị Mạng Bayes chỉ rõ sự phân bố xác suất cĩ điều kiện, nĩ cho phép “lớp độc lập cĩ điều kiện” định nghĩa giữa các tập con của các giá trị Nĩ thiết lập một đồ thị biểu diễn các mối liên hệ của các giá trị
Mạng Bayesian được xác định bởi hai thành phần Thành phần thứ nhất
là một đồ thị cĩ hướng khơng chu trình, trong đĩ mỗi đỉnh biểu diễn cho một biến ngẫu nhiên và mỗi cung biểu diễn một sự phụ thuộc xác suất Nếu một cung được vẽ từ đỉnh Y đến đỉnh Z, thì Y gọi là đỉnh cha hay đỉnh kề trước của Z, cịn Z gọi là đỉnh con của Y Trên đồ thị, mỗi biến khơng phụ thuộc vào điều kiện đỉnh con của nĩ, giá trị của các biến cĩ thể là rời rạc hoặc liên tục, nĩ tương ứng với các thuộc tính trong dữ liệu
Thành phần thứ hai định nghĩa một mạng Bayesian bao gồm một bảng xác suất cĩ điều kiện cho mỗi biến Bảng xác suất cĩ điều kiện cho một biến
Trang 34MỘT SỐ THUẬT TOÁN PHÂN LỚP PHỔ BIẾN
Z xác định rõ phân phối có điều kiện P(Z|Y), với Y là đỉnh cha của Z Một ví
dụ đơn giản như sau:
Hình 2-2: Một ví dụ của mạng Bayesian
Xác suất chung của bất kỳ bộ dữ liệu (z1, …, zn) tương ứng với các biến hay các thuộc tính Z1, …, Zn được tính bởi công thức:
Trang 35MỘT SỐ THUẬT TOÁN PHÂN LỚP PHỔ BIẾN
2.2.4 Học (huấn luyện) trên mạng Bayesian
Trong việc học hay huấn luyện trên mạng Bayes, một số trường hợp có khả năng học Cấu trúc của mạng có thể được cho trước hoặc được suy luận
từ dữ liệu Các biến trong mạng có thể thấy hoặc ẩn trong toàn bộ hoặc trong một số mẫu học Trường hợp dữ liệu ẩn được xem như là hay dữ liệu không đầy đủ
Nếu như cấu trúc mạng được biết trước và các biến nhìn thấy thì việc học trên mạng là tường minh Nó bao gồm việc tính toán các giá trị trong bảng xác suất có điều kiện của các biến tương tự như việc tính các xác suất trong thuật toán Beyesian (mục 2.2.2)
Khi cấu trúc mạng được cho trước và một số giá trị bị ẩn thì phương pháp Gradient được sử dụng để huấn luyện mạng Bayesian Một đối tượng học những giá trị của bảng xác suất có điều kiện Cho S là một tập gồm s mẫu học X1,…,Xs gọi wijk là một giá trị trong bảng xác suất có điều kiện của biến
Yi bằng yij có đỉnh cha là Ui =uik Wijk được xem như trọng số, trọng số này
Trang 36MỘT SỐ THUẬT TOÁN PHÂN LỚP PHỔ BIẾN
được khởi tạo bằng giá trị xác suất ngẫu nhiên Phương pháp giảm Gradient thực hiện bằng thuật toán leo đồi tham lam (greedy hill-climbing), tại mỗi bước lặp, trong số được cập nhật và cuối cùng tiến một giải pháp tối ưu cục
bộ Mục đích của phương pháp này là làm cực đại xác suất P(S|H), điều này được thực hiện bằng gradient của lnP(S|H) đã làm cho vấn đề trở nên đơn giản hơn Với cấu trúc mạng cho trước và giá trị wijk được khởi tạo, giải thuật như sau:
1) Tính gradients: với mỗi i, j, k tính :
X u U yi Y P w
H S P
1
)
| ,
( )
| ( ln
Xác suất P ( Yi = yij, Ui = uik| Xd)được tính cho mỗi mẫu học Xd lấy trong tập S Khi các biến được biểu diễn bằng Yi và Ui là ẩn với một số mẫu
Xd thì xác suất tương ứng P ( Yi= yij, Ui = uik| Xd)có thể được tính từ những biến dễ dàng thấy của mẫu dữ liệu, sử dụng thuật giải suy diễn trên mạng Bayesian
2) Cập nhật trọng số trong giải thuật giảm gradient: các trọng số
được cập nhật bởi công thức:
ijk ijk
ijk
w
H S P l
w w
∂
∂+
Trang 37MỘT SỐ THUẬT TOÁN PHÂN LỚP PHỔ BIẾN
i, k Những tiêu chuẩn này đạt được bằng cách trung bình hóa trọng số sau khi cập nhật trọng số ở bước trên
2.3 MẠNG NEURAL
Mạng neural ban đầu được đề cập bởi các nhà tâm lý học và sinh học,
họ đã cố gắng phát triển và mô phỏng mạng neural vào máy tính Mạng neural
là một tập hợp các biến nhập /xuất liên kết với nhau, mỗi liên kết được kết hợp với một trọng số Một thuật giải học mạng neural phổ biến là giải thuật lan truyền ngược Trong quá trình học và phân tích, mạng học bằng cách điều chỉnh trọng số để có thể dự đoán được lớp cho các mẫu đầu vào Lợi thế của mạng neural là nó có thể chấp nhận được dữ liệu có độ nhiễu cao và có thể phân lớp cho các mẫu chưa được học Ngoài ra, một số giải thuật đã và đang được phát triển để rút trích những luật trong mạng neural, vì vậy mạng neural được ứng dụng trong phân lớp khai thác dữ liệu
2.3.1 Mạng lan truyền tiến đa tầng
Thuật giải lan truyền ngược trước tiên thực hiện việc học trên mạng lan truyền tiến đa tầng Ví dụ mạng lan truyền tiến hai tầng ở hình 2-3, các biến nhập tương ứng với các thuộc tính của mỗi mẫu học Các biến nhập được chuyển đồng thời vào một tầng tạo thành tầng nhập, trọng số đầu ra của các biến này được chuyển đồng thời vào tầng thứ hai giống như những neural, gọi
là tầng ẩn Trọng số đầu ra của tầng ẩn này có thể là đầu vào của một tầng ẩn khác và cứ tiếp tục như vậy Số tầng ẩn là bất kỳ, tuy nhiên trong thực tiễn, thường chỉ sử dụng một tầng ẩn Trọng số đầu ra của tầng ẩn cuối cùng là đầu vào của tầng xuất, tầng này đưa ra sự dự đoán các mẫu cho trước Các đơn vị (neural) trong các tầng ẩn được xem như các đơn vị đầu ra, mạng đa tầng ở
Trang 38MỘT SỐ THUẬT TOÁN PHÂN LỚP PHỔ BIẾN
hình 2-3 có hai tầng chứa các đơn vị đầu ra vì vậy gọi nó là mạng hai tầng, tương tự mạng chứa hai tầng ẩn gọi là mạng ba tầng, v.v…Gọi là mạng lan truyền tiến vì trong mạng không có trọng số của một đơn vị nào quay lại làm đầu vào hay đầu ra của một tầng trước
Hình 2-3: Mạng lan truyền hai tầng
Mạng đa tầng lan truyền tiến là một hàm tuyến tính, các đơn vị ẩn được đưa ra đủ để ước lượng một hàm bất kỳ
2.3.2 Xây dựng cấu trúc mạng
Trước khi bắt đầu học (huấn luyện) mạng, người dùng phải quyết định cấu trúc mạng bằng việc chỉ rõ số lượng biến đầu vào của tầng nhập, số lượng tầng ẩn (có thể hơn một), số lượng neural (đơn vị) trong mỗi tầng ẩn và số lượng neural trong tầng xuất
Việc chuẩn hóa giá trị biến đầu vào cho mỗi giá trị thuộc tính trong tập mẫu học sẽ làm tăng tốc độ học và phân tích Điển hình, giá trị biến đầu vào được chuẩn hóa sao cho rơi trong khoảng [0… 1.0] Những thuộc tính có giá trị rời rạc có thể được mã hóa sao cho chỉ có một đơn vị đầu vào cho mỗi vùng giá trị Ví dụ, nếu vùng giá trị của thuộc tính A là {a0, a1, a2} thì chúng
Trang 39MỘT SỐ THUẬT TOÁN PHÂN LỚP PHỔ BIẾN
ta có thể cho ba đơn vị đầu vào đại diện cho thuộc tính A, gọi I0, I1, I2 là các đơn vị đầu vào, mỗi đơn vị được khởi tạo bằng 0, nếu A = a0 thì I0=1, nếu A =
a1 thì I1=1, và tương tự như thế Một đơn vị đầu ra có thể đại diện cho hai lớp (giá trị bằng 0 đại diện cho một lớp, bằng 1 đại diện cho một lớp khác)
Không có quy tắc rõ ràng nào quy định số lượng tốt nhất các neural của tầng ẩn Xây dựng mạng là một sự thử nghiệm bởi quá trình xử lý sai số và
có thể ảnh hưởng đến độ chính xác của kết quả học trên mạng Giá trị khởi tạo của các trọng số có thể ảnh hưởng đến độ chính xác của kết quả Mỗi lần, mạng được học và kết quả của nó chưa thể chấp nhận được thì lặp lại quá trình học với một cấu trúc mạng khác hoặc khởi tạo các trọng số với giá trị khác
2.3.3 Lan truyền ngược
Lan truyền ngược là quá trình xử lý tập các mẫu học được lặp đi lặp lại nhiều lần, mỗi bước lặp so sánh các lớp mà mạng neural dự đoán cho mỗi mẫu với các lớp chính xác của các mẫu Với mỗi mẫu học, các trọng số được điều chỉnh sao cho cực tiểu sai số trung bình-bình phương(phương sai) của lớp được dự đoán và lớp thực sự Sự điều chỉnh các trọng số này được thực hiện ở bước quay ngược lại tức là bước từ tầng xuất quay ngược qua các tầng
ẩn đến tầng ẩn đầu tiên Mặc dù không chắc chắn nhưng hầu hết các trọng số đều hội tụ về một giá trị và quá trình học hết thúc Thuật toán lan truyền ngược gồm các bước như sau:
Khởi tạo các trọng số: Các trọng số trong mạng được khởi tạo giá trị
ngẫu nhiên trong khoảng từ -1.0 đến 1.0 hoặc từ -0.5 đến 0.5 Mỗi neural được kết hợp với một định hướng (bias), giá trị định hướng này được khởi tạo giống như các trọng số
Trang 40MỘT SỐ THUẬT TOÁN PHÂN LỚP PHỔ BIẾN
Với mỗi mẫu học X được xử lý theo các bước sau:
Lan truyền tiến các đầu vào: trong bước này, mạng đầu vào và đầu ra
của mỗi neural trong tầng ẩn và tầng xuất được tính toán Đầu tiên mẫu học được đưa vào tầng nhập của mạng Mạng đầu vào cho mỗi neural trong các tầng ẩn và tầng xuất được tính toán như là một ánh xạ của các biến đầu vào (hình 2-4) Đầu vào của một neural là đầu ra của những neral ở tầng trước nối đến nó Để tính toán mạng đầu vào của neural thì mỗi đầu vào của nó được cộng dồn bởi trọng số tương ứng Cho một neural j ở trong tầng ẩn hay tầng xuất thì mạng đầu vào Ij của j là :
=
i
j i ij
Trong đó wij là trọng số của liên kết từ neural i ở tấng trước đến neural
j, Oi là đầu ra của neural i từ tầng trước vàθ j là định hướng của neural Sự định hướng này có tác dụng như là một ngưỡng, nó làm thay đổi cách hoạt động của neural
Mỗi neural ở trong tầng ẩn hay tầng xuất có một mạng đầu vào của nó
và áp dụng một hàm kích hoạt đến nó (hình 2-4), hàm này là hàm logistic hoặc hàm simoid Cho mạng đầu vào Ij của neural j thì đầu ra Oj của neural j được tính như sau:
j
I j
e
O
+
=11
Hàm này được xem như là một hàm nén (squashing), vì nó ánh xạ một miền đầu vào rộng lớn lên một vùng nhỏ hơn trong khoảng từ 0 đến 1 Hàm logistic là một hàm không tuyến tính (phi tuyến) và có khả năng phân loại, cho phép thuật giải lan truyền ngược mô hình theo bài toán phân lớp là tuyến tính liên tục