Xây dựng mạng phức hợp của dữ liệu

Một phần của tài liệu Phát triển các mô hình và kỹ thuật mạng phức hợp Để khai phá dữ liệu về bệnh ung thư (Trang 66 - 73)

CHƯƠNG 2. ỨNG DỤNG MẠNG PHỨC HỢP ĐỂ KHAI PHÁ DỮ LIỆU

2.3. Ứng dụng mô hình để khai phá dữ liệu khám nghiệm ung thƣ

2.3.2. Khai phá dữ liệu bằng mạng phức hợp

2.3.2.1. Xây dựng mạng phức hợp của dữ liệu

Để có thể xây dựng mạng phức hợp cho bộ dữ liệu này chúng ta cần phải thực hiện những bước cơ bản sau: Tính toán mức độ tương tự giữa các thuộc tính và tính toán mức độ tương tự giữa các cặp bản ghi.

Tính toán mức độ tương tự giữa các thuộc tính

Các thuật toán duyệt đồ thị đƣợc sử dụng để thăm tất cả các đỉnh. Các đỉnh có thể đƣợc thăm theo một thứ tự tùy ý, hoặc một thứ tự cụ thể có thể đƣợc

yêu cầu. Ví dụ, chúng ta có thể quan tâm đến việc xem xét các gene trong mạng điều hòa gene theo thứ tự tuân theo các bước điều hòa. Có nhiều khả năng khác nhau để đi qua các đỉnh của đồ thị, nhƣng khả năng quan trọng nhất là tìm kiếm đầu tiên theo chiều sâu (depth first search -DFS) và tìm kiếm đầu tiên theo chiều rộng (breadth first search -BFS).

Dữ liệu trường địa chỉ là một kiểu dữ liệu văn bản chỉ địa danh của các

vùng miền trên một bản đồ địa lý cụ thể. Để làm được điều này, trước hết cần sắp xếp tên các địa danh theo thứ tự alphabet, căn cứ vào ký tự đầu của địa danh

để gán ID lần lƣợt từ 1..n, n là số lƣợng địa danh. Sau đó, dựa trên bản đồ địa lý, lập bảng danh sách liền kề các tỉnh với nhau theo quy luật các tỉnh liền kề với nhau đƣợc nối với nhau, tỉnh này nối với tỉnh kia một lần duy nhất, không nối theo chiều ngƣợc lại. Ví dụ, liền kề với Hà Nội là các tỉnh Phú Thọ, Vĩnh Phúc, Thái Nguyên, Bắc Giang, Bắc Ninh, Hƣng Yên, Hà Nam, Hòa Bình. Từ dữ liệu,

sử dụng công cụ Cytoscape để mô hình hóa mạng lưới kết nối các tỉnh thành Việt Nam nhƣ Hình 2.11.

65

Hình 2.11. Mô hình mạng ƣới liên kết tỉnh thành Việt Nam

Hình 2.11 mô tả một đồ thị có 63 nút và 128 cạnh, trong đó mỗi nút đại diện cho một tỉnh/thành có ID đƣợc đánh số, mỗi cạnh biểu diễn hai tỉnh kề nhau.

Bước tiếp theo, luận án ứng dụng thuật toán Breadth-First-Search (BFS)

để duyệt một đồ thị gồm n đỉnh (tỉnh) theo chiều rộng, từ đó tính toán và đƣa ra

66

giá trị khoảng cách giữa các cặp tỉnh. Một ma trận đối xứng BFSnxn đƣợc tạo ra, trong đó BFS[i, j] biểu thị khoảng cách giữa tỉnh “i” và tỉnh “j” nhƣ Hình 2.11.

Cụ thể, ma trận khoảng cách BFS63x63 biểu diễn khoảng cách giữa các tỉnh/thành của Việt Nam đƣợc xây dựng bằng việc duyệt đồ thị theo chiều rộng để xác định

độ dài giữa các cặp đỉnh, cụ thể thuật toán đƣợc mô tả nhƣ sau:

