Tính likelihood cho một cây theo thuật toán pruning

Một phần của tài liệu (LUẬN án TIẾN sĩ) các phương pháp nhanh xây dựng cây bootstrap tiến hóa002 (Trang 56 - 59)

2.2 Thuật tốn pruning để tính likelihood cây

2.2.2 Tính likelihood cho một cây theo thuật toán pruning

Thuật tốn pruning [20] tính tốn hiệu quả likelihood của cây nhờ sử dụng tiếp cận quy hoạch động. Ý tưởng là đẩy các ký hiệu tổng trong (2.3) đi càng xa càng tốt và nhóm nó trong cặp ngoặc khi có thể.

𝑃𝑃(𝐴𝐴𝑖𝑖|𝑇𝑇) = � � � � 𝑃𝑃(𝑢𝑢) 𝑝𝑝𝑢𝑢𝑣𝑣(𝑡𝑡6) 𝑝𝑝𝑣𝑣A(𝑡𝑡1) 𝑝𝑝𝑣𝑣C(𝑡𝑡2) 𝑤𝑤 𝑧𝑧 𝑣𝑣 𝑢𝑢 𝑝𝑝𝑢𝑢𝑧𝑧(𝑡𝑡8) 𝑝𝑝𝑧𝑧C(𝑡𝑡3) 𝑝𝑝𝑧𝑧𝑤𝑤(𝑡𝑡7) 𝑝𝑝𝑤𝑤C(𝑡𝑡4) 𝑝𝑝𝑤𝑤G(𝑡𝑡5) (2.5) tương đương 𝑃𝑃(𝐴𝐴𝑖𝑖|𝑇𝑇) = � 𝑃𝑃(𝑢𝑢)�� 𝑝𝑝𝑢𝑢𝑣𝑣(𝑡𝑡6) 𝑝𝑝𝑣𝑣A(𝑡𝑡1) 𝑝𝑝𝑣𝑣C(𝑡𝑡2) 𝑣𝑣 � 𝑢𝑢 ×�� 𝑝𝑝𝑢𝑢𝑧𝑧(𝑡𝑡8) 𝑝𝑝𝑧𝑧C(𝑡𝑡3) ×�� 𝑝𝑝𝑧𝑧𝑤𝑤(𝑡𝑡7) 𝑝𝑝𝑤𝑤C(𝑡𝑡4) 𝑝𝑝𝑤𝑤G(𝑡𝑡5) 𝑤𝑤 � 𝑧𝑧 � (2.6) Việc tính tốn theo (2.6) diễn ra từ cặp ngoặc sâu nhất ra ngoài. Điều này gợi ý luồng tính tốn trong cây là hướng xuống gốc.

Thuật toán pruning dựa trên hàm likelihood riêng phần của một cây con, ký hiệu là 𝐿𝐿𝑟𝑟𝑖𝑖(𝑥𝑥) với 𝑥𝑥 ∈ {A, C, G, T}. Đây là xác suất quan sát được mọi thứ từ đỉnh 𝑎𝑎 trở đến các lá, tại vị trí sắp hàng thứ 𝑖𝑖, với điều kiện là đỉnh 𝑎𝑎 có trạng thái 𝑥𝑥. Trong (2.6), hạng tử

𝑝𝑝𝑤𝑤C(𝑡𝑡4) 𝑝𝑝𝑤𝑤G(𝑡𝑡5)

là một trong những đại lượng này. Có 4 đại lượng như vậy ứng với các trạng thái khác nhau tại đỉnh 𝑤𝑤. Điểm mấu chốt của thuật toán pruning là, một khi 4 con số này đã được tính thì ta khơng cần liên tục tính lại chúng.

Thuật tốn pruning tiến hành nhờ tính tốn đệ quy hàm 𝐿𝐿𝑟𝑟𝑖𝑖(𝑥𝑥) tại mỗi đỉnh trên cây theo chính hàm này này tại các đỉnh hậu duệ gần nhất. Giả sử đỉnh 𝑎𝑎 có 2 hậu duệ gần nhất là 𝑡𝑡 và 𝑡𝑡, là các đỉnh kết thúc của các cạnh có độ dài 𝑡𝑡𝑎𝑎 và 𝑡𝑡𝑏𝑏 (như minh họa trong Hình 2.2). Ta có 𝐿𝐿𝑟𝑟𝑖𝑖(𝑥𝑥) =�� 𝑝𝑝𝑥𝑥𝑥𝑥(𝑡𝑡𝑎𝑎)𝐿𝐿𝑎𝑎𝑖𝑖(𝑠𝑠) 𝑥𝑥 � �� 𝑝𝑝𝑥𝑥𝑥𝑥(𝑡𝑡𝑏𝑏)𝐿𝐿𝑏𝑏𝑖𝑖(𝑦𝑦) 𝑥𝑥 � (2.7)

