Mạng Markov nền

Một phần của tài liệu (LUẬN văn THẠC sĩ) học cấu trúc mạng logic markov và ứng dụng trong bài toán phân lớp (Trang 26 - 50)

nhƣ sau: Có một cạnh giữa hai nút của khi và chỉ khi các vị từ nền xuất hiện cùng nhau trong ít nhất một cơng thức nền trong .

2. Một mạng logic Markov mà khơng có biến gọi là mạng Markov tầm thƣờng. Bất kỳ một mô hình log-linear trên các biến kiểu nhị phân đều có thể đƣợc biểu diễn nhƣ một mạng logic Markov, khi đó mỗi trạng thái của một clique đƣợc định nghĩa bởi hội của các literal.

3. Một mạng logic Markov khác với một cơ sở tri thức biểu diễn bởi logic tân từ cấp một vì nó có thể cung cấp các kết quả hữu ích cho dù nó chứa những mâu thuẫn. Một mạng logic Markov cũng có thể thu đƣợc bằng cách ghép các cơ sở tri thức thậm chí chúng khơng tƣơng thích với nhau hồn tồn. Khi các trọng số tăng dần, thì mạng logic Markov sẽ tiến dần về cơ sở tri thức logic. 4. Mỗi trạng thái của biểu diễn một minh họa có thể. Khi làm việc với mạng logic Markov, các giả thiết sau đảm bảo rằng tập các minh họa có thể cho (L, C) là hữu hạn và mạng có đƣợc biểu diễn là duy nhất cũng nhƣ phân phối xác suất đƣợc định nghĩa tốt trên các minh họa đó bất chấp ngữ nghĩa và miền chứa minh họa đó[15], [16].

Xây dựng cơng thức nền

Để làm rõ những nhận xét trên, sau đây chúng ta sẽ đƣa ra các giả thiết làm đơn giản hóa việc sử dụng mạng logic Markov. Những giả thiết này là khá hợp lý trong hầu hết các ứng dụng thực tế. Ta sẽ mô tả ở dƣới dây:

1. Tên duy nhất: Các hằng khác nhau thì chỉ các đối tƣợng khác nhau.

2. Miền đóng: Chỉ có các đối tƣợng trong miền đƣợc biểu diễn bởi các hằng và

các hàm (L, C).

3. Hàm xác định: Với mỗi hàm xuất hiện trong L, giá trị của hàm đƣợc áp

dụng cho một bộ có thể của các tham số và là một phần tử trong C

Giả thiết 3 cho phép chúng ta thay thế các hàm bằng các giá trị của chúng khi thay thế các công thức. Các thay thế có thể của một vị từ trong định nghĩa 2.2.1 thu đƣợc một cách đơn giản bằng việc thay thế mỗi biến trong vị từ đó với mỗi hằng

trong C, và thay thế mỗi hàm trong vị từ bằng hằng tƣơng ứng. Thuật toán đơn giản đƣợc viết ở thuật toán 1:

Thuật tốn 1. Xây dựng tất cả các cơng thức nền function Ground(F, C)

inputs: F (công thức trong logic tân từ cấp một)

C (tập các hằng)

output: GF (tập các công thức nền)

calls: CNF(F, C) (chuyển F sang dạng chuẩn hội, thay thế các công

thức có lƣợng từ tồn tại bằng các phép tuyển của các thay thế của chúng trên C).

for each mệnh đề

for each biến trong for each mệnh đề

(trong đó là với đƣợc thay thế bởi )

for each mệnh đề nền repeat

for each hàm (các tham số đều là hằng) với đƣợc thay thế bởi , until không chứa hàm nào

return

Giả thiết 1 (tên duy nhất) có thể đƣợc thay thế bởi việc đƣa ra vị từ tƣơng đƣơng, đó là (ta có thể viết tắt là ) và vì thế ta có thêm một giả