1 function [BFS] ComputeBFS(G(V,E) // G là đồ thị với V là tập đỉnh

đƣợc đánh số, E là tập cạnh

2 Initialize BFSnxn to store distance values of province pairs

3 for (start1; start<|V|; start++;)

4 checkedList new Boolean(); // khởi tạo mảng để đánh

dấu các tỉnh đã duyệt

5 Set all nodes to “not visited”

6 queue new LinkedList() ; // tạo hàng đợi chứa các tỉnh

chờ duyệt

7 linkList new LinkedList();

8 checkedList[start] true; // đánh dấu nút start đã đƣợc

duyệt

9 pair new Pair(start ,1); //đối tƣợng biểu diễn cặp

(vertex, value)

10 queue. enqueue(pair); // thêm pair vào hàng đợi

11 while queue is not empty do

12 pair queue. dequeue(); // lấy dữ liệu trong hàng đợi

13 BFS [start, pair.vertex] pair.value; //lưu khoảng cách

tỉnh đang xét và tỉnh tương ứng

14 i linkList[pair.vertex];

15 while every edge (i,x) E do

16 if (x chưa được duyệt ) then

17 checkedList[x] true; // duyệt đỉnh x

18 p new Pair(x, pair.value + 1);

67

19 queue. enqueue(p); // thêm p vào hàng đợi

20 end if

21 end while

22 end while

23 end for

24 return BFS; // BFS là ma trận biểu diễn giá trị khoảng cách giữa các cặp tỉnh

25 End

Thuật toán 2.2. Duyệt đồ thị theo chiều rộng

Sau khi xây dựng ma trận khoảng cách tỉnh thành cần tiến hành mã hóa cặp thuộc tính bản ghi kiểu dữ liệu văn bản.

Trường Kết luận chứa các đoạn văn bản mô tả kết luận của bác sĩ về tình trạng bệnh của bệnh nhân. Sử dụng thuật toán BoW(Bag-of-Words) để số hóa

một cặp xâu ký tự s1, s2 (kiểu Text như trường Kết luận) dựa trên độ tương tự ngữ nghĩa của chúng. Bag of Words là một thuật toán hỗ trợ xử lý ngôn ngữ tự nhiên và mục đích của BoW là phân loại văn bản. Ý tưởng của BoW là phân tích

và nhóm theo “Bag of Words” (ngữ liệu). Với dữ liệu thử nghiệm mới, thuật toán tiến hành tìm xem có bao nhiêu lần xuất hiện của mỗi từ của dữ liệu thử nghiệm xuất hiện trong “túi”. Thuật toán đƣợc mô tả nhƣ sau:

1 function [vector_A, vector_B] BoW(s1, s2)

// Input: s1, s2, trong đó s1, s2 là các câu.

// Output: vector_A, vector_B là hai vector biểu diễn cho s1 và s2

2 Begin

3 A = getWords(s1);

4 B = getWords(s2);

5 C = union(A, B);//Tạo từ điển

6 vector_A = frequent(C, A);

68

7 vector_B = frequent(C, B);

8 return vector_A, vector_B;

9 End

Thuật toán 2.3. Thuật toán Bag-of-Words

Ví dụ: Cho hai xâu s1 = “Ung thƣ vảy xâm lấn độ II”, s2 = “Ung thƣ vảy xâm lấn”, BoW(s1, s2) trả về 2 giá trị: vector_s1 =[1,1,1,1,1,1,1], vector_s2

=[1,1,1,1,1,0,0].

Tính toán mức độ tương tự cặp bản ghi

Xây dựng mạng với nhiều kiểu dữ liệu có thể đƣợc mô hình hóa bằng cách sử dụng đồ thị. Quá trình này đƣợc gọi là phân tích liên kết. Các bản ghi dữ liệu đƣợc biểu diễn bằng các đỉnh và một cạnh tồn tại nếu hai bản ghi dữ liệu giống nhau hoặc liên quan theo một tiêu chí nào đó. Điều quan trọng cần lưu ý

là tiêu chí tương tự được sử dụng để xây dựng mô hình mạng của tập dữ liệu dựa trên quan hệ từng cặp, trong khi tiêu chí tương tự được sử dụng để xác định một cụm đề cập đến tất cả các phần tử trong cụm và cần đƣợc thỏa mãn bởi một cụm tổng thể chứ không chỉ các cặp phần tử của nó. Tiêu chí tương tự có thể

đƣợc xác định theo nhiều cách khác nhau, tùy thuộc vào các ứng dụng quan tâm

và mục tiêu mà phân nhóm hướng tới để đạt được. Trên thực tế, định nghĩa về

sự tương tự được sử dụng để suy luận mạng được xác định bởi bản chất của dữ liệu và dựa trên sự gắn kết mà chúng ta mong đợi trong các cụm kết quả. Cách tiếp cận suy luận mạng có thể đƣợc sử dụng để thực hiện phân nhóm dựa trên

khoảng cách. Trong phân nhóm dựa trên khoảng cách, các đỉnh của biểu đồ tương ứng với các bản ghi dữ liệu và các cạnh được thêm vào nếu các bản ghi

đủ gần dựa trên một giá trị số giới hạn (ngƣỡng). Ngoài ra, khoảng cách có thể đƣợc sử dụng để xác định các cạnh của một mạng hoàn chỉnh đại diện cho tập

dữ liệu.

Trong phần này, luận án đề xuất một thuật toán mới đƣợc thiết kế để tính toán mức độ tương tự giữa các cặp bản ghi của một quan hệ R. Thuật toán sử

69

dụng phép đo Euclide để tính toán khoảng cách giữa các cặp vector sau khi đã đƣợc mã hóa từ các cặp bản ghi dữ liệu. Euclide là phép đo phổ biến đƣợc lựa chọn trong các nghiên cứu về phân cụm. Thuật toán đƣợc mô tả nhƣ sau:

Đầu vào: Cho quan hệ R(A1, A2,…, An), trong đó dữ liệu của các trường

Ai (i = 1..n) đƣợc quy định thuộc một trong các kiểu dữ liệu sau: Nhãn, Địa chỉ, Văn bản, và kiểu số; cho hai bản ghi a,b ϵ R.

Đầu ra: Độ tương tự của một cặp bản ghi a, b

Bước 1. Mã hóa cặp bản ghi a, b về dạng vector x, y theo quy luật sau:

- Nếu a.dongho ≡ b.dongho thì

1, . , . , 1, . . ,

( . , . )

1, . , . , BFS[ . , . ], .XY.z, BoW( . , . )

a tuoi a giotinh a XY z

x BoW a ketluan b ketluan

b tuoi b gioitinh a diachi b diachi

y b a ketluan b ketluan

 

  

 

 

  

 

- Ngƣợc lại, Nếu a.dongho≠b.dongho thì

1, . , . , 1, . . ,

( . , . )

0, . , . , BFS[ . , . ],

.XY.z, BoW( . , . )

a tuoi a giotinh a XY z

x BoW a ketluan b ketluan

b tuoi b gioitinh a diachi b diachi

y b a ketluan b ketluan

 

  

 

 

  

 

Bước 2. Sử dụng phép đo Euclide để xác định khoảng cách giữa các

cặp vector trong không gian n chiều, khoảng cách giữa hai điểm/đối tƣợng bất

kỳ trong không gian tương ứng với độ dài của đoạn thẳng nối hai điểm đó và đƣợc xác định bằng công thức Euclide:

 1 1 2 2 22  2

( , ) ... n n

d x yyxyx   yx

ở đây n là số chiều, yixi lần lƣợt là giá trị các thành phần của vector yx. Nếu d(x,y) lớn, khoảng cách giữa hai điểm càng xa nhau, ngƣợc lại, hai điểm càng gần nếu d(x,y) tiến về 0, có nghĩa là hai bản ghi có nội dung giống nhau

70

100% nếu d(x,y)=0.

Bước 3. Chuẩn hóa giá trị đo mức độ tương tự các cặp vector về khoảng

[0; 1] theo công thức sau:

1

1 d

 

ở đây, α tiến dần về 0 biểu thị mức độ tương tự giảm trong khi α tiến về gần 1 biểu thị mức độ tương tự tăng, α =1 có nghĩa là hai vector đồng dạng 100%.

Thuật toán 2.4. Tính toán mức độ tương tự giữa các bản ghi

Ví dụ: Xét cặp bản ghi ID_a=121029319ID_b=1248 với

ID_a ={nguyen, 39, 2, 24, 77.9, Ung thư vảy xâm lấn độ II };

ID_b ={nguyen, 38, 1, 24, 77.9, Ung thư vảy xâm lấn }.

Khi đó kết quả đầu ra của thuật toán là α (ID_a; ID_b) = 0.33333.

Thuật toán tính toán mức độ tương đồng giữa cặp bản ghi đề xuất, được

sử dụng để xây dựng mạng từ một quan hệ.

Xây dựng mạng từ các cặp bản ghi

Để xây dựng mạng dữ liệu cho mục tiêu xác định module, luận án đã sử dụng thuật toán xác định các cặp bản ghi có độ tương tự nhỏ hơn ngưỡng α để tạo ra một cặp cạnh nối giữa 2 bản ghi, cụ thể nhƣ sau:

1 function [G(Start, End)] NetworkConstruction(R (A1, A2,…, An), α ϵ [0,1])

//Input: + R (A1, A2,…, An) là một tập liên kết;

// + α là ngưỡng được chọn cho mỗi cặp bản ghi theo mức độ tương đồng giữa chúng

//Output: danh sách kề biểu diện mạng

71

2 G ϵ new Relation(Start, End)

3 foreach a in R

4 foreach b in R

5 t = Similarity(a,b)

6 if(t≥α)

7 G= G + (a, b)

8 end for

9 end for

10 return G

11 End

Thuật toán 2.5. ựng mạng phức hợp

Một phần của tài liệu Phát triển các mô hình và kỹ thuật mạng phức hợp Để khai phá dữ liệu về bệnh ung thư (Trang 66 - 73)

Tải bản đầy đủ (PDF)

(136 trang)