Trước khi bắt đầu tính tốn, ta khởi tạo likelihood riêng phần ở các đỉnh lá như

sau: nếu đỉnh lá ℎ có trạng thái A thì các giá trị 𝐿𝐿ℎ𝑖𝑖 của đỉnh lá đó sẽ là

�𝐿𝐿ℎ𝑖𝑖(A),𝐿𝐿ℎ𝑖𝑖(C),𝐿𝐿ℎ𝑖𝑖(G),𝐿𝐿ℎ𝑖𝑖(T)�= (1,0,0,0) (2.8) Thuật tốn bắt đầu từ một đỉnh có tất cả đỉnh hậu duệ gần nhất đều là lá (trong cây ln có ít nhất một đỉnh trong như vậy). Sau đó nó lần lượt tính cho các đỉnh gần gốc hơn, chỉ áp dụng với các đỉnh có tất cả hậu duệ gần nhất đã được tính likelihood. Kết quả là 𝐿𝐿𝑟𝑟𝑖𝑖 cho đỉnh gốc. Ta hồn thiện việc tính likelihood cho vị trí sắp hàng này bằng cách tính trung bình có trọng số trên tất cả 4 ký tự trạng thái, sử dụng trọng số là xác suất tiền nghiệm theo mơ hình xác suất:

Hình 2.2. Một cây T để minh họa thuật tốn pruning và pruning nhanh. Nó được định gốc ngẫu nhiên tại điểm r trên cạnh (a,b). Gốc cách 2 đầu cạnh khoảng tương ứng là 𝑡𝑡𝑎𝑎 và 𝑡𝑡𝑏𝑏.

a b

r

𝐿𝐿𝑖𝑖 =� 𝜋𝜋𝑥𝑥𝐿𝐿𝑟𝑟𝑖𝑖(𝑥𝑥)

𝑥𝑥

(2.9)

Theo nguyên lý Pulley [20], khi 𝑄𝑄 thuận nghịch, likelihood của một vị trí sắp hàng i nào đó khơng thay đổi miễn là 𝑡𝑡𝑎𝑎 +𝑡𝑡𝑏𝑏 =𝑡𝑡 khơng đổi. Nói cách khác, ta có thể

đặt 𝑡𝑡𝑎𝑎 = 0 (di chuyển r tới a). Khi đó, 𝑃𝑃(𝑡𝑡𝑎𝑎) =𝑃𝑃(0) trở thành ma trận đơn vị và kết hợp (2.7) và (2.9) cho ta: 𝐿𝐿𝑖𝑖 =� 𝜋𝜋𝑥𝑥 𝑥𝑥 𝐿𝐿𝑎𝑎𝑖𝑖(𝑥𝑥)�� 𝑝𝑝𝑥𝑥𝑥𝑥(𝑡𝑡)𝐿𝐿𝑏𝑏𝑖𝑖(𝑦𝑦) 𝑥𝑥 � (2.10)

Về cơ bản, thuật toán của Felsenstein là thuật tốn quy hoạch động. Nó có độ phức tạp thời gian là 𝑂𝑂(𝑛𝑛𝑚𝑚𝑐𝑐2), trong đó n, m và c lần lượt là số chuỗi, số vị trí sắp hàng và số ký tự trạng thái (dữ liệu DNA thì c=4). Độ phức tạp khơng gian là 𝑂𝑂(𝑛𝑛𝑚𝑚𝑐𝑐) nhằm lưu các vector likelihood riêng phần cho tất cả các đỉnh trong của cây.

Như vậy, thuật toán pruning cho phép tính nhanh likelihood của cây. Với các cây khơng gốc và với mơ hình tiến hóa có tính thuận nghịch thời gian thì likelihood

khơng thay đổi khi ta định gốc ở các cạnh khác nhau trong cây. Khi định gốc ở giữa

một cạnh nào đó, ta có thể áp dụng công thức đệ quy về 2 đầu của cạnh và tính

likelihood của cây rất nhanh với một độ dài cụ thể của cạnh này. Điều đó có nghĩa là ta có thể nhanh chóng tìm likelihood cực đại khi cho biến thiên độ dài của một cạnh trong một cấu trúc cây cho trước (và cố định độ dài tất cả các cạnh khác). Khi ta luân phiên làm việc này với các cạnh khác nhau trong cây, ta sẽ nhanh chóng tìm được độ dài tối ưu của các cạnh (ứng với cấu trúc cây đó). Với bài tốn xây dựng cây tiến hóa theo tiêu chuẩn ML, thuật toán pruning cho phép đánh giá một cách hiệu quả các biến

Một phần của tài liệu (LUẬN án TIẾN sĩ) các phương pháp nhanh xây dựng cây bootstrap tiến hóa002 (Trang 56 - 59)

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

(122 trang)