Đề tài Hỗ trợ chẩn đoán tự động tổn thương xuất huyết-Tụ máu dựa vào ảnh ct não

Mục lục

Lời cảm ơn.1

Mở đầu.2

Mục lục.4

Danh mục hình ảnh.6

Danh mục bảng biểu.7

Bảng kí hiệu các chữviết tắt.8

Chương 1 : Giới thiệu – kiến thức tổng quan.9

1.1 Xác định vấn đềvà động cơthúc đẩy.9

1.2 Một sốkiến thức cơbản.10

1.2.1 Nguyên lý tạo hình:.10

1.2.2 Tạo hình.10

1.2.3 Trịsố đậm độ.11

1.2.4 Thay đổi đậm độ.12

1.2.5 Đặt cửa sổ(Window setting).13

1.2.6 Độdày lát cắt và khoảng cách lát cắt.13

1.2.7 Hình định vị.14

1.3 Hệthống.15

1.4 Tiêu chuẩn đánh giá độchính xác.18

1.4.1 Độnhạy (sensitivity).18

1.4.2 Độ đặc trưng (specificity).18

1.4.3 Tỉlệvùng bệnh được phân lớp đúng.18

1.4.4 Tỉlệvùng bình thường được phân lớp đúng.19

Chương 2 : Cơsởlý thuyết.20

2.1 Phân đoạn ảnh.20

2.2.1 Lọc ngưỡng.21

2.2.2 Phương pháp dựa vào biên.23

2.2.3 Phương pháp dựa trên vùng.24

2.2.4 Phương pháp thống kê và Bayes.26

2.2.5 Phương pháp mạng nơron và logic mờ.26

2.3 Làm mảnh biên.27

2.4 Biểu diễn đường biên.29

2.4.1 Biểu diễn bằng chain -code.29

2.4.2 Biểu diễn bằng dòng quét (scanline).31

2.5 Các đặc trưng mô tảvùng (đường kính, chu vi, diện tích ).32

2.5.1 Diện tích và chu vi.32

2.5.2 Khoảng cách xuyên tâm (radial distance).33

2.5.3 Chiều dài trục chính và phụ.34

2.6 Cây quyết định.35

2.6.1 Giới thiệu vềcây quyết định.35

2.6.2 Thuật toán ID3.38

2.7 Thông tin tương hỗ.43

4

2.8 Học dựa vào sựtrình diễn.44

Chương 3 : Xây dựng hệthống.46

3.1 Phân đoạn đơn giản.46

3.2 Học dựa vào sựtrình diễn.47

3.2.1 Hệthống học.47

3.2.2 Đặc trưng vùng.48

3.2.3 Phân lớp bằng thuật toán k-người láng giềng gần nhất.50

3.3 Dùng hệluật để định vịvùng tổn thương.51

3.3.1 Hệluật đơn giản.51

3.3.2 Hệluật phức tạp.54

Chương 4 : Chương trình cài đặt – kết quảthửnghiệm.57

4.1 Chương trình cài đặt.57

4.1.1 Công cụsửdụng.57

4.1.2 Cấu trúc dữliệu học.57

4.1.3 Chương trình.57

4.2 Đánh giá kết quả.60

4.2.1 Độhiệu quảcủa giai đoạn phân lớp.60

4.2.2 Đánh giá công việc.61

4.2.3 Hướng phát triển trong tương lai.62

Tài liệu tham khảo.63

Phụlục.65

A. Bệnh học.65

A.1 Tụmáu dưới màng cứng (Subdural Hematoma/SDH).65

A.2 Tụmáu ngoài màng cứng (Epidural Hematoma/EDH).66

A.3 Xuất huyết khoang dưới nhện (subarachnoid hemorrhage).68

A.4 Xuất huyết trong não thất (intraventricular hemorrhage).69

A.5 Tụmáu trong não (intracerebral hematoma).69

B. Dữliệu DICOM.71

B.1 Giới thiệu.71

B.2 Cấu trúc chung của tập tin DICOM.71

B.3 Một sốthông tin cần thiết khi xử ảnh DICOM.72

C. Giải phẫu CT đơn giản vùng trên lều.76