thiết nữa cho mạng logic Markov: Quan hệ của tƣơng đƣơng có tính chất phản xạ, đối xứng, bắc cầu. Với mọi vị từ , ta có Kết quả của mạng logic Markov là sẽ có một nút cho mỗi cặp hằng mà giá trị của nó bằng 1 nếu cặp hằng đó biểu diễn cùng một đối tƣợng và bằng 0 nếu ngƣợc lại. Các nút này có thể nối với nhau và với tồn bộ mạng bởi các cung (các cung này mô tả cho giả thiết mà ta thêm ở trên). Chú ý rằng điều này cho phép chúng ta tạo các suy diễn xác suất về sự tƣơng đƣơng của hai hằng.

Các bài toán đặt ra cho mạng Markov logic là: bài tốn suy diễn trên mơ hình, bài tốn học mơ hình từ dữ liệu, bài tốn học mơ hình bao gồm 2 bài toán nhỏ là học cấu trúc và học tham số. Các bài toán này sẽ đƣợc trình bày trong phần tiếp theo của luận văn.

2.4 Suy diễn

Trong phần này sẽ trình bày về suy diễn trên mơ hình qua 2 bài tốn suy diễn,

suy diễn MAP/MPE và suy diễn điều kiện.

2.4.1 Suy diễn MAP/MPE

Suy diễn MAP/MPE (MPE – the most probable explaination) [12], [13], [14] là: Tìm trạng thái (giá trị chân lý) có khả năng xảy ra lớn nhất của tập các biến đầu ra (output) cho bởi trạng thái của các biến đầu vào (input).

Trạng thái MAP (Maximum a posteriori) là trạng thái mà tổng các trọng số của các công thức nền thỏa đƣợc đạt cực đại.

trong đó là số các mệnh đề nền có giá trị chân lý đúng thứ bao gồm các công thức nguyên tử của tập chƣa biết. Nhìn vào phƣơng trình 2.4 thì ta nhận thấy suy diễn MAP/MPE sẽ phải tìm những giá trị chân lý cho các công thức nguyên tử nền (hay các nút) (khơng tính những cơng thức ngun tử nằm trong giả thiết, nghĩa là ) bằng việc làm cực đại tổng trọng số của các mệnh đề thỏa đƣợc (hay các đặc

trƣng). Thuật tốn sau có tên là MaxWalkSAT đƣợc sử dụng cho suy diễn MAP/MPE để tìm ra các trạng thái MAP trong mạng logic Markov.

Thuật toán MAxWalkSAT

Bài toán đƣợc phát biểu cho thuật tốn này nhƣ sau: Cho các cơng thức trong logic tân từ cấp một mà chỉ chứa các phép toán logic AND ( , OR ( ) và NOT ( ) cùng với các trọng số của chúng. Ta muốn tìm ra giá trị của các công thức nguyên tử mà tổng trọng số của các công thức nền (mệnh đề) thỏa đƣợc là lớn nhất. Cách biểu diễn chuẩn cho các công thức này là đƣa các cơng thức về dạng chuẩn hội, trong đó cơng thức là hội của các tuyển literal.

Ví dụ: (

Thuật tốn MaxWalkSAT hay còn gọi là thuật toán tìm kiếm cục bộ ngẫu nhiên (stochastic local search algorithm) sử dụng 2 thao tác chính:

1) Chọn một mệnh đề không thỏa mãn ngẫu nhiên.

2) Đảo giá trị chân lý của một công thức nguyên tử trong mệnh đề đó.

Cơng thức ngun tử đƣợc chọn để đảo giá trị bằng một trong hai cách sau với một xác suất nào đó:

 Ngẫu nhiên.

 Chọn công thức nguyên tử mà tối đa tổng trọng số của các mệnh đề khi đảo giá trị chân lý của cơng thức ngun tử đó.

Việc chọn 1 trong 2 cách theo một xác suất nào đó sẽ có thể cho phép tránh khỏi cực tiểu địa phƣơng.

Thuật toán 2 MaxWalkSAT

procedure MAXWALKSAT ( , , ,

, )

các công thức nguyên tử trong

giá trị chân lý ngẫu nhiên của

