JOURNAL OF SCIENCE OF HNUE DOI: 10.18173/2354-1075.2015-0053<br />
Educational Sci., 2015, Vol. 60, No. 7A, pp. 61-69<br />
This paper is available online at http://stdb.hnue.edu.vn<br />
<br />
<br />
<br />
<br />
MỘT PHƯƠNG PHÁP DỰ ĐOÁN GEN GÂY BỆNH<br />
SỬ DỤNG DỮ LIỆU CHƯA CÓ NHÃN<br />
1<br />
Lê Thu Hương 2 Thái Thị Thanh Vân và 3 Trần Đăng Hưng<br />
1 Khoa Tự nhiên, Trường Cao đẳng Sư phạm Điện Biên<br />
2 KhoaCông nghệ Thông tin, Học viện Kỹ thuật Mật mã<br />
3 Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Hà Nội<br />
<br />
<br />
<br />
Tóm tắt. Trong bài báo này, chúng tôi trình bày một giải pháp sử dụng các dữ liệu chưa<br />
gán nhãn cho bài toán dự đoán gen gây bệnh (gọi tắt là gen bệnh). Thông thường, bài toán<br />
dự đoán gen bệnh có thể coi là bài toán phân lớp nhị phân. Tuy nhiên, trong bài toán này<br />
dữ liệu âm tính (negative) thường khó xác định, nên hiệu quả của các phương pháp dự đoán<br />
chưa cao. Chúng tôi đã đề xuất một phương án xây dựng tập âm tính bằng cách sử dụng dữ<br />
liệu chưa có nhãn để huấn luyện các mô hình học máy nhằm tăng hiệu quả dự đoán.<br />
Từ khóa: Dự đoán, gen gây bệnh, dữ liệu chưa có nhãn, phân lớp nhị phân.<br />
<br />
1. Mở đầu<br />
Từ các nghiên cứu thực nghiệm cho thấy rằng với từng loại bệnh cụ thể, có thể do một số gen<br />
quy định gây ra. Tuy nhiên, các nhà thực nghiệm chỉ tìm ra được các gen gây bệnh một cách đơn lẻ<br />
trên một số cá thể, hơn nữa các thực nghiệm này rất mất thời gian và chi phí lớn. Khi số lượng dữ<br />
liệu sinh học phân tử ngày càng nhiều, các nhà sinh học tính toán có thể đưa ra các phương pháp<br />
tính toán dựa trên những gen gây bệnh đã biết để tiên lượng các gen khác. Triết lí chung của các<br />
phương pháp tính toán là các gen có quan hệ “gần” với nhau sẽ có khả năng có chung một số chức<br />
năng nào đó. Giả sử rằng, ta biết được thông tin quan hệ giữa các gen trong một loài sinh vật thì<br />
có thể dự đoán chức năng cho các gen mới.<br />
Nhìn từ lĩnh vực khai phá dữ liệu, có thể coi bài toán dự đoán gen gây bệnh là một bài toán<br />
phân lớp hoặc bài toán xếp hạng. Giả sử chúng ta có một tập các gen của một loài cụ thể nào đó,<br />
trong đó đã biết (dựa trên thực nghiệm) một số gen liên quan đến một bệnh cụ thể, chúng ta cần dự<br />
đoán xem trong số các gen còn lại, gen nào có khả năng là gen gây bệnh. Để làm được điều này,<br />
chúng ta phải dựa vào các thông tin đã có của mỗi gen rồi tìm cách mô hình hóa các gen này trong<br />
mối tương quan với các gen khác. Các phương pháp đã có và được ứng dụng nhiều cho bài toán<br />
dự đoán/tiên lượng gen bệnh trong tin sinh học gồm các phương pháp: phương pháp phân tích liên<br />
kết (linkage analysis), phương pháp dựa vào chú giải chức năng gen (functional annotation-based),<br />
phương pháp dựa trên mạng sinh học (biological network-based) và dựa vào các kĩ thuật học máy<br />
(machine learning-based).<br />
<br />
Ngày nhận bài: 15/7/2015 Ngày nhận đăng: 01/11/2015<br />
Liên hệ: Trần Đăng Hưng, e-mail: hungtd@hnue.edu.vn<br />
<br />
<br />
<br />
61<br />
Lê Thu Hương, Thái Thị Thanh Vân và Trần Đăng Hưng<br />
<br />
<br />
Phương pháp phân tích liên kết: Phương pháp phân tích liên kết nhằm thiết lập mối liên kết<br />
giữa các gen trong một hệ gen. Phương pháp này chủ yếu dựa trên thống kê để tìm ra vị trí của các<br />
gen có một chức năng nào đó trên nhiễm sắc thể. Tuy nhiên, với số lượng gen lớn như hệ gen người<br />
thì việc tìm kiếm vị trí chính xác của các gen là rất khó khăn [1, 3]. Cho đến hiện nay, phương<br />
pháp này có ứng dụng khá phổ biến trong việc lập bản đồ gen với các bệnh phổ biến. Tuy nhiên,<br />
để thực hiện thành công với phương pháp này đòi hỏi cần nhiều thời gian, tài chính và nguồn dữ<br />
liệu lớn.<br />
Phương pháp dựa vào chú giải chức năng: Phương pháp này tìm cách xếp hạng các gen ứng<br />
viên dựa vào độ tương tự về chức năng của gen ứng viên với tập hợp các gen bệnh đã biết căn cứ<br />
vào profile được xây dựng dựa trên rất nhiều cơ sở dữ liệu sinh học [2, 3, 5]. Do đó, các phương<br />
pháp này chủ yếu tập trung vào việc tích hợp nhiều nguồn dữ liệu chú giải gen để thu được độ<br />
chính xác cao hơn. Tuy nhiên, các phương pháp này gặp phải hạn chế khi mà nguồn dữ liệu chú<br />
giải gen hiện nay chưa đầy đủ cho tất cả các gen [15, 20].<br />
Gần đây các phương pháp phân hạng gen ứng viên đã được mở rộng theo các hướng tiếp<br />
cận sử dụng các mạng sinh học [5, 11] và tỏ ra nổi trội hơn các phương pháp dựa vào chú giải<br />
chức năng [7, 13]. Các phương pháp này chỉ dựa trên mạng tương tác và do đó không bị hạn chế<br />
bởi sự thiếu hụt của các cơ sở dữ liệu chú giải gen. Ngoài ra, sự nổi trội của các phương pháp dựa<br />
trên mạng là do các phương này dựa trên nguyên lí “mô đun bệnh” đã được chứng minh (đó là, các<br />
gen/protein liên quan đến cùng một bệnh hoặc các bệnh tương tự nhau thường hình thành các mô<br />
đun chức năng/vật lí trên các mạng tương tác gen/protein [16, 19]). Trong các phương pháp dựa<br />
trên mạng thì phương pháp dựa trên thuật toán bước ngẫu nhiên có quay trở lại (RWRs) nổi trội<br />
hơn so với các phương pháp khác như hàng xóm trực tiếp (nearest neighbor), khoảng cách ngắn<br />
nhất. Do thuật toán này tính toán độ tương tự giữa gen ứng viên và gen gây bệnh đã biết một cách<br />
toàn cục trên toàn mạng, và do đó không chỉ các gen liên kết trực tiếp với gen bệnh đã biết được<br />
xem xét, mà cả các gen gián tiếp cũng được xem xét.<br />
Cùng với hai phương pháp trên, gần đây các kĩ thuật học máy cũng được sử dụng nhiều<br />
trong bài toán dự đoán gen bệnh [9, 12, 14, 15]. Bản chất của phương pháp học máy là huấn luyện<br />
các mô hình (phân lớp/phân cụm) từ các dữ liệu đã có trong quá khứ, nhằm dự đoán cho các dữ<br />
liệu mới. Đối với bài toán dự đoán gen bệnh, chúng ta có thể coi là một bài toán phân lớp nhị<br />
phân (binary classification) hoặc phân lớp đơn phân (one-class classification). Vấn đề đối với các<br />
phương pháp học máy là cần có lượng dữ liệu đủ lớn để huấn luyện các mô hình. Về cơ bản, càng<br />
có nhiều dữ liệu thì mô hình xây dựng sẽ càng chính xác. Vì vậy, việc tích hợp được nhiều nguồn dữ<br />
liệu khác nhau sẽ làm tăng độ chính xác của các kĩ thuật học máy trong bài toán dự đoán/tiên lượng<br />
gen gây bệnh. Một số phương pháp theo kĩ thuật học máy đã phát triển gần đây như Endevour [19],<br />
ProDiGe [14],... Tuy nhiên, với sự phát triển của công nghệ sinh học, lượng dữ liệu sinh học phân<br />
tử vẫn đang được sinh ra ngày càng nhiều, việc tích hợp các nguồn dữ liệu này sẽ cho kết quả dự<br />
đoán/tiên lượng với độ chính xác cao hơn.<br />
Khi coi bài toán phân loại/dự đoán gen bệnh là bài toán phân lớp nhị phân, trong đó dữ liệu<br />
positive là tập các gen đã biết là gen gây bệnh, các gen này thường được phát hiện bằng các phương<br />
pháp thực nghiệm và số lượng gen gây bệnh của mỗi bệnh cụ thể thường rất ít. Dữ liệu negative là<br />
tập những gen còn lại, tuy nhiên khi sử dụng tập gen này sẽ có hai vấn đề xảy ra: (1) số lượng gen<br />
rất lớn, thường lớn hơn rất nhiều so với tập positive, từ đó dẫn đến bài toán huấn luyện dữ liệu mất<br />
cân bằng; (2) trong số những gen còn lại đó, chưa thể nói chắc chắn những gen đó là gen không<br />
gây bệnh, nên sẽ có nhiều false negative trong dữ liệu.<br />
Để giải quyết vấn đề này, trong lĩnh vực học máy đã có một phương pháp được gọi là huấn<br />
luyện mô hình dự đoán từ dữ liệu positive và dữ liệu chưa biết nhãn (unlabeled data). Nghĩa là<br />
<br />
62<br />
Một phương pháp dự đoán gen gây bệnh sử dụng dữ liệu chưa có nhãn<br />
<br />
<br />
chúng ta coi phần dữ liệu còn lại là dữ liệu chưa có nhãn, và tìm cách sử dụng dữ liệu này cho quá<br />
trình huấn luyện mô hình.<br />
Một số nghiên cứu trước đây đã đề xuất mô hình phân lớp nhị phân cho bài toán dự đoán<br />
gen bệnh, trong đó tập negative được chọn ngẫu nhiên [8, 9, 11], hoặc sử dụng kĩ thuật bagging để<br />
lựa chọn tập negative [14, 15]. Tuy nhiên các cách làm này đều cho kết quả dự đoán chưa cao vì<br />
trong số các gen còn lại, rất khó để khẳng định một gen nào đó là gen không gây bệnh [12].<br />
Trong nghiên cứu này, chúng tôi xây dựng mô hình dự đoán gen bệnh bằng cách sử dụng<br />
hai tập dữ liệu: tập dữ liệu positive (P) là tập gen bệnh đã biết bằng thực nghiệm; tập các gen còn<br />
lại gọi là tập dữ liệu chưa có nhãn (U). Để huấn luyện được mô hình dự đoán, chúng tôi đề xuất<br />
một cách phân chia tập dữ liệu U thành các tập dữ liệu N1, N2, N3, N4. Sau khi xây dựng được<br />
các tập dữ liệu này rồi, chúng tôi sử dụng phương pháp học máy weighted support vector machine<br />
(wSVM) để huấn luyện mô hình, trong đó phương pháp wSVM cho phép đặt các trọng số khác<br />
nhau cho mỗi gen trong từng tập N1, N2, N3, N4 nhằm thể hiện mức độ đóng góp vào quá trình<br />
huấn luyện của các gen trong mỗi tập là khác nhau. Cuối cùng chúng tôi thử nghiệm trên tập dữ<br />
liệu thực tế để kiểm chứng độ chính xác của phương pháp.<br />
<br />
2. Nội dung nghiên cứu<br />
2.1. Biểu diễn đặc trưng gen<br />
Trong bài toán dự đoán gen bệnh, mỗi gen gi được biểu diễn bằng các loại thông tin khác<br />
nhau, như thông tin về cấu trúc của gen hoặc của các thành phẩm gen (protein), thông tin về chú<br />
giải chức năng gen từ GO (gene ontology),. . . Nhìn chung, càng tích hợp được nhiều nguồn thông<br />
tin sinh học liên quan đến gen thì mô hình dự đoán sẽ cho kết quả tốt hơn. Trong nghiên cứu này,<br />
chúng tôi biểu diễn mỗi gen bằng một véc-tơ gồm các thông tin lấy từ 4 nguồn chính sau:<br />
1. Miền protein (D)<br />
2. Các chức năng phân tử (MF)<br />
3. Các quá trình sinh học (BP)<br />
4. Các thành phần tế bào (BP)<br />
Trong đó (1) được lấy từ CSDL PFAM, (2)-(4) được lấy từ cây từ điển gen [4].<br />
Như vậy, mỗi gen gi được biểu diễn như một vectơ Vgi bao gồm:<br />
- Thành phần miền protein Dgi<br />
- Thành phần chức năng phân tử MFgi<br />
- Thành phần quá trình sinh học BPgi<br />
- Thành phần thành phần tế bào CCgi<br />
Tức là Vgi = (Dgi , MFgi , BPgi , CCgi ).<br />
* Thành phần miền Dgi của gen gi được biểu diễn :<br />
Dgi = (di1 , di2 ,. . . ., di|P f am−A| )<br />
- Trong đó:<br />
+ dij = 1 nếu sản phẩm của gen gi chứa miền tương ứng trong Pfam-A<br />
+ dij = 0 nếu ngược lại (với 1 ≤ j ≤ |P f am − A|) .<br />
(CSDL Pfam-A được lấy trong http://pfam.sanger.ac.uk/)<br />
* Đối với các thành phần chức năng phân tử MFgi , thành phần quá trình sinh học<br />
<br />
63<br />
Lê Thu Hương, Thái Thị Thanh Vân và Trần Đăng Hưng<br />
<br />
<br />
BPgi , thành phần thành phần tế bào CCgi sử dụng cơ sở dữ liệu GO được lấy từ (GO,<br />
http://www.geneontology.org/ )và chúng được biểu diễn tương tự nhau.<br />
Thành phần chức năng phân tử MFgi của gen gi được biểu diễn :<br />
- M F gi = (mfi1 , mfi2 , . . . , mfi|SM F |),<br />
- BP gi = (bpi1 , bpi2 , . . . , bpi|SBP | ),<br />
- CCgi = (cci1 , cci2 , . . . , cci|SCC| ).<br />
Trong đó các thành phần này bằng 1 nếu gen gi liên quan đến term GO tương ứng trong<br />
mỗi loại từ điển, và bằng 0 trong trường hợp ngược lại.<br />
Như vậy mỗi gen gi sẽ biểu diễn bằng 1 véc-tơ gồm nhiều thành phần, trong đó mỗi thành<br />
phần có giá trị 0 hoặc 1.<br />
<br />
2.2. Thuật toán xây dựng các tập dữ liệu N1, N2, N3, N4<br />
1. Chúng tôi xây dựng tập các gen âm tính tin cậy N1 từ U bằng cách tính toán sự tương<br />
đồng giữa các gen chưa gán nhãn trong U với các gen dương tính trong P; ý tưởng chính là chúng<br />
tôi tìm cách nhặt lần lượt các gen trong U ở xa so với tập P vào tập N1, trong đó khái niệm ở xa<br />
được hiện thực bằng một độ đo khoảng cách giữa 2 gen, hay nói cách khác chính là độ đo sự giống<br />
nhau về mặt chức năng của 2 gen. Chi tiết thuật toán được cho trong đoạn giả mã dưới đây:<br />
1. N 1 = ∅;<br />
2. Biểu diễn mỗi gen gi trong P và U bằng một vector Vgi ;<br />
P|P |<br />
3. pr = i=1 V gi |P |;<br />
4. ave_dist = 0;<br />
5. Với mỗi gi ǫUthực hiện<br />
6. ave_dist += dist(pr,Vgi )/|U|;<br />
7. Với mỗi gi ǫUthực hiện<br />
8. Nếu(dist(pr,Vgi ) > ave_dist)<br />
9. N 1 = N 1 ∪ {gi }<br />
Trong đó dist(a,b) là khoảng cách Ơ-cơ-lít giữa hai vector a và b. Như vậy, sau bước này<br />
chúng ta có 3 tập gen: tập P, tập N1, và U\N1. Tiếp theo, chúng tôi tiếp tục phân chia tập U\N1<br />
thành các tập N2, N3, N4. Trong đó, tập N2và tập N3 là tập chứa các gen gần với ranh giới phân<br />
loại tập positive và tập negative.Để làm được điều này, chúng tôi xây dựng 1 đồ thị biểu diễn mối<br />
quan hệ giữa các gen trong P ∪ U (chú ý là xét toàn bộ gen trong P và U):<br />
* Xét đồ thị GSIM = (VSIM , ESIM )<br />
Trong đó:<br />
+ VSIM là tập các đỉnh vbiểu diễn cho một gen trong P ∪ U.<br />
+ ESIM là tập các cạnh (gi ,gj ) biểu diễn cho một kết nối giữa hai gen khác nhau gi và gj .<br />
Sau đó biểu diễn đồ thị GSIM bằng ma trậnWij để tìm ra độ giống nhau giữa hai gen gi và<br />
gj bất kỳ như sau:<br />
dist(gi , gj ) − minkǫ[1,|P ∪U |]dist(gi , gk )<br />
Wi j = 1 − (1)<br />
maxkǫ[1,|P ∪U |]dist(gi , gk ) − minkǫ[1,|P ∪U |]dist(gi , gk )<br />
- Nếu Wij đạt giá trị cao chỉ ra rằng hai gengivà gjcó đặc trưng sinh học giống nhau và do<br />
<br />
<br />
64<br />
Một phương pháp dự đoán gen gây bệnh sử dụng dữ liệu chưa có nhãn<br />
<br />
<br />
đó có khả năng hai gen này thuộc về cùng một loại.<br />
- Với hệ thống có các gen mang đặc điểm gần giống nhau trong GSIM , lúc này chúng tôi áp<br />
dụng thuật toán bước đi ngẫu nhiên để phát hiện ra những phần tử gần giống dương tính (positive)<br />
và gần giống âm tính (negative), thuật toán được tiến hành như sau:<br />
* Thuật toán bước đi ngẫu nhiên:<br />
Bước 1: Khởi tạo các xác suất tiên nghiệm của mẫu dương tính và âm tính thật sự.<br />
- Đặt P0 và N0 biểu diễn xác suất tiên nghiệm của mẫu dương tính và âm tính.<br />
- Trong P0 , xác suất tiên nghiệm của mẫu dương tính trong P được gán bằng +1(tổng xác<br />
suất bằng |P| ).<br />
- Trong N0 , xác suất tiên nghiệm của mẫu thực sự âm tính trong N1được gán -|P| / |N1| (tổng<br />
của xác suất bằng - |P|).<br />
- Biểu diễn chung vector xác suất tiên nghiệm cho dữ liệu:<br />
Go = (P0 ,U0 ,N0 )<br />
Trong đó ΣP0 = ΣN0 và xác suất trước đó của U0 bằng 0.<br />
Bước 2: Truyền các ảnh hưởng thông tin gắn nhãn từ G0 đến các gen của U\N1.<br />
Áp dụng thuật toán bước đi ngẫu nhiên vào đồ thị GSIM :<br />
- Đặt G0 là vector xác suất tiên nghiệm.<br />
- Gr là vector xác suất ở bước r có thể được tính như sau:<br />
Gr = (1 − α)Wij Gr − 1 + αG0 , (r ≥ 2) (2)<br />
Trong đó:<br />
G1 = Go vWij = D −1 Wij (3)<br />
Dii = Σk Wik vα = 0.8; (chúng tôi lựa chọn giá trị của α là 0.8)<br />
Khi Dif = |Gr − Gr−1 | ⇐ 10−6 thì thuật toán dừng.<br />
Bước 3: Gán nhãn cho những gen có khả năng dương tính (N2), những gen có khả năng âm<br />
tính (N3) và những gen âm tính yếu (N4).<br />
Dựa vào giá trị của vector Gr , chúng tôi phân chia các gen gi vào các tập như sau:<br />
- N 2 = N 2 ∪ gi nếu Gr (gi ) > 1 − α<br />
- N 3 = N 3 ∪ gi nếu Gr (gi ) ← (1 − α)<br />
- N 4 = N 4 ∪ gi nếu −(1 − α) ≤ Gr (gi ) ≤ (1 − α)<br />
Như vậy, từ dữ liệu ban đầu gồm hai tập P và U, chúng tôi đã phân chia thành 5 tập với ý<br />
nghĩa như trên: P, N1, N2, N3, N4. Tiếp theo chúng tôi sẽ huấn luyện mô hình phân lớp với 5 tập<br />
dữ liệu này sử dụng phương pháp wSVMs.<br />
<br />
2.3. Huấn luyện mô hình với wSVMs<br />
Chúng tôi xây dựng mô hình phân lớp để huấn luyện mô hình dựa trên các dữ liệu đã chuẩn<br />
bị bằng phương pháp wSVMs. Trong đó hàm mục tiêu của phương pháp wSVMs được điều chỉnh<br />
như sau:<br />
1<br />
minimize |w|2 + c0 ΣiǫN 1 ξi + c2 ΣiǫN 2 ξi + c3 ΣiǫN 3 ξi + c4 ΣiǫN 4 ξi (4)<br />
2<br />
Thỏa mãn các ràng buộc:<br />
<br />
<br />
65<br />
Lê Thu Hương, Thái Thị Thanh Vân và Trần Đăng Hưng<br />
<br />
<br />
yi (wT xi + B) ≥ 1ξi (i = 1, 2, ..., n) (5)<br />
- Trong đó ξi là một tham số cho phép sự phân loại sai của một số mẫu huấn luyện, và<br />
c0 , c1 , c2 , c3 và c4 là các hệ số phạt khác nhau cho từng loại dữ liệu thuộc vào các tập mà chúng<br />
tôi đã phân loại trong mục 2.1. Chúng tôi huấn luyện và kiểm thử các mô hình dự đoán gen bệnh<br />
sử dụng thư viện libsvm [6] trong môi trường linux. Chi tiết về thực nghiệm được trình bày trong<br />
mục dưới đây.<br />
<br />
2.4. Thực nghiệm<br />
2.4.1. Dữ liệu<br />
Như đã trình bày trong các phần trước, mỗi gen được biểu diễn bởi các thuộc tính thuộc vào<br />
5 nhóm đặc trưng : (1) các miền protein D, (2) các chức năng phân tử MF, (3) các quá trình sinh<br />
học mà gen đó tham gia BP, và (4) các thành phần tế bào CC.<br />
Trong đó các dữ liệu thuộc nhóm (1) được lấy từ cơ sở dữ liệu PFAM<br />
(http://pfam.sanger.ac.uk/), các dữ liệu thuộc nhóm (2), (3), (4) được lấy từ cơ sở dữ liệu<br />
GeneOntology (http://www.geneontology.org/).Ngoài ra thông tin về danh sách các gen bệnh đã<br />
biết được lấy từ cơ sở dữ liệu OMIM (http://www.omim.org).<br />
Từ các nguồn dữ liệu được download về, chúng tôi đã tiền xử lí để có được dữ liệu đầu vào<br />
thực nghiệm thuật toán đề xuất. Thông tin cụ thể trong Bảng 1.<br />
<br />
Bảng 1. Thông tin về dữ liệu thực nghiệm<br />
STT Đối tượng Số lượng<br />
1 Tổng số gen sử dụng 9720<br />
2 Số gen bệnh 1235<br />
3 Số lượng miền protein 100<br />
4 Số lượng chức năng phân tử 100<br />
5 Số lượng quá trình sinh học 100<br />
6 Số lượng thành phần tế bào 100<br />
7 Số lượng protein lân cận được xét (bao gồm 1N và 2N) 50<br />
<br />
Như vậy, mỗi gen sẽ được biểu diễn bởi một vector gồm 450 đặc trưng, giá trị tại mỗi đặc<br />
trưng là 0 hoặc 1 (0 – nếu gen đó không có đặc trưng tương ứng và 1 trong trường hợp ngược lại).<br />
Tổng số gen trong dữ liệu thực nghiệm là 9720 gen, trong đó 1235 được gán nhãn là gen bệnh<br />
(thuộc tập P), còn lại 8485 gen là chưa biết nhãn.<br />
2.4.2. Công cụ tính toán<br />
Dữ liệu khi download từ các CSDL từ các website chứa nhiều loại thông tin khác nhau,<br />
chúng tôi đã viết các đoạn trình bằng C++ (trong môi trường linux) để xử lí các giá trị nhiễu, ghép<br />
nối các phần dữ liệu từ nhiều nguồn thông qua tên định danh của gen. Dữ liệu cuối cùng chúng tôi<br />
có được như đã trình bày trong Bảng 1.<br />
Để tính toán ra các tập N 1, N 2, N 3 và N 4 theo thuật toán trong mục 2.2, chúng tôi đã viết<br />
chương trình bằng C++. Sau khi chuẩn bị được dữ liệu dạng vector, chúng tôi đã sử dụng bộ công<br />
cụ libsvm (http://www.csie.ntu.edu.tw/ cjlin/libsvm/) để huấn luyện và kiểm thử mô hình wSVMs<br />
cho bài toán dự đoán gen bệnh.<br />
<br />
<br />
<br />
<br />
66<br />
Một phương pháp dự đoán gen gây bệnh sử dụng dữ liệu chưa có nhãn<br />
<br />
<br />
2.4.3. Một số kết quả<br />
Chúng tôi đã thử nghiệm mô hình weighted svm với các bộ tham số huấn luyện khác nhau<br />
trên dữ liệu đã chuẩn bị. Để đánh giá mô hình dự đoán, chúng tôi đã sử dụng 3 tiêu chuẩn quen<br />
thuộc trong học máy là precision, recall và F1-measure.<br />
Gọi T P là số lượng phần tử được mô hình dự đoán đúng cho lớp positive. T N là số lượng<br />
phần tử được mô hình dự đoán đúng cho lớp negative. F P là số lượng phần tử mô hình dự đoán<br />
sai cho lớp positive. F N là số lượng phần tử mô hình dự đoán sai cho lớp negative. Ta có T P +<br />
F N, T N + F P lần lượt là tổng số phần tử của lớp positive và tổng số phần tử của lớp negative<br />
thực có trong dữ liệu thử nghiệm. Từ đó các tiêu chuẩn đánh giá mô hình được tính như sau:<br />
TP<br />
P recisionpositive = ;<br />
TP + FP<br />
TN<br />
P recisionnegative = ;<br />
TN + FN<br />
TP<br />
Recallpositive = ;<br />
TP + FN<br />
TN<br />
Recallnegative = ;<br />
TN + FN<br />
P recisionpositive + P recisionnegative<br />
P recision = ;<br />
2<br />
Recallpositive + Recallnegative<br />
Recall = ;<br />
2<br />
2∗ (P recision ∗ Recall)<br />
F 1 − measure =<br />
(P recision + Recall)<br />
Chúng tôi thực hiện 10-fold cross-validation trên tập dữ liệu thực nghiệm, kết quả chạy mô<br />
hình weighted svm với các bộ tham số khác nhau được liệt kê trong bảng dưới đây, trong đó các<br />
hệ số phạt c0 , c1 , c2 , c3 , c4 lần lượt là: 1.0, 1.5, 2.0, 2.5 và 3.0.<br />
<br />
Bảng 2. Kết quả dự đoán trên dữ liệu thực nghiệm<br />
Tham số Precision (%) Recall (%) F1-Measure (%)<br />
RBF Kernel (gamma = 0.001) 86,5 86,4 86,4<br />
RBF Kernel (gamma = 0.01) 83,2 81,4 82,3<br />
Polynomial kernel (d = 3) 81,7 81,5 81,6<br />
Linear kernel 79,2 80,4 79,8<br />
<br />
Khi thực nghiệm với dữ liệu đã chuẩn bị bằng phương pháp weighted SVMs, chúng tôi đã<br />
thực nghiệm trên 3 hàm nhân phổ biến là RBF, linear, và polynomial. Với mỗi loại hàm nhân,<br />
chúng tôi đã thử và chọn ra được giá trị của các tham số phù hợp cho kết quả dự đoán cao nhất<br />
(Bảng 2). Trong 3 loại hàm nhân này thì hàm nhân RBF cho kết quả cao nhất với F1 = 85.50, và<br />
hàm nhân Linear cho kết quả thấp nhất F1 = 79.8. Đối với hàm nhân RBF, thì tham số gamma<br />
(gamma = 1/(2*sigma2 )) được chúng tôi thử nghiệm và tìm ra giá trị tốt nhất là gamma = 0.001.<br />
Ngoài ra, để đánh giá mức độ ảnh hưởng của các nhóm đặc trưng đến kết quả phân lớp,<br />
chúng tôi cũng đã thử nghiệm xây dựng mô hình trên từng nhóm đặc trưng riêng rẽ, và sử dụng<br />
đồng thời các nhóm đặc trưng. Kết quả của các thử nghiệm này được cho trong Bảng 3.<br />
Mặc dù sự sai khác khi sử dụng các nhóm đặc trưng khác nhau là không quá nhiều, tuy<br />
nhiên, chúng tôi thấy rằng khi sử dụng từng nhóm đặc trưng riêng rẽ thì kết quả dự đoán không<br />
<br />
67<br />
Lê Thu Hương, Thái Thị Thanh Vân và Trần Đăng Hưng<br />
<br />
<br />
được cao như trong trường hợp sử dụng kết hợp nhiều nhóm đặc trưng.<br />
<br />
Bảng 3. Kết quả thực nghiệm với các nhóm đặc trưng khác nhau<br />
Nhóm đặc trưng Precision (%) Recall (%) F1-Measure (%)<br />
(1) 76,3 74,9 75,6<br />
(2) 79,6 80,1 79,8<br />
(3) 81,9 80,3 81,1<br />
(4) 78,4 77,2 77,8<br />
(2)+(3)+(4) 83,2 84,6 83,9<br />
(1)+(2)+(3)+(4) 86,5 86,4 86,4<br />
<br />
Điều này có thể lí giải khi kết hợp nhiều loại thông tin khác nhau để mô tả một gene thì khi<br />
huấn luyện mô hình weighted svm có thể dự đoán tốt hơn. Tuy nhiên, điều này cũng còn phụ thuộc<br />
vào việc lựa chọn các tham số mô hình và giá trị phạt c0 , c1 , c2 , c3 , c4 . Trong thực nghiệm này thì<br />
chúng tôi mới chỉ lựa chọn các giá trị tham số phạt này theo trực quan (như thực nghiệm bên trên).<br />
Trong thời gian tới chúng tôi sẽ thực nghiệm với nhiều bộ tham số khác nhau để tìm ra bộ giá trị<br />
tốt nhất cho từng loại nhóm đặc trưng khác nhau.<br />
<br />
3. Kết luận<br />
Để tìm kiếm các gen bệnh, các phương pháp học máy cổ điển thường xây dựng mô hình<br />
phân lớp nhị phân, trong đó sử dụng các gen bệnh đã biết làm dữ liệu positive (P), và tập những<br />
gen còn lại là dữ liệu negative (N). Tuy nhiên, tập dữ liệu N này sẽ chứa nhiều nhiễu, vì trong số<br />
các gen còn lại này có thể sẽ chứa một số gen gây bệnh. Trong nghiên cứu này chúng tôi đã đưa ra<br />
một phương pháp mới để xây dựng mô hình dự đoán gen bệnh từ dữ liệu gen bệnh đã biết (P) và<br />
các gen còn lại được coi là dữ liệu chưa biết nhãn (U). Chúng tôi tìm cách phân chia tập U thành<br />
các tập khác nhau, sau đó huấn luyện mô hình wSVMs trên các tập dữ liệu này. Thực nghiệm trên<br />
dữ liệu thực tế cho kết quả dự đoán khá cao, điều này chứng tỏ phương pháp đề xuất phù hợp cho<br />
bài toán dự đoán gen bệnh. Ngoài ra, chúng tôi tin rằng phương pháp này có thể áp dụng cho các<br />
bài toán khác khi dữ liệu negative khó xác định.<br />
Lời cảm ơn. Bài báo hoàn thành dưới sự tài trợ của Quỹ NAFOSTED (Mã số đề tài:<br />
102.01-2011.05).<br />
TÀI LIỆU THAM KHẢO<br />
<br />
[1] Adie, E. et al., 2005. Speeding disease gene discovery by sequence based candidate<br />
prioritization. BMC Bioinformatics, 6(1): 55.<br />
[2] Adie, E.A., Adams, R.R., Evans, K.L., Porteous, D.J. and Pickard, B.S., 2006. SUSPECTS:<br />
enabling fast and effective prioritization of positional candidates, Bioinformatics, 22, 773-774.<br />
[3] Aerts, S., Lambrechts, D., Maity, S., Van Loo, P., Coessens, B., De Smet, F., Tranchevent,<br />
L.-C., De Moor, B., Marynen, P., Hassan, B., Carmeliet, P. and Moreau, Y., 2006. Gene<br />
prioritization through genomic data fusion, Nature Biotechnology, 24, 537-544.<br />
[4] Ashburner M. et al., 2000. "Gene ontology: tool for the unification of biology. The Gene<br />
Ontology Consortium". Nat. Genet. 25 (1): 25–29.<br />
[5] Barabasi, A.-L., Gulbahce, N. and Loscalzo, J., 2011. Network medicine: a network-based<br />
approach to human disease. Nat Rev Genet, 12, 56-68.<br />
[6] Chang, C. & Lin, C., 2011. LIBSVM: a library for support vector machines. ACM Transactions<br />
on Intelligent Systems and Technology, 27:1-27.<br />
<br />
68<br />
Một phương pháp dự đoán gen gây bệnh sử dụng dữ liệu chưa có nhãn<br />
<br />
<br />
[7] Chen J., Aronow B. J. and Jegga A. G., 2009. Disease candidate gene identification and<br />
prioritization using protein interaction networks. BMC Bioinformatics, 10:73.<br />
[8] Chen, J., Xu, H., Aronow, B. and Jegga, A., 2007. Improved human disease candidate gene<br />
prioritization using mouse phenotype. BMC Bioinformatics, 8, 392.<br />
[9] De Bie, T., Tranchevent, L.-C., Van Oeffelen, L.M.M. and Moreau, Y., 2007. Kernel-based<br />
data fusion for gene prioritization. Bioinformatics, 23, i125-i132.<br />
[10] Ideker, T., & Sharan, R., 2008. Protein networks in disease. Geno. Res., 18: 644-652.<br />
[11] Jonsson, P.F. and Bates, P.A., 2006. Global topological features of cancer proteins in the<br />
human interactome. Bioinformatics, 22, 2291-2297.<br />
[12] Kann M. G., 2010. Advances in translational bioinformatics: computational approaches for<br />
the hunting of disease genes. Briefings In Bioinformatics, 11(1), 96-110.<br />
[13] Kohler, S. et al., 2008. Walking the Interactome for Prioritization of Candidate Disease<br />
Genes. The American Journal of Human Genetics, 82(4):949-958.<br />
[14] Mordelet, F. and Vert, J.-P., 2011. ProDiGe: Prioritization Of Disease Genes with multitask<br />
machine learning from positive and unlabeled examples. BMC Bioinformatics, 12, 389.<br />
[15] Moreau, Y. and Tranchevent, L.-C., 2012. Computational tools for prioritizing candidate<br />
genes: boosting disease gene discovery. Nat Rev Genet, 13, 523-536.<br />
[16] Oti M, Snel B, et al., 2006. “Predicting disease genes using protein–protein interactions”.<br />
JMG, 43(8):691-698.<br />
[17] Peng Y., Xiao L.L., Jian P.M., and Chee K.K., 2012. Positive-Unlabeled Learning for Disease<br />
Gene Identification. Bioinformatics, Vol. 28 no, pages 2640–2647.<br />
[18] Richard Twyman, 2003. Linkage analysis: Finding the rough position of human disease genes<br />
relative to known genetic markers.<br />
[19] Tranchevent L. C., Barriot R., Yu S., Van Vooren S., Van Loo P., Coessens B., De Moor<br />
B., Aerts S., Moreau Y., 2008. ENDEAVOUR update: a web resource for gene prioritization in<br />
multiple species. Nucleic Acids Res, 36:W377-W384<br />
[20] Wang, D., Wang, J., Lu, M., Song, F. and Cui, Q., 2010. Inferring the human<br />
microRNA functional similarity and functional network based on microRNA-associated<br />
diseases.Bioinformatics, 26, 1644-1650.<br />
<br />
ABSTRACT<br />
Predicting disease-causing genes using unlabelled data<br />
In this paper, we present a method that uses unlabeled data to confront the disease-causing<br />
gene prediction problem. Normally, disease-causing gene prediction does not have binary<br />
classification problems but it is difficult to identify negative data in our problems, and that leads<br />
to low prediction accuracy. We propose the use of unlabeled data to train machine learning model<br />
in process of building negative set in order to improve efficiency.<br />
Keywords: Disease-causing gene, unlabeled data, binary classification.<br />
<br />
<br />
<br />
<br />
69<br />