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

NGHIÊN cứu THUẬT TOÁN PHÂN LỚPNHỊ PHÂN và ỨNG DỤNG CHOBÀI TOÁN PROTEIN FOLDING”

99 399 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề 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
Tác giả Nguyễn Quang Phước
Người hướng dẫn ThS. Chu Tất Bích San
Trường học Trường Đại Học Khoa Học Tự Nhiên TPHCM
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận Văn Cử Nhân
Năm xuất bản 2005
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 99
Dung lượng 1,46 MB

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

Nội dung

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 1

TRƯỜ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 2

NHẬ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 3

NHẬ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 4

Em 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 5

MỞ ĐẦ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 7

MỤ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 8

2.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 9

4.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 10

DANH 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 11

Hì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 12

DANH 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 13

Bả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 14

TỔNG QUAN

CHƯƠNG 1:

TỔNG QUAN BÀI TOÁN PHÂN LỚP

VÀ PROTEIN FOLDING

Trang 15

cả 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 16

TỔ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 17

TỔ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 18

TỔ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 19

TỔ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 20

TỔ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 21

TỔ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 22

MỘ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 23

MỘ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 24

MỘ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 25

MỘ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 26

MỘ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 27

MỘ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 28

MỘ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 29

MỘ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

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 30

MỘ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 31

MỘ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 32

MỘ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 33

MỘ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 34

MỘ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 35

MỘ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 36

MỘ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 37

MỘ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 38

MỘ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 39

MỘ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 40

MỘ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

Ngày đăng: 04/08/2013, 15:41

HÌNH ẢNH LIÊN QUAN

Hình 1-1: Bước 1 - Học để xây dựng mô hình phân lớp - NGHIÊN cứu THUẬT TOÁN PHÂN LỚPNHỊ PHÂN và ỨNG DỤNG CHOBÀI TOÁN PROTEIN FOLDING”
Hình 1 1: Bước 1 - Học để xây dựng mô hình phân lớp (Trang 17)
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ư - NGHIÊN cứu THUẬT TOÁN PHÂN LỚPNHỊ PHÂN và ỨNG DỤNG CHOBÀI TOÁN PROTEIN FOLDING”
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ư (Trang 23)
Hình 2-2: Một ví dụ của mạng Bayesian - NGHIÊN cứu THUẬT TOÁN PHÂN LỚPNHỊ PHÂN và ỨNG DỤNG CHOBÀI TOÁN PROTEIN FOLDING”
Hình 2 2: Một ví dụ của mạng Bayesian (Trang 34)
Hình 2-4 : Một neural trong tầng ẩn hoặc tầng xuất - NGHIÊN cứu THUẬT TOÁN PHÂN LỚPNHỊ PHÂN và ỨNG DỤNG CHOBÀI TOÁN PROTEIN FOLDING”
Hình 2 4 : Một neural trong tầng ẩn hoặc tầng xuất (Trang 41)
Hình 3-4 : Các Positive Clauses tìm được ở bước 1 - NGHIÊN cứu THUẬT TOÁN PHÂN LỚPNHỊ PHÂN và ỨNG DỤNG CHOBÀI TOÁN PROTEIN FOLDING”
Hình 3 4 : Các Positive Clauses tìm được ở bước 1 (Trang 56)
Bảng 3-2:  Thuật toán tìm các Positive Clauses Thuật toán chính - NGHIÊN cứu THUẬT TOÁN PHÂN LỚPNHỊ PHÂN và ỨNG DỤNG CHOBÀI TOÁN PROTEIN FOLDING”
Bảng 3 2: Thuật toán tìm các Positive Clauses Thuật toán chính (Trang 60)
Hình 3-9: Các Homogenous Clauses sau khi được mở rộng - NGHIÊN cứu THUẬT TOÁN PHÂN LỚPNHỊ PHÂN và ỨNG DỤNG CHOBÀI TOÁN PROTEIN FOLDING”
Hình 3 9: Các Homogenous Clauses sau khi được mở rộng (Trang 66)
Bảng 3-5: Thuật toán gom các Homogenous Clauses - NGHIÊN cứu THUẬT TOÁN PHÂN LỚPNHỊ PHÂN và ỨNG DỤNG CHOBÀI TOÁN PROTEIN FOLDING”
Bảng 3 5: Thuật toán gom các Homogenous Clauses (Trang 67)
Hình 4-1: Giao diện chương trình Demo - NGHIÊN cứu THUẬT TOÁN PHÂN LỚPNHỊ PHÂN và ỨNG DỤNG CHOBÀI TOÁN PROTEIN FOLDING”
Hình 4 1: Giao diện chương trình Demo (Trang 69)
Hình 4-2: Giao diện chương trình sau khi nhập dữ liệu - NGHIÊN cứu THUẬT TOÁN PHÂN LỚPNHỊ PHÂN và ỨNG DỤNG CHOBÀI TOÁN PROTEIN FOLDING”
Hình 4 2: Giao diện chương trình sau khi nhập dữ liệu (Trang 73)
Hình 4-3: Giao diện chương trình sau khi tìm các Positive Clauses - NGHIÊN cứu THUẬT TOÁN PHÂN LỚPNHỊ PHÂN và ỨNG DỤNG CHOBÀI TOÁN PROTEIN FOLDING”
Hình 4 3: Giao diện chương trình sau khi tìm các Positive Clauses (Trang 74)
Hình 4-8: Giao diện chương trình sau khi đã kiểm tra và đánh giá xong - NGHIÊN cứu THUẬT TOÁN PHÂN LỚPNHỊ PHÂN và ỨNG DỤNG CHOBÀI TOÁN PROTEIN FOLDING”
Hình 4 8: Giao diện chương trình sau khi đã kiểm tra và đánh giá xong (Trang 81)
Bảng 4-9: Kết quả phân lớp protein vào lớp α +β - NGHIÊN cứu THUẬT TOÁN PHÂN LỚPNHỊ PHÂN và ỨNG DỤNG CHOBÀI TOÁN PROTEIN FOLDING”
Bảng 4 9: Kết quả phân lớp protein vào lớp α +β (Trang 95)

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