tổng trọng số của các mệnh đề không thỏa đƣợc trong for to do

if then

return “Thành công, nghiệm tốt nhất là:” end if

Một mệnh đề không thỏa đƣợc ngẫu nhiên if randomReal([0,1]) < p then

một biến ngẫu nhiên trong else for all do tính DeltaCost( ) end for với DeltaCost là bé nhất end if đã đƣợc thay đổi DeltaCost( ) end for end for

return “Thất bại, nghiệm tốt nhất là:”, end procedure

Trong thuật toán 2, là giá trị tối đa (tổng các trọng số của các mệnh đề khơng thỏa đƣợc) có thể chấp nhận cho một nghiệm, là số bƣớc lặp lớn nhất (vì kết quả của chƣơng trình có thể khơng tìm ra nên cần phải giới hạn số bƣớc lặp), là số lƣợng phép đảo giá trị chân lý tối đa trong một bƣớc lặp, randomReal([0,1]) sẽ lấy số ngẫu nhiên trong đoạn [0, 1], DeltaCost tính tốn

thay đổi về giá trị thu đƣợc bằng việc đảo giá trị chân lý của biến ở nghiệm hiện tại, là xác suất quyết định chọn công thức nguyên tử theo 1 trong 2 cách nói trên.

2.4.2 Suy diễn điều kiện

Suy diễn điều kiện trong các mơ hình đồ thị bao gồm việc tính tốn xác suất của các biến truy vấn cho bởi các biến giả thiết.

Mạng logic Markov là một mô hình quan trọng giúp chúng ta giải quyết nhiều vấn đề phức tạp và không chắc chắn. Cụ thể thì các mạng logic Markov có thể trả lời bất kỳ câu hỏi nào có dạng sau: “Tính xác suất mà công thức đúng khi biết đúng?”.

Ví dụ: Giả sử hút thuốc và bị ung thƣ, là ngƣời bạn của . Vậy xác suất bị ung thƣ là bao nhiêu?

Nếu và là hai công thức trong logic tân từ cấp một, là tập hữu hạn các hằng và chứa cả các hằng xuất hiện trong và , là một mạng logic Markov. Khi đó:

Trong đó là tập các minh họa mà đúng và đƣợc cho bởi phƣơng trình 2.3. Xác suất có điều kiện trong các mơ hình đồ thị là trƣờng hợp đặc biệt của phƣơng trình 2.5 nghĩa là tất cả các vị từ trong , và là khơng có đối số và các công thức ở dạng chuẩn hội.

Việc tính tốn phƣơng trình 2.5 khó trong tồn bộ miền nhƣng có thể tính đƣợc trong miền nhỏ nhất. có thể đƣợc xấp xỉ bằng cách sử dụng thuật toán MCMC (Markov chain Mote Carlo), thuật toán sẽ loại bỏ tất cả các trạng thái mà sai, sau đó đếm số lƣợng các mẫu mà trong đó đúng. Tuy nhiên, việc này khá mất thời gian đối với bất kỳ cơng thức nào. Có một thuật toán suy diễn cho trƣờng hợp

cả và là các phép hội của các thay thế của các literal. Mặc dù trƣờng hợp này kém tổng quát hơn phƣơng trình 2.5, tuy nhiên nó lại khá phổ biến trong thực tế. Thuật toán cung cấp các câu trả lời hiệu quả hơn nhiều so với áp dụng trực tiếp phƣơng trình 2.5. Thuật toán chia làm hai pha xử lý:

Pha 1: Trả lại tập con nhỏ nhất của mạng Markov nền đƣợc u cầu để tính