pdf84 trang | Chia sẻ: oanh_nt | Lượt xem: 1758 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Hỗ trợ chẩn đoán tự động tổn thương xuất huyết-Tụ máu dựa vào ảnh ct não, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
gưỡng như sau: khi một ảnh độ xám bao gồm nhiều vùng phân biệt, histogram của nó thường sẽ có nhiều đỉnh phân biệt nhau, mỗi đỉnh ứng với một vùng và giữa 2 đỉnh liền kề nhau thường là một “thung lũng” sâu. Đáy của thung lũng này có thể được chọn để làm ngưỡng phân biệt giữa 2 vùng kề nó. Xét ảnh có histogram như trong hình 2.1, trong đó ta kí hiệu f(x,y) là độ xám của điểm (x,y). Có thể hình dung (a) là ảnh gồm một đối tượng sáng trên nền tối, và do đó histogram sẽ bao gồm 2 đỉnh rõ rệt. Rõ ràng là ta có thể tách đối tượng ra khỏi nền bằng cách chọn một ngưỡng T sao cho chia cách được 2 đỉnh này. Khi đó, mọi điểm f(x,y) nhỏ hơn T sẽ được xem là nền, trong khi những điểm có độ xám lớn hơn T sẽ được cho là thuộc về đối tượng. Hình 2-1(b) cho ta một trường hợp phức tạp hơn: histogram gồm có 3 đỉnh (chẳng hạn như 2 đối tượng sáng trên một nền màu tối). Tương tự như trên, ta có thể chọn 2 ngưỡng T1 và T2 để phân biệt 2 đối tượng trên và nền. Mặc dù vậy, phương pháp đa ngưỡng này kém tin cậy hơn so với trường hợp đơn ngưỡng. Lí do là vì ta rất khó xác lập được nhiều ngưỡng sao cho chúng 21 có thể cô lập thật hiệu quả tất cả các vùng cần quan tâm, đặc biệt là khi số lượng các đỉnh trong histogram tương ứng khá nhiều. Hình 2-1: Ảnh độ xám với: (a) 1 ngưỡng phân đoạn và (b) 2 ngưỡng phân đoạn Về mặt hình thức, phép lọc ngưỡng có thể được xem như là một phép thử của hàm T có dạng: T = T[x, y, p(x,y), f(x,y)] trong đó f(x,y) là độ xám của điểm (x,y), p(x,y) tượng trưng cho một đặc điểm cục bộ nào đó của điểm (x,y), ví dụ như trung bình độ xám của 4 điểm xung quanh (x,y) (lân cận 4 của (x,y)). Kết quả của phép lọc ngưỡng là một ảnh g(x,y) thỏa: ⎩⎨ ⎧ ≤ >= Tyxfif Tyxfif yxg ),(0 ),(1 ),( trong đó 1 tượng trưng cho một giá trị độ xám nào đó mà ta muốn gán cho đối tượng, và 0 ứng với độ xám gán cho nền. Khi T chỉ phụ thuộc vào f(x,y), ta có ngưỡng toàn cục (hình 2-1 (a)). Nếu T phụ thuộc vào cả f(x,y) và p(x,y), ta có ngưỡng cục bộ. Thêm nữa, nếu T phụ thuộc vào tọa độ của x và y, ta có ngưỡng động. 22 2.2.2 Phương pháp dựa vào biên Phương pháp phân đoạn dựa vào biên giả định rằng tại các biên vùng sẽ xảy ra sự thay đổi đột ngột của độ xám. Nhiều phương pháp đã được đề xuất nhằm tìm ra các biên trong ảnh. Một trong những phương pháp quen thuộc nhất là sử dụng toán tử gradient (tương ứng với mặt nạ Sobel như trong hình 2-2), hoặc toán tử Laplace (tương ứng với mặt nạ trong hình 2-3). Hình 2-2: Mặt nạ Sobel Hình 2-3: Mặt nạ của toán tử Laplace Kĩ thuật phân đoạn dựa vào biên không cho được kết quả tốt như mong đợi, lý do là vì thao tác tìm biên thường liên quan đến các phép toán vi phân (như 2 toán tử Gradient và Laplace đã nói ở trên), vốn rất nhạy cảm đối với nhiễu. Như vậy, cách tiếp cận dựa trên đường biên không phải sự lựa chọn tốt cho bài toán phân đoạn ảnh. 23 2.2.3 Phương pháp dựa trên vùng Phương pháp phân đoạn dựa trên vùng sử dụng các thuật toán region- growing để thực hiện phân đoạn ảnh. Thuật toán region-growing bắt đầu từ một hoặc nhiều điểm hạt giống (seed point) và sau đó lan rộng ra bằng cách kết hợp với các điểm lân cận nó theo một tiêu chuẩn tương tự nào đó. Nếu các điểm liền kề nhau là tương tự so với điểm hạt giống, nó sẽ được đánh dấu thuộc về vùng có điểm hạt giống đó. Quá trình tiếp diễn cho đến khi mọi điểm ảnh đều được gán vào một vùng nào đó. Nhiều thuật toán đã được đề xuất cho cách tiếp cận này, trong đó có thể kể đến phương pháp của Chang và Li [3]. Phương pháp của hai ông có tên gọi là phân đoạn thích nghi nhanh. Thuật toán chia ảnh thành nhiều vùng nhỏ vốn có một điểm tương đồng nào đó.. Các vùng nhỏ này sẽ được kiểm tra theo tiêu chuẩn tương tự. Nếu tiêu chuẩn này thỏa, các vùng này sẽ được nối lại để hình thành vùng lớn hơn. Quá trình cứ tiếp tục cho đến khi không thể thực hiện được nữa. Rõ ràng trong hướng tiếp cận này, có thể thấy việc chọn lựa điểm hạt giống là rất quan trọng, và có thể được thực hiện thủ công hoặc tự động. Một ví dụ cho trường hợp chọn điểm hạt giống một cách tự động là dựa vào các đỉnh của histogram. Xét ví dụ minh họa sau (hình 2-4a: một ảnh kích thước 6*6, trong đó con số trong mỗi ô chỉ độ xám của ô đó. Với điểm hạt giống bắt đầu là điểm có tọa độ (3,3) cùng tiêu chí “trị tuyệt đối của độ xám 2 điểm kề nhau không vượt quá 3”. Đầu tiên, điểm hạt giống được đưa vào vùng. Tiếp theo đó, nó kiểm tra tất cả các điểm lân cận với điều kiện đã nêu, và đưa những điểm thỏa vào vùng (hình 2-4b). Những điểm vừa được bổ sung sẽ trở thành điểm hạt giống mới, và quá trình tiếp tục cho đến khi không còn có thêm điểm nào được thêm vào nữa (hình 2-4c). 24 (a) (b) 25 Hình 2-4: Ví dụ về thuật toán Region Growing (a) ảnh ban đầu, (b) sau khi qua bước lan vùng thứ 1, (c) kết quả cuối cùng 2.2.4 Phương pháp thống kê và Bayes Phương pháp thống kê và Bayes sử dụng “không gian đặc trưng” để phân đoạn ảnh. Phương pháp này chuyển thông tin điểm ảnh thành không gian đặc trưng và tiến hành phân đoạn bằng cách sử dụng các tính chất xác suất của chúng. Phương pháp xác suất thu hút nhiều quan tâm của các nhà nghiên cứu vì chúng cho phép thực hiện các phân tích toán học cho bài toán phân đoạn thay cho những phương pháp sử dụng heuristic đã trình bày phía trên. Khuyết điểm lớn nhất của cách tiếp cận dựa trên thống kê và Bayes là độ phức tạp tính toán của chúng khá lớn. Một khó khăn khác nữa là chúng đòi hỏi một mô hình ảnh ngẫu nhiên (stochastic image model) tốt, vốn rất khó đạt được. 2.2.5 Phương pháp mạng nơ ron và logic mờ Mọi hệ thống thị giác đều cần có tốc độ nhanh, mạnh mẽ, ít nhạy cảm với nhiễu cũng như những sai sót khác ở một mức độ hợp lí. Đó chính là 26 mục tiêu chính của phương pháp phân đoạn dùng mạng nơ ron và lý thuyết tập mờ. Nhiều nghiên cứu đã dùng mạng nơ ron vào công việc phân đoạn ảnh, chẳng hạn trong [4]. Ông đã sử dụng mạng nơ ron 3 lớp, trong đó số nút ở lớp nhập được xác định theo số đặc trưng được rút ra cho mỗi pixel, số nút xuất ứng với số phân vùng của ảnh. Mạng nơ ron nhiều lớp cũng đã được dùng để phân đoạn ảnh nhiễu. Các trọng số được cập nhật sao cho chúng có thể làm giảm được độ mờ của hệ thống. Như vậy, cách tiếp cận này nhằm mục đích kết hợp các ưu điểm của tập mờ (suy luận dựa trên tính không chính xác/không hoàn chỉnh của tri thức) và ưu điểm của mạng nơ ron. 2.3 Làm mảnh biên Làm mảnh biên là một bước quan trọng và cần thiết trong nhiều bài toán. Chẳng hạn, trong vấn đề mà ta đang xem xét, có một yêu cầu đặt ra là tìm ra đường biên (và chỉ cần đường biên mà thôi) của sọ để làm mốc và tạo thuận lợi cho việc định vị những vùng khác trong não. Nói chung, các thuật toán làm mảnh sẽ liên tục xóa những điểm ở biên trong vùng đang quan tâm theo 3 ràng buộc sau đây: i. Không xóa những điểm cuối. ii. Không làm mất tính liên tục của vùng. iii. Không làm vùng đang xét bị rỗng quá mức. Sau đây là một thuật toán quen thuộc dùng để làm mảnh. Không mất tính tổng quát, có thể giả sử rằng các điểm thuộc đối tượng đang xét có giá trị bằng 1 và các điểm nền có độ xám bằng 0. Ta gọi một điểm là điểm biên (contour point) nếu điểm đó có giá trị 1 và một trong 8 điểm lân cận của nó có giá trị bằng 0 (hình 2-4). Quá trình thực hiện gồm 2 bước, bước 1 như sau: (a) 6)(2 1 ≤≤ pN (b) S(p1) = 1 (c) p2 * p4 * p6 = 0 (d) p4 * p6 * p8 = 0 27 trong đó N(p1) là tổng số điểm lân cận khác 0 của p1: N(p1) = p2 + p3 + … + p8 + p9 Hình 2-5 :Lân cận 8 của điểm p1 Và S(p1) là số lần chuyển từ 0 sang 1 trong chuỗi (theo đúng thứ tự) p2, p3, …, p7, p8, p2. Ở bước 2, ta giữ nguyên 2 điều kiện (a) và (b), nhưng thay (c) và (d) bằng (c’) và (d’) sau: (c’) p2 * p4 * p8 = 0 (d’) p2 * p6 * p8 = 0 Bước 1 được áp dụng cho tất cả mọi điểm biên trong vùng đang xét. Nếu có ít nhất 1 trong 4 điều kiện (a) – (d) bị vi phạm, ta giữ nguyên giá trị điểm ảnh đó. Ngược lại, ta đánh dấu điểm ảnh đó và sau này nó sẽ bị xóa. Lưu ý rằng ta chỉ xóa điểm ảnh khi tất cả các điểm biên đã được duyệt qua, nhờ vậy dữ liệu không bị thay đổi trong quá trình xử lý. Sau khi thực hiện xong bước 1, ta xóa tất cả các điểm đã đánh dấu và thực hiện tiếp bước 2 giống như đã thực hiện cho bước 1. Như vậy, quá trình thực hiện là một vòng lặp liên tục gồm các giai đoạn sau: i. Áp dụng bước 1 để đánh dấu điểm cần xóa. ii. Xóa các điểm đã đánh dấu. iii. Áp dụng bước 2 để đánh dấu điểm. iv. Xóa các điểm đã được đánh dấu. Thuật toán dừng khi không còn điểm nào được xóa nữa. Điều kiện (a) bị vi phạm khi điểm biên p1 có 1 hoặc 7 điểm lân cận có giá trị 1. Trường hợp 1 điểm lân cận đồng nghĩa với việc p1 là điểm cuối, và 28 do đó không thể xóa được. Tương tự, trong trường hợp p1 có 7 điểm lân cận, nếu ta xóa nó sẽ gây ra lỗ hổng trong vùng đang xét. Điều kiện (b) không thỏa khi điểm đang xét nằm trên vùng biên có độ dày bằng 1, và do đó nếu xóa nó sẽ làm mất tính liên tục của đối tượng. 2.4 Biểu diễn đường biên Cách lưu trữ ảnh thô thường thấy nhất là lưu trữ theo dạng ma trận. Đây là lưu trữ chứa đựng được nhiều thông tin nhất (dù thông tin đó ở dạng tiềm ẩn hoặc tường minh). Tuy vậy, trong trường hợp cần biểu diễn đường biên của một đối tượng, phương pháp trên sẽ có những bất tiện như tốn nhiều bộ nhớ và không thuận lợi cho xử lý. Trong phần dưới đây, ta sẽ tìm hiểu 2 phương pháp lưu trữ đường biên khá hiệu quả và có sử dụng trong chương trình. 2.4.1 Biểu diễn bằng chain -code Cách biểu diễn này dựa trên lân cận 4 và lân cận 8 của một điểm. Tùy theo vị trí tương đối của một điểm so với điểm hiện tại mà hướng của nó sẽ được mã hóa bằng 1 con số tương ứng như trong hình 2-5. Để xây dựng chain code của một đường biên, trước hết ta cần chọn 1 điểm khởi đầu, ví dụ như điểm ở góc trái trên của ảnh. Sau đó, ta duyệt lần lượt qua tất cả các điểm theo chiều ngược chiều kim đồng hồ, gán mã cho nó theo một trong 2 kiểu trong hình 2-5. Lấy ví dụ như trong hình 2-6, chain code tương ứng của nó là 5-6-5- 5-6-7-0-0-0-1-7-1-2-1-3-3-4-4-3. 29 Hình 2-6: Mã tương ứng với hướng của (a) chain code 4 hướng và (b) chain code 8 hướng Hình 2-7: Ví dụ về chain code của đường biên, ở đây ta dùng chain code lân cận 8 Chain code tỏ ra rất hữu dụng khi dùng để xác định hướng của đường biên tại một điểm, hoặc dùng để tính chu vi của vùng (xem 2.5.1). Tuy vậy, nếu xét trong vấn đề mà chúng ta đang bàn, cách biểu diễn này không phù hợp. Lí do là vì với cách biểu diễn này, thật khó có thể rút ra được các thông tin cần thiết cho quá trình xử lý, chẳng hạn như khoảng cách từ một điểm đến đường biên. 30 2.4.2 Biểu diễn bằng dòng quét (scanline) Nguyên tắc tắc rất đơn giản: xem mỗi đối tượng là một tập hợp các dòng, và thay vì lưu tất cả các điểm trong mỗi dòng, ta chỉ cần lưu chỉ số của dòng đó, cùng với điểm bắt đầu và kết thúc tương ứng trong dòng. Ví dụ: Xét ảnh trong hình 2-7, biểu diễn đường biên của nó theo dòng quét của nó là: 1 5,6 2 4,7 3 3,8 4 3,9 5 4,7 7,9 6 4,6 8,8 7 5,5 Hình 2-8: Vùng và biểu diễn dòng quét của nó 31 Nhận thấy rằng cách biểu diễn này đã khắc phục những bất lợi của phương pháp chain code, và đem đến cho ta những thuận lợi trong các phép xử lý sau (vốn được sử dụng thường xuyên trong bài): i. Tính diện tích vùng. ii. Xác định một điểm là nằm trong hay ngoài vùng. iii. Dễ dàng duyệt qua toàn bộ các điểm trong vùng. 2.5 Các đặc trưng mô tả vùng (đường kính, chu vi, diện tích…) Trong phần này ta tìm hiểu về một số đặc trưng thường được dùng để mô tả vùng. Các đặc trưng này rất hữu dụng cho việc phân lớp vùng và cung cấp nhiều thông tin quan trọng để so sánh và phân lớp vùng trong ảnh nhị phân. Hình 2-8 mô tả một vùng ảnh nhị phân điển hình. Hình 2-9: Một số đặc trưng dùng để mô tả vùng 2.5.1 Diện tích và chu vi Diện tích và chu vi là 2 trong số những đặc trưng được sử dụng nhiều nhất cho những bài toán phân lớp trong ảnh nhị phân. Diện tích của một vùng tương ứng với tổng số điểm ảnh thuộc vùng đó. Tương tự, chu vi của vùng nhị phân bằng tổng số điểm ảnh nằm trên đường biên của vùng. Đối với biên ảnh xác định bằng lân cận 4, ta có thể xuất phát từ một điểm tùy ý 32 trên biên, đếm tất cả các điểm dọc theo đường biên cho đến khi trở về điểm ban đầu. Tuy vậy, vấn đề sẽ phát sinh nếu đường biên được tạo xác định bằng lân cận 8. Khi đó, khoảng cách giữa 2 điểm kề nhau không phải lúc nào cũng bằng 1 nữa, mà sẽ là 2 . Khi đó, ta có thể sử dụng cách mô tả đường biên bằng chain code. Gọi Ne và No lần lượt là tổng số số chẵn và lẻ có trong chuỗi (theo phần 2.4.1, số chẵn ứng với trường hợp 2 điểm liên tiếp cùng cột hoặc cùng dòng, còn số lẻ ứng với trường hợp 2 điểm nằm theo đường chéo), ta ước lượng chu vi theo công thức sau: Chu vi = Ne + No 2 2.5.2 Khoảng cách xuyên tâm (radial distance) Khoảng cách xuyên tâm là khoảng cách Euclide giữa tâm khối lượng của vùng và tâm của hợp tất cả các vùng trong ảnh. Cách đơn giản nhất để ước lượng tâm vùng là dùng giá trị trung bình của tọa độ các điểm của vùng đó. Đối với ảnh nhị phân, ta có thể tính tâm khối lượng bằng cách dùng moment. Moment (i,j) của vùng R được định nghĩa như sau: ∑∑= x y ji ij yxRyx ),(μ trong đó x và y là tọa độ của các điểm ảnh trong vùng. Khi đó, tâm khối lượng có thể được tính như sau: 00 10 μ μ=x 00 01 μ μ=y Khoảng cách xuyên tâm có thể được tính bằng cách sử dụng khoảng cách Euclide de giữa tâm khối lượng của hợp tất cả các vùng và của vùng đang xét theo công thức sau: 22 )()(),( lrlre yyxxurd −+−= trong đó r và u tương ứng là vùng đang xét và vùng tổng hợp. 33 Bên cạnh đó, ta có thể sử dụng khoảng cách xuyên tâm chuẩn hóa u e R urd ),( , trong đó Ru là bán kính của vùng tổng hợp. Vì 00μ là diện tích của vùng, suy ra Ru có thể được xấp xỉ theo công thức π μ 4 00=uR , với giả định rằng vùng tổng hợp có dạng hình tròn. 2.5.3 Chiều dài trục chính và phụ Chiều dài trục chính và phụ là những đặc trưng rất quan trọng và có thể được ước lượng bằng cách sử dụng các giá trị riêng. Trước hết, một vùng sẽ được biểu diễn như là một tập các điểm {(x1, y1), (x2, y2), (x3, y3), . . . , (xn, yn)} và giả sử rằng các điểm này được biểu diễn bởi một vector ngẫu nhiên S = [x, y]. Gọi C là ma trận hiệp phương sai của vector đó: ⎟⎟⎠ ⎞ ⎜⎜⎝ ⎛= 0211 1120 μμ μμ C trong đó: ∑∑ −−= x y yyxx ))((11μ ∑∑ −= x y xx 220 )(μ ∑∑ −= x y yy 202 )(μ với x và y là tâm của vùng đang tính. Vector riêng của ma trận hiệp phương sai cho ta hướng của 2 trục chính và phụ. Chiều dài của các trục bằng với căn bậc hai của các giá trị riêng của ma trận hiệp phương sai. 34 Hình 2-10: Trục chính và trục phụ hình ellipse. 2 vector e1 và e2 là 2 vector riêng của ma trận hiệp phương sai. 2.6 Cây quyết định 2.6.1 Giới thiệu về cây quyết định Cây quyết định là một cây đồ thị trong đó mỗi nút bên trong đại diện cho một điểm quyết định và mỗi nút lá tương ứng với một nhãn (lớp) sẽ được gán cho mỗi bộ dữ liệu nhập. Mỗi nút của cây là một phép thử (so sánh) của một thuộc tính nào đó, và nhánh trổ xuống từ nút đó đại diện cho những giá trị có thể có của thuộc tính này. Để xây dựng được cây quyết định, ta cần có một tập dữ liệu được phân lớp trước (dữ liệu học). Việc xây dựng các cây quyết định chính là quá trình phát hiện ra các luật phân chia tập dữ liệu đã cho thành các lớp đã được định nghĩa trước. Việc sinh cây quyết định bao gồm hai giai đoạn: i. Xây dựng cây: • Tại thời điểm khởi đầu, tất cả các ca ( case ) dữ liệu học đều nằm tại gốc. • Các ca dữ liệu được phân chia đệ qui trên cơ sở các thuộc tính được chọn. 35 ii. Rút gọn cây: • Phát hiện và bỏ đi các nhánh chứa các điểm dị thường và nhiễu trong dữ liệu. Hầu hết các thuật toán dựa vào qui nạp hiện có đều sử dụng phương pháp của Hunt dùng để xây dựng một cây quyết định từ một tập T các ca học với các lớp được kí hiệu là {C1,C2,……Cn}. - Trường hợp 1: T chứa một hoặc nhiều ca, tất cả đều thuộc về một lớp đơn C1: Cây quyết định T là một lá định dạng lớp C1. - Trường hợp 2: T không chứa ca nào: Cây quyết định cho T là một lá, nhưng lớp được gắn với lá này phải được xác định từ các thuộc tính không thuộc T. - Trường hợp 3: T chứa các ca thuộc về một hỗn hợp các lớp: Một phép thử được lựa chọn dựa vào một thuộc tính đơn có một hoặc nhiều kết quả ( giá trị ) loại trừ lẫn nhau {O1,O2,….On}. T được phân chia thành các tập con T1, T2, ….Tn trong đó T1 chứa tất cả các ca trong T có kết quả O1 của phép thử đã chọn. Cây quyết định cho T gồm một đỉnh quyết định định danh cho phép thử, và một nhánh cho mỗi kết quả có thể có. Cơ chế xây dựng cây này được áp dụng đệ qui cho từng tập con của các ca học. Bảng 2-1 là một tập dữ liệu học của một ví dụ về thi đấu tennis với năm thuộc tính và hai lớp ( thuộc tính Ngày được sử dụng làm định danh cho các ca ). Hình 2-10 chỉ ra cách làm việc của thuật toán Hunt, một phép thử dựa trên thuộc tính đơn được chọn để khai triển đỉnh hiện hành. 36 Ngày Quang cảnh Nhiệt độ Độ ẩm ( %) Gió to Kết quả N1 Nắng 24 70 Không Thi đấu N2 Nắng 27 90 Có Không thi đấu N3 Nắng 30 85 Không Không thi đấu N4 Nắng 22 95 Không Không thi đấu N5 Nắng 20 70 Không Thi đấu N6 Nhiều mây 22 90 Có Thi đấu N7 Nhiều mây 28 75 Không Thi đấu N8 Nhiều mây 18 65 Có Thi đấu N9 Nhiều mây 28 75 Không Thi đấu N10 Mưa 21 80 Có Không thi đấu N11 Mưa 18 70 Có Không thi đấu N12 Mưa 24 80 Không Thi đấu N13 Mưa 20 80 Không Thi đấu N14 Mưa 21 96 Không Thi đấu Bảng 2-1: Dữ liệu minh họa cho cây quyết định Hình 2-11: Minh họa phương pháp của Hunt 37 2.6.2 Thuật toán ID3 Thuật toán ID3 ( Quinlan86 ) là một trong những thuật toán xây dựng cây quyết định sử dụng information gain để lựa chọn thuộc tính phân lớp đối tượng. Nó xây dựng cây theo cách từ trên xuống, bắt đầu từ một tập các đối tượng và đặc tả của các thuộc tính. Tại mỗi đỉnh của cây, một thuộc tính có information gain lớn nhất sẽ được chọn để phân chia tập đối tượng. Quá trình này được thực hiện một cách đệ qui cho đến khi một tập đối tượng tại một cây con đã cho trở nên thuần nhất, tức là nó chỉ chứa các đối tượng thuộc về cùng một lớp. Lớp này sẽ trở thành một lá của cây. Việc lựa chọn một thuộc tính nào cho phép thử là rất quan trọng. Nếu chọn không thích hợp, chúng ta có thể có một cây rất phức tạp. Ví dụ, nếu ta chọn thuộc tính Nhiệt độ làm gốc cây thì cây quyết định sẽ có hình dạng như trong hình 2-11. Nhưng nếu chọn thuộc tính Quang cảnh làm gốc thì ta lại có một cây quyết định tất đơn giản như đã chọn trong hình 2-10. Vậy nên chọn thuộc tính nào là tốt nhất? Thông thường việc chọn thuộc tính đều dựa vào một độ đo gọi là Entropy Gains hay còn gọi là Information Gains của các thuộc tính. Entropy của một thuộc tính được tính toán từ các thuộc tính phân lớp. Đối với thuộc tính rời rạc, cần phải có các thông tin phân lớp của từng giá trị thuộc tính. Lớp Giá trị thuộc tính Thi đấu Không thi đấu Nắng 2 3 Nhiều mây 4 0 Mưa 3 2 Bảng 2-2: Thông tin phân bố thuộc tính quang cảnh 38 Lớp Giá trị thuộc tính Phép thử nhị phân Thi đấu Không thi đấu 65 1 0 > 8 5 70 3 1 > 6 4 75 5 1 > 4 4 78 5 1 > 4 4 80 7 2 > 2 3 85 7 3 > 2 2 90 8 4 > 1 1 95 8 5 > 1 0 96 9 5 > 0 0 Bảng 2-3: Thông tin phân bố lớp của thuộc tính Độ ẩm Bảng 2-2 cho thấy thông tin phân lớp của thuộc tính Quang cảnh. Đối với một thuộc tính liện tục. chúng ta phải xét phép thử nhị phân đối với tất cả các giá trị khác nhau của thuộc tính. Bảng 2-3 chỉ ra thông tin phân lớp của thuộc tính Độ ẩm. 39 Một khi đã thu nhận được các thông tin phân lớp của tất cả các thuộc tính, chúng ta sẽ tính Entropy. Một thuộc tính với Entropy lớn nhất sẽ được chọn làm một phép thử để khai triển cây. 2.6.2.1 Hàm Entropy Hàm Entropy xác định tính không thuần khiết của một tập các ca dữ liệu bất kỳ. Chúng ta gọi S là tập các ca dương tính ( ví dụ Thi đấu ) và âm tính ( ví dụ Không thi đấu ). P(+) là tỉ lệ các ca dương tính S, P(-) là tỉ lệ âm tính S. Entropy(S) = -P(+)log 2 P(+) – P(-)log 2 P(-) Ví dụ 1. Trong Bảng 2-1 của ví dụ thi đấu tennis, tập S có 9 ca dương và 5 ca âm ( ký hiệu là [9+,5-]). Entropy(S) = Entropy([9+,5-]) = - 14 9 log 2 14 9 - 14 5 log 2 14 5 = 0.940 Hình 2-12: Một cây quyết định chọn nhiệt độ làm gốc Nhận xét. Entropy bằng 0 nếu tất cả các ca trong S đều thuộc về cùng một lớp. Chẳng hạn như, nếu tất cả các ca đều dương thì P(+) = 1 và P(-) = 0, do vậy: Entropy(S) = -1log 2(1) – 0log 2 (0) = 0 40 Entropy bằng 1 nếu tập S chứa số ca dương và âm bằng nhau. Nếu số các ca này khác nhau thi Entropy nằm giữa 0 và 1. Trường hợp tổng quát, nếu S bao gồm c lớp thì Entropy của S được tính bằng công thức sau: Entropy(S) = ∑ -P = n i 1 ilog 2 Pi trong đó Pi là tỉ lệ thuộc tính I trong tập S. 2.6.2.2 Độ đo (Informatic Gain) Đo mức độ hiệu quả của một thuộc tính trong bài toán phân lớp dữ liệu. Đó chính là sự rút gọn mà ta mong đợi khi phân chia các ca dữ liệu theo thuộc tính này. Nó được tính theo công thức sau đây: Gains(S,A) = Entropy(S) - ∑ )( AValue r S S Entropy(S) trong đó Value(A) là tập tất cả các giá trị có thể có đối với thuộc tính A và Sr là tập con của S mà A có giá trị là v. Ví dụ 2. Value(Gió to) = { true,false},S=[9+,5-] Strue là đỉnh con với giá trị là “true”, bằng [2+,3-] Sfalse là đỉnh con với giá trị là “false”, bằng [7+,2-] Gaint(S,Gió to) = Entropy(S) - ∑ )( AValue r S S Entropy(S) = Entropy(S) - 14 5 * Entropy(Strue) - 14 9 * 41 Entropy(Sfalse) = 0.940 - 14 5 *0.97 - 14 9 *0.764 = 0.1024 Tương tự như vậy, ta có thể tính được độ đo cho các thuộc tính còn lại của ví dụ trong Bảng 1. Đối với thuộc tính Độ ẩm. ta lấy độ ẩm 75% để chia các ca thành hai phần, một phần ứng với các ca có độ ẩm ≤ 75% được gọi là độ ẩm Bình thường ( [5+,1-] ), phần còn lại được gọi là có độ ẩm Cao ( [4+,4-] ). Còn đối với thuộc tính Nhiệt độ, ta sẽ chia thành ba mức, các ngày có nhiệt độ nhỏ hơn 210 được gọi là Lạnh(4 ngày), các ngày có nhiệt độ lớn hơn hay bằng 210 đến nhỏ hơn hoặc bằng 270 được gọi là Ấm (6 ngày), và còn lại là những ngày có nhiệt độ lớn hơn hoặc bằng 270 được gọi là Nóng (4 ngày). Gain(S,Quang cảnh) = 0.246 Gain(S,Gió to) = 0.1024 Gain(S,Nhiệt độ) = 0.029 Gain(S,Độ ẩm) = 0.045 Từ đây ta thấy rằng độ đo của S đối với thuộc tính Quang cảnh là lớn nhất trong số 4 thuộc tính. Như vậy, có thể quyết định chọn Quang cảnh làm thuộc tính đầu tiên khai triển cây, Hình 2-12 là khai triển của cây quyết định theo thuộc tính Quang cảnh. Tương tự như vậy, ta có thể tiến hành triển khai các nút ở mức tiếp theo: Snắng = {N1, N2, N3, N4, N5} Entropy(Snắng) = - 5 2 log 2 5 2 - 5 3 log 2 5 3 = 0.970 Gain(Snắng , Độ ẩm) = 0.970 - 5 3 *0.0 - 5 2 *0.0 = 0.970 42 Gain(Snắng , Nhiệt độ) = 0.970 - 5 2 *0.0 - 5 2 *1.0 - 5 1 *0.0 = 0.570 Gain(Snắng , Gió to) = 0.970 - 5 2 *1.0 - 5 3 *0.918= 0.019 Từ các giá trị của Entropy Gain, ta thấy Độ ẩm là thuộc tính tốt nhất cho đỉnh nằm dưới nhánh Nắng của thuộc tính Quang cảnh. Tiếp tục quá trình trên cho tất cả các đỉnh và sẽ dừng khi không còn đỉnh nào có thể khai triển được nữa. Cây kết quả sẽ có dạng như phần c) của hình 2-12. 2.7 Thông tin tương hỗ Cho trước một biến ngẫu nhiên X = {x1, …, xn}. Ta định nghĩa công thức tính entropy Shannon như sau: ∑ = −= n i ii ppXH 1 log)( với pi = Pr[X = xi] và n là lực lượng của X. Độ đo entropy này thể hiện độ thông tin trung bình hay là độ không chắc chắn của biến ngẫu nhiên. Bây giờ ta xét thêm một biến ngẫu nhiên Y = {y1, …, yn}. Ta định nghĩa entropy có điều kiện với p∑∑ = = −= m j n i jiij ppYXH 1 1 |log)|( i|j = Pr[X = xi|Y=yj ] là xác suất có điều kiện và entropy hợp với p∑∑ = = −= n i m j ijij ppYXH 1 1 log),( ij = Pr[X = xi, Y=yj]. Thông tin tương hỗ giữa X và Y được xác định theo công thức: ∑∑ = = = n i m j ji ij ij qp p pYXI 1 1 log),( Dễ thấy I(X,Y) = H(X) – H(X|Y) = H(Y) – H(Y|X) nên còn được gọi là thông tin chia sẻ giữa X và Y. 43 Một kết quả cơ bản của lý thuyết thông tin là bất đẳng thức về xử lý thông tin có thể được diễn tả dưới dạng sau: nếu X -> Y -> Z là chuỗi Markov, nói cách khác p(x,y,z) = p(x)p(y|x)p(z|y) thì: ),(),( ZXIYXI ≥ Kết quả này nói lên rằng không tồn tại cách xử lý Y nào, dù là ngẫu nhiên hay chủ ý, có thể làm tăng thông tin Y chứa về X. Ở phần 3.4, ta sẽ bàn về cách sử dụng thông tin tương hỗ này vào bài toán phân vùng ảnh. 2.8 Học dựa vào sự trình diễn Theo [4], một vấn đề quan trọng khi xây dựng những hệ thống dựa vào tri thức là giai đoạn thu thập tri thức. Đây là một thách thức lớn và là một đề

Các file đính kèm theo tài liệu này:

  • pdfHỗ trợ chẩn đoán tự động tổn thương xuất huyết-tụ máu dựa vào ảnh ct não.pdf