tốn . Thuật tốn có sử dụng một hàm gọi các phủ Markov (Markov blanket) (phủ Markov của công thức nguyên tử nền là tập các cơng thức ngun tử nền mà nó xuất hiện cùng nhau với trong ít nhất một cơng thức nền trong . Thuật toán dƣới đây sẽ trình bày vấn đề này.

Thuật toán 3. Xây dựng mạng cho suy diễn trong MLN

function ConstructNetwork ( )

inputs: (tập các ground công thức nguyên tử với các giá trị chân lý chƣa biết)

(tập các công thức nguyên tử nền với các giá trị chân lý đã biết)

(mạng logic Markov) (tập các hằng) output: (mạng Markov nền)

calls: (phủ Markov của trong )

While for all if

return – mạng Markov nền bao gồm tất cả các nút trong , tất cả các cung giữa các nút đó trong , các đặc trƣng và các trọng số trên các clique tƣơng ứng.

Kích thƣớc của mạng đƣợc trả về có thể đƣợc giảm đi rất nhiều và thuật toán sẽ nhanh hơn, chú ý rằng bất kỳ các công thức nền nào đúng bởi tập các công thức nguyên tử với giá trị chân lý đã biết thì có thể bỏ qua và các cung tƣơng ứng cũng bị loại khỏi mạng. Trong trƣờng hợp xấu nhất mạng chứa tới nút, trong đó là số lƣợng lớn nhất của các tham biến của một vị từ trong miền, nhƣng trong thực tế thì nó có thể nhỏ hơn nhiều.

Pha 2: Xử lý suy diễn trên mạng này với các nút trong . Trong pha này cần

sử dụng phƣơng pháp lấy mẫu Gibbs. Việc lấy mẫu Gibbs bao gồm lấy mẫu một công thức nguyên tử nền cho bởi phủ Markov của nó. Xác suất của một cơng thức nguyên tử nền khi phủ Markov là:

Trong đó là tập các công thức nền mà xuất hiện trong đó và là các đặc trƣng có giá trị 0 hoặc 1 tƣơng ứng với công thức nền thứ khi và .

2.5 Học tham số và học cấu trúc

Việc học mô hình từ cơ sở dữ liệu là vấn đề quan trọng và phức tạp nhƣng đây cũng là yếu tố quyết định để áp dụng mô hình vào thực tế thông qua các bộ dữ liệu thực. Việc học mô hình bao gồm 2 vấn đề là: học tham số và học cấu trúc.

2.5.1 Học tham số

Học tham số của mạng logic Markov bao gồm tìm các trọng số mà tối ƣu một hàm khả năng (likehood) cho bởi dữ liệu huấn luyện. Đây là nhiệm vụ khó vì tính tốn hàm hợp lý và các thành phần trong véc tơ đạo hàm riêng (gradient) của nó yêu

cầu xử lý suy diễn và có chi phí là hàm mũ trong trƣờng hợp xấu nhất. Một cách tối ƣu đƣợc sử dụng thay thế là phƣơng pháp pseudo-likelihood (dùng hàm tựa hàm khả

năng) tính tốn xác suất chỉ bao gồm các biến trong phủ Markov (đƣợc định nghĩa

phía dƣới) trong dữ liệu. Tuy nhiên phƣơng pháp pseudo-likehood bỏ qua sự tƣơng tác khơng cục bộ giữa các biến, và có thể giảm mức độ xử lý khi chúng cần đƣợc xét ở lần suy diễn.

Cả hàm khả năng và pseudo-likehood đều là những cách tiếp cận nhằm tối ƣu hóa phân phối đồng thời của tất cả các biến. Ngƣợc lại, cách tiếp cận tách biệt sẽ tối đa hóa hàm hợp lý điều kiện của một tập các dữ liệu đầu ra cho bởi tập dữ liệu đầu vào[17].

Học tạo sinh (Generative Learning)

Hàm dùng để tối ƣu:

đƣợc gọi là hàm logarit-khả năng (log-likehood) theo trọng số. Ngƣời ta đã chứng minh đƣợc rằng hàm logarit-khả năng là một hàm lõm và liên tục trong tồn bộ khơng gian của tham số. Vì vậy ta có thể tìm cực đại hàm logarit-khả năng bằng phƣơng pháp véc tơ gradient. Đạo hàm của hàm logarit-khả năng theo trọng số của công thức thứ là:

Trong phƣơng trình này tổng đƣợc tính trên tồn bộ cơ sở dữ liệu có thể và là đƣợc tính tốn sử dụng véc tơ trọng số hiện tại

Nói cách khác, thành phần thứ của véc tơ đạo hàm riêng (gradient) chỉ đơn giản là sự khác biệt giữa số lƣợng các công thức nền đúng thứ trong dữ liệu và kỳ vọng tƣơng ứng với mơ hình hiện tại.

Nhƣng có một vấn đề là việc tính tốn các kỳ vọng này là phải tính tổng với tất cả các cơ sở dữ liệu có thể, điều này rất khó để xấp xỉ. Hầu hết các phƣơng pháp tối ƣu hóa khá nhanh (ví dụ kết nối véc tơ đạo hàm riêng (gradient) với tìm kiếm giới hạn, L-BFGS) cũng yêu cầu tính hàm hợp lý và hàm phân hoạch Z vẫn là rất khó. Mặc dù kỹ thuật xích Markov Monte Carlo (Markov chain Monte Carlo – MCMC) có thể đƣợc sử dụng để xấp xỉ kỳ vọng và hàm phân hoạch Z, tuy nhiên chi phí rất đắt và cũng tỏ ra khá là chậm.

Một phƣơng pháp hiệu quả hơn mà đƣợc sử dụng rộng rãi để thay thế là phƣơng pháp tối ƣu hóa hàm khả năng pseudo-likehood. Nếu là một minh họa có thể (cơ sở dữ liệu quan hệ) và là giá trị chân lý của công thức nguyên tử nền thứ

thì hàm khả năng pseudo-log-kikelihood của cho bởi trọng số là:

Trong đó là số lƣợng các thay thế đúng của công thức thứ trong , là số lƣợng các thay thế đúng của công thức thứ khi giới hạn

và là số lƣợng các thay thế đúng của công thức thứ khi giới hạn

Tính tốn hàm khả năng pseudo-log-likelihood và véc tơ đạo hàm riêng (gradient) của nó khơng u cầu suy diễn qua mô hình và vì vậy sẽ nhan hơn. Tuy nhiên các tham số khả năng pseudo-log-likelihood hƣớng tới kết quả không đƣợc tốt khi yêu cầu suy diễn qua các nút không kề nhau.

Chúng ta tối ƣu hàm khả năng pseudo-likelihood sử dụng thuật toán BFGS với bộ nhớ hạn chế. Tuy nhiên ta có thể làm cho tính tốn có thể hiệu quả hơn trong một vài cách nhƣ sau:

- Vế phải của phƣơng trình (2.11) có thể nhanh hơn nhiều bằng việc bỏ qua các vị từ không xuất hiện trong công thức thứ .

- Việc đếm , và không thay đổi, vì vậy chỉ cần tính tốn một lần.

- Bỏ qua các thay thế của các mệnh đề với số literal đúng lớn hơn 1. Ví dụ khi A=1, B=0.

Trong nhiều trƣờng hợp, chúng ta biết xác suất tiên nghiệm với vị từ đã biết và những vị từ khác là chƣa biết, và mục tiêu là để dự đốn một cách chính xác kết quả cuối cùng. Nếu chúng ta phân hoạch các công thức nguyên tử nền trong miền thành hai tập là tập các công thức nguyên tử đã biết và tập các công thức nguyên tử chƣa biết , thì hàm khả năng của với điều kiện

Trong đó là tập tất cả các mệnh đề của mạng logic Markov với ít nhất một thay thế bao gồm một công thức nguyên tử của tập chƣa biết, là số các mệnh đề nền có giá trị chân lý đúng thứ bao gồm các công thức nguyên tử của tập chƣa biết, là tập các thay thế của các vị từ trong mạng logic Markov bao gồm các công thức nguyên tử của tập chƣa biết, và nếu thay thế của mệnh

Một phần của tài liệu (LUẬN văn THẠC sĩ) học cấu trúc mạng logic markov và ứng dụng trong bài toán phân lớp (Trang 26 - 50)

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

(56 